Rabu, 15 Juni 2016

Network Scanning dan Network Probing

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.


 LANGKAH PERCOBAAN

Percobaan C.1. Network scan 
Langkah percobaan
1.      Merubah gateway menjadi 10.252.108.9


1.      Jalankan nmap dengan menggunakan option : -sL . 

Analisa :
Perintah nmap –sL digunakan untuk menampilkan semua alamat dalam cakupan target yang ditentukan.

a.       Ada berapa host yang sedang dalam keadaan beroperasi ?
Jawab :


Mencoba perintah nmap –sL pada satu host tertentu


3.  Jalankan nmap dengna menggunakan option : -sP


a.       Ada berapa host yang sedang dalam keadaan beroperasi ?
Jawab :
Terdapat 43 host yang sedang dalam keadaan beroperasi.



                   Mencoba perintah nmap –sP pada satu host tertentu


a.       Adakah perbedaan hasil dengan menggunakan option –sL ?  Sebutkan perbedaannya dan jelaskan maksud dari informasi tambahan yang muncul !
Jawab :
Terdapat perbedaan hasil antara nmap –sL dengan nmap –sP pada host yang sedang beroperasi. Pada perintah –sL tidak ada host yang sedang beroperasi sedangkan pada –sP terdapat banyak host yang sedang beroperasi. Kemudian terdapat informasi tambahan yang ditampilkan oleh perintah nmap –sP yaitu waktu untuk host dijalankan dan informasi MAC Address.
  

4. Tambahkan option “-v” pada percobaan 2.   




a.       Amati perbedaan hasil yang ada! Beri komentarmu!  
Jawab :
Pada perintah diatas, informasi yang ditampilkan dari host yang sedang aktif lebih banyak dari perintah sebelumnya. Terdapat infomasi waktu saat initiating dan Completed ARP Ping Scan. Juga ditampilkan waktu saat initiating dan Completed parallel DNS resolution. Kemudian ditampilkan juga darimana data tersebut dibaca (read data files from).

Percobaan C.2. Hosts scan 
Langkah percobaan
1. Lakukan pemindaian ke alamat host : scanmap.eepis-its.edu dengan memakai teknik pemindaian 




Pada hasil output diatas menampilkan port yang sedang terbuka pada host yang menjadi destination.



a.       -sV




Analisa :
Perintah –sV digunakan untuk mendeteksi versi nomer remote service (server/daemon).

2.        Catat dan bandingkan hasil dari kedua opsi diatas ! Beri komentarmu! 
Informasi yang ditampilkan oleh perintah -sV lebih lengkap dari perintah –F. Terdapat tembahan informasi VERSION pada port yang sedang terbuka. Informasi tentang Service yang digunakan juga ditampilkan disini.


Percobaan C.3. Hosts scan dengan menggunakan script yang telah disediakan oleh nmap
1. Dengan menggunakan  manual dari nmap :
a. Di folder mana, scripts nmaps disimpan dalam sistem
Direktori tersimpannya nmap terletak pada /usr/share/nmap/script.
b. jelaskan penggunaan dari scripts (-sC) ! 



Untuk menampilkan hostkey dari port yang sedang aktif. Opsi –sC hanya menjalankan nmap scan menggunakan default script saja atau setara dengan parameter –script=default.

2.      Lakukan pemindaian ke alamat host : scanmap.eepis-its.edu dengan menggunakan opsi –sC. Amati perbedaan hasil dari perintah yang dijalankan pada percobaan nomor 2. Jelaskan minimal tiga percobaan yang kamu peroleh !
Jawab :
Opsi –sC 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.


Percobaan C.4. Mencoba mengimplementasikan teknik-teknik scanning yang lain
1.      Teknik Xmas Scan dengan perintah #nmap –sX 10.252.108.16




Analisa :
Pada wireshark terlihat bahwa port pada source IP 10.252.108.105 mengirimkan FIN,PSH dan URG dan port destination merespon dengan RST,ACK. Hal ini merupakan ciri-ciri dari teknik scanning Xmas Scan. Respon yang diberikan oleh destination IP menjelaskan bahwa port destination IP sedang tertutup.

1.      Teknik Fin Scan dengan perintah #nmap –sF 10.252.108.16
            



Analisa :
Tampak pada wireshark, source IP 10.252.108.105 mengirimkan FIN kemudian direspon oleh dest IP 10.252.108.16 dengan RST,ACK. Hal ini menjelaskan bahwa port pada dest IP sedang tertutup. Ciri-ciri diatas menjelaskan teknik Fin Scan.


Percobaan C.5. Melakukan percobaan scanning dengan Hping3

Perbedaan Hping3 dengan nmap adalah Hping3 untuk protocol TCP/IP sedangkan nmap digunakan untuk protocol ICMP

1.      Mencoba Command Hping ACK scan on port 80





1.      Hasil wireshark Hping3 -1 10.252.108.8



1.      UDP scan on port 80
hping3 -2 10.252.108.16 –p 80



1.      SYN scan on port 50-60




1.      FIN,PUSH and URG scan on port 80




1.      Hping3 –S –p 80




1.      Hping3 -8 50-56 –S 10.252.108.16 -v



1.      Hping3 –F –p –U –p 80




TUGAS
1. Jalankan nmap dengan menggunakan teknik TCP half open atau dengan menggunakan opsi –sS. Amati paket anatara host anda dan hoist target dengan menggunakan wireshark.  Apakah yang dimaksud dengan half-open dengan melihat hasil dari analisa paket anda? Gambarkan diagram TCPnya
     Jawab :
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.
9.      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.
10.    Beri kesimpulan dari percobaan-percobaan yang telah anda lakukan diatas !
Jawab :
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.