USB Worm attack bagian I

Beberapa waktu yang lalu, ketika disibukkan oleh sisa-sisa kegiatan kampus, saya menemui beberapa kasus virus yang menyebar lewat media flashdisk/usb pendrive/flash drive/whatever. Karena sifat infiltrasinya yang menyebar secara masif lewat media flashdisk, saya boleh menamakannya USB worm. Dilihat dari cara kerjanya, ini jelas virus yang secara umum telah beredar di Indonesia. Biasanya virus ini cara kerjanya hampir mirip-mirip seperti:

  • Menyamarkan file Executeable virus menjadi Word Document.
  • Melakukan perubahan attribute file menjadi RHS (Read-only, Hidden, System) sehingga tidak terlihat.
  • Mematikan Folder Options
  • Mematikan Task Manager
  • Mematikan Regedit

Maka, ketika ada virus yang masuk ke USB beberapa teman-teman, saya mencoba untuk menganalisa cara kerja virus tersebut dan menemukan sesuatu yang lebih unik dibandingkan virus-virus yang lain. Apa yang unik itu? Ternyata pembuat virus kali ini menggabungkan sebuah bot agent pada virus yang dia buat. Lalu ditambah dengan metode untuk menyembunyikan bot agent ini.

Dilihat dari reaksi antivirus, hanya beberapa antivirus yang merespon keberadaan virus ini (dengan tidak bermaksud membanding-bandingkan kehebatan antivirus) salah duanya yaitu Avast Antivirus dan Avira Antivir. Technical detail untuk membersihkan virus ini akan saya lanjutkan pada versi ke-2.

Audit website dengan w3af

Overview

w3af (Web Application Attack and Audit Framework) hampir mirip dengan metasploit, bedanya hanya pada objek yang dikerjakan. w3af fokus pada bagian aplikasi web, sedangkan metasploit lebih ke sistem operasi secara keseluruhan. w3af gratis dan opensource, terdiri dari beberapa bagian plugin untuk serangan yaitu mangle, grep, discovery, audit, evasion, dan bruteforce.

Persiapan

Untuk persiapan menggunakan w3af, banyak program berbasis python yang harus diinstal seperti python-soappy, python-pyopenssl, dll. Saya sendiri menginstallnya di Linux Mint 5.0 yang berbasis Ubuntu, sehingga sedikit tidak merepotkan (karena keluarga Debian yang memudahkan semua perkara instalasi dan dependensi paket). Panduan instalasi terdapat pada situs w3af yang berbasis sourceforge.

Ketika semuanya sudah terinstall, bisa segera dimulai:

$ ./w3af
w3af>>>

Gunakan perintah ‘help’ untuk melihat bantuan (wajib):

w3af>>> help
The following commands are available:
help You are here. help [command] prints more specific help.
http-settings Configure the URL opener.
misc-settings Configure w3af misc settings.
plugins Enable, disable and configure plugins.
profiles List and start scan profiles.
start Start site analysis.
exploit Exploit a vulnerability.
tools Enter the tools section.
target Set the target URL.
version Show the w3af version.
exit Exit w3af.
w3af>>>

w3af berbeda dengan console pada metasploit, saya sendiri pada awalnya bingung namun dengan sedikit pemahaman, akhirnya dapat dimengerti bahwa penggunaan console pada w3af adalah dengan mengetikan setiap list yang muncul pada menu help, untuk kembali ke menu awal tinggal mengetikkan ‘back’. Kita akan mencobanya langsung pada salah satu target.

Konfigurasi

w3af>>> target
w3af/target>>> help
The following commands are available:
help You are here. help [command|parameter] prints more specific help.
set Set a parameter value.
view List all configuration parameters and current values.
back Return to previous menu.
w3af/target>>> set target http://demo.testfire.net
w3af/target>>> view

Target sudah kita set, sekarang plugin untuk auditingnya:

