Menurut definisi Wikipedia, dead drop adalah alat konspirasi yang berfungsi untuk bertukar informasi atau beberapa barang antar orang dengan menggunakan lokasi rahasia. Idenya adalah orang-orang tidak pernah bertemu β namun mereka tetap bertukar informasi untuk menjaga keselamatan operasional.
Tempat persembunyiannya tidak boleh menarik perhatian. Oleh karena itu, di dunia offline mereka sering menggunakan hal-hal yang tersembunyi: batu bata lepas di dinding, buku perpustakaan, atau lubang di pohon.
Ada banyak alat enkripsi dan anonimisasi di Internet, namun fakta penggunaan alat ini menarik perhatian. Selain itu, mereka mungkin diblokir di tingkat perusahaan atau pemerintah. Apa yang harus dilakukan?
Pengembang Ryan Flowers mengusulkan opsi menarik -
Ternyata server web mana pun memungkinkan Anda menyimpan hampir semua pesan di log. Bunga bertanya-tanya bagaimana cara menggunakan ini.
Dia menawarkan opsi ini:
- Ambil file teks (pesan rahasia) dan hitung hashnya (md5sum).
- Kami menyandikannya (gzip+uuencode).
- Kami menulis ke log menggunakan permintaan yang sengaja 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: mendekode dan mengekstrak file, memeriksa hash (hash dapat ditransmisikan dengan aman melalui saluran terbuka).
Spasi diganti dengan =+=
agar tidak ada spasi pada alamatnya. Program yang penulis sebut CurlyTP ini menggunakan pengkodean base64, seperti lampiran email. Permintaan dibuat 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 mengonfirmasi bahwa semuanya telah diterjemahkan dengan benar.
Caranya sangat sederhana. βInti dari latihan ini hanyalah untuk membuktikan bahwa file dapat ditransfer melalui permintaan web kecil yang tidak berbahaya, dan ini berfungsi di server web mana pun dengan log teks biasa. Intinya, setiap server web adalah tempat persembunyian!β tulis Flowers.
Tentu saja, metode ini hanya berfungsi jika penerima memiliki akses ke log server. Namun akses tersebut disediakan, misalnya, oleh banyak hoster.
Bagaimana cara menggunakannya?
Ryan Flowers mengatakan dia bukan ahli keamanan informasi dan tidak akan menyusun daftar kemungkinan penggunaan CurlyTP. Baginya, ini hanyalah sebuah bukti konsep bahwa alat-alat yang biasa kita lihat sehari-hari dapat digunakan dengan cara yang tidak konvensional.
Faktanya, metode ini memiliki sejumlah keunggulan dibandingkan βpersembunyianβ server lain seperti
Ini adalah salah satu cara untuk mengirimkan pesan melalui file layanan. Anda dapat mengingat bagaimana beberapa perusahaan maju dulu berada
Idenya adalah hanya pengembang web yang akan melihat telur Paskah ini, karena orang normal tidak akan melihat header atau kode HTML.
Sumber: www.habr.com