Beruflich Dokumente
Kultur Dokumente
Revision 1.0
Copyright (c) 2012, Indonesian Research & Development Center.. All Rights Reserved.
Buku ini didedikasikan untuk RNDC (Indonesian Research & Development Center)
Agus Bimantoro
<l0g.bima@gmail.com>
2012-07-06
Dokumen ini menguraikan serangkaian petunjuk dalam penggunaan etherwall, di dalamnya
juga terdapat beberapa bagian yang menjelaskan tentang hal hal yang berkaitan. Manual ini
bersifat berkelanjutan dan akan selalu di update sesuai dengan kebutuhan.
Copyright 2012 Agus Bimantoro dan RNDC
Merek dagang yang dimiliki oleh pemiliknya.
Izin diberikan untuk menyalin, mendistribusikan dan / atau memodifikasi dokumen ini di bawah
ketentuan GNU Free Documentation License, Versi 1,3; tanpa bagian Invarian, tanpa Teks
Sampul Depan, dan tanpa Teks Sampul Belakang. Satu salinan lisensi ini harus dicantumkan
pada bagian yang berjudul " GNU Free Documentation License ".
Website: http://rndc.or.id/etherwall
Daftar isi
I. Pengantar Etherwall
1.1 Sekilas tentang ARP (Address Resolution Protocol) ...............................................................
23
V. Penutup
5.1 Kesimpulan ...................................................................................................................................................... 24
5.2 Ucapan terima kasih ..................................................................................................................................
VI. Daftar Pustaka
24
Pengantar etherwall
1.1 Sekilas tentang ARP (Address Resolution Protocol)
Komputer yang terhubung ke dalam jaringan memiliki dua alamat, yang pertama adalah
alamat fisik, atau yang biasa di sebut alamat MAC (Media Access Control). Alamat MAC bersifat
unik dan permanen yang di simpan dalam network card itu sendiri. Panjang alamat MAC adalah
48 bit (6 byte) di tulis dalam format 6 digit bilangan heksadecimal. IEEE (Institute of Electrical
and Electronics Enginers) sebagai lembaga yang mengurus standarisasi internet membagi
alamat MAC menjadi dua blok, 24 bit pertama mempresentasikan organisasi pembuat kartu
tersebut (vendor) dan 24 bit sisanya adalah nomor kartu tersebut.
MAC format :
00-00-0C-67-89-6f atau 00:00:0C:67:89:6f
Alamat yang ke dua adalah alamat IP (Internet Protocol) atau alamat logika, Protokol IP
adalah bagian penting yang di gunakan sebagai alat identifikasi setiap komputer pada
jaringan/lapisan internet. IP juga bersifat unik, itu artinya masing masing komputer yang
terhubung haruslah menggunakan alamat yang berbeda tidak boleh satu alamat IP di gunakan
oleh dua atau lebih komputer. IP tidak seperti MAC yang bersifat permanen, alamat IP bisa di
rubah rubah sesuai dengan pengaturan atau pengalamatan jaringan yang di buat. Panjang
format alamat IP adalah 32 bit (4 byte) untuk IPv4 dan 128 bit (16 byte) untuk IPv6.
IP format:
IPv4 = 192.168.1.1
IPv6 = 2001:0ba0:01e0:d001:0000:0000:d0f0:0010
Dasar konsep dari komunikasi jaringan adalah pengiriman data dari sumber ke tujuan begitu
juga sebaliknya. Setiap bentuk komunikasi harus memiliki identifikasi alamat sumber dan
tujuan, hal ini penting untuk menerangkan siapa yang mengirim dan siapa yang menerima.
Dalam keseharian kita menggunakan alamat IP bukan MAC agar komputer bisa saling terhubung.
Namun sebetulnya komputer berkomunikasi hanya menggunakan alamat MAC/fisik. Lalu untuk apa IP ?,
dua pertanyaan di bawah ini mungkin akan memberikan gambaran:
Page | 1
Bagi manusia menggunakan alamat IP lebih masuk akal jika di bandingkan dengan alamat MAC,
untuk itulah di buat sebuah protokol ARP yang berfungsi untuk menterjemahkan/meresolusi
alamat IP ke alamat MAC. Pada proses enkapsulasi, IP membungkus paket data yang berisi
header (source IP,destination IP,dan meta data lainnya) dan payload (data yang mau dikirim),
kemudian paket ini akan di rubah menjadi frame frame data pada lapisan data link agar bisa
di kirim pada level fisik melalui media transmisi (kabel,radio,dll). Gambaran cara kerja protokol
ARP seperti dibawah ini:
1. Sebuah komputer yang mendukung teknologi TCP/IP ingin berkomunikasi dengan IP:
192.168.1.2 di dalam satu segmen jaringan. siapa pemilik IP: 192.168.1.2, berikan
alamat MAC mu ?
2. Komputer yang sedang dicari/pemilik IP: 192.168.1.2 akan merespon pertanyaan
tersebut dengan jawaban saya IP: 192.168.1.2 alamat MAC 00:00:0C:05:B4:3F
3. Keduanya sudah saling mengetahui alamat fisik, setelah itu alamat fisik tersebut akan di
simpan di dalam tabel ARP, sampai disini komunikasi bisa di mulai.
Pada tahapan pertama adalah sebuah pesan ARP request, dan tahapan kedua adalah pesan
balasan atau ARP reply. Perlu di ketahui bahwa komputer menyimpan alamat MAC di dalam
tabel ARP hanya bersifat sementara dan akan di hapus secara otomatis dalam periode waktu
tertentu. Gambar sederhana berikut ini bisa lebih membantu untuk memahami cara kerja
protokol ARP :
Hardware Type:
Bagian ini adalah field untuk menentukan type hardware yang di gunakan, Misalnya: untuk tipe
hardware Ethernet bernilai 1 (0x1 dalam heksa).
Protocol Type:
Bagian ini adalah field untuk menentukan versi/network IP yang di gunakan, Untuk alamat IPv4
memiliki nilai 2048 (0x800 dalam heksa).
Hardware Address Length:
Bagian ini berisi panjang dari alamat MAC address, nilainya adalah 6.
Page | 3
untuknya. Tidak hanya itu siapapun di jaringan juga dapat mengirim ARP request dengan
berpura pura menjadi salah satu host, namun dengan alamat fisik (MAC) yang di palsukan.
Malicious host melakukan hal tersebut dengan cara membuat paket (crafted packet) ARP palsu.
Celah keamanan ini biasa dikenal dengan istilah ARP spoofing/poisoning.
1.1.2.1 ARP reply palsu
Setiap kali datang pesan ARP reply, system akan mempercayai dan menyimpan alamat
fisik dari komputer pengirim pesan pada ARP table/cache, tidak peduli palsu atau tidaknya
alamat fisik tersebut. Jika sebelumnya alamat fisik tersebut sudah tersimpan, maka alamat fisik
yang lama akan di hapus dan di update dengan alamat fisik yang baru (overwrite), begitu juga
seterusnya. Kita bisa lihat dari gambar ilustrasi berikut:
Page | 5
Pada ilustrasi gambar 1.3, komputer dengan IP: 192.168.1.1 sedang mencari alamat fisik dari
komputer IP: 192.168.1.2 dengan mengirim ARP request dengan metode broadcast ke semua
host. Merasa di cari komputer yang memiliki IP: 192.168.1.2 menjawab pesan tersebut dengan
mengirim pesan ARP reply. Namun tanpa kita ketahui ternyata malicious host juga mengirim
pesan ARP reply. Pertanyaanya, alamat fisik siapa yang di simpan oleh komputer 192.168.1.1 ?,
Pertama kali tentu alamat fisik dari IP: 192.168.1.2 selanjutnya sistem akan menghapusnya dan
mengganti/memperbaruhi dengan alamat fisik yang dikirim oleh malicious host. Didalam
kondisi yang berbeda terkadang suatu host mendapatkan pesan ARP reply meskipun tidak
mengirim permintaan ARP request, seperti yang terlihat pada gambar 1.4.
1.1.2.2 ARP request palsu
ARP request palsu adalah sebuah paket permintaan ARP request yang dengan sengaja di
kirim oleh sebuah malicious host. Berikut gambar dari ARP request palsu:
Page | 6
Page | 7
Gambar 1.10 Attacker mengasosiasikan IP: 192.168.1.4 dengan MAC yang di palsukan
1.1.3.3 MAC flooding
Perangkat penghubung switch memang lebih cerdas jika di bandingkan dengan hub,
switch memiliki kemampuan merekam serta memetakan alamat fisik dari masing masing
Page | 9
komputer yang di hubungkannya. Switch memiliki memory yang di sebut Content Addressable
Memory (CAM) table, untuk menyimpan alamat MAC. Dibalik kemampuan itu, fungsi CAM pada
switch ternyata memiliki kelemahan, yaitu dari sisi keterbatasan ruang penyimpanan. Misalnya
anda memiliki sebuah switch yang dapat menyimpan alamat MAC sebanyak 5000 buah, seorang
attacker membanjiri switch milik anda tersebut hingga lebih dari 5000 alamat MAC. Ketika
sebuah CAM tidak lagi dapat menampung alamat MAC, maka switch tidak akan ada bedanya
dengan hub, yang hanya memiliki kemampuan untuk meneruskan sinyal. Disaat switch
kehilangan kemampuannya, attacker tidak akan melewati kesempatan untuk melakukan
penyadapan dan capturing data.
1. Gunakan IP statis (tanpa dhcp), sebagai usaha menghindari serangan DHCP spoofing.
2. Melindungi ARP table/cache, karena ARP spoofing/poisoning merupakan serangan yang
memaanfaatkan kelemahan pada tabel ARP yang dinamis, maka solusinya adalah
membuat ARP menjadi statis, dengan cara mengetikan perintah arp s [ip] [mac].
Langkah ini bisa di lakukan setiap reboot dengan cara menyimpan perintah ke dalam
sebuah startup script.
3. Gunakan port security, switch model manageable.
4. Gunakan selalu protokol komunikasi yang aman/terenkripsi, tujuannya agar data yang di
alirkan menjadi acak sehingga ketika di sadap akan berbentuk paket paket yang sulit di baca.
Linux, telah di uji coba di beberapa distribusi populer seperti Slackware, Debian, Ubuntu,
Backtrack, Mint, CentOS, Fedora, OpenSUSE, dll.
Beberapa fitur dari etherwall diantaranya:
Daemon Processing
ARP Packet Filtering
Point to Point & Point to Multipoint Protection
Realtime Protection
System Logging
Early Warning
Support for networks Statically, Dynamically, or Both
Supports for Ethernet Wired & Wireless interface (IEEE 802.3 & IEEE 802.11)
Plugins / Tools
Included Man Pages
Easy to Use and Free
1.2.1 Motivasi
Menutupi kelemahan isu keamanan protokol ARP, mencegah dari serangan MITM (Man in
The Middle) melalui ARP spoofing/poisoning. Juga mencegah dari berbagai jenis serangan
yang memaanfatkan kelemahan dari cara kerja protokol ARP.
1.2.2 Skenario aplikasi
Etherwall berjalan sebagai proses daemon, memiliki 3 algoritma dasar diantaranya
adalah ARP packet filtering, Point to Point protection, Point to Multipoint protection.
1.2.2.1 ARP packet filtering
Secara default etherwall hanya mengijinkan paket yang berasal dari router/gateway
untuk dapat di proses oleh kernel. Jika ingin mengijinkan host lain maka user dapat membuat
daftar host yang di perbolehkan melalui sebuah file konfigurasi (Pembahasan pada hal:21).
Skenario algoritma ini bisa di lihat pada gambar dibawah:
Page | 11
Gambar 1.1
1.13 Point to Multipoint protection
1.2.3 Algoritma
Page | 14
Page | 15
3. Eksekusi file install.sh, pada step ini anda wajib memiliki hak akses root atau
administrator system (anda bisa menggunakan perintah su atau sudo).
# bash install.sh
atau
# chmod +x install.sh
# ./install.sh
Page | 16
Sebagai contoh:
etherwall start
Keterangan:
start: menjalankan layanan daemon etherwall
stop: menghentikan layanan daemon etherwall
restart: menjalankan kembali layanan daemon etherwall
status: memeriksa status daemon, apakah berjalan atau berhenti.
3.2 Ethwconsole
Ethwconsole adalah sebuah konsol interaktif (berbasis-teks) program dari etherwall untuk
digunakan sebagai tambahan pertahanan jaringan (White Hat tools :D). Ethwconsole prompt
menyediakan beberapa program yang berguna untuk menganalisa dan mengindetifikasi
keadaan jaringan, Tujuannya adalah untuk meminimalisasi berbagai jenis serangan yang sering
terjadi pada LAN (Local Area Network).
Bentuk umum penggunaan:
ethwconsole
Sebagai contoh:
ethwconsole
Page | 17
1. allow
Secara standar komputer yang menjalankan etherwall hanya dapat berkomunikasi
dengan gateway komputer dan komputer di luar segmen jaringan dari antarmuka
yang aktif. Kecuali host yang memiliki izin yang telah disertakan dalam file
/etc/etherwall/allow.conf. Jika Anda ingin mengizinkan akses sementara kepada
suatu host silakan gunakan perintah ini.
Contoh:
ethw> allow 192.168.1.100
2. arp
perintah arp digunakan untuk memanipulasi sistem arp cache dan dump dari cache
arp diwakili dalam tampilan tabulasi.
Contoh:
ethw> arp
ethw> arp -s 192.168.1.100 00:11:22:33:44:55
ethw> arp -d 192.168.1.100
3. arping
Alat arping digunakan untuk mengirim dan menerima paket pada lapisan data link.
Jika anda ingin mengamati jaringan LAN melalui protokol ARP bisa menggunakan
gunakan alat ini.
Contoh:
ethw> arping 192.168.1.100
ethw> arping 192.168.1.100/24
4. banner
Perintah banner digunakan untuk menampilkan gambar ASCI secara acak.
Contoh:
Page | 18
ethw> banner
5. clear
Perintah clear digunakan untuk menghapus layar konsol.
Contoh:
ethw> clear
6. deny
perintah deny digunakan untuk mencabut perizinan (kebalikan dari perintah allow).
Contoh:
ethw> deny 192.168.1.100
7. dhcpcop
Perintah dhcpcop digunakan untuk mengidentifikasi server DHCP palsu pada LAN
(mencegah DHCP palsu dan sesat). Seperti program klien dhcp, tetapi hanya
mengirim paket dhcp discover.
Contoh:
ethw> dhcpcop
ethw> dhcpcop wlan1
8. flog
Perintah flog digunakan untuk menampilkan beberapa baris terakhir dari file log
etherwall ke output standar, Baris standarnya 10 baris jika tidak ditentukan. Ini
seperti program tail di Unix system.
Contoh:
ethw> flog
ethw> flog 15
Page | 19
9. gwdisc
Perintah gwdisc digunakan untuk menemukan gateway atau host router pada LAN
(mengidentifikasi router palsu). Dengan mengirim permintaan paket echo ke
komputer yang terletak pada jaringan Internet atau WAN. Untuk melakukan
tindakan ini, anda perlu mengatur alamat default gateway. Hanya mengatur alamat
yang Anda inginkan, tetapi harus sesuai dengan segmen jaringan atau mengatur
alamat sebenarnya dari gateway. Sebagai contoh: Anda mengatur interface jaringan
eth0 dengan alamat 192.168.1.23, atur alamat default gateway yang Anda inginkan,
misalnya 192.168.1.100.
Contoh:
ethw> gwdisc
ethw> gwdisc -t xxx.xxx.xxx.xxx
ethw> gwdisc -i wlan0 -t xxx.xxx.xxx.xxx
10. help
Perintah help digunakan untuk menampilkan panduan.
Contoh:
ethw> help
11. interface
Perintah interface digunakan untuk menampilkan antarmuka yang aktif. Ini berarti
perangkat mampu dan siap untuk berkomunikasi pada jaringan.
Contoh:
ethw> interface
12. linktype
Perintah linktype digunakan untuk memeriksa tipe link jaringan (HUB/SWITCH). HUB
& switch berbeda, Jika Anda terhubung kedalam link HUB, sangat tidak dianjurkan
untuk menggunakan protokol yang tidak aman (resiko keamanan). Jika terhubung
Page | 20
13. macfaked
Perintah macfaked digunakan untuk memanipulasi alamat fisik dari antarmuka
jaringan. Digunakan untuk penyamaran alamat MAC.
Contoh:
ethw> macfaked -r eth0
ethw> macfaked -m 00:11:22:33:44:55 wlan0
14. macvendor
Perintah macvendor digunakan untuk menampilkan vendor dari alamat MAC.
Vendor database alamat MAC didapatkan dari Oui - IEEE-SA, terletak di
http://standards.ieee.org/develop/regauth/oui/oui.txt.
Contoh:
ethw> macvendor 00:11:22:33:44:55
15. promiscop
Perintah promiscop digunakan untuk mendeteksi promiscuous node dalam LAN
(deteksi sniffer). Untuk informasi lebih lanjut bagaimana teknik ini bekerja silahkan
download materi di:
http://www.securityfriday.com/promiscuous_detection_01.pdf
Contoh:
ethw> promiscop
ethw> promiscop 192.168.1.100
ethw> promiscop -i wlan0 192.168.1.2/24
Page | 21
Keterangan
/opt/etherwall
/etc/etherwall/etherwall.conf
/etc/etherwall/allow.conf
/etc/etherwall/etherwall-oui.txt
/var/log/etherwall/etherwall.log
Page | 22
Bantuan
4.1 Halaman manual
Anda bisa memaanfaatkan buku ini sebagai petunjuk penggunaan, atau bisa memanfaatkan
manual pages. Halaman manual saat ini tersedia dalam dua bahasa, yaitu english dan
indonesian.
Contoh:
$ man etherwall
versi bahasa indonesia:
$ man etherwall-id
atau
$ man ethwconsole
versi bahasa indonesia:
$ man athwconsole-id
4.2 Laporan bug dan pertanyaan
Seperti penulisnya, etherwall tidaklah sempurna. Anda bisa membuatnya lebih baik dengan
mengirimkan laporan bug, menulis patch, atau memberikan umpan balik anda. Jangan ragu dan
hubungi saya secara pribadi ke alamat email saya :D. Selain email, Anda juga bisa melaporkan
bug dan pertanyaan di alamat https://github.com/rndc/etherwall/issues.
Page | 23
Penutup
5.1 Kesimpulan
ARP spoofing/poisoning merupakan sebuah serangan yang relatif sulit di tangkal dalam
satu broadcast domain, namun dengan segala kemungkinan yang bisa di lakukan dengan
metode yang telah di implementasikan ke dalam program etherwall dapat menjadi solusi.
Beberapa materi dalam buku ini di bahas dengan bahasa yang sederhana dengan tujuan agar
siapapun dapat dengan mudah memahaminya. Besar harapan buku ini dapat memberikan ilmu
yang bermaanfaat meski penulis sadari masih banyak kekurangan, baik dari segi materi ataupun
format penulisan.
5.2 Ucapan terima kasih
Saya mengucapkan terimakasih kepada rekan rekan di RNDC (We are the warriors of
indonesian technology :D). Special thanks to Drubicza yang telah ikut berpartisipasi dalam
perkembangan kode etherwall, dan tidak lupa saya ucapkan terimakasih kepada Dennis
Choober atas logo, gambarnya bagus dan keren :D. Dan semua pihak yang tidak bisa di
sebutkan satu persatu. Terimakasih juga kepada anda semua yang telah membaca buku ini.
Page | 24
Daftar Pustaka
[1] http://www.en.wikipedia.org/wiki/Address_Resolution_Protocol
[2] http://www.en.wikipedia.org/wiki/CAM_Table
[3] http://www.rootsecure.net/content/downloads/pdf/arp_spoofing_intro.pdf
[4] http://www.secdev.org/projects/scapy/
[5] http://www.securityfriday.com/promiscuous_detection_01.pdf
[6] http://www.tcpipguide.com/free/t_ARPMessageFormat.htm
[7] http://www.tools.ietf.org/html/rfc826
[8] http://www.watchguard.com/infocenter/editorial/135324.asp