w3af/target>>> back
w3af>>> plugins
w3af/plugins>>> help
The following commands are available:
help You are here. help [command] prints more specific help.
list List all available plugins.
bruteforce Enable and configure bruteforce plugins.
discovery Enable and configure discovery plugins.
output Enable and configure output plugins.
mangle Enable and configure mangle plugins.
audit Enable and configure audit plugins.
evasion Enable and configure evasion plugins.
grep Enable and configure grep plugins.
back Return to previous menu.
w3af/plugins>>>

w3af membutuhkan sedikitnya tiga buah plugin untuk di load, yaitu discovery, audit, dan output. Untuk melihat isi dari masing-masing plugin , jalankan ‘list’ diikuti pluginnya, misal ‘list audit’ maka akan menghasilkan semua isi dari plugin audit seperti xss, xsrf, sql injection, ldap injection, dll. Mengetikan nama plugin (misalkan audit) akan menghasilkan opsi mana yang telah kita set. Contohnya:

w3af/plugins>>> audit xss,sqli,xpath,remoteFileInclude,blindSqli
w3af/plugins>>>

atau bisa juga dengan..

w3af/plugins>>> audit all

Saya akan melakukan test SQL Injection pada sebuah webserver, website linkage dan crawling, memberi laporan secara realtime serta dalam laporan berbentuk html. Berikut langkah-langkahnya.

w3af/plugins>>> audit sqli
w3af/plugins>>> audit
Enabled audit plugins:
sqli
w3af/plugins>>> discovery webSpider,pykto,hmap
w3af/plugins>>> discovery
Enabled discovery plugins:
webSpider
hmap
pykto
w3af/plugins>>> output console,htmlFile
w3af/plugins>>> output
Enabled output plugins:
htmlFile
console
w3af/plugins>>> output config htmlFile
w3af/plugin/htmlFile>>> view
Parameter Value Description
========= ===== ===========
httpFileName output-http.txt File name where this plugin will write HTTP requests and responses
reportDebug False True if debug information will be appended to the report.
fileName report.html File name where this plugin will write to
w3af/plugin/htmlFile>>>

Saya telah melakukan konfigurasi yang sederhana untuk testing ke webserver menggunakan webSpider untuk crawling direktori dan link, lalu pykto untuk audit web (pykto adalah versi python dari nikto), dan hmap untuk host fingerprinting. Hasilnya ditulis pada file output-http.txt dan report.html.

w3af/plugin/htmlFile>>> back
w3af/plugins>>> back
w3af>>>start

silakan menunggu sampai proses auditing selesai.

w3af>>> start
Auto-enabling plugin: discovery.allowedMethods
Auto-enabling plugin: discovery.serverHeader
The Server header for this HTTP server is: squid/2.6.STABLE5
Server uses 503 instead of HTTP 404 error code.
pykto plugin is using “squid/2.6.STABLE5″ as the remote server type. This information was obtained by serverHeader plugin.
Error when requesting: http://demo.testfire.net/
Error: Too many retries when trying to get: http://demo.testfire.net/

http://demo.testfire.net/

pykto plugin found a vulnerability at URL: http://demo.testfire.net/modules.php . Vulnerability description: PHP Nuke module allows user names and passwords to be viewed. See http://www.frog-man.org/tutos/PHP-Nuke6.0-Members_List-Your_Account.txt for other SQL exploits in this module. The vulnerability was found in the request with id 2330.
pykto plugin found a vulnerability at URL: http://demo.testfire.net/bank/ . Vulnerability description: This might be interesting… The vulnerability was found in the request with id 3315.
Hmap web server fingerprint is starting, this may take a while.
hmap: Connection failed to demo.testfire.net:80
New URL found by pykto plugin: http://demo.testfire.net/modules.php
New URL found by pykto plugin: http://demo.testfire.net/bank/

selamat mencoba ^^

Port Forwarding: For Torrent

