Tuesday, July 19, 2011

DNS Hacking and DHCP Spoofing

etika bicara tentang web application, banyak sisi yang bisa diserang oleh hacker, misalnya sisi client alias komputer yang dipakai oleh pengguna aplikasi tersebut. Salah satu metode yang umum digunakan adalah membelokkan domain request yang (harusnya) ditujukan ke DNS server yang sah (menjadi) ke DNS server palsu.
DNS Hacking
Cara kerja DNS hacking adalah memanfaatkan file hosts yang digunakan WindowsXP dan Windows2003. File tersebut terdapat di folder C:WINDOWSsystem32driversetc. Hacker dapat ‘memandu’ (baca: mengelabui) pengguna komputer untuk membuat entri di file hosts tersebut, yang berisi informasi yang salah (IP yang dientri sebetulnya bukan IP dari domain ybs).
Contoh.
Dengan perintah seperti ini:
C:>echo 64.233.187.99 www.yahoo.com>>c:windowssystem32driversetchosts
maka file hosts telah dikelabui sehingga mengarahkan domain www.yahoo.com ke IP 64.233.187.99 yang sebenarnya adalah IP dari www.google.com. Akibatnya ketika user mengetikkan www.yahoo.com di address bar browser, voila, yang tampil adalah halaman Google.
Namun katanya tidak semua domain dapat dialihkan ke tempat lain. Sebagai contoh, cara di atas tidak berhasil dilakukan untuk domain KlikBCA. Kenapa tidak bisa? Karena server KlikBCA menggunakan HTTP header yang di dalamnya mengandung informasi ‘Host: www.klikbca.com‘. Alih-alih memunculkan halaman domain palsunya, browser akan menampilkan pesan ‘Web Page Unavailable’.
Bagaimana penjelasan logisnya? Nah itu aku belum ngerti, hehehe. Ntar ya kalau udah ngerti aku update lagi tulisannya.
DHCP Spoofing
Tadi disebutkan bahwa sistem file hosts ini cuma di WinXP dan Win2003 ya? Oh ya udah, jangan pake OS itu, pake aja OS lain. Aman dong?
Ternyata gak juga.
File hosts itu hanya semacam local cache di komputer ybs. Tapi di luar dirinya, komputer itu terhubung ke DNS server yang memang bertugas menerjemahkan teks namadomain.com ke angka IP yang merupakan address domain tersebut.
Jadi ada 1 titik lagi yang bisa diserang oleh hacker, yaitu buatlah agar komputer client menggunakan DNS server milik hacker. How?
Ini bisa dilakukan jika komputer client menggunakan dynamic IP, alias meminta jasa DHCP server. Di sinilah teknik DHCP Spoofing beraksi.
Udah tau kan gimana cara ngeset komputer supaya menggunakan DHCP Server? Klik Start –> Control Panel –> Network Connections –> Local Area Connections –> Properties –> Internet Protocol(TCP/IP) –> Properties –> General –> Pilih ‘Obtain an IP Address Automatically‘.
Masalahnya, kita hanya bisa bilang ke komputer untuk ’Gunakan DHCP server ya!’. Tapi kita GAK BISA bilang ’ Gunakan DHCP server yang ini ya!’. Padahal dalam satu jaringan bisa ada lebih dari satu DHCP server.
Berikut adalah ’percakapan’ yang terjadi antara komputer client dengan DHCP Server ketika client membutuhkan sebuah alamat IP:
1. Client mengirimkan broadcastt DHCPDISCOVER untuk mencari DHCP Server.
2. DHCP server yang tersedia (ingat, ini bisa lebih dari satu!) mengirimkan DHCPOFFER beserta alamat IP dan waktu penyewaan.
3. Client yang menerima penawaran IP dari DHCP Server tertentu (pemilihan dilakukan secara acak) mengirimkan DHCPREQUEST.
4. Proses berakhir, DHCP Server mengirimkan DHCPPACK. Komputer client mendapatkan IP, dengan DNS server dan Gateway yang mengikuti setting di DHCP Server ybs.
Teknik DHCP Spoofing dilakukan dengan ’menyerang’ DHCP Server yang sah agar sibuk melayani permintaan IP yang terus menerus. Aktivitas ini bisa dilakukan dengan sangat mudah, misalnya dengan menggunakan program yersinia. Pada satu titik, server yang diserang ini akan kehabisan resource sehingga dia tidak bisa ikut dalam adu tender DHCPOFFER. Otomatis komputer client akan menerima penawaran IP dari DHCP Server si hacker. Dengan demikian apapun domain yang diketik oleh pengguna komputer client akan diteruskan ke DNS server milik hacker.

Kesimpulannya? Aplikasi yang kita bangun harus mempunyai beberapa lapis security. Ibaratnya ‘Lu bisa pinter bohong, tapi gue juga kan gak bodo, hehe’.

http://soundofmusic.web.id/2007/06/dns-hacking-and-dhcp-spoofing-2/