Minggu, 29 Juli 2007

Bikin Bridge + transparent Proxy di Debian Etch arc ALPHA



Apa sih "Bridge" itu? menurut kamus sih artina jembatan, yups, bridge dalam istilah jaringan/network adalah menghubungkan 2 atau lebih kartu interface network (NIC) layakna sebuah switch. Jadi kalo PC kita dijadikan Brdige, maka PC tsb akan bertingkah laku seperti switch. Apa aja yang bisa dilakuin dengan PC yang dijadikan bridge pada suatu jaringan/network? Banyaaaakkkk sekali, contohna kita bisa bikin transparent firewall, transparent proxy, dll. Kali ini kita akan bikin PC Bridge + transparent proxy dengan Squid 2.6.STABLE14.

Untuk membuat bridge aq pake Linux debian 2.6.18-4-alpha-generic, jgn lupa kalo pake linux dengan kernel 2.4 harus di patch duluw. Package yang diperluin adalah ebtables, iptables dan bridge-utils. Kalo gk mo susah2, tinggal pake apt-get :

debian:~# apt-get install iptables ebtables bridge-utils

setelah diinstall, mari kita coba jalanin si ebtables :

debian:~# ebtables
ebtables v2.0.6 (November 2003)
....

hehhehe dah bisa tuh si ebtablesna, sekarang kita konfigurasi buat bridgena. Jgn lupa, bridge memerlukan 2 atau lebih NIC yang terpasang di PC. Kita akan menghubungkan 2 segmen network dgn skema :

modem internet (192.168.1.1) ===[eth0] bridge [eth1]=== LAN (192.168.1.x)

Kita buat duluw interface buat si bridge :

debian:~# brctl addbr br0

tyus kita buat si eth0 dan eth1 tidak memiliki IP address :

debian:~# ifconfig eth0 0.0.0.0 promisc up
debian:~# ifconfig eth1 0.0.0.0 promisc up

Wew, promisc apaan nuh? promiscuous adalah mode dimana NIC akan mendengarkan dan menerima semua jenis frame yang masuk kedalamnya. Hal ini penting karena si bridge perlu mendegarkan semua frame yang akan masuk. Setelah itu kita tambahin si eth0 n eht1 ke interface br0 :

debian:~# brctl addif br0 eth0
debian:~# brctl addif br0 eth1

Mari kita UP si br0 :

debian:~# ip link set br0 up

Hehehehe, lalu gimana kita ingin akses PC bridge ini secara remote? Untuk itu kita tambahin IP buat si br0 :

debian:~# ip addr add 192.168.1.254/24 brd + dev br0

Jangan lupa tambahin gateway buat si br0 biar gk bingung nyari "gerbang keluar" :

debian:~# route add default gw 192.168.1.1 dev br0

Taraaaaaaaa hampir selese nih, sebenarna kalo buat bridge ajah dah selese ampe sini, berhubung pgn dijadiin transparent proxy juga maka harus di set juga si Squidna :P. Package yang diperluin buat si proxy : Squid. Package ini banyak dependeciesna, jadi mendingan lsg pake apt ajah :

debian:~# apt-get install squid

File konfigurasi squid ada di /etc/squid/squid.conf, edit file ini nih soalna penting. Yang harus diperhatikan adalah penambahan baris sbb :

http_port 3128 transparent
acl lan src 192.168.1.0/24
http_access allow lan

Restart si Squid :

debian:~# /etc/init.d/squid restart

Kalo gk da error, maka si squid dah jalan sebagai transparent proxy :). Nah sekarang tinggal kita redirect koneksi HTTP (port 80) ke squid (port 3128). Kita gunain si ebtables n iptables :

debian:~# ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT
debian:~# iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128


Untuk percobaan, konekin kabel ethernet LAN ke eth1 n modem internet ke eth0. Buka browser (tidak perlu setting proxy di browser, karena sudah mode transparent :)), n coba buka oms google. Kalo gk da masalah, maka bridge + transparent proxy sukses diimplementasikan :) :)

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

:) :)

Rabu, 18 Juli 2007

PC164 DEC ALPHA Server part - 2