Ide menulis artikel ini muncul pas saya barusan install uTorrent, tapi tanda DHT-nya koq tanda seru,huehehhee.. Artinya, koneksi DHT di blok oleh firewall, lalu bagaimana biar koneksi torrent bisa berfungsi dengan baik, tanpa terhambat. Tentunya kita harus meneruskan semua paket yang dibutuhkan client ke server torrent, begitu pula sebaliknya. Karena saya yang megang server gateway, iseng-iseng lalu mencoba ngoprek firewall di server gateway, karena emang semua paket lewat situ. 
Oiya, berikut spesifikasi jaringannya:

iface_net = ppp0 (yang ke internet)
iface_lan = eth0 (yang ke LAN)

Logika saya, ketika terjadi koneksi dan ada paket dari luar (uTorrent.com), maka paket tersebut harus diteruskan ke IP client, dalam hal ini IP saya 192.168.10.5. Yang perlu diperhatikan adalah, kita menentukan apa saja yang akan terjadi ketika proses berjalan / koneksi terjadi.

1. Program uTorrent dari client akan melakukan koneksi ke uTorrent.com dan melewati server gateway.
2. Ketika koneksi terjadi, dari uTorrent.com akan mengirimkan paket reply ke server gateway.
3. Server gateway akan meneruskan paket tersebut kembali ke client.

Ok, sudah ada gambaran dari proses yang terjadi, sekarang tinggal bikin rulenya di iptables 🙂
(uTorrent saya secara default menggunakan port 22238 sebagai listening portnya)

[root@localhost ~]# /sbin/iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 22238 -j DNAT --to 192.168.10.5
[root@localhost ~]# /sbin/iptables -A FORWARD -i ppp0 -o eth0 -p tcp -d 192.168.10.5 --dport 22238 -j ACCEPT

Perhatikan rule pertama,

/sbin/iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 22238 -j DNAT --to 192.168.10.5

Yang berbunyi kira-kira begini: “Tambahkan satu aturan baru di kolom PREROUTING (-A PREROUTING) pada tabel nat (-t nat), paket tersebut masuk dari interface ppp0 (-i ppp0) berupa protokol tcp (-p tcp) dan menuju port 22238 (–dport 22238) jika ada paket seperti ini, teruskan paket tersebut ke IP 192.168.10.5 (-j DNAT –to 192.168.1.5).

Sehingga paket dari luar yang masuk lewat ppp0 akan diteruskan secara langsung menggunakan NAT ke IP 192.168.10.5

Lalu, rule berikutnya,

/sbin/iptables -A FORWARD -i ppp0 -o eth0 -p tcp -d 192.168.10.5 --dport 22238 -j ACCEPT

Yang berbunyi kira-kira seperti ini: “Tambahkan satu aturan baru di table FORWARD, paket tersebut berasal dari ppp0 (-i ppp0) dan akan keluar dari eth0 (-o eth0) berupa protokol tcp (-p tcp) menuju ke 192.168.10.5 port 22238 (–dport 22238), jika ada paket seperti ini terima saja (ACCEPT)

Rule ini akan meneruskan semua paket yang lewat pada port 22238 dari mau pun keluar. Jadi server gateway bertugas meneruskan port yang diminta client.

Kalau sudah diset seperti ini, silakan cek port forwarding Anda, apakah bekerja dengan baik pada uTorrent di uTorrent Port Checker
Sekian, semoga membantu para torrent mania yg kesulitan masalah forwarding port.

Snort | BASE | ADODB | Intrusion Detection System

Beberapa bulan yang lalu, saya sempat install Denyhosts, sebuah program di sistem Linux yang melakukan penolakan terhadap host-host yang dianggap melakukan intrusi ke sebuah sistem. Denyhosts khusus memonitor service SSH, dan mencatatnya dalam sebuah file hosts.deny apabila diketahui ada host dari luar yang gagal melakukan login pada service SSH.

