Mengenai Saya

Foto saya
nama gw tari.. it's me and this is my blog thankss...

Jumat, 22 Oktober 2010

Monitoring Serangan Hacker Ke Jaringan Dengan Snort

'SNORT' merupakan salah satu software untuk mendeteksi intrusi pada system, mampu menganalisa 'real-time traffic' dan logging ip, mampu menganalisa port dan mendeteksi segala macam 'serangan' dari luar seperti buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting. secara default nya snort mempunyai 3 hal yang terpenting yaitu :

(1) paket sniffer, seperti tcpdump, iptraf dll 
(2) paket logger, yang berguna untuk paket traffic dll
(3) NIDS, deteksi intrusi pada network.

1.1 Pengenalan
Snort bukanlah software yang sulit, tapi perlu banyak latihan karena banyaknya 'command-command' yang harus digunakan, tujuan dari pembuatan artikel ini untuk membuat user lebih mudah untuk mengenali 'snort'.
 
1.2 Instalasi
download paket yang terbaru dari snort.org, saya disini menggunakan snort 2.0.0
# wget -c http://www.snort.org/dl/snort-2.0.0.tar.gz

jangan lupa juga mendownload rules terbaru
# wget -c http://www.snort.org/dl/rules/snortrules-stable.tar.gz
extract dan install paket snort
 
# tar -zxvf snort-2.0.0.tar.gz ; cd snort-x.x.x ; ./configure ; make ; make install

untuk lebih lengkap nya silahkan baca ./configure --help  secara default snort akan terinstall di /usr/local/bin/snort

1.3 Paket Sniffer

fyuh, mari coba pelajaran dasar dulu ;) jika anda ingin menampilkan TCP/IP header ke layar ( mis. sniffer mode ), coba perintah ini:
 
# snort -v
command di atas akan menjalan snort dan hanya akan menampilkan IP dan TCP/UDP/ICMP header, tapi jika anda mau melihat transit data coba dengan command ini
# snort -vd

instruksi tersebut akan menampilkan transit data, tapi jika anda mau lebih spesifik coba dengan

 
# snort -vde   

1.3 Paket logger
ok, command-command di atas mungkin hanya sebagai pengenalan, pada instruksi diatas ada kasus dimana kita tidak mungkin melihat ke layar setiap menit nya ;) oleh karena itu dibutuhkan log, sebelum nya buat direktori 'log' di direktori kerja anda sekarang

# mkdir -p log
# snort -dve -l ./log


Jika instruksi diatas dijalankan, tetapi anda belum membuad direktory log, maka snort akan segera berhenti dengan keterangan 'ERROR: log directory './log' does not exist', jika berhasil, snort akan menyimpan setiap paket ke dalam direktori-direktory IP address, jika sistem anda memiliki beberapa network tetapi anda hanya ingin memonitor network tertentu saja.

 
# snort -dev -l ./log -h 192.168.1.0/24

Rules ini akan menyimpan setiap data link dan TCP/IP header ke dalam direktory 'log' dan menyimpan setiap paket dari 192.168.1.0 kelas C network.

 
1.4 Mendeteksi 'Pengacau' Jaringan
Sebelum ini di bahas, sebaik nya anda membaca manual dari snort.org, http://www.snort.org/docs/writing_rules/chap2.html , disini diminta untuk membuat rules sendiri atau anda bisa memakai rules yang di sedikan oleh snort.org sendiri.

 
# tar -zxvf snortrules-stable.tar.gz

tapi, saya coba membuat rules sendiri, karena saya kurang suka dengan paket dari orang lain, setelah di gunain tapi tidak tahu gunanya buat apa ;) contoh rules sederhana

 
# cd rules; touch avudz.conf
# vi avudz.conf
alert tcp any any -> ipsaya/29 21 (content: "root"; \
      msg: "FTP root login";)
alert tcp any any -> ipprivate/24 22 (msg:"sshd access";)
alert tcp any any -> ipsaya/29 21 (content: "anonymous"; \
      msg: "Ada yg Coba FTP server!";)
alert tcp any any -> ipsaya/29 22 (msg:"ada yang login";)
# http://www.linuxsecurity.com/feature_stories/feature_story-144.html

Content digunakan untuk mendefinisikan inputan dari $user, sedangkan msg untuk membuat pernyataan tentang $user yang menggunakan 'content' tersebut.
sebelum rules baru ini di jalankan, pastikan anda membuat direktory logging di /var/log/snort
 
# mkdir -p /var/log/snort

 
tetapi jika anda merasa partisi /var anda sudah minim, silahkan buat symbolic link untuk logging, misal

 
# ln -s /home/avudz/snort/log /var/log/snort


ok, selesai sudah ;) sekarang coba kita jalankan software nya.

 
# snort -d -c rules/avudz.conf
Running in IDS mode
Log directory = /var/log/snort
Initializing Network Interface eth0


setelah itu silahkan anda coba ftp / ssh ke server anda dari network yang berbeda ( diconfig saya menggunakan ip public), dan pantau traffic nya.

 
# tail -f /var/log/snort/alert


contoh :

 
[**] [1:0:0] ada yang login [**]
[Priority: 0]
06/12-05:47:23.911639 202.xxx.xxx.xx:3962 -> 202.xxx.xxx.xxx:22
TCP TTL:64 TOS:0x10 ID:57036 IpLen:20 DgmLen:52 DF
***A**** Seq: 0xAC015F2A  Ack: 0xAD5438B5  Win: 0x3EBC  TcpLen: 32
TCP Options (3) => NOP NOP TS: 16723031 55655688
[**] [1:0:0] Ada yg Coba FTP server! [**]
[Priority: 0]
06/12-05:48:24.419800 202.xxx.xxx.xx:3971 -> 202.xxx.xxx.xxx:21
TCP TTL:64 TOS:0x10 ID:57642 IpLen:20 DgmLen:68 DF
***AP*** Seq: 0xAE133FB1  Ack: 0xAFCB3637  Win: 0x3EBC  TcpLen: 32
TCP Options (3) => NOP NOP TS: 16729081 55661127


Ah.. selesai sudah, tinggal tambahin beberapa rules yang dibutuhkan untuk memantau aktivitas 'machine' anda ;) misalnya iseng mo monitor irc server, tinggal tambahin di avudz.conf

 
# vi rules/avudz.conf
alert tcp ipsaya any -> any 6666:7000 (msg:"CHAT IRC "; flow:to_server,established; content: "NICK "; offset:0; classtype:misc-activity; sid:542;  rev:8;)
alert tcp ipsaya any -> any 6666:7000 (msg:"permintaan DCC Chat "; flow:to_server,established; content:"PRIVMSG "; nocase; offset:0; content:" \:.DCC SEND"; nocase; classtype:misc-activity; sid:1639;  rev:3;)
# === done === #

Semua config dan rules nya bisa anda pelajari dari file snortrules-stable.tar.gz yang sudah di extract, seperti msyql rules, backdoor rules, ICMP rules, bad traffic rules dll. yang penting adalah mencoba, jangan pernah menyerah! MERDEKA!! =)



Tidak ada komentar:

Posting Komentar