Apa itu DNS Tunneling? Instruksi deteksi





Tunneling DNS mengubah sistem nama domain menjadi senjata peretas. DNS pada dasarnya adalah buku telepon besar di Internet. DNS juga merupakan protokol yang mendasari yang memungkinkan administrator untuk menanyakan database server DNS. Sejauh ini, semuanya tampak jelas. Tetapi para peretas yang licik menyadari bahwa komunikasi secara diam-diam dengan komputer korban dapat dilakukan dengan memasukkan perintah kontrol dan data ke dalam protokol DNS. Ide ini merupakan inti dari tunneling DNS.



Bagaimana DNS Tunneling Bekerja







Segala sesuatu di Internet memiliki protokol tersendiri. Dan DNS mendukung protokol respons-tantangan yang relatif sederhana . Jika Anda ingin melihat cara kerjanya, Anda dapat menjalankan nslookup, alat utama untuk mengirimkan kueri DNS. Anda dapat meminta alamat hanya dengan menentukan nama domain yang diinginkan, misalnya:







Dalam kasus kami, protokol merespons dengan alamat IP domain. Dalam hal protokol DNS, saya membuat permintaan alamat atau yang disebut. "Sebuah tipe. Ada jenis kueri lain, dan protokol DNS akan merespons dengan kumpulan bidang data berbeda yang, seperti yang akan kita lihat nanti, dapat dimanfaatkan oleh peretas.



Dengan satu atau lain cara, pada intinya, protokol DNS berkaitan dengan meneruskan permintaan ke server dan tanggapannya kembali ke klien. Bagaimana jika penyerang menambahkan pesan tersembunyi di dalam permintaan nama domain? Misalnya, alih-alih memasukkan URL yang sepenuhnya sah, dia akan memasukkan data yang ingin dia transfer:







Misalkan seorang penyerang mengontrol server DNS. Kemudian dapat mengirimkan data - misalnya, data pribadi - dan tidak perlu terdeteksi. Lagi pula, mengapa permintaan DNS menjadi sesuatu yang tidak sah?



Dengan mengontrol server, peretas dapat memalsukan tanggapan dan mengirim data kembali ke sistem target. Ini memungkinkan mereka untuk menyampaikan pesan yang tersembunyi di berbagai bidang tanggapan DNS terhadap malware di mesin yang terinfeksi, dengan instruksi seperti mencari di dalam folder tertentu.



Bagian "tunneling" dari serangan ini adalah menyembunyikan data dan perintah dari deteksi oleh sistem pemantauan. Peretas dapat menggunakan kumpulan karakter base32, base64, dll., Atau bahkan mengenkripsi data. Pengkodean seperti itu tidak akan diketahui oleh utilitas deteksi ancaman sederhana yang menelusuri teks biasa.



Dan itulah terowongan DNS!



Sejarah Serangan Tunneling DNS



Semuanya memiliki permulaan, termasuk ide untuk membajak protokol DNS untuk tujuan peretasan. Sejauh yang kami ketahui, diskusi pertama tentang serangan semacam itu dilakukan oleh Oskar Pearson di milis Bugtraq pada bulan April 1998.



Pada tahun 2004, DNS tunneling diperkenalkan ke Black Hat sebagai teknik peretasan dalam presentasi oleh Dan Kaminsky. Dengan demikian, idenya dengan sangat cepat tumbuh menjadi alat serangan yang nyata.



Saat ini, tunneling DNS mengambil posisi yang kuat di peta potensi ancaman (dan blogger keamanan sering diminta untuk menjelaskannya).



Pernahkah Anda mendengar tentang Sea Turtle? Ini adalah kampanye berkelanjutan dari kelompok penjahat dunia maya - kemungkinan besar disponsori oleh negara - untuk membajak server DNS yang sah untuk mengarahkan permintaan DNS ke server mereka sendiri. Artinya, organisasi akan menerima alamat IP "buruk" yang mengarah ke halaman web palsu yang dijalankan oleh peretas seperti Google atau FedEx. Pada saat yang sama, penyerang akan bisa mendapatkan akun dan kata sandi pengguna yang secara tidak sadar akan memasukkannya ke situs palsu tersebut. Ini bukan DNS tunneling, tetapi hanya konsekuensi buruk dari kontrol peretas atas server DNS.



