Mempelajari NMAP adalah salah satu hal yang wajib bagi orang yang ingin terjun di dunia hacking. Ini adalah basic dari segala proses hacking. Dua pernyataan itu lah yang selalu disampaikan oleh pemula atau newbie waktu bertanya “bagaimana cara hacking?” di channel #neoteker IRC jaman dahulu kala.
Kenapa NMAP menjadi penting dalam proses awal pembelajaran hacking? Ya karena dari NMAP kita belajar untuk mengumpulkan informasi dan juga mempelajari teknik dasar ilmu jaringan (networking) yang merupakan prasyarat bagi seorang hacker. Lagi-lagi pernyataan ini adalah pernyataan yang paling sering kami dengar dan kami juga sampaikan dahulu. Mungkin ini bersumber dari artikel “The Conscience of a Hacker” yang ditulis oleh The Mentor. Artikel mana belakangan terkenal sebagai “Hacker Manifesto”.
Kali ini kami tidak ingin berpanjang lebar untuk menjelaskan mengenai NMAP atau menjelaskan kembali untuk yang beribu-ribu kali apa itu Hacker Manifesto. Kami hanya ingin berbagi video dan link bacaan yang menurut kami sangat baik untuk menjelaskan mengenai fungsi dari NMAP yang tidak hanya untuk keperluan hacking, tapi juga untuk keperluan audit jaringan internal kita sendiri.
Seandainya dahulu waktu masih jaman IRC sudah ada video ini, tentunya kami tidak perlu bersusah-susah untuk menjelaskan dan mengajari mengenai NMAP. Senangnya anak-anak jaman sekarang punya akses informasi yang lebih baik dan tersebar dibandingkan kami orang-orang tua jaman dahulu. Sudah seharusnya kalian lebih pintar dari kami, Nak…
Buat yang kurang suka menonton video karena terlalu mudah dan lebih suka membaca supaya terlihat lebih edgy, bisa men-download dan mempelajari NMAP Essential dari link ini. Bukunya ditulis dengan sangat baik dan disertai banyak contoh penggunaan. Kalau dulu kami banyak menggunakan contohnya untuk kegiatan hacking, sekarang sih lebih banyak untuk mengaudit jaringan sendiri..
Bagi yang ngga suka atau kurang paham bahasa Inggris dan juga malas membaca PDF dari link yang di atas, sekarang sudah banyakkkkk sekali tutorial dalam bahasa Indonesia yang menjelaskan dengan sangat baik mengenai NMAP dan fungsi dari NMAP. Lagi-lagi kami begitu malasnya untuk menjelaskan secara rinci, tapi kami akan berbagai beberapa command di NMAP yang cukup sering digunakan.
Pertama-tama cek dulu, di terminal kita sudah ada nmap atau belum?
root@sputnix:~# nmap
Command 'nmap' not found, but can be installed with:
snap install nmap # version 7.80, or
apt install nmap # version 7.80+dfsg1-2build1
See 'snap info nmap' for additional versions.
root@sputnix:~#
Kalau muncul informasi di atas, ya berarti NMAP-nya belum terinstall, coba ikuti cara installasi-nya tuh. Bisa via snap atau via apt. Kami cari yang paling mudah, pakai apt saja (kalau pakai snap sering kali snap-nya sendiri juga belum di-install, lama dan bikin males).
root@sputnix:~# apt install nmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap-common
Suggested packages:
liblinear-tools liblinear-dev ncat ndiff zenmap
The following NEW packages will be installed:
libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap nmap-common
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 5669 kB of archives.
After this operation, 26.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Jangan lupa tekan “y”, kalau ngga nanti nmap-nya ngga akan ter-insatall. Coba cek, NMAP-nya sudah ada atau belum?
root@sputnix:~# nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2020-07-13 03:29 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000050s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
Nah sudah ada nih. Command di atas juga sekalian mengecek port yang terbuka dalam jaringan kita apa saja. Kalau dari hasilnya terlihat bahwa yang terbuka adalah port 22 untuk menjalankan service SSH.
root@sputnix:~# nmap -O localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2020-07-13 03:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000067s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.65 seconds
penggunaam parameter -O di atas digunakan untuk melakukan pemeriksaan atasu sistem operasi yang digunakan dalam server kita atau server target yang dilakukan audit. Dari sini kita sudah sudah punya beberapa informasi mengenai sistem operasi dan port yang berjalan pada server. Ini ada contoh lain dari server Raspberry Pi kami.
root@raspberrypi:/home/pi# nmap -O 192.168.18.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2020-07-13 10:35 WIB
Nmap scan report for 192.168.18.1
Host is up (0.00048s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp filtered ssh
23/tcp filtered telnet
53/tcp open domain
80/tcp open http
MAC Address: 44:A1:91:46:BD:5B (Unknown)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.70%E=4%D=7/13%OT=53%CT=1%CU=30055%PV=Y%DS=1%DC=D%G=Y%M=44A191%T
OS:M=5F0BD6DD%P=arm-unknown-linux-gnueabihf)SEQ(SP=FD%GCD=1%ISR=10A%TI=Z%CI
OS:=I%TS=7)SEQ(SP=FD%GCD=1%ISR=10A%TI=Z%CI=I%II=I%TS=7)OPS(O1=M5B4ST11NW2%O
OS:2=M5B4ST11NW2%O3=M5B4NNT11NW2%O4=M5B4ST11NW2%O5=M5B4ST11NW2%O6=M5B4ST11)
OS:WIN(W1=3890%W2=3890%W3=3890%W4=3890%W5=3890%W6=3890)ECN(R=Y%DF=Y%T=40%W=
OS:3908%O=M5B4NNSNW2%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)
OS:T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%
OS:S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(
OS:R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R
OS:=Y%DFI=N%T=40%CD=S)
Network Distance: 1 hop
Nmap scan report for 192.168.18.9
Host is up (0.00016s latency).
All 1000 scanned ports on 192.168.18.9 are filtered
MAC Address: 70:3A:CB:CB:20:02 (Google)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hop
Nmap scan report for raspberrypi (192.168.18.10)
Host is up (0.000039s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 256 IP addresses (3 hosts up) scanned in 119.33 seconds
Dengan range IP address pemeriksaan yang lebih luas, ternyata terdeteksi beberapa open port lain yang lebih banyak. Dari command tersebut terlihat bahwa ada port terbuka di 22, 53, dan 80 yang merupakan common ports.
Penggunaan command ini biasanya kami lakukan setelah melakukan setting atau set up server pada yang akan berjalan pada masing-masing port tersebut. Untuk memastikan bahwa koneksi dari tempat lain sudah dapat dilakukan. Selanjutnya coba pakai fitur stealth scan dan juga mode aggressive dari NMAP, sebagai berikut:
# nmap -sS -O -v [IP Target]
Opsi di atas paling tidak akan menghasilkan informasi yang lebih lengkap (karena penggunaan opsi -v (verbose)), informasi mengenai sistem operasi dan juga stealh scan yang memeriksa apakah terjadi sinkronisasi SYNC secara diam-diam. Kalau mau pakai mode yang lebih agresif, silahkan gunakan opsi -A. Informasinya akan lebih lengkap lagi, bahkan sampai ada hasil traceroute-nya juga.