Melakukan Passive Sniffing dan Broadcast Traffic (Nmap, p0f dan Miranda)

1 Comment

Shall we continue??

Apa itu Passive Sniffing? dan apa itu Broadcast Traffic?

1. Broadcast Traffic

Adalah lalu lintas data pada jaringan yang terdapat pada alamat broadcast (x.x.x.255), contoh pada ip range 192.168.10.0/24 maka alamat broadcastnya ada  di 192.168.10.255. semua perangkat yang ada di dalam jaringan pasti melakukan komunikasi dengan alamat broadcast.

Dengan menangkap data yang ada di alamat broadcast maka aktifitas kita akan susah untuk diketahui oleh IDS/IPS karena data yang dihasilkan sangat sedikit, hal ini terjadi karena secara pasif kita menangkap data yang lewat dan bukan melakukan scanning secara intrusive.

Cara melakukan Passive Sniffing dan Broadcast Traffic?

A. Nmap

Salah satunya adalah dengan Nmap, perintahnya adalah seperti berikut:

nmap -Pn -n --script=broadcast

Hasilnya dapat dilihat seperti pada gambar dibawah:



Pada gambar dapat dilihat bahwa:
  • ip 192.168.10.192 mendapatkan DHCP dari 192.168.10.1 dimana DNS yang digunakan adalah 8.8.8.8 dan 208.67.222.222.
  • ip 192.168.10.1 memiliki nama "Server: RouterOS/4.10UPnP/1.0 MikroTik UPnP/1.0", berarti gateway yang digunakan kemungkinan mikrotik.
  • ip 192.168.10.207 adalah ip BT5 saya.
Dengan menangkap lalu lintas data pada alamat broadcast diatas, kita dapatkan beberapa hal yang cukup berguna untuk langkah penetrasi selanjutnya. B. Ping Ping? ga salah ketik nih? TTL atau Time To Live yang dapat dilihat untuk menentukan kira-kira OS apa yang digunakan, biasanya OS Windows menggunakan TTL sekitar 128 sedangkan Linux menggunakan TTL dibawah sekitar 64 atau sekitar 254 Ga percaya?? Contoh pada Linux:
$ ping 192.168.1.215
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.029 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.049 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.040 ms
^C
--- localhost ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.029/0.043/0.056/0.009 ms

Contoh pada OS Windows:
$ ping 10.112.12.30 PING 10.112.12.30 (10.112.12.30): 56 data bytes 64 bytes from 10.112.12.30: icmp_seq=0 ttl=128 time=0.622 ms 64 bytes from 10.112.12.30: icmp_seq=1 ttl=128 time=0.786 ms 64 bytes from 10.112.12.30: icmp_seq=2 ttl=128 time=0.704 ms 64 bytes from 10.112.12.30: icmp_seq=3 ttl=128 time=0.510 ms 64 bytes from 10.112.12.30: icmp_seq=4 ttl=128 time=0.913 ms ^C --- 10.112.12.30 ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.510/0.707/0.913/0.138 ms


Perhatikan pada TTL-nya, menarik bukan? 😀

 

2. Passive Sniffing

Metode yang dilakukan hampir sama, karena non intrusive, hanya menangkap data yang lewat saja. So, how we do it exactly? Saya tahu ada beberapa tools yang dapat melakukan ini, seperti wireshark, p0f, miranda, tcpdump dll. Kali ini akan dibahas p0f dan miranda (UPnP). A. p0f Kebetulan baru muncul versi 3.03b, download saja disini. trus di-extract saja (file berupa .tar.gz):
tar xvf p0f-3.03b

Kemudian untuk membuat file executable p0f tinggal jalankan file build.sh di dalam folder hasil extract diatas:
./build.sh

Seharusnya muncul seperti berikut:
[email protected]:~/Programs/p0f-3.03b# ./build.sh
Welcome to the build script for p0f 3.03b!
Copyright (C) 2012 by Michal Zalewski <[email protected]>

[+] Configuring production build.
[*] Checking for a sane build environment... OK
[*] Checking for working GCC... OK
[*] Checking for *modern* GCC... OK
[*] Checking if memory alignment is required... nope
[*] Checking for working libpcap... OK
[*] Checking for working BPF... OK
[+] Okay, you seem to be good to go. Fingers crossed!
[*] Compiling p0f... OK

Well, that's it. Be sure to review README. If you run into any problems, you
can reach the author at <[email protected]>.


Setelah itu akan muncul file executable p0f, jalankan saja file p0f-nya:

./p0f -h

Perintah diatas untuk melihat options yang terdapat pada p0f, dapat dilihat dibawah ini:

[email protected]:~/Programs/p0f-3.03b# ./p0f --h
--- p0f 3.03b by Michal Zalewski <[email protected]> ---

./p0f: invalid option -- '-'
Usage: p0f [ ...options... ] [ 'filter rule' ]

Network interface options:

-i iface  - listen on the specified network interface
-r file   - read offline pcap data from a given file
-p        - put the listening interface in promiscuous mode
-L        - list all available interfaces

Operating mode and output settings:

-f file   - read fingerprint database from 'file' (p0f.fp)
-o file   - write information to the specified log file
-s name   - answer to API queries at a named unix socket
-u user   - switch to the specified unprivileged account and chroot
-d        - fork into background (requires -o or -s)

Performance-related options:

