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