Setelah ganti bahasa si NT 4.0, pgn jajal install linux di ALPHA. Menurut referensi dari www.alphalinux.org, ada beberapa distro linux yang bisa diinstal di architecture ALPHA. Diantarana itu ada Debian, CentOS, slackware n dll... Cari2 referensi lain dari oms google, katana kalo linux/unix di ALPHA hanya dukung SRM Console :(, akhirna harus diupgrade firmware si ALPHA jadi SRM Console... dapet dari http://ftp.digital.com/pub/Digital/Alpha/firmware/, aq pilih PC164 SRM Console. Donlod versi terbaruna, ekstrak ke floppy, trus dari menu ARC tinggal pilih upgrade firmware ato jalanin fwupdate.exe dari disketna :) :). Flashing...flashing si firmware, jadi deh SRM Console terinstall!!!

Humm.. bentukna si SRM Console mang bener2 "Console", alias perlu command2 buat jalanin fungsina... kebetulan ada manual-reference bagus dari situs red-hat, http://www.redhat.com/docs/manuals/linux/RHL-7-Manual/alpha-install-guide/s1-alpha-srm.html, hehehhehe bisa boot ke IDE ato SCSI, trus ngeliat Device yang terkoneksi n dll....

Untuk distro, aq pertama pilih si CentOS. Pertama kali booting dari CD dah ada msalah... akhirna coba si FreeBSD.... booting, installing, gk da masalah... eh ada masalah pas detek devicena :(... ya udah akhirna beralih ke Debian Etch :)....

Booting dari CD, partisi Disk, dll sampe jalanin si "pingu" Debian gak masalah! horeeeeeee!!!! Tapi gk kuatna donlod file ISOna itu, banyak betul :( ...

Sampe sekarang aq pake si Debian di box ALPHA, setting jadi bridge + install squid jadiin transparent proxy :) lancarrrrrrrrrrrr :) :)

Senin, 09 Juli 2007

Bikin PC lawas jadi PC Router.. My version! Part - 2


Berkat bantuan Mr. Edwin from webhq_nl@motherboards.mbarron.net, baru tau kalo mobo si cilik itu HOT-555 rev. 1.4. Dah lengkap dikirimin manual mobona ma dia, mulai ngutak-atik jumper buat naikin multiplier, system clock n voltage. Upsss... Pentium MMX itu perlu dual voltage, 2.8 v dan 3.3 v, jgn lupa ma settingan ini :). System clock diubah ke 66 MHz (sesuai manual), multiplier set ke 1:3.... Taraaaaaa akhirna processor dengan mulus berjalan di kisaran 166 MHz, kenapa cuman 166 MHz? ternyata dari chipset i430 VX mang ada beberapa yg cuman sanggup jalanin Pentium MMX secara maksimal di clock tersebut :( ya gpp lah, yg penting si cilik "agak" powerfull...

Karena nih PC pgn dijadiin PCRouter, maka NIC perlu lebih dari 1 (sukur2 bisa dipasang 3 :P). Aq pakein 3 NIC, macem2 deh merekna.. Maklum beli seken di deket kampus @ 12500 :)... Aq bikin kayak gini skemana :

Modem 192.168.1.1 ---- NIC 1 (Internet) 192.168.1.2
|--- NIC 2 (Lan) 192.168.0.1 ---- Switch LAN
|--- NIC 3 (Wireless_LAN) 10.0.0.1

Hardware dah selese, sekarang urusan OS... OS yg mo dipake tentuna OS Router, kayak Mikrotik (mikriting aq nyebutna :P), atau IPCop, n dll... Untuk IPCop lom pernah coba berhubung masi gagal installansi di mesin ALPHA :)...

Mikrotik yg aq pake versi 2.9.27, hehehe untuk eksperimen masih pake yang "gratisan" :P... Instalansi gak da kendala, tinggal pilih2 paket yang ingin diinstall (linux bgt!) trus save, reboot... :D :D

Dari mikrotik dah disediain tools management GUI, kayak winbox bahkan bisa diakses lewat web :D...

Kalo dah bisa login ke shellna si mikriting (default user : admin, pass : [blank]), bisa setting ip address buat masing2 NIC :

[admin@MiKriting] > /ip address add address=xxx.xxx.xxx.xxx/subnet interface=[NIC_NAME]

NIC_NAME adalah nama NIC, kalo binun bisa pake perintah /interface print, kira2 gini outputna di shellna si mikriting :

[admin@MiKriting] > /interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 wireless_lan ether 0 0 1500
1 R Internet ether 0 0 1500
2 R bridge1 bridge 0 0 1500
3 R lan ether 0 0 1500

Kalo binun nentuin NIC mana sih yang ke 1, 2, 3, dst.. bisa pake perintah :

[admin@MiKriting] > /interface ethernet blink [NIC_NAME}

Nanti liat di panel belakang, NIC mana yg lampu LEDna kedip2 :)

Kalo dah di add ip addressna, bisa liat konfigurasina dah bener pa lom dengan :

[admin@MiKriting] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 ;;; AP
10.0.0.1/24 10.0.0.0 10.0.0.255 wireless_lan
1 ;;; Internet
192.168.1.2/24 192.168.1.0 192.168.1.255 Internet
2 ;;; LAN
192.168.0.1/24 192.168.0.0 192.168.0.255 lan

Sekarang tinggal bikin NAT, Queue (kalo pake BW management :)), dll... tapi bersambung dulu... ngantuk >.<