Praktikum 3 Keamanan Data (Network Scanner and Probing) di PENS (Politeknik Elektronika Negeri Surabaya)

Kukuh Adi Prasetyo // Kamis, 05 Mei 2016




A.        DASAR TEORI
Pada pemrograman berbasis socket, server adalah host yang menyediakan sebuah layanan (service) dan client adalah host yang mengakses atau menggunakan layanan tersebut. Soket sendiri adalah gabungan dari alamat IP dan nomor port, salah satu contohnya adalah layanan mail di kampus menggunakan socket 202.9.85.49:25. Alamat IP dari layanan adalah 202.9.85.49 dengan nomor port 25 (layanan berbasis protocol SMTP). Atau dengan kata lain host dengan IP 202.9.85.3 membuka port nomor 25 untuk menyediakan layanan SMTP. Pada praktikum kali ini kita melakukan pemindaian terhadap port-port (port-scanning) yang terbuka pada suatu host. Layanan jaringan dapat diserang dalam berbagai cara. Aplikasi layanan sendiri mungkin mempunyai beberapa kelemahan seperti kesalahan pemrograman, penggunaan autentikasi/password yang lemah, sensitive data tidak terenkripsi atau mengijinkan koneksi dari berbagai alamat IP dan lain sebagainya. Kelemahan-kelemahan tersebut memungkinkan host yang menyediakan layanan tersebut rentan terhadap serangan. Oleh karena itu sebaiknya host hanya menyediakan layanan yang diperlukan saja, atau dengan kata lain meminimalkan port yang terbuka.
Pemindaian Port sebagai langkah awal untuk meretas layanan jaringan
Port Scanner merupakan program yang didesain untuk menemukan layanan (service) apa saja yang dijalankan pada host jaringan. Untuk mendapatkan akses ke host, penyerang harus mengetahui titik-titik kelemahan yang ada. Sebagai contoh, apabila penyerang sudah mengetahui bahwa host menjalankan proses SMTP server, ia dapat menggunakan kelemahan-kelemahan yang ada pada SMTP server untuk mendapatkan akses. Dari bagian ini kita dapat mengambil kesimpulan bahwa layanan yang tidak benar-benar diperlukan sebaiknya dihilangkan untuk memperkecil resiko keamanan yang mungkin terjadi.
Pemindaian dengan menggunakan aplikasi Nmap
Nmap (“Network Mapper”) adalah sebuah tool open source untuk eksplorasi dan audit keamanan jaringan. Nmap menggunakan paket IP raw untuk mendeteksi host yang terhubung dengan jaringan dilengkapi dengan layanan (nama aplikasi dan versi) yang diberikan, sistem operasi (dan versi), apa jenis firewall/filter paket yang digunakan, dan sejumlah karakteristik lainnya. Output Nmap adalah sebuah daftar target host yang diperiksa dan informasi tambahan sesuai dengan opsi yang digunakan. Berikut adalah beberapa informasi tambahan yang menarik untuk ditelaah :
- nomor port
- nama layanan
- status port : terbuka (open), difilter (filtered), tertutup (closed), atau tidak difilter
(unfiltered).
- nama reverse DNS
- prakiraan sistem operasi
- jenis device, dan - alamat MAC.
Tipe-tipe pemindaian dengan menggunakan Nmap
connect scan (-sT)
Jenis scan ini konek ke port sasaran dan menyelesaikan three-way handshake (SYN, SYN/ACK, dan ACK). Scan jenis ini mudah terdeteksi oleh sistem sasaran.
-sS (TCP SYN scan)
Paling populer dan merupakan scan default nmap. SYN scan juga sukar terdeteksi, karena tidak menggunakan 3 way handshake secara lengkap, yang disebut sebagai teknik half open scanning. SYN scan juga efektif karena dapat membedakan 3 state port, yaitu open, filterd ataupun close. Teknik ini dikenal sebagai half-opening scanning karena suatu koneksi penuh TCP tidak sampai terbentuk. Sebaliknya, suatu paket SYN dikirimkan ke port sasaran. Bila SYN/ACK diterima dari port sasaran, kita dapat mengambil kesimpulan bahwa port itu berada dalam status LISTENING. Suatu RST/ACT akan dikirim oleh mesin yang melakukan scanning sehingga koneksi penuh tidak akan terbentuk. Teknik ini bersifat siluman dibandingkan TCP connect penuh, dan tidak aka tercatat pada log sistem sasaran.
TCP FIN scan (-sF)
Teknik ini mengirim suatu paket FIN ke port sasaran. Berdasarkan RFC 793, sistem sasaran akan mengirim balik suatu RST untuk setiap port yang tertutup. Teknik ini hanya dapat dipakai pada stack TCP/IP berbasis UNIX.
TCP Xmas Tree scan (-sX)
Teknik ini mengirimkan suatu paket FIN, URG, dan PUSH ke port sasaran. Berdasarkan RFC 793, sistem sasaran akan mengembalikan suatu RST untuk semua port yang tertutup.
TCP Null scan (-sN)
Teknik ini membuat off semua flag. Berdasarkan RFC 793, sistem sasaran akan mengirim balik suatu RST untuk semua port yang tertutup.
TCP ACK scan (-sA)
Teknik ini digunakan untuk memetakan set aturan firewall. Dapat membantu menentukan apakah firewall itu merupakan suatu simple packet filter yang membolehkan hanya koneksi-koneksi tertentu (koneksi dengan bit set ACK) atau suatu firewall yang menjalankan advance packet filtering.
TCP Windows scan
Teknik ini dapat mendeteksi port-port terbuka maupun terfilter/tidak terfilter pada sistem sistem tertentu (sebagai contoh, AIX dan FreeBSD) sehubungan dengan anomali dari ukuran windows TCP yang dilaporkan.
TCP RPC scan
Teknik ini spesifik hanya pada system UNIX dan digunakan untuk mendeteksi dan mengidentifikasi port RPC (Remote Procedure Call) dan program serta normor versi yang berhubungan dengannya.

B.      PERCOBAAN NMAP
Pada percobaan kali ini kita akan mencoba melakukan salah satu fase dari hacking, yaitu fase scanning. Komputer yang akan discan adalah komputer dengan IP 10.252.108.16 dan 203.34.118.34.
Network Scan
1.      Menjalankan nmap dengan menggunakan option –sL
# nmap –sL 10.252.108.0

Ket: berdasarkan gambar di atas dapat diketahui bahwa tidak ada host yang sedang beroperasi. Perintah nmap –sL digunakan untuk menampilkan semua alamat dalam cakupan target yang ditentukan, dan tidak mengecek apakah host up atau sedang down namun perintah ini me-lookup reverse DNS.

2.      Menjalankan nmap dengan menggunakan option –sP
# nmap –sP 10.252.108.0

Ket: Perintah nmap –sP digunakan untuk menampilkan host dalam range IP tertentu dalam merespon ping. –sP mendeteksi computer yang online bukan port yang terbuka. Dapat diketahui bahwa ada 48 host yang sedang beroperasi. Terdapat perbedaan host yang sedang beroperasi dengan –sL. Selain itu, pada –sL tidak terdapat informasi host yang sedang aktif seperti mac address.
















3.      Menambahkan option –v pada nomor 2
# nmap –sP -v 10.252.108.0

Ket: Perintah nmap –sP –v memberikan keterangan keadaan host itu sekarang berdasarkan ping yang dikirimkan. terdapat perbedaan hasil dengan tanpa menggunakan option –v. Terdapat informasi raw packets sent dan Rcvd.
Host Scan
1.      Menggunakan Teknik Pemindaian –F

Ket: Opsi –F pada nmap lebih cepat menscan port yang terbuka dikarenakan opsi –F men-scan well-known port yang sudah terlist pada nmap_sevices. Hasil opsi –F memberitahukan bahwa 10.252.108.16 merupakan suatu virtual OS dengan beberapa port yang terbuka. Hasil Analisi Graph pada wireshark:



Ket: Opsi –F pada nmap lebih cepat menscan port yang terbuka dikarenakan opsi –F men-scan well-known port yang sudah terlist pada nmap_sevices. Hasil opsi –F memberitahukan bahwa 203.34.118.34 memiliki beberapa port yang terbuka. Hasil Analisi Graph pada wireshark:



2.      Menggunakan Teknik Pemindaian –sV

Ket: Opsi –sV digunakan untuk Version Detection yang artinya opsi –sV mengumpulkan informasi tentang layanan tertentu yang berjalan pada port terbuka, termasuk nama produk dan nomor versi. Informasi ini dapat menjadi penting dalam menentukan titik masuk untuk serangan. . Hasil opsi –sV memberitahukan bahwa 10.252.108.16 merupakan suatu virtual OS dengan OS linux beberapa port dengan versi dan service yang terbuka. Hasil Analisis Graph pada wireshark:




Ket: Opsi –sV digunakan untuk Version Detection yang artinya opsi –sV mengumpulkan informasi tentang layanan tertentu yang berjalan pada port terbuka, termasuk nama produk dan nomor versi. Informasi ini dapat menjadi penting dalam menentukan titik masuk untuk serangan. . Hasil opsi –sV memberitahukan bahwa 10.252.108.16 memiliki OS linux beberapa port dengan versi dan service yang terbuka.

Host Scan Dengan Menggunakan Script yang telah disediakan oleh nmap
1.      Dengan Menggunakan manual dari nmap
a.       Direktori tersimpannya nmap ada pada /usr/share/nmap/scripts/
b.      Penggunaan dari scripts(-sC) :
Opsi -sC hanya menjalankan nmap scan menggunakan default script saja atau setara dengan parameter –script=default. Untuk menjalankan script lain dapat menggunakan banyak parameter lain seperti:
–script <filename>|<category>|<directory>|<expression>[,…] untuk menjalankan script tertentu
–script-args <args> untuk memberikan argument pada script tersebut
–script-args-file <filename> untuk memberikan argument pada file script tertentu
–script-help <filename>|<category>|<directory>|<expression>|all[,…] untuk menjalankan help script tertentu
–script-trace parameter ini mirip dengan –packet-trace, namun bekerja pada level aplikasi bukan pada  packet by packet
–script-updatedb digunakan mengupdate database script ditemukan di script / script.db yang digunakan oleh Nmap untuk menentukan default scripts and categories yang tersedia
2.      Melakukan pemindaian ke alamat 10.252.108.16 menggunakan opsi –sC

Ket: Memiliki karakteristik yang hampir sama dengan opsi –F atau –sV namun –sC menjalankan nmap dengan menscan semua port (opsi –F dan –sV tidak menscan semua port, hanya well-known port saja). Opsi –sC menscan menggunakan default script yang ada sehingga opsi ini akan menghasilkan hasil yang lebih detail (dan juga lebih lama) semua OS detail, hingga keterangan-keterangan service yang berjalan akan ditampilkan sesuai dengan script default yang dipasang. Pada port 80 pun dapat mendeteksi apakah ada interface HTML yang diset disana. Bahkan sshhotkey dari sebuah service SSH ditampilkan pula. Juga pada imap, capabilities dapat dilihat dari situ.


TUGAS
1.   Jalankan nmap dengan menggunakan teknik TCP half open atau dengan menggunakan opsi  -sS. Amati paket antara host anda dan host target dengan menggunakan wireshark.  Apakah yang dimaksud dengan half-open dengan melihat hasil dari analisa paket anda? Gambarkan diagram TCPnya.
Jawab: Kelompok kami tidak menjalankan opsi –sS. Sehingga kami mencari referensi dari internet (http://sapikuda.com/network/log-pratikum-network-scanning/)

Opsi –sS sering disebut juga dengan SYN scanning (juga dikenal dengan nama half-open, atau stealth scanning). Ketika sebuah koneksi TCP yang dibuat antara dua sistem, sebuah proses yang dikenal sebagai three way handshake terjadi. Ini melibatkan pertukaran tiga paket, dan menyinkronkan sistem satu sama lain (yang diperlukan untuk koreksi kesalahan dibangun ke TCP. Sistem memulai koneksi mengirimkan sebuah paket ke sistem yang ingin terhubung. Paket TCP memiliki bagian header yang berisi flag (penanda). Flags menyatakan jenis paket yang akan dikirim, sehingga akan mendapatkan respon yang sesuai. Flag yang dimaksud adalah Ini adalah SYN (Synchronise), ACK (Acknowledge), FIN (Finished) dan RST (Reset). Paket SYN termasuk nomor urutan TCP, yang memungkinkan sistem remote tahu apa urutan yang diharapkan dalam komunikasi berikutnya. ACK memberikan tanda bahwa paket atau set paket sudah diterima, FIN dikirim saat komunikasi selesai, meminta bahwa koneksi ditutup, dan RST akan dikirim saat sambungan direset (ditutup segera).
Untuk memulai koneksi TCP, sistem memulai mengirimkan paket SYN ke tujuan, yang akan merespon dengan SYN sendiri, dan ACK, memberitahu bahwa paket pertama sudah diterima (kemudian digabungkan menjadi sebuah paket SYN / ACK tunggal) . Sistem pertama kemudian mengirimkan sebuah paket ACK untuk menandai penerimaan SYN / ACK, dan kemudian transfer data dapat dimulai. SYN atau Stealth pemindaian memanfaatkan prosedur ini dengan mengirimkan paket SYN dan melihat respon. Jika SYN / ACK dikirim kembali, port terbuka dan ujung remote mencoba untuk membuka koneksi TCP. Nmap kemudian mengirimkan RST untuk men-down-kan koneksi sebelum terbentuk koneksi; sehingga mencegah koneksi muncul di log aplikasi. Jika port ditutup, RST akan dikirim. Jika difilter, paket SYN akan di-drop dan tidak akan mengirim response. Dengan cara ini, Nmap dapat mendeteksi tiga status port, open, closed and filtered.

Half Open Connection adalah koneksi TCP yang tidak dibuka secara penuh (SYN-ACK-FIN), namun koneksi TCP berupa (SYN-ACK-RST). Contohnya, Anda mengirim paket SYN, seolah-olah Anda akan membuka koneksi sesungguhnya dan kemudian menunggu tanggapan. SYN / ACK menandakan port sedang listening (open), kemudian koneksi akan berstatus RST (reset) dimana tidak akan men-down-kan koneksi sebelum terbentuk koneksi.




2.      Dengan menggunakan referensi dari
http://www.sans.org/reading_room/whitepapers/hackers/fundamentals-computer-hacking_956, apa yang harus dilakukan oleh hacker untuk mengetahui informasi dari hosts target yang akan diserang?
Jawab: Mencari informasi korban atau foot printing dilakukan dengan menentukan ruang lingkup pencarian informasi, enumerasi jaringan, mengintrogasi DNS korban, melakukan pengintaian terhadap aktifitas jaringan korban.


C.  PERCOBAAN HPING
Kelompok kami belum melakukan praktek tentang HPING, sehingga kami meminta info pada teman di kelompok lain.
Untuk melakukan Scanning Host anda bisa melakukan perintah berikut :
# hping3 [ip_tujuan] --scan -p nomor_port -flag
-scan = scanning
-p = port tujuan atau bisa menggunakan suatu range untuk melihat port apa saja yang terbuka
-flag = flag yang digunakan dapat berupa SYN, PUSH, ACK, RST, dll.
perintah ini berguna untuk menscan port target host, agar dapat mengetahui port-port yang terbuka pada target host, apabila target membalas dengan flag SA maka port tersebut terbuka sedangkan apabila port target membalas dengan flag RA maka port tersebut tertutup.
1.      Scanning port yang aktif menggunakan hping3 scan dengan mendefinisikan range dari port yang ingin di scan, pada contoh adalah port 1 hingga 5000, dengan mengirimkan flag SYN kepada 10.252.108.16. Setelah itu akan tampak port yang aktif , yaitu port 22 dan port 80.



2.      Untuk mengetahui port port yang di scan dapat menambahkan flag -V pada perintah hping scan, pada contoh digunakan pada range port 1 hingga 100.







Pada IP Address 202.34.118.34



Ket: Dengan menggunakan scanning  port yang aktif akan terlihat flag .S..A… dan memberikan window size nya, sedangkan port yang tidak aktif akan menampilkan flag ..R.A… .

Perintah – perintah lain dalam hping3
Melakukan Perintah Testing ICMP pada HPing3 :
# hping3 -1 [ip_tujuan]
Perintah Traceroute dengan aplikasi HPing3 :
# hping3 --traceroute [ip_tujuan]
Untuk memeriksa port tertentu dengan mengirimkan paket syn ke port tertentu :
# hping3 -V -S -p 80 -s 5050 [ip_tujuan]
Memeriksa apakah host dalam keadaan hidup, sangat berguna jika ping [ICMP Port] di block :
# hping3 -c 1 -V -p 80 -s 5050 -A [ip_tujuan]
Untuk mengeping scann pada ukuran port tertentu lakukan perintah berikut : 
# hping3 -I wlan0 -S [ip_tujuan] -M 3000 -p ++21 --fast
Keterangan :
explore port 21 keatas dengan perintah -p ++21 (21,22,23,etc)
--fast option untuk mengatur kecepatan scanner.
-M 3000 setting TCP Sequence ke 3000 
# hping3 -I wlan0 -S [ip_tujuan] -p -c 3
Berikut ini melakukan perintah TCP XMAST Scan dengan aplikasi HPing3 :
# hping3 -c 1 -V -p 80 -s 5050 -M 0 -UPF [ip_tujuan]
Set Suqence number ke 0 dan set URG + PSH + FIN dalam paket sehingga jika port TCP pada mesin target dalam keadaan tertutup maka target mesin akan mereply TCP RST sedangkan jika terbuka maka akan sebaliknya.
Untuk melakukan Smurf Attack pada HPing3 : 
# hping3 -1 --flood -a [ip_tujuan] [BROADCAST_ADDRESS]
Melakukan DOS Land pada Hping3 bisa dilakukan dengan cara berikut :
# hping3 -V -c 1000000 -d 120 -S -w 64 -p 445 --flood --rand-source ip_tujuan
* --flood = send paket dalam keadaan cepat dan tidak menampilkan reply
*  --rand-dest = random destinasi address
* -V = Verbose
* -c --count = Paket Count
* -d --data = Data Size
* -S --syn = Set SYN Flag
* -w --win = winsize (default 64)
* -p --destport (+) (+) <port> destination port (default 0) ctrl+z inc/dec
* -s --baseport = Base Source Port (Default Random)

D.  KESIMPULAN
Nmap adalah sebuah tool open source untuk eksplorasi dan audit keamanan jaringan. Nmap menggunakan paket IP raw untuk mendeteksi host yang terhubung dengan jaringan dilengkapi dengan layanan (nama aplikasi dan versi) yang diberikan, sistem operasi (dan versi), apa jenis firewall/filter paket yang digunakan, dan sejumlah karakteristik lainnya.
Output Nmap adalah sebuah daftar target host yang diperiksa dan informasi tambahan sesuai dengan opsi yang digunakan. Berikut adalah beberapa informasi tambahan yang menarik untuk ditelaah :
  • nomor port
  • service
  • status port : terbuka (open), difilter (filtered), tertutup (closed), atau tidak difilter
  • (Unfiltered).
  • nama reverse DNS
  • prakiraan sistem operasi
  • jenis device, dan
  • alamat MAC.
Terdapat banyak parameter yang disediakan oleh nmap untuk melakukan footprinting yaitu dengan pencarian informasi, enumerasi jaringan, mengintrogasi DNS korban, melakukan pengintaian terhadap aktifitas jaringan korban. Pada praktikum kali ini, kelompok kami hanya mempraktekkan beberapa saja.

Selain nmap, kita juga bisa menggunakan hping3. Hping3 juga memiliki banyak option yang bisa digunakan.  hping3 adalah aplikasi yang hampir sama kegunaanya dengan command ping, tetapi hping3 dapat juga mengirimkan paket TCP, UDP, ICMP dan RAW IP protocols. Hping3 memungkinkan user membuat script yang cukup rumit dan akan membantu user untuk mensimulasikan lalu lintas jaringan pada firewall dan pendeteksian penyusup pada sistem user. Hping dapat digunakan untuk berbagai keperluan seperti : Firewall testing, Port scanning, host scanning, Network testing dengan menggunakan protokol yang berbeda-beda, Remote uptime guessing, TCP/IP stacks auditing, Traceroute.

0 comments