Setelah berjalan sampai sekarang, sudah ada sekitar 10-15 host yang masuk dalam daftar host yang di tolak (hosts.deny). Saya berpikir, bahwa memang banyak intrusi dari luar ke dalam sistem, namun apakah hanya ke service SSH? Teringat akan IDS (Intrusion Detection System) yang sangat terkenal Snort, saya iseng-iseng menginstallnya beberapa hari yang lalu, dan baru sempat saya dokumentasikan sekarang 🙂

Snort yang akan saya install yang sudah terintegrasi secara web based karena saya juga mengikutsertakan program BASE (Basic Analysis and Security Engine) dan ADOdb sebagai tambahan. Dengan adanya BASE, maka akan ada tambahan dalam mengkonfigurasi web server.

Menaklukkan USB to LAN DM9601 di Linux

Beberapa waktu yang lalu sungguh menyedihkan keadaan kartu ethernet di laptop saya, tidak bisa lagi digunakan entah kenapa. Untuk mengatasinya saya membeli USB to LAN, karena kalau dibawa ke service center bisa-bisa laptopnya opname. Di dalam USB to LAN (setelah ini akan saya singkat menjadi usb2lan) yang saya beli ini berisi CD Driver untuk sistem operasi Windows, dan ketika dicoba, semuanya berjalan lancar tapi Windows tidak langsung mengenali usb2lan ini dan tetap harus install driver bawaannya. Setelah install baru dapat digunakan dengan baik.

Masalah muncul ketika saya hendak menggunakannya dengan sistem operasi linux. Kebetulan saya menggunakan Kubuntu Linux 7.04, dan memang setelah usb2lan tersebut ditancapkan tidak terjadi apa-apa, yang ada hanyalah sepotong log dari /var/log/messages sebagai berikut:

Jul 11 10:46:20 m1abrams kernel: [ 282.620000] usb 4-3: new high speed USB device using ehci_hcd and address 5
Jul 11 10:46:20 m1abrams kernel: [ 282.752000] usb 4-3: configuration #1 chosen from 1 choice
Jul 11 10:46:21 m1abrams kernel: [ 282.948000] usbcore: registered new interface driver libusual
Jul 11 10:46:21 m1abrams kernel: [ 282.952000] Initializing USB Mass Storage driver...
Jul 11 10:46:21 m1abrams kernel: [ 282.952000] scsi2 : SCSI emulation for USB Mass Storage devices
Jul 11 10:46:21 m1abrams kernel: [ 282.952000] usbcore: registered new interface driver usb-storage
Jul 11 10:46:21 m1abrams kernel: [ 282.952000] USB Mass Storage support registered.
Jul 11 10:46:26 m1abrams kernel: [ 287.952000] scsi 2:0:0:0: Direct-Access Generic Secure ID Stick 0.00 PQ: 0 ANSI: 2
Jul 11 10:46:26 m1abrams kernel: [ 287.952000] SCSI device sdb: 2013183 512-byte hdwr sectors (1031 MB)
Jul 11 10:46:26 m1abrams kernel: [ 287.956000] sdb: Write Protect is off
Jul 11 10:46:26 m1abrams kernel: [ 287.956000] SCSI device sdb: 2013183 512-byte hdwr sectors (1031 MB)
Jul 11 10:46:26 m1abrams kernel: [ 287.956000] sdb: Write Protect is off
Jul 11 10:46:26 m1abrams kernel: [ 287.956000] sdb: sdb1
Jul 11 10:46:26 m1abrams kernel: [ 288.064000] sd 2:0:0:0: Attached scsi removable disk sdb
Jul 11 10:46:26 m1abrams kernel: [ 288.064000] sd 2:0:0:0: Attached scsi generic sg2 type 0

Saya melakukan lsusb untuk melihat manufaktur milik usb2lan ini.

tom@m1abrams:/home/tom$ sudo lsusb
Bus 004 Device 005: ID 196d:0112
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 08ff:2500 AuthenTec, Inc.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 062a:0000 Creative Labs Optical Mouse
Bus 001 Device 003: ID 0a46:9601 Davicom Semiconductor, Inc.
Bus 001 Device 001: ID 0000:0000
tom@m1abrams:/home/tom$