-S limit  - limit number of parallel API connections (20)
-t c,h    - set connection / host cache age limits (30s,120m)
-m c,h    - cap the number of active connections / hosts (1000,10000)

Optional filter expressions (man tcpdump) can be specified in the command
line to prevent p0f from looking at incidental network traffic.

Problems? You can reach the author at <[email protected]>.

Mari kita coba dengan perintah -i eth0 jika network card ada di eth0, lalu -p atau promiscouse mode agar semua trafik dapat ditangkap oleh p0f dan -o untuk menyimpan hasil sniffing, dapat dicoba seperti berikut:

./p0f -i eth0 -p -o p0f-internal

Perintah -f tidak perlu dilakukan karena secara default p0f akan menggunakan file konfigurasi p0f.fp, kecuali kalau kita ingin menggunakan signature database packet data yang lain.

Dari data diatas mari kita coba lakukan analisa:

.-[ 192.168.10.207/49659 -> 76.74.255.117/443 (syn) ]-
|
| client   = 192.168.10.207/49659
| os       = Linux 3.x
| dist     = 0
| params   = none
| raw_sig  = 4:64+0:0:1460:mss*10,6:mss,sok,ts,nop,ws:df,id+:0
|
`----

Arti data diatas kira-kira begini:

  • ip 192.168.10.207 port 49659 sedang melakukan koneksi SYN terhadap ip 76.74.255.117 port 443
  • OS yg digunakan Linux 3.x
  • Jarak dengan sniffer 0 (alias 1 network)
  • raw_sig adalah suatu signature (tanda) yang dihasilkan oleh OS tersebut ketika melakukan komunikasi di dalam jaringan.

Sebenarnya masih banyak yang bisa dilihat dari data yang ditangkap oleh p0f, dapat dilihat disini, tepatnya di no. 2 "What's the Output?"

B. Miranda

Miranda adalah tools yang dibuat dari bahasa pemrograman Python untuk menangkap data protokol UPnP (Universal Plug n Play).

Perangkat apa saja yang menggunakan protokol UPnP??

Karena sifatnya yang plug n play maka perangkat yang menggunakan protokol ini mulai dari komputer, network home appliances (tv internet, nintendo wii dll) dan perangkat wireless lainnya.

Bayangkan saja kita bisa melakukan sniffing di suatu jaringan wifi yang terdapat tv internet yang terhubung dengan wifi tersebut, maka mungkin saja bagi kita untuk melakukan remote seperti mematikan tv, menyetel volume tv dll. Ngeri kan?? hehehe #ketawasetan

Walaupun saya belum pernah melakukannya secara langsung (maklum ga punya tv internet), tetapi ada PoC dari website Pauldotcom yang akan saya coba tulis disini:

Di BT5 Miranda ada di folder /pentest/enumeration/miranda/

Cara menjalankan miranda tinggal:

./miranda.py

Setelah itu kita akan masuk kedalam shell prompt upnp>

Perintah-perintah yang dapat dilakukan di miranda adalah sebagai berikut:

[email protected]:/pentest/enumeration/miranda# ./miranda.py
upnp> ?

Invalid command. Valid commands are:

load            Restore previous host data from file
head            Show/define SSDP headers
help            Show program help
host            View and send host list and host information
msearch         Actively locate UPNP hosts
pcap            Passively listen for UPNP hosts
quit            Exit this shell
log             Logs user-supplied commands to a log file
seti            Show/define application settings
exit            Exit this shell
save            Save current host data to file

Untuk melakukan sniffing di miranda adalah dengan menjalankan perintah msearch seperti berikut:
upnp> msearch
Entering discovery mode for 'upnp:rootdevice', Ctl+C to stop... **************************************************************** SSDP reply message from 192.168.1.213:8060 XML file is located at http://192.168.1.213:8060/ Device is running Roku UPnP/1.0 MiniUPnPd/1.4 **************************************************************** **************************************************************** SSDP reply message from 192.168.1.224:52236 XML file is located at http://192.168.1.224:52236/rcr/RemoteControlReceiver.xml Device is running Linux/9.0 UPnP/1.0 PROTOTYPE/1.0 **************************************************************** **************************************************************** SSDP reply message from 192.168.1.214:52235 XML file is located at http://192.168.1.214:52235/dmr/SamsungMRDesc.xml Device is running Linux/9.0 UPnP/1.0 PROTOTYPE/1.0 ****************************************************************

Kemudian lakukan host list untuk melihat host mana saja yang telah diketahui oleh miranda:
upnp> host list
[0] 192.168.1.213:8060
[1] 192.168.1.219:8060
[2] 192.168.1.215:8060
[3] 192.168.1.224:52236
[4] 192.168.1.214:52235
[5] 192.168.1.241:8888
[6] 192.168.1.16:2869

Mari kita lihat data yang ada pada host 5:
upnp> host summary 5
Host: 192.168.1.241:8888 XML File: http://192.168.1.241:8888/upnp_descriptor_0 MediaRenderer manufacturerURL: http://www.onkyo.com modelName: TX-NR509 modelNumber: TX-NR509 presentationURL: http://192.168.1.241/ friendlyName: TX-NR509 fullName: urn:schemas-upnp-org:device:MediaRenderer:1 modelDescription: AV Receiver UDN: uuid:aeb01704-c117-04b9-db1e-0409c1b9c871 modelURL: http://www.onkyo.com manufacturer: ONKYO

Untuk melihat lebih lanjut lakukan host info 5
upnp> host info 5
xmlFile : http://192.168.1.241:8888/upnp_descriptor_0 name : 192.168.1.241:8888 proto : http:// serverType : MediabolicMWEB/1.8.225 upnpServer : Linux/2.6.33-rc4 UPnP/1.0 MediabolicUPnP/1.8.225 dataComplete : True deviceList : {}

Dapat diketahui bahwa host no 5 adalah sebuah tv internet yang menggunakan Linux, sekarang dengan sedikit perintah kita dapat mematikan volume suara pada tv tersebut:

upnp> host send 5 MediaRenderer RenderingControl SetMute

Required argument:
Argument Name: InstanceID
Data Type: ui4
Allowed Values: []
Set InstanceID value to: 0

Required argument:
Argument Name: DesiredMute
Data Type: boolean
Allowed Values: []
Set DesiredMute value to: 1

Required argument:
Argument Name: Channel
Data Type: string
Allowed Values: ['Master', 'LF', 'RF']
Set Channel value to: Master</pre>

Dan tv pun dalam kondisi MUTE, tidak bersuara sama sekali....

Ngeri bukan klo ada yang dapat melakukan ini pada perangkat elektronik kita yang terhubung dengan jaringan?? :hammer

Tapi klo dilihat lagi keren juga ya? hehehe

Tampaknya banyak juga tulisan kali ini....baiklah saatnya saya undur diri untuk istirahat,

Semoga bermanfaat

iKONs

Sumber:

  • http://pauldotcom.com/wiki/index.php/Episode276
  • http://www.linuxhaxor.net/os-fingerprinting-with-the-new-nmap/
  • http://scottlinux.com/2011/12/22/tcpos-fingerprinting-tools-p0f-and-nmap/

Nmap sebagai Vulnerability Scanner

No Comments

Aaaah udah lama ga nge-blog 😀

Akhir-akhir ini perkembangan script di Nmap sangat pesat, salah satunya adalah –script=vulscan yang dibuat oleh Marc Ruef <marc.ruef () computec ch>.

Script ini menggunakan database vulnerability dari OSVDB: The Open Source Vulnerability Database, mengenai OSVDB bisa dilihat disini

Dengan menggunakan script ini membuat nmap menjadi seperti nessus, openvas, nexpose dll. tetapi menurut Marc masih terdapat kekurangan dan kesalahan dalam hasil scan-nya. Walaupun begitu mari kita tetap mencobanya 🙂

Pertama download script-nya dulu disini, file download-nya berupa tar.gz, diextract dulu:

tar -xvf nmap_nse_vulscan-0.6-20110427.tar.gz

Taruh (copy) folder /vulscan hasil extract diatas di folder lokasi script Nmap, karena saya menggunakan BT5 maka berada di /usr/local/share/nmap/scripts/ dan /opt/framework3/share/nmap/scripts/ (yup, skrg nmap telah menjadi bagian dari Metasploit Framework).

Didalam folder /vulscan dapat dilihat bahwa terdapat file object_correlations.txt, object_links.txt,  object_products.txt, vulnerabilities.txt dan vulscan.nse.

(Klik gambar untuk memperbesar).

Tampaknya semua database yang ada di OSVDB ditaruh dalam file vulnerabilities.txt, dan file object_*.txt adalah file yang digunakan vulscan.nse untuk mencocokkan data hasil fingerprint dengan vulnerabilities yang ada.

Sudah?? mari kita mencoba sebuah scan:

nmap -PN -sS -sV --script=vulscan -p80 scanme.nmap.org -oN test.txt

Kalau diurutkan line diatas menunjukkan nmap sedang melakukan:
Treat all host alive (-PN), syn scan (-sS), services dan version scan (-sV), menggunakan script vulscan (–script=vulscan), pada port 80 dari website scanme.nmap.org (-p80 scanme.nmap.org) dan hasil scan disimpan di file test.txt (-oN test.txt).

Hasilnya:


Karena memang website scanme.nmap.org dibuat untuk target, maka hasil vulnerability yang dihasilkan juga cukup byk 🙂

Dalam contoh diatas dapat dilihat angka dari ID OSVDB dan vulnerability yang ditunjukkan adalah hasil dari fingerprinting port/service yang dicocokkan dengan database OSVDB pada direktori /vulscan tadi.

Tampaknya setelah dilihat-lihat data yang muncul di hasil scanning diatas banyak sekali….
Ternyata kelemahan yang telah disebutkan Marc adalah hasil scanning nmap dengan database OSVDB yang kurang sinkron karena perbedaan konversi nama produk dan vulnerabilities-nya.

The current implementation uses, if executed with no further options, a full-text search of the title field in the vulnerabilities table to determine affected products. The reason for this simple approach called title lookup is, that nmap and osvdb do not share the same naming conventions for products and osvdb does not provide full support of the linking between products and vulnerabilities. This mode may cause some false-positives (e.g. Apache httpd).

Untuk mengurangi kesalahan/kelemahan tersebut, sebaiknya ditambahi –script-args vulscancorrelation=1 menjadi:

nmap -PN -sS -sV --script=vulscan --script-args vulscancorrelation=1 scanme.nmap.org -oN test.txt

Well, bagaimana menurut anda?? cukup keren kan?

Belum juga :p, karena tampaknya Marc sedang merencanakan untuk menambahkan database dari "SecurityFocus, CVE dan Secunia” sehingga makin lengkap (ini baru keren :thumbup).

Silahkan ditelusuri lebih lanjut, masih banyak jalan berkelok dan gang buntu didepan 😀

Jangan lupa database OSVDB-nya diupdate terlebih dahulu sebelum digunakan, download disini (pilih format XML).

Semoga bermanfaat,
M

Sumber:
http://seclists.org/nmap-dev/2010/q2/726

Tips dan Trik Nmap (Dasar)

No Comments

Home page logo

Hari ini entah mengapa kok rasanya ingin membahas mengenai Nmap (Network Mapper), bagi yang belum tahu apa itu Nmap bisa dilihat disini. Singkatnya Nmap adalah salah satu tools yang berguna untuk melihat jaringan yang kita gunakan seperti pc, os apa aja yg dipakai, ip address, bahkan sekarang dengan tambahan script engine-nya (NSE) menjadi lebih lengkap, contohnya bisa melakukan pemeriksaan vulnerability terhadap protokol SMB target.

Hmm mulai dari mana ya…. rasanya hari tanpa Nmap itu seperti hari tanpa sambel *halaaah lebay 😀

Dulu waktu pertama kali saya mengenal jaringan komputer, tools yang paling sering saya pakai adalah Angry IP Scanner  , kenapa? karena pada saat itu untuk melihat komputer mana saja yang terkoneksi di dalam jaringan paling mudah ya pake Angry IP Scanner, tinggal klik then wait n see 😀

Dengan adanya Nmap, scanning jaringan menjadi lebih mudah dan tidak membutuhkan tools yang banyak. Penggunaan Nmap bisa pilih Zenmap yaitu Nmap GUI dengan tampilan yang cukup mudah dimengerti dan seperti biasa via konsol.

Saya saat ini menggunakan Nmap versi 5.51  #06Juni2011

Beberapa perintah Nmap yang sering saya gunakan: 

*keterangan: target yg digunakan adalah scanme.insecure.org (memang disediakan oleh Fyodor pembuat Nmap buat testing Nmap).

1. nmap -sP scanme.insecure.org

Perintah -sP (saat ini disebut -sn) diatas adalah untuk melakukan Ping scan saja sehingga prosesnya cepat *sebagai ganti dari Angry IP Scanner 😀

Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-06 23:56 SE Asia Standard Time

Nmap scan report for scanme.insecure.org (74.207.244.221)
Host is up (0.23s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Nmap done: 1 IP address (1 host up) scanned in 6.11 seconds

Ada berbagai macam teknik scan, diantaranya adalah sebagai berikut:

SCAN TECHNIQUES:
  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
  -sU: UDP Scan
  -sN/sF/sX: TCP Null, FIN, and Xmas scans
  --scanflags <flags>: Customize TCP scan flags
  -sI <zombie host[:probeport]>: Idle scan
  -sY/sZ: SCTP INIT/COOKIE-ECHO scans
  -sO: IP protocol scan
  -b <FTP relay host>: FTP bounce scan

Untuk perintah -b (FTP bounce scan) perlu ditambahkan line “username:[email protected]:port”. perintah ini digunakan jika ditemukan PC bertindak sebagai FTP server, kita bisa melakukan scanning target lain via PC tersebut (semacam makelar gitu hehe) sehingga target hanya mengerti kalau sedang dilakukan scanning oleh PC tersebut….padahal bukan 😛

*tapi ingat kita harus tahu username dan password FTP tersebut (atau bikin FTP server sendiri).

Dan ada berbagai macam seperti dapat dilihat diatas, misal Xmas scans, Zombie scan, Maimon scan dll *bisa dicari sendiri di mbah google 😀

2. nmap -Pn scanme.insecure.org

Perintah -Pn digunakan jika ada sebuah PC yang tidak dapat dilakukan scanning biasa (biasanya karena memiliki firewall yang menolak ICMP)

Nmap scan report for scanme.insecure.org (74.207.244.221)
Host is up (0.23s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Not shown: 992 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
646/tcp   filtered ldp
9929/tcp  open     nping-echo
31337/tcp open     Elite

Nmap done: 1 IP address (1 host up) scanned in 49.41 seconds

Sebelum kita lanjutkan, perlu diketahui ada 6 (enam) kondisi/state yang ditunjukkan oleh Nmap ketika melakukan port scanning: open, closed, filtered, unfiltered, open|filtered dan closed|filtered

, 
keterangan lebih lanjut dapat dilihat disini.

3. Nmap -T5 -A -v scanme.insecure.org

Line -T5 adalah perintah untuk Nmap melakukan scanning paling cepat (skala 0-5)

Line -A adalah perintah untuk melakukan semua advanced dan agresif scan (OS scan, version detection, script scan dan traceroute).

Line -v adalah verbosity, gunanya untuk melihat apa yang sedang dilakukan Nmap secara live. tingkat verbosity dapat ditingkatkan sampai dengan 10x, ketik saja -v -v -v.... 10x,

Hasilnya??
NSE: Loaded 57 scripts for scanning.
Initiating Ping Scan at 00:39
Scanning scanme.insecure.org (74.207.244.221) [4 ports]
Completed Ping Scan at 00:39, 0.47s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 00:39
Completed Parallel DNS resolution of 1 host. at 00:39, 5.55s elapsed
Initiating SYN Stealth Scan at 00:39
Scanning scanme.insecure.org (74.207.244.221) [1000 ports]
Discovered open port 22/tcp on 74.207.244.221
Discovered open port 80/tcp on 74.207.244.221
Warning: 74.207.244.221 giving up on port because retransmission cap hit (2).
Discovered open port 31337/tcp on 74.207.244.221
Discovered open port 9929/tcp on 74.207.244.221
Completed SYN Stealth Scan at 00:40, 34.41s elapsed (1000 total ports)
Initiating Service scan at 00:40
Scanning 4 services on scanme.insecure.org (74.207.244.221)
Completed Service scan at 00:42, 130.22s elapsed (4 services on 1 host)
Initiating OS detection (try #1) against scanme.insecure.org (74.207.244.221)
Retrying OS detection (try #2) against scanme.insecure.org (74.207.244.221)
Initiating Traceroute at 00:42
Completed Traceroute at 00:42, 3.05s elapsed
Initiating Parallel DNS resolution of 11 hosts. at 00:42
Completed Parallel DNS resolution of 11 hosts. at 00:42, 5.63s elapsed
NSE: Script scanning 74.207.244.221.
Initiating NSE at 00:42
Completed NSE at 00:42, 3.86s elapsed
Nmap scan report for scanme.insecure.org (74.207.244.221)
Host is up (0.32s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Not shown: 992 closed ports
PORT      STATE    SERVICE      VERSION
22/tcp    open     ssh          OpenSSH 5.3p1 Debian 3ubuntu6 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp    open     http         Apache httpd 2.2.14 ((Ubuntu))
|_http-methods: GET HEAD POST OPTIONS
|_http-title: Go ahead and ScanMe!
|_http-favicon: Unknown favicon MD5: 156515DA3C0F7DC6B2493BD5CE43F795
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
646/tcp   filtered ldp
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     Elite?
OS fingerprint not ideal because: Timing level 5 (Insane) used
No OS matches for host
Uptime guess: 30.567 days (since Sat May 07 11:05:41 2011)
Network Distance: 15 hops
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux

TRACEROUTE (using port 199/tcp)
HOP RTT       ADDRESS
1   0.00 ms   192.168.10.1
2   15.00 ms  192.168.1.1
3   62.00 ms  .........
4   31.00 ms  .........
5   313.00 ms .........
6   313.00 ms .........
7   ...
8   313.00 ms if-2-2.tcore1.SVW-Singapore.as6453.net (180.87.12.1)
9   ...
10  313.00 ms if-2-2.tcore2.TV2-Tokyo.as6453.net (180.87.180.2)
11  313.00 ms te1-4-10G.ar1.PAO2.gblx.net (208.51.134.97)
12  313.00 ms te1-4-10G.ar1.PAO2.gblx.net (208.51.134.97)
13  313.00 ms 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109)
14  313.00 ms 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109)
15  562.00 ms li86-221.members.linode.com (74.207.244.221)

Gmn?? cukup membuat mata suram kan hehe. Dari data diatas dapat dilihat bahwa:

- OS yang digunakan website scanme.insecure.org adalah Linux, kemungkinan Debian atau Ubuntu
- Adanya port 22 (SSH) lengkap dengan kuncinya, untuk 1024 bit menggunakan enkripsi DSA sedangkan yang 2048 menggunakan RSA
- Adanya port 80 (http) yang menggunakan Apache versi 2.2.14
- Jarak antara kos-an saya dengan website tersebut adalah 15 hop 😀

ZENMAP

Lebih mudahnya sih menggunakan Nmap yang dilengkapi dengan GUI yang cukup mudah digunakan, namanya Zenmap. biasanya telah menjadi satu paket dengan installer Nmap.

Di Zenmap tinggal masukan alamat IP nya kemudian pilih profile yang ingin digunakan, misal pada gambar adalah "Slow comprehensive scan".

Dengan profile tersebut maka Nmap digunakan secara menyeluruh atau all-out sehingga hasil scan-nya pun akan banyak sekali (berlembar-lembar halaman) *biasanya sukses membuat saya ingin tidur @[email protected]

Contohnya:

C:>nmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -P A3389 -PU40125 -PY -g 53 --script all scanme.insecure.org

Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-07 01:05 SE Asia Standard Time

NSE: Loaded 177 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 01:05
Completed NSE at 01:05, 40.00s elapsed
Pre-scan script results:
| broadcast-upnp-info:
|   192.168.10.1
|       Server: RouterOS/4.10UPnP/1.0 MikroTik UPnP/1.0
|_      Location: http://192.168.10.1:2828/gateway.xml
Initiating Ping Scan at 01:05
Scanning scanme.insecure.org (74.207.244.221) [7 ports]
Completed Ping Scan at 01:05, 0.44s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 01:05
Completed Parallel DNS resolution of 1 host. at 01:05, 5.56s elapsed
Initiating SYN Stealth Scan at 01:05
Scanning scanme.insecure.org (74.207.244.221) [1000 ports]
Discovered open port 22/tcp on 74.207.244.221
Discovered open port 80/tcp on 74.207.244.221
Discovered open port 31337/tcp on 74.207.244.221
Increasing send delay for 74.207.244.221 from 0 to 5 due to max_successful_tryno increase to 5
SYN Stealth Scan Timing: About 48.79% done; ETC: 01:06 (0:00:33 remaining)
Discovered open port 9929/tcp on 74.207.244.221
Completed SYN Stealth Scan at 01:06, 47.81s elapsed (1000 total ports)
Initiating UDP Scan at 01:06
Scanning scanme.insecure.org (74.207.244.221) [1000 ports]
Increasing send delay for 74.207.244.221 from 0 to 50 due to 11 out of 12 dropped probes since last increase.
Increasing send delay for 74.207.244.221 from 50 to 100 due to 11 out of 11 dropped probes since last increase.
UDP Scan Timing: About 4.18% done; ETC: 01:19 (0:11:50 remaining)
Increasing send delay for 74.207.244.221 from 100 to 200 due to 11 out of 12 dropped probes since last increase.
Increasing send delay for 74.207.244.221 from 200 to 400 due to 11 out of 13 dropped probes since last increase.
Increasing send delay for 74.207.244.221 from 400 to 800 due to 11 out of 11 dropped probes since last increase.
UDP Scan Timing: About 11.80% done; ETC: 01:20 (0:12:27 remaining)
Discovered open port 123/udp on 74.207.244.221
UDP Scan Timing: About 22.80% done; ETC: 01:21 (0:11:44 remaining)
UDP Scan Timing: About 29.23% done; ETC: 01:22 (0:10:56 remaining)
UDP Scan Timing: About 34.78% done; ETC: 01:22 (0:10:09 remaining)
UDP Scan Timing: About 40.28% done; ETC: 01:22 (0:09:22 remaining)
UDP Scan Timing: About 45.52% done; ETC: 01:22 (0:08:35 remaining)
UDP Scan Timing: About 50.75% done; ETC: 01:22 (0:07:47 remaining)
UDP Scan Timing: About 56.57% done; ETC: 01:22 (0:06:55 remaining)
UDP Scan Timing: About 62.03% done; ETC: 01:22 (0:06:04 remaining)
UDP Scan Timing: About 67.27% done; ETC: 01:22 (0:05:14 remaining)
UDP Scan Timing: About 72.40% done; ETC: 01:22 (0:04:26 remaining)
UDP Scan Timing: About 77.63% done; ETC: 01:22 (0:03:36 remaining)
UDP Scan Timing: About 82.95% done; ETC: 01:22 (0:02:44 remaining)
UDP Scan Timing: About 88.32% done; ETC: 01:22 (0:01:53 remaining)
UDP Scan Timing: About 93.55% done; ETC: 01:22 (0:01:03 remaining)
Completed UDP Scan at 01:23, 1004.67s elapsed (1000 total ports)
Initiating Service scan at 01:23
Scanning 12 services on scanme.insecure.org (74.207.244.221)
Service scan Timing: About 41.67% done; ETC: 01:26 (0:01:49 remaining)
Completed Service scan at 01:25, 127.75s elapsed (12 services on 1 host)
Initiating OS detection (try #1) against scanme.insecure.org (74.207.244.221)
Retrying OS detection (try #2) against scanme.insecure.org (74.207.244.221)
Initiating Traceroute at 01:25
Completed Traceroute at 01:25, 3.05s elapsed
Initiating Parallel DNS resolution of 11 hosts. at 01:25
Completed Parallel DNS resolution of 11 hosts. at 01:25, 5.66s elapsed
NSE: Script scanning 74.207.244.221.
Initiating NSE at 01:25
NSE: FIREWALK: can't run without one of the script args firewalk.gateway or firewalk.ttl
Completed NSE at 01:36, 640.08s elapsed
NSE: Script scanning 74.207.244.221.
Initiating NSE at 01:36
Completed NSE at 01:36, 1.11s elapsed
Nmap scan report for scanme.insecure.org (74.207.244.221)
Host is up (0.26s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Not shown: 1984 closed ports
PORT      STATE         SERVICE      VERSION
22/tcp    open          ssh          OpenSSH 5.3p1 Debian 3ubuntu6 (protocol 2.0)
|_banner: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu6
| ssh2-enum-algos:
|   kex_algorithms (4)
|       diffie-hellman-group-exchange-sha256
|       diffie-hellman-group-exchange-sha1
|       diffie-hellman-group14-sha1
|       diffie-hellman-group1-sha1
|   server_host_key_algorithms (2)
|       ssh-rsa
|       ssh-dss
|   encryption_algorithms (13)
|       aes128-ctr
|       aes192-ctr
|       aes256-ctr
|       arcfour256
|       arcfour128
|       aes128-cbc
|       3des-cbc
|       blowfish-cbc
|       cast128-cbc
|       aes192-cbc
|       aes256-cbc
|       arcfour
|       [email protected]
|   mac_algorithms (7)
|       hmac-md5
|       hmac-sha1
|       [email protected]
|       hmac-ripemd160
|       [email protected]
|       hmac-sha1-96
|       hmac-md5-96
|   compression_algorithms (2)
|       none
|_      [email protected]
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp    open          http         Apache httpd 2.2.14 ((Ubuntu))
|_citrix-brute-xml: FAILED: No domain specified (use ntdomain argument)
| http-brute:
|_  ERROR: No path was specified (see http-brute.path)
|_http-methods: GET HEAD POST OPTIONS
|_http-malware-host: Host appears to be clean
|_http-iis-webdav-vuln: ERROR: This web server is not supported.
|_http-date: Mon, 06 Jun 2011 18:25:56 GMT; +7s from local time.
|_http-title: Go ahead and ScanMe!
| http-form-brute:
|_  ERROR: No uservar was specified (see http-form-brute.uservar)
|_http-favicon: Unknown favicon MD5: 156515DA3C0F7DC6B2493BD5CE43F795
| http-headers:
|   Date: Mon, 06 Jun 2011 18:25:59 GMT
|   Server: Apache/2.2.14 (Ubuntu)
|   Accept-Ranges: bytes
|   Vary: Accept-Encoding
|   Connection: close
|   Content-Type: text/html
|
|_  (Request type: HEAD)
| http-vhosts:
|_393 names had status 200
| http-enum:
|   /.svn/: Subversion folder
|   /icons/: Potentially interesting folder w/ directory listing
|   /images/: Potentially interesting directory w/ listing on 'apache/2.2.14 (ubuntu)'
|_  /shared/: Potentially interesting directory w/ listing on 'apache/2.2.14 (ubuntu)'
| http-domino-enum-passwords:
|_  ERROR: No valid credentials were found (see domino-enum-passwords.username and domino-enum-passwords.password)
135/tcp   filtered      msrpc
139/tcp   filtered      netbios-ssn
445/tcp   filtered      microsoft-ds
646/tcp   filtered      ldp
9929/tcp  open          nping-echo   Nping echo
| banner: x01x01x00x18&#xA3)MxEDx1BxB4x00x00x00x00xB7xE5x8
|_Ex9Ax87&x9ExB5x14Lx81xCAx15x95xDAxB9g+FxF9xE4xBBx09x...
31337/tcp open          Elite?
68/udp    open|filtered dhcpc
123/udp   open          ntp          NTP v4
| ntp-info:
|_  receive time stamp: 06/07/11 01:26:00
135/udp   open|filtered msrpc
136/udp   open|filtered profile
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   open|filtered netbios-ssn
445/udp   open|filtered microsoft-ds
OS fingerprint not ideal because: Host distance (15 network hops) is greater than five
No OS matches for host
Uptime guess: 30.605 days (since Sat May 07 11:05:41 2011)
Network Distance: 16 hops
TCP Sequence Prediction: Difficulty=204 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux

Host script results:
|_hostmap: Error: found no hostnames but not the marker for "no hostnames found"
 (pattern error?)
|_ipidseq: All zeros
|_path-mtu: 1492 <= PMTU < 1500
| asn-query:
| BGP: 74.207.240.0/20 | Country: US
|   Origin AS: 6939 - HURRICANE - Hurricane Electric, Inc.
|_    Peer AS: 1299 2516 3549 4565 10310 11537
| qscan:
| PORT   FAMILY  MEAN (us)   STDDEV      LOSS (%)
| 1      0       2198300.00  4770762.83  0.0%
| 22     0       1890500.00  3991855.72  0.0%
| 80     0       1837500.00  2992098.34  0.0%
| 123    0       2701800.00  5858952.69  0.0%
| 9929   0       1989200.00  3153255.14  0.0%
|_31337  0       2946333.33  5163491.55  10.0%

TRACEROUTE (using port 3306/tcp)
HOP RTT       ADDRESS
1   0.00 ms   192.168.10.1
2   16.00 ms  192.168.1.1
3   94.00 ms  .......
4   31.00 ms  .......
5   79.00 ms  .......
6   125.00 ms .......
7   ...
8   265.00 ms if-2-2.tcore1.SVW-Singapore.as6453.net (180.87.12.1)
9   ... 11
12  250.00 ms Hurrican-Electric-LLC.Port-channel100.ar3.SJC2.gblx.net (64.214.174.246)
13  250.00 ms 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109)
14  250.00 ms 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109)
15  250.00 ms linode-llc.10gigabitethernet2-3.core1.fmt1.he.net (64.62.250.6)
16  219.00 ms li86-221.members.linode.com (74.207.244.221)

Read data files from: C:Program FilesNmap
OS and Service detection performed. Please report any incorrect results at http:
//nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1885.44 seconds
           Raw packets sent: 2819 (176.777KB) | Rcvd: 2299 (118.069KB)

Mumet kan??
Tetapi setidaknya kita jadi tahu semua jenis enkripsi yang digunakan oleh port 22 (SSH), AS origin dari BGP-nya, banner dari beberapa port yang ada, beberapa status dari protokol HTTP, tidak ditemukan malware pada website tersebut dan beberapa hal lainnya.

Setelah itu hasil scan dapat disimpan dalam bentuk .XML atau .nmap *fiuuh T_T

Beberapa teknik untuk menghindari Firewall atau IDS dan spoofing:

FIREWALL/IDS EVASION AND SPOOFING:
  -f; --mtu <val>: fragment packets (optionally w/given MTU)
  -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
  -S <IP_Address>: Spoof source address
  -e <iface>: Use specified interface
  -g/--source-port <portnum>: Use given port number
  --data-length <num>: Append random data to sent packets
  --ip-options <options>: Send packets with specified ip options
  --ttl <val>: Set IP time-to-live field
  --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address
  --badsum: Send packets with a bogus TCP/UDP/SCTP checksum

Yang pernah saya pakai adalah:

  • Perintah -f,  karena kebanyakan jaringan menggunakan ethernet maka MTU (Maximum Transmission Unit) yang dapat digunakan adalah 1500.
  • Perintah -D, contoh penggunaannya adalah <IP decoy1>,<IP decoy2>,ME (IP kita), RND (random). tujuannya agar target kesulitan untuk menentukan siapa yang sedang melakukan scanning.
  • Perintah -S, adalah melakukan spoofing terhadap alamat IP milik PC lain sehingga seakan-akan PC lain tersebut yang melakukan scanning (mirip dengan FTP bounce scan).
  • Perintah --spoof-mac yang digunakan untuk malakukan spoofing mac-address
  • Untuk perintah yang lain bisa dicoba sendiri, saya sendiri belum pernah mencobanya...

Note: Teknik scan diatas terlalu "ramai" di dalam jaringan, sehingga aplikasi monitoring jaringan seperti Wireshark dapat dengan mudah mengenali teknik-teknik scan diatas. 

Tips dan Trik:

Karena teknik diatas dapat menarik perhatian admin jaringan atau perangkat security, maka ada satu cara yang saya pernah gunakan untuk melakukan scanning tanpa banyak "cincong" 😀

nmap --script=broadcast "target IP"

Starting Nmap 5.51 ( http://nmap.org ) at 2011-06-07 02:01 SE Asia Standard Time
Pre-scan script results:
| broadcast-upnp-info:
|   192.168.10.1
|       Server: RouterOS/4.10UPnP/1.0 MikroTik UPnP/1.0

|_      Location: http://192.168.10.1:2828/gateway.xml

Nmap scan report for 192.168.10.1
Host is up (0.00s latency).
Not shown: 999 filtered ports
PORT     STATE  SERVICE
1723/tcp closed pptp
MAC Address: 00:0C:42:58:69:63 (Routerboard.com)

Nmap scan report for 192.168.10.249
Host is up (0.00018s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
912/tcp  open  apex-mesh
2000/tcp open  cisco-sccp
2869/tcp open  icslap
MAC Address: 00:1D:72:49:34:5F (Wistron)

Yup! caranya adalah menggunakan script (broadcast) yang bisa dilihat lebih lengkap di folder /nmap/scripts/
Karena semua PC/host yang ada dijaringan selalu broadcast (A.B.C.255) terhadap switch/router yang ada, maka teknik ini cukup pasif dalam artian tidak membuat "ramai" jaringan karena hanya mengambil data broadcast saja. Tetapi masih saja menimbulkan sedikit "riak" dalam jaringan (walaupun agak susah untuk dilihat).

Kalau ingin yang lebih pasif lagi ya gunakan saja Wireshark atau p0f 😛

Penggunaan scripts yang dibuat dari bahasa Lua ini cukup beragam, beberapa diantaranya yang pernah saya gunakan adalah:

nmap --script=smb-check-vulns "target IP"

Nmap scan report for 192.168.10.249
Host is up (0.00023s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
912/tcp  open  apex-mesh
2000/tcp open  cisco-sccp
2869/tcp open  icslap
MAC Address: 00:1D:72:49:34:5F (Wistron)

Host script results:
| smb-check-vulns:
|   MS08-067: LIKELY VULNERABLE (host stopped responding)
|   Conficker: Likely CLEAN
|   regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
|   SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)
|   MS06-025: CHECK DISABLED (remove 'safe=1' argument to run)
|_  MS07-029: CHECK DISABLED (remove 'safe=1' argument to run)

Nmap done: 1 IP address (1 host up) scanned in 57.52 seconds

Script ini saya gunakan untuk memeriksa apakah port SMB target telah dipatch dengan MS08-67 dan terlindungi oleh firewall. seperti kita tahu bahwa Conficker menggunakan port ini untuk menyebar.
Dari data diatas dapat dilihat bahwa PC target belum dipatch (likely vulnerable) tetapi tidak terinfeksi oleh Conficker (likely clean), kemungkinan ada Firewall dari antivirus (check disabled).

nmap --script=stuxnet-detect "target IP"

Kalau yang satu ini sangat terkenal akhir-akhir ini karena malware ini adalah bukti nyata adanya "Cyber-War" antar negara.

Dan masih banyak scripts lainnya....

Banyaknya scripts di Nmap membuat tools ini dapat menggantikan beberapa fungsi dari Nessus, ketika Nessus tidak dapat dioperasikan pada beberapa kondisi tertentu.

Sejak versi 5, Nmap telah banyak mengalami kemajuan, bisa dilihat disini. Beberapa tambahannya adalah adanya tools NcatNdiff dan Script .NSE.

  • Ncat adalah tools yang dapat digunakan untuk melakukan remote terhadap PC (bisa digunakan untuk backdoor).
  • Ndiff adalah tools yang digunakan untuk membandingkan hasil scan terhadap target/host yang sama.
  • Script .NSE adalah scripts yang telah saya sebutkan sebelumnya, dengan adanya scripts yang dapat dibuat oleh siapa saja, maka hampir semua pengguna Nmap dapat berbagi scripts yang mereka buat. hal ini dapat membuat Nmap semakin kaya fitur 😀

Silahkan diexplore lebih jauh lagi........................ 😀

PERINGATAN!
Gunakan Nmap untuk jaringan yang dimiliki sendiri atau atas ijin pemilik jika target adalah milik orang lain, apalagi IP saya yang tidak bisa apa-apa ini...ampuun gan! 😀
untuk latihan silahkan menggunakan scanme.insecure.org

Semoga sedikit tulisan saya mengenai tips dan trik Nmap dapat bermanfaat.

iKONs

Sumber:

Untuk lebih jelas dan lengkapnya bisa dibaca disini

Categories: Backtrack Tags: