Apa itu terowongan DNS? Petunjuk Deteksi

Apa itu terowongan DNS? Petunjuk Deteksi

Penerowongan DNS mengubah sistem nama domain menjadi senjata bagi peretas. DNS pada dasarnya adalah buku telepon Internet yang sangat besar. DNS juga merupakan protokol dasar yang memungkinkan administrator untuk menanyakan database server DNS. Sejauh ini semuanya tampak jelas. Namun peretas yang licik menyadari bahwa mereka dapat berkomunikasi secara diam-diam dengan komputer korban dengan memasukkan perintah kontrol dan data ke dalam protokol DNS. Ide ini adalah dasar dari terowongan DNS.

Cara kerja penerowongan DNS

Apa itu terowongan DNS? Petunjuk Deteksi

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

Apa itu terowongan DNS? Petunjuk Deteksi

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

Bagaimanapun, pada intinya, protokol DNS berkaitan dengan transmisi permintaan ke server dan responsnya kembali ke klien. Bagaimana jika penyerang menambahkan pesan tersembunyi di dalam permintaan nama domain? Misalnya, alih-alih memasukkan URL yang benar-benar sah, ia akan memasukkan data yang ingin ia kirimkan:

Apa itu terowongan DNS? Petunjuk Deteksi

Katakanlah seorang penyerang mengontrol server DNS. Ia kemudian dapat mengirimkan dataβ€”data pribadi, misalnyaβ€”tanpa harus terdeteksi. Lagi pula, mengapa permintaan DNS tiba-tiba menjadi sesuatu yang tidak sah?

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

Bagian "tunneling" dari serangan ini adalah penyembunyian data dan perintah dari deteksi oleh sistem pemantauan. Peretas dapat menggunakan kumpulan karakter base32, base64, dll., atau bahkan mengenkripsi data. Pengkodean tersebut tidak akan terdeteksi oleh utilitas pendeteksi ancaman sederhana yang mencari teks biasa.

Dan ini adalah terowongan DNS!

Sejarah serangan terowongan DNS

Segala sesuatu mempunyai permulaan, termasuk gagasan untuk membajak protokol DNS untuk tujuan peretasan. Sejauh yang kami tahu, yang pertama diskusi Serangan ini dilakukan oleh Oskar Pearson di milis Bugtraq pada bulan April 1998.

Pada tahun 2004, terowongan DNS diperkenalkan di Black Hat sebagai teknik peretasan dalam presentasi oleh Dan Kaminsky. Dengan demikian, ide tersebut dengan cepat berkembang menjadi alat serangan yang nyata.

Saat ini, terowongan DNS menempati posisi yang percaya diri di peta potensi ancaman (dan blogger keamanan informasi sering diminta menjelaskannya).

Pernahkah Anda mendengar tentang Penyu ? Ini adalah kampanye berkelanjutan yang dilakukan oleh kelompok penjahat dunia mayaβ€”kemungkinan besar disponsori oleh negaraβ€”untuk membajak server DNS yang sah guna mengalihkan 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 pengguna dan kata sandi, yang tanpa sadar akan memasukkannya ke situs palsu tersebut. Ini bukan penerowongan DNS, namun hanyalah konsekuensi buruk lainnya dari peretas yang mengendalikan server DNS.

Ancaman terowongan DNS

Apa itu terowongan DNS? Petunjuk Deteksi

Tunneling DNS seperti indikator awal dari tahap berita buruk. Yang mana? Kita sudah membicarakan beberapa hal, tapi mari kita susun:

  • Keluaran data (eksfiltrasi) – seorang peretas secara diam-diam mengirimkan data penting melalui DNS. Ini jelas bukan cara paling efisien untuk mentransfer informasi dari komputer korban - dengan mempertimbangkan semua biaya dan pengkodean - tetapi ini berhasil, dan pada saat yang sama - secara diam-diam!
  • Komando dan Kontrol (disingkat C2) – peretas menggunakan protokol DNS untuk mengirimkan perintah kontrol sederhana melalui, katakanlah, trojan akses jarak jauh (Trojan Akses Jarak Jauh, disingkat RAT).
  • Tunneling IP-Over-DNS - Ini mungkin terdengar gila, tetapi ada utilitas yang menerapkan tumpukan IP di atas permintaan dan respons protokol DNS. Itu membuat transfer data menggunakan FTP, Netcat, ssh, dll. tugas yang relatif sederhana. Sangat tidak menyenangkan!