Hmm, manufakturnya Davicom Semiconductor, Inc. Hasil googling menunjuk ke situs www.davicom.com.tw. Lalu, bagaimana memaksa usb2lan ini berjalan di Kubuntu atau distro linux yang lain? Setelah googling sana-sini akhirnya ketemu driver milik Davicom ini yang telah dimodifikasi oleh seseorang dengan nama Jon Dowland dan dapat di download di situsnya www.alcopop.org.

Yang diperlukan untuk menginstall driver dari usb2lan ini adalah sebagai berikut.

Kernel source (unduh dari kambing.vlsm.org)
Untuk *buntu bisa dengan cara apt-get lalu install linux-headers (generic), linux-image(generic), linux-restricted-modules-generic, dan linux-source.
Driver dm9601 bisa diunduh disini (mirror telah saya buat disini)
Selanjutnya, saya menganggap Anda sudah mempunyai kernel source dari kernel yang Anda pakai sekarang, jadi langkah selanjutnya adalah meng-ekstrak file dm9601.gz yang sudah diunduh.

tom@m1abrams:/usr/src/$ sudo tar xzvf DM9601.GZ
tom@m1abrams:/usr/src/2.6.18$ cd 2.6.18
tom@m1abrams:/usr/src/2.6.18$ sudo make
make -C /lib/modules/2.6.20-16-generic/build M=/usr/src/2.6.18 LDDINCDIR=/usr/src/2.6.18/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-generic'
CC [M] /usr/src/2.6.18/dm9601.o
/usr/src/2.6.18/dm9601.c:52:26: error: linux/config.h: No such file or directory
In file included from /usr/src/2.6.18/dm9601.c:62:
/usr/src/2.6.18/dm9601.h:100:1: warning: "ALIGN" redefined
In file included from include/asm/system.h:4,
from include/asm/processor.h:18,
from include/asm/thread_info.h:16,
from include/linux/thread_info.h:21,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from include/linux/capability.h:45,
from include/linux/sched.h:46,
from /usr/src/2.6.18/dm9601.c:53:
include/linux/kernel.h:35:1: warning: this is the location of the previous definition
/usr/src/2.6.18/dm9601.c: In function ‘__check_reg5’:
/usr/src/2.6.18/dm9601.c:122: warning: return from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘__check_reg8’:
/usr/src/2.6.18/dm9601.c:123: warning: return from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘__check_reg9’:
/usr/src/2.6.18/dm9601.c:124: warning: return from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘__check_rega’:
/usr/src/2.6.18/dm9601.c:125: warning: return from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘__check_nfloor’:
/usr/src/2.6.18/dm9601.c:126: warning: return from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘get_registers’:
/usr/src/2.6.18/dm9601.c:189: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘set_registers’:
/usr/src/2.6.18/dm9601.c:227: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘set_register’:
/usr/src/2.6.18/dm9601.c:266: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘update_eth_regs_async’:
/usr/src/2.6.18/dm9601.c:300: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c:314: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c:328: warning: passing argument 7 of ‘usb_fill_control_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘read_bulk_callback’:
/usr/src/2.6.18/dm9601.c:483: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘dm9601_start_xmit’:
/usr/src/2.6.18/dm9601.c:602: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘dm9601_open’:
/usr/src/2.6.18/dm9601.c:801: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c:810: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/usr/src/2.6.18/dm9601.c: In function ‘dm9601_disconnect’:
/usr/src/2.6.18/dm9601.c:1014: warning: ISO C90 forbids mixed declarations and code
make[2]: *** [/usr/src/2.6.18/dm9601.o] Error 1
make[1]: *** [_module_/usr/src/2.6.18] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-16-generic'
make: *** [default] Error 2
tom@m1abrams:/usr/src/2.6.18$