Ancaman DNS Tunneling







Tunneling DNS seperti indikator awal dari tahap berita buruk. Yang mana Kami telah membahas beberapa, tetapi mari kita menyusunnya:



  • () – DNS. - β€” β€” , – !
  • (Command and Control, C2) – DNS- , , (Remote Access Trojan, RAT).
  • IP-Over-DNS – , , IP- DNS-. FTP, Netcat, ssh .. . !


DNS-







Ada dua metode utama untuk mendeteksi penyalahgunaan DNS: analisis beban dan analisis lalu lintas.



Saat menganalisis beban, pihak yang bertahan mencari anomali dalam data yang dikirim ke kedua arah, yang dapat dideteksi dengan metode statistik: nama host yang tampak aneh, jenis data DNS yang tidak sering digunakan, atau pengkodean non-standar.



Saat menganalisis lalu lintas, diperkirakan jumlah kueri DNS untuk setiap domain, dibandingkan dengan tingkat rata-rata. Penyerang yang menggunakan tunneling DNS akan menghasilkan banyak lalu lintas ke server. Secara teori, jauh lebih unggul dari pesan DNS biasa. Dan ini harus diawasi!



Utilitas Tunneling DNS



Jika Anda ingin melakukan uji penetrasi sendiri dan memeriksa seberapa baik perusahaan Anda dapat mendeteksi dan merespons aktivitas semacam itu, ada beberapa kegunaan untuk ini. Semuanya dapat melakukan tunnel dalam mode IP-Over-DNS :



  • Yodium - Tersedia di banyak platform (Linux, Mac OS, FreeBSD dan Windows). Memungkinkan Anda memasang shell SSH antara target dan komputer host. Berikut adalah panduan yang bagus untuk menyiapkan dan menggunakan Yodium Anda.
  • OzymanDNS adalah proyek tunneling DNS oleh Dan Kaminsky yang ditulis dalam Perl. Anda dapat terhubung dengannya melalui SSH.
  • DNSCat2 - "Jangan bosan dengan terowongan DNS." Membuat saluran C2 terenkripsi untuk mengirim / mengunduh file, meluncurkan shell, dll.


Utilitas pemantauan DNS



Di bawah ini adalah daftar beberapa utilitas yang akan berguna untuk mendeteksi serangan tunneling:



  • dnsHunter adalah modul Python yang ditulis untuk MercenaryHuntFramework dan Mercenary-Linux. Membaca file .pcap, mengekstrak pencarian DNS, dan melakukan pencocokan geolokasi untuk membantu analisis.
  • reassemble_dns adalah utilitas Python yang membaca file .pcap dan mem-parsing pesan DNS.


Pertanyaan Umum DNS Tunneling Micro



Informasi paling berguna dalam bentuk pertanyaan dan jawaban!



T: Apa itu tunneling?

J: Ini hanya cara untuk mentransfer data melalui protokol yang ada. Protokol yang mendasari menyediakan saluran atau terowongan khusus, yang kemudian digunakan untuk menyembunyikan informasi yang sebenarnya dikirim.



T: Kapan serangan tunneling DNS pertama dilakukan?

A: Kami tidak tahu! Jika Anda tahu - beri tahu kami. Sejauh yang kami tahu, pembahasan pertama tentang penyerangan itu diprakarsai oleh Oscar Pearsan di milis Bugtraq pada April 1998.



T: Serangan apa yang mirip dengan DNS tunneling?

TENTANG:DNS bukanlah satu-satunya protokol yang dapat digunakan untuk tunneling. Misalnya, malware command and control (C2) sering menggunakan HTTP untuk menutupi saluran komunikasi. Seperti halnya tunneling DNS, peretas menyembunyikan datanya, tetapi dalam kasus ini terlihat seperti lalu lintas browser web biasa yang mengakses situs jarak jauh (dikendalikan oleh penyerang). Hal ini dapat luput dari perhatian oleh program pemantauan jika mereka tidak dikonfigurasi untuk melihat ancaman peretasan protokol HTTP.



Ingin kami membantu dengan deteksi tunneling DNS? Lihat modul Varonis Edge kami dan coba demo gratis !



All Articles