Mendeteksi terowongan DNS

Apa itu terowongan DNS? Petunjuk Deteksi

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

Di analisis beban Pihak yang membela mencari anomali dalam data yang dikirim bolak-balik yang dapat dideteksi dengan metode statistik: nama host yang tampak aneh, jenis data DNS yang jarang digunakan, atau pengkodean non-standar.

Di analisis lalu lintas Jumlah permintaan DNS ke setiap domain diperkirakan dibandingkan dengan rata-rata statistik. Penyerang yang menggunakan terowongan DNS akan menghasilkan lalu lintas dalam jumlah besar ke server. Secara teori, ini jauh lebih unggul daripada pertukaran pesan DNS normal. Dan ini perlu diawasi!

Utilitas terowongan DNS

Jika Anda ingin melakukan pentest sendiri dan melihat seberapa baik perusahaan Anda dapat mendeteksi dan merespons aktivitas tersebut, ada beberapa utilitas untuk ini. Semuanya dapat melakukan terowongan dalam mode tersebut IP-Over-DNS:

  • Yodium – tersedia di banyak platform (Linux, Mac OS, FreeBSD dan Windows). Memungkinkan Anda memasang shell SSH antara komputer target dan komputer kontrol. Itu bagus panduan tentang pengaturan dan penggunaan Yodium.
  • OzymanDNS – Proyek terowongan DNS dari Dan Kaminsky, ditulis dalam Perl. Anda dapat terhubung melalui SSH.
  • DNSCat2 - β€œTerowongan DNS yang tidak membuat Anda sakit.” Membuat saluran C2 terenkripsi untuk mengirim/mengunduh file, meluncurkan shell, dll.

Utilitas pemantauan DNS

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

  • dnsHunter – Modul Python ditulis untuk MercenaryHuntFramework dan Mercenary-Linux. Membaca file .pcap, mengekstrak kueri DNS, dan melakukan pemetaan geolokasi untuk membantu analisis.
  • merakit kembali_dns – utilitas Python yang membaca file .pcap dan menganalisis pesan DNS.

FAQ Mikro tentang terowongan DNS

Informasi berguna dalam bentuk tanya jawab!

T: Apa itu terowongan?
Tentang: Ini hanyalah cara untuk mentransfer data melalui protokol yang ada. Protokol yang mendasarinya menyediakan saluran atau terowongan khusus, yang kemudian digunakan untuk menyembunyikan informasi yang sebenarnya sedang dikirimkan.

T: Kapan serangan terowongan DNS pertama kali dilakukan?
Tentang: Kami tidak tahu! Jika Anda mengetahuinya, harap beri tahu kami. Sepengetahuan kami, diskusi pertama mengenai serangan ini diprakarsai oleh Oscar Piersan di milis Bugtraq pada bulan April 1998.

T: Serangan apa yang mirip dengan terowongan DNS?
Tentang: DNS bukanlah satu-satunya protokol yang dapat digunakan untuk tunneling. Misalnya, malware command and control (C2) sering kali menggunakan HTTP untuk menutupi saluran komunikasi. Seperti halnya terowongan DNS, peretas menyembunyikan datanya, namun dalam kasus ini tampak seperti lalu lintas dari browser web biasa yang mengakses situs jarak jauh (dikendalikan oleh penyerang). Hal ini mungkin luput dari perhatian program pemantauan jika program tersebut tidak dikonfigurasi untuk mendeteksinya ancaman penyalahgunaan protokol HTTP untuk tujuan hacker.

Apakah Anda ingin kami membantu dalam deteksi terowongan DNS? Lihat modul kami Tepi Varonis dan mencobanya secara gratis demonstrasi!

Sumber: www.habr.com

Tambah komentar