Dari yang tahap yang saya lakukan, muncul peringatan error yang mengatakan bahwa file linux/config.h tidak ditemukan, sehingga proses kompilasi menjadi gagal. Mengapa? Karena sekarang header config.h sudah tidak digunakan lagi. Iseng-iseng saya mencoba mengambil file config.h milik Slackware lalu menyalinnya ke direktori include di /usr/include/linux/include/linux lalu melakukan kompilasi lagi dengan perintah make.

tom@m1abrams:/usr/src/2.6.18$ sudo make
make -C /lib/modules/2.6.20-16-generic/build M=/usr/src/2.6.18 LDDINCDIR=/usr/src/2.6.18/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-16-generic'
tom@m1abrams:/usr/src/2.6.18$

Berhasil ! Setelah itu, masukkan modul yang baru dikompile tadi.

tom@m1abrams:/usr/src/2.6.18$ ls
dm9601.c dm9601.ko dm9601.mod.o Makefile readme.txt
dm9601.h dm9601.mod.c dm9601.o Module.symvers readme.txt.bak
tom@m1abrams:/usr/src/2.6.18$ sudo insmod dm9601.ko
tom@m1abrams:/usr/src/2.6.18$

Sampai tahap ini driver usb2lan milik Davicom ini sudah terinstall dengan baik. Kita bisa langsung melakukan setting network dengan ethernet baru ini. Namun masih ada kekurangan karena setiap kita restart komputer, driver ini tidak otomatis diload oleh kernel. Bagaimana caranya agar setiap kita nyalakan komputer, driver modul ini diload kernel?

Lakukan langkah-langkah sebagai berikut.
masih di direktori /usr/src/2.6.18 tempat driver modul berada

tom@m1abrams:/usr/src/2.6.18$ sudo cp dm9601.ko \
/lib/modules/`uname \
-r`/kernel/drivers/net/
tom@m1abrams:/usr/src/2.6.18$ 

Lalu masukkan baris skrip dibawah ini ke /etc/rc.local agar dijalankan ketika sistem berjalan.

tom@m1abrams:/usr/src/2.6.18$ pico /etc/rc.local

*PENTING !! letakkan baris dibawah ini sebelum baris exit 0 (exit nol)

/sbin/insmod /lib/modules/`uname -r`/kernel/drivers/net/dm9601.ko

tom@m1abrams:/usr/src/2.6.18$ 

Kalau sudah, silakan melakukan reboot untuk mencobanya. Selamat mencoba !

Babi tukang update Snort

Saya sudah pernah menulis tentang bagaimana membangun Snort sebagai Intrusion Detection System, pada waktu yang mepet-mepet begini, karena udah suntuk dan tidak punya kegiatan lain (ngerjain skripsi lagi mentok, huehehehe) akhirnya saya bongkar-bongkar (baca: oprek-oprek) lagi IDS di server. Sekalian ngeliat log alertnya.

Sekarang tanggal 25 September 2007, VRT signature rules dari Snort terbit hari ini pukul 7:38 AM (GMT +0700) belom saya download dan install di server. Untuk itu, saya punya alasan bahwa kegiatan ini menjadi lebih berarti karena memang dalihnya adalah melakukan update signature rules dari IDS, heuheehe (pinter aja berkilah, kaya kancil, weks :p).

Daripada capek-capek nungguin VRT signature rules dari Snort, download, install, kenapa ga dibikin otomatis aja ya?! Hehehe, bener…khan ada Oinkmaster, duh bener-bener ga kepikiran. Akhirnya saya larikan browser ke situs oinkmaster di http://oinkmaster.sf.net trus download versi terakhir yaitu Oinkmaster-2.0 (2006-02-18).
Setelah di download, saya lakukan hal-hal sebagai berikut:

root@gw:/usr/src# tar xzf oinkmaster-2.0.tar.gz
root@gw:/usr/src# cd oinkmaster-2.0
root@gw:/usr/src/oinkmaster-2.0# ls -al
total 272
drwxr–r– 3 root root 4096 2006-02-18 19:35 .
drwxr-xr-x 19 root root 4096 2007-09-26 17:22 ..
-rw-r–r– 1 root root 21825 2006-02-18 19:35 ChangeLog
-rw-r–r– 1 root root 43339 2006-02-18 19:35 FAQ
-rw-r–r– 1 root root 2503 2006-02-18 19:35 INSTALL
-rw-r–r– 1 root root 1584 2006-02-18 19:35 LICENSE
-rw-r–r– 1 root root 16837 2006-02-18 19:35 README
-rw-r–r– 1 root root 3489 2006-02-18 19:35 README.gui
-rw-r–r– 1 root root 4827 2006-02-18 19:35 README.templates
-rw-r–r– 1 root root 4823 2006-02-18 19:35 README.win32
-rw-r–r– 1 root root 2105 2006-02-18 19:35 UPGRADING
drwxr–r– 2 root root 4096 2006-02-18 19:35 contrib
-rw-r–r– 1 root root 10655 2006-02-18 19:35 oinkmaster.1
-rw-r–r– 1 root root 20543 2006-02-18 19:35 oinkmaster.conf
-rwxr–r– 1 root root 93116 2006-02-18 19:35 oinkmaster.pl
-rw-r–r– 1 root root 5747 2006-02-18 19:35 template-examples.conf
root@gw:/usr/src/oinkmaster-2.0#

Yang perlu dilakukan berikutnya adalah mengkopi file oinkmaster.conf ke direktori /etc atau di direktori milik snort di /etc/snort. Saya mengkopinya ke direktori /etc/snort/.

Selanjutnya kopi file oinkmaster.1 ke /usr/man/man1/. Kopi juga file oinkmaster.pl di /usr/local/bin atau di direktori ekseskusi yang bisa dilihat dengan cara mengetikkan:

root@gw:/usr/src# export $PATH
bash: export: `/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin:/root/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin’: not a valid identifier
root@gw:/usr/src#

Edit file oinkmaster.conf di /etc/snort/ dan masukan Oink Code yang sudah kita dapatkan dari situs http://www.snort.org (untuk mendapatkan Oink Code, harus melakukan registrasi di situs Snort)

Lakukan juga autodisable rules untuk rules yang saat ini kita jalankan dengan menggunakan script makesidex.pl pada direktori contrib di dalam direktori oinkmaster-2.0 yang sudah diekstrak tadi.

root@gw:/usr/src/# cd oinkmaster-2.0/contrib
root@gw:/usr/src/oinkmaster-2.0/contrib# perl makesidex.pl /etc/snort/rules > /etc/autodisable.conf

Kalo sudah, silakan jalankan :

root@gw:/usr/src# /usr/local/bin/oinkmaster.pl -C /etc/snort/oinkmaster.conf -C /etc/autodisable.conf -o /etc/snort/rules
Loading /etc/snort/oinkmaster.conf
Loading /etc/autodisable.conf
Downloading file from http://www.snort.org/pub-bin/oinkmaster.cgi/*oinkcode*/snortrules-snapshot-CURRENT.tar.gz…

Biarkan prosesnya terus berjalan, setelah selesai maka saya sudah mempunyai VRT signature terbaru dari Snort. 🙂

Melihat Lalu Lintas Koneksi Di Network dengan NTOP

Pernah denger NTOP? Bagi yang belum pernah, NTOP adalah tool untuk melihat traffic di network dan menampilkannya untuk kita dalam bentuk yang luar biasa hebat. NTOP sendiri diklaim sebagai tool network probing open source paling handal, setidaknya menurut saya 🙂 . NTOP melakukan probing hampir sama dengan program top pada linux sehingga admin dapat melihat aktifitas network dengan mudahnya. Hebatnya lagi, tampilannya disajikan secara web based dan enak dilihat 🙂 .

Daripada penasaran, yuk kita liat bagaimana proses instalasinya…

(Instalasi dilakukan di distro Slackware)

######Tahap Pertama######

Download program Ntop disitusnya :

$ pwd
/home/t0m
$ wget http://optusnet.dl.sourceforge.net/sourceforge/ntop/ntop-3.3rc1.tgz

######Tahap Kedua######

Ekstrak file ntop :

(jadi root dulu)

# su
Password:
# tar xzvf ntop-3.3rc1.tgz -C /usr/src/

Dependensi Program NTOP :

Program RRDTool

NTOP membutuhkan program RRDTool untuk menampilkan dalam grafik, jadi kita musti download dulu program RRDTool.

# wget http://ftp.naist.jp/pub/Linux/linuxpackages/Slackware-11.0/Console/RRDtool/rrdtool-1.2.19-i486-2gds.tgz

Setelah itu, lakukan instalasi sebagai berikut:

# installpkg rrdtool-1.2.19-i486-2gds.tgz

Program LIBPCAP

Program LIBPCAP digunakan NTOP untuk mengcapture paket-paket data yang lewat di network.

# wget http://www.tcpdump.org/release/libpcap-0.9.5.tar.gz

Install LIBPCAP :

# tar xzvf libpcap-0.9.5.tar.gz -C /usr/src/
# cd /usr/src/libpcap-0.9.5
# ./configure && make && make install

Beres..tapi untuk mempercantik hasil dari keluaran NTOP, ada satu program optional lagi, namanya graphviz. Saya sih tidak mengharuskan, tapi program ini benar-benar menambah kehebatan si NTOP 🙂

Download graphviz :

# wget http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.12.tar.gz

Lakukan instalasi sebagai berikut :

# tar xzvf graphviz-2.12.tar.gz -C /usr/src/
# cd /usr/src/graphviz-2.12/
# ./configure && make && make install

Kalo ada error, berarti kebutuhan dependensi graphviz belum lengkap, silakan baca-baca kebutuhannya di http://www.graphviz.org/Download_source.php. Cara instalasinya sama dengan diatas.

######Tahap Ketiga#######

Instalasi program NTOP :

# cd /usr/src/ntop-3.3rc1/
# ./autogen.sh
# make
# make install

######Tahap Keempat######

Saya biasa membuat user khusus untuk service yang membutuhkan peran user seperti program NTOP dengan alasan keamanan, apabila terjadi hal-hal diluar dugaan pada program tersebut, user ntop-lah yang terkena akibatnya bukan satu sistem atau user lain.

Membuat user NTOP

# groupadd ntop
# useradd -g ntop -s /sbin/nologin -d /usr/local/var/ntop -c “#########” ntop

Menjalankan program NTOP:

Sebelumnya jalankan NTOP dengan perintah biasa, dan setting password untuk user admin. Setelah itu jalankan program NTOP sebagai service dengan perintah-perintah sebagai berikut :

# /usr/local/bin/ntop -u ntop -i [interface network yg mau dimonitor] -d -w [default port adalah 3000]

Silakan mengecek apakah program NTOP benar-benar berjalan :

# ps ax | grep ntop

2566 ? Ssl 27:00 /usr/local/bin/ntop -u ntop -i eth0 -d -w 3000
16563 pts/2 R+ 0:00 grep ntop
#

Yup, sukses berjalan. Sekarang kita bisa browse untuk melihatnya, silakan pergi ke browser kesayangan Anda dan arahkan ke IP Address tempat menginstall NTOP, misal http://192.168.10.1:3000

Semuanya sangat jelas terlihat mulai dari mana dan kemana saja klien kita berselancar 🙂

Sampai disini, NTOP sudah berjalan dengan lancar, dan agar dapat berjalan lagi ketika komputer di restart (baca: autostart), maka kita perlu meng-edit file rc.local :

# pico /etc/rc.d/rc.local

Masukkan baris berikut :

/usr/local/bin/ntop -u ntop -i eth0 -d -w 3000

Simpan filenya, dan booting komputer kalau tidak percaya 🙂

Selesai sudah tahap-tahap instalasi program NTOP.