Ads 468x60px

Sunday, November 11, 2012

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


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.
A. Nmap
Salah satunya adalah dengan Nmap, perintahnya adalah seperti berikut:

1 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
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
Contoh pada Linux:

01 $ ping 192.168.1.215
02 PING localhost (127.0.0.1) 56(84) bytes of data.
03 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.056 ms
04 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.041 ms
05 64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.029 ms
06 64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.049 ms
07 64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.040 ms
08 ^C
09 --- localhost ping statistics ---
10 5 packets transmitted, 5 received, 0% packet loss, time 3999ms
11 rtt min/avg/max/mdev = 0.029/0.043/0.056/0.009 ms

Contoh pada OS Windows:

1 $ 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? :D

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):

1 tar xvf p0f-3.03b

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

1 ./build.sh

Seharusnya muncul seperti berikut:

01 root@bt:~/Programs/p0f-3.03b# ./build.sh
02 Welcome to the build script for p0f 3.03b!
03 Copyright (C) 2012 by Michal Zalewski <lcamtuf@coredump.cx>
04
05 [+] Configuring production build.
06 [*] Checking for a sane build environment... OK
07 [*] Checking for working GCC... OK
08 [*] Checking for *modern* GCC... OK
09 [*] Checking if memory alignment is required... nope
10 [*] Checking for working libpcap... OK
11 [*] Checking for working BPF... OK
12 [+] Okay, you seem to be good to go. Fingers crossed!
13 [*] Compiling p0f... OK
14
15 Well, that's it. Be sure to review README. If you run into any problems, you
16 can reach the author at <lcamtuf@coredump.cx>.

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

1 ./p0f -h

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

01 root@bt:~/Programs/p0f-3.03b# ./p0f --h
02 --- p0f 3.03b by Michal Zalewski <lcamtuf@coredump.cx> ---
03
04 ./p0f: invalid option -- '-'
05 Usage: p0f [ ...options... ] [ 'filter rule' ]
06
07 Network interface options:
08
09 -i iface  - listen on the specified network interface
10 -r file   - read offline pcap data from a given file
11 -p        - put the listening interface in promiscuous mode
12 -L        - list all available interfaces
13
14 Operating mode and output settings:
15
16 -f file   - read fingerprint database from 'file' (p0f.fp)
17 -o file   - write information to the specified log file
18 -s name   - answer to API queries at a named unix socket
19 -u user   - switch to the specified unprivileged account and chroot
20 -d        - fork into background (requires -o or -s)
21
22 Performance-related options:
23
24 -S limit  - limit number of parallel API connections (20)
25 -t c,h    - set connection / host cache age limits (30s,120m)
26 -m c,h    - cap the number of active connections / hosts (1000,10000)
27
28 Optional filter expressions (man tcpdump) can be specified in the command
29 line to prevent p0f from looking at incidental network traffic.
30
31 Problems? You can reach the author at <lcamtuf@coredump.cx>.

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:

1 ./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:

01 ./miranda.py[code]
02
03 Setelah itu kita akan masuk kedalam shell prompt upnp>
04
05 Perintah-perintah yang dapat dilakukan di miranda adalah sebagai berikut:
06
07 [code]
08
09 root@bt:/pentest/enumeration/miranda# ./miranda.py
10 upnp> ?
11
12 Invalid command. Valid commands are:
13
14 load            Restore previous host data from file
15 head            Show/define SSDP headers
16 help            Show program help
17 host            View and send host list and host information
18 msearch         Actively locate UPNP hosts
19 pcap            Passively listen for UPNP hosts
20 quit            Exit this shell
21 log             Logs user-supplied commands to a log file
22 seti            Show/define application settings
23 exit            Exit this shell
24 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:

01 upnp>  host send 5 MediaRenderer RenderingControl SetMute
02
03 Required argument:
04     Argument Name:  InstanceID
05     Data Type:      ui4
06     Allowed Values: []
07     Set InstanceID value to: 0
08
09 Required argument:
10     Argument Name:  DesiredMute
11     Data Type:      boolean
12     Allowed Values: []
13     Set DesiredMute value to: 1
14
15 Required argument:
16     Argument Name:  Channel
17     Data Type:      string
18     Allowed Values: ['Master', 'LF', 'RF']
19     Set Channel value to: Master</pre>

Semoga bermanfaat
Sumber:

1 comments:

Blogger said...

If you'd like an alternative to randomly flirting with girls and trying to find out the right thing to say...

If you'd rather have women chase YOU, instead of spending your nights prowling around in crowded pubs and restaurants...

Then I urge you to view this eye-opening video to unveil a strong little secret that has the potential to get you your very own harem of hot women just 24 hours from now:

Facebook Seduction System!!!

Post a Comment


Followers

visitor of state

like me on FaceBook