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.
Mencoba perintah nmap –sP pada satu host tertentu
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.