Scambio di messaggi segreti tramite log del server

Secondo la definizione di Wikipedia, un dead drop è uno strumento di cospirazione che serve a scambiare informazioni o alcuni elementi tra persone che utilizzano un luogo segreto. L'idea è che le persone non si incontrino mai, ma si scambiano comunque informazioni per mantenere la sicurezza operativa.

Il nascondiglio non dovrebbe attirare l'attenzione. Pertanto, nel mondo offline usano spesso cose discrete: un mattone sciolto nel muro, un libro della biblioteca o una cavità in un albero.

Esistono molti strumenti di crittografia e anonimizzazione su Internet, ma il fatto stesso di utilizzare questi strumenti attira l’attenzione. Inoltre, potrebbero essere bloccati a livello aziendale o governativo. Cosa fare?

Lo sviluppatore Ryan Flowers ha proposto un'opzione interessante: utilizzare qualsiasi server web come nascondiglio. Se ci pensi, cosa fa un server web? Riceve richieste, emette file e scrive log. E registra tutte le richieste, anche quelli sbagliati!

Si scopre che qualsiasi server Web ti consente di salvare quasi tutti i messaggi nel registro. Flowers si chiedeva come usarlo.

Offre questa opzione:

  1. Prendi un file di testo (messaggio segreto) e calcola l'hash (md5sum).
  2. Lo codifichiamo (gzip+uuencode).
  3. Scriviamo nel registro utilizzando una richiesta deliberatamente errata al 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

Per leggere un file, è necessario eseguire queste operazioni in ordine inverso: decodificare e decomprimere il file, controllare l'hash (l'hash può essere trasmesso in sicurezza su canali aperti).

Gli spazi vengono sostituiti con =+=in modo che non ci siano spazi nell'indirizzo. Il programma, che l'autore chiama CurlyTP, utilizza la codifica base64, come gli allegati di posta elettronica. La richiesta viene effettuata con una parola chiave ?transfer?in modo che il destinatario possa trovarlo facilmente nei registri.

Cosa vediamo nei log in questo caso?

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"

Come già accennato, per ricevere un messaggio segreto è necessario eseguire le operazioni in ordine inverso:

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

Il processo è facile da automatizzare. Md5sum corrisponde e il contenuto del file conferma che tutto è stato decodificato correttamente.

Il metodo è molto semplice. “Lo scopo di questo esercizio è semplicemente dimostrare che i file possono essere trasferiti attraverso piccole e innocenti richieste web, e funziona su qualsiasi server web con log di testo semplice. In sostanza, ogni server web è un nascondiglio!” scrive Flowers.

Naturalmente il metodo funziona solo se il destinatario ha accesso ai log del server. Ma tale accesso è fornito, ad esempio, da molti hoster.

Come usarlo?

Ryan Flowers afferma di non essere un esperto di sicurezza informatica e non compilerà un elenco di possibili usi per CurlyTP. Per lui è solo una prova del fatto che gli strumenti familiari che vediamo ogni giorno possono essere utilizzati in modo non convenzionale.

In effetti, questo metodo presenta una serie di vantaggi rispetto ad altri server "nascosti" simili Caduta morta digitale o Pirate Box: non richiede una configurazione speciale lato server né alcun protocollo speciale - e non desterà sospetti tra coloro che monitorano il traffico. È improbabile che un sistema SORM o DLP esegua la scansione degli URL alla ricerca di file di testo compressi.

Questo è uno dei modi per trasmettere messaggi tramite file di servizio. Puoi ricordare come si posizionavano alcune aziende avanzate Lavori di sviluppatore nelle intestazioni HTTP o nel codice delle pagine HTML.

Scambio di messaggi segreti tramite log del server

L'idea era che solo gli sviluppatori web avrebbero visto questo uovo di Pasqua, poiché una persona normale non avrebbe guardato le intestazioni o il codice HTML.

Scambio di messaggi segreti tramite log del server

Fonte: habr.com

Aggiungi un commento