No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 22: Line 22:


* Ikuti installer GUI-nya (biasanya disertai Zenmap, versi GUI Nmap)
* Ikuti installer GUI-nya (biasanya disertai Zenmap, versi GUI Nmap)
== Port Spesification ==
Dalam jaringan komputer, '''port''' ibarat pintu masuk/keluar untuk komunikasi data pada sebuah perangkat.
* '''Setiap layanan''' (seperti HTTP, FTP, DNS, SSH) berjalan pada port tertentu.
* '''Nmap''' adalah tools untuk melakukan '''port scanning''', yaitu mengecek pintu-pintu mana saja yang terbuka di sebuah perangkat.
Dengan tahu port mana yang terbuka, kita bisa mengidentifikasi layanan apa saja yang berjalan di host tersebut.
# '''<code>-p</code>'''  Contoh: <code>nmap 192.168.1.1 -p 21</code>  → Artinya scan hanya port '''21''' (biasanya untuk FTP).
#* Digunakan kalau kamu hanya ingin cek layanan tertentu.
# '''<code>-p 21-100</code>'''  → Artinya scan port dari '''21 sampai 100'''.
#* Cocok kalau kamu ingin tahu layanan dalam rentang tertentu.
# '''<code>-p U:53,T:21-25,80</code>'''  → Scan kombinasi '''UDP dan TCP'''.
#* <code>U:53</code> → scan port UDP 53 (DNS).
#* <code>T:21-25,80</code> → scan port TCP dari 21–25 dan port 80.
#* Jadi, bisa campur scan TCP dan UDP dalam satu perintah.
# '''<code>-p-</code>'''  → Artinya scan '''semua port (1–65535)'''.
#* Ini paling menyeluruh, tapi juga paling lama.
#* Cocok kalau kamu ingin benar-benar memastikan tidak ada port yang terlewat.
# '''<code>-p http,https</code>'''  → Scan berdasarkan '''nama service'''.
#* <code>http</code> = port 80
#* <code>https</code> = port 443
#* Jadi lebih gampang kalau kamu lupa nomor port tapi ingat nama servicenya.
# '''<code>-F</code>'''  → Fast scan (scan '''100 port populer''' saja).
#* Cepat, tapi tidak menyeluruh.
#* Cocok buat scanning cepat, misalnya troubleshooting.
# '''<code>--top-ports 2000</code>'''  → Scan '''2000 port yang paling sering digunakan''' di internet.
#* Nmap punya statistik port populer, jadi opsi ini pakai data tersebut.
# '''<code>-p-65535</code>'''  → Kalau awalnya dikosongkan, berarti scan mulai dari port 1 sampai port 65535.
#* Contoh: <code>nmap 192.168.1.1 -p-65535</code> = sama saja dengan <code>-p-</code>.
# '''<code>-p0-</code>'''  → Kalau akhir rentang dikosongkan, berarti scan dari port 0 sampai 65535.
#* Biasanya port mulai dari 1, tapi sebenarnya port 0 itu ada meskipun jarang dipakai.
== Target Specification (Spesifikasi Target) ==
Ini adalah bagian dari '''Nmap''', sebuah tools populer untuk melakukan '''port scanning''' dan '''network discovery'''.
Target Specification artinya kita bisa menentukan '''target mana yang akan kita scan'''.
1. '''Scan Single IP'''<syntaxhighlight lang="linuxconfig">
nmap 192.168.1.1
</syntaxhighlight>👉 Digunakan untuk scan '''1 alamat IP saja'''.
Misalnya, komputer/gateway dengan IP <code>192.168.1.1</code>.
2. '''Scan Specific IPs'''<syntaxhighlight lang="linuxconfig">
nmap 192.168.1.1 192.168.2.1
</syntaxhighlight>👉 Bisa scan '''beberapa IP sekaligus'''.
Contoh: Router pertama ada di <code>192.168.1.1</code>, router kedua ada di <code>192.168.2.1</code>.
3. '''Scan a Range'''<syntaxhighlight lang="linux-config">
nmap 192.168.1.1-254
</syntaxhighlight>👉 Nmap akan scan semua IP dari <code>192.168.1.1</code> sampai <code>192.168.1.254</code>.
Biasanya dipakai untuk memeriksa '''satu segmen jaringan lokal'''.
==== 4. '''Scan a Domain''' ====
<syntaxhighlight lang="linux-config">
nmap scanme.nmap.org
</syntaxhighlight>👉 Target bisa berupa '''nama domain''', bukan hanya IP.
Misalnya <code>scanme.nmap.org</code> adalah domain resmi dari Nmap untuk belajar scanning legal.
==== 5. '''Scan Using CIDR Notation''' ====
<syntaxhighlight lang="linux-config">
nmap 192.168.1.0/24
</syntaxhighlight>👉 CIDR <code>/24</code> artinya range IP dari <code>192.168.1.0</code> sampai <code>192.168.1.255</code>.
Ini cara lain selain menulis manual <code>1-254</code>.
==== 6. '''Scan Targets from a File''' ====
<syntaxhighlight lang="linux-config">
nmap -iL targets.txt
</syntaxhighlight>👉 Kalau banyak target, kita bisa simpan di file teks (contoh <code>targets.txt</code>) lalu scan semua yang ada di daftar itu.
==== 7. '''Scan Random Hosts''' ====
<syntaxhighlight lang="linux-config">
nmap -iR 100
</syntaxhighlight>👉 Nmap akan pilih '''100 host random''' di internet untuk di-scan.
Biasanya dipakai untuk '''eksperimen atau penelitian''' (tapi hati-hati, bisa dianggap ilegal kalau bukan jaringanmu sendiri).
==== 8. '''Exclude Listed Hosts''' ====
<syntaxhighlight lang="linux-config">
nmap -exclude 192.168.1.1
</syntaxhighlight>👉 Kadang kita mau scan seluruh jaringan, '''kecuali''' host tertentu.
Misalnya exclude <code>192.168.1.1</code> karena itu gateway penting yang tidak boleh diganggu.
== Service and Version Detection ==
Nmap bisa mencari port terbuka (scan port). Selain itu, Nmap juga bisa mencoba '''menentukan layanan apa''' yang berjalan pada port itu (mis. <code>http</code>, <code>ssh</code>) '''dan versinya''' (mis. <code>Apache 2.4.29</code>). Proses itu disebut '''service & version detection'''.
🔹<code>-sV</code>
* Contoh: <code>nmap -sV 192.168.1.1</code>
* Fungsi: Mencoba mengenali '''service''' dan '''versi''' pada port yang terbuka.
* Catatan: Ini melakukan ''banner grabbing'' dan beberapa probe (kirim paket tertentu lalu analisis respons) untuk mencocokkan pola layanan.
=== <code>--version-intensity <0-9></code> ===
* Contoh: <code>nmap -sV --version-intensity 8 192.168.1.1</code>
* Fungsi: Mengatur “tingkat agresivitas” pemeriksaan versi. Nilai dari '''0 (ringan)''' sampai '''9 (paling agresif)'''. Angka lebih tinggi → lebih banyak probe → kemungkinan deteksi benar lebih besar, tetapi:
** lebih lambat,
** lebih intrusif (mungkin memicu IDS/IPS),
** berpotensi membuat layanan terpengaruh di sistem rentan.
* Gunakan 7–9 hanya di lab atau dengan izin.
=== <code>--version-light</code> ===
* Contoh: <code>nmap -sV --version-light 192.168.1.1</code>
* Fungsi: Mode cepat, kirim sedikit probe → '''cepat''' tapi '''kurang akurat'''.
=== <code>--version-all</code> ===
* Contoh: <code>nmap -sV --version-all 192.168.1.1</code>
* Fungsi: Pakai hampir semua probe yang tersedia (mirip intensity=9 + semua probe) → '''paling mendalam''', tapi '''paling lambat & paling berisiko memicu alarm'''.
=== <code>-A</code> ===
* Contoh: <code>nmap -A 192.168.1.1</code>
* Fungsi: Scan “all-in-one” yang mengaktifkan '''OS detection''', '''version detection''', '''script scanning''', dan '''traceroute'''. Singkatnya: <code>-A</code> = <code>-O</code> + <code>-sV</code> + script scan + traceroute.
* Catatan penting: <code>-A</code> lebih menyeluruh tapi juga paling jelas terlihat (noisy). Jangan gunakan pada jaringan yang kamu tak punya izin.


== NSE (Nmap Scripting Engine) ==
== NSE (Nmap Scripting Engine) ==

Latest revision as of 08:10, 8 September 2025

Apa itu NMAP Edit

Nmap (Network Mapper) adalah tool open-source yang digunakan untuk:

  • Memindai jaringan (network scanning)
  • Menemukan host yang aktif (host discovery)
  • Mengetahui port yang terbuka (port scanning)
  • Mendeteksi layanan dan versinya (service detection)
  • Mendeteksi sistem operasi (OS detection)
  • Mengidentifikasi kerentanan (dengan bantuan Nmap Scripting Engine - NSE)

Nmap sangat populer digunakan oleh sysadmin, pentester, dan network engineer untuk pemetaan dan audit jaringan.

Instalasi NMAP Edit

Instalasi NMAP di OS Linux Debian/Ubuntu

sudo apt update
sudo apt install nmap

Instalasi NMAP di OS Linux RHEL/CentOS

sudo yum install nmap

Instalasi NMAP di OS Windows

  • Ikuti installer GUI-nya (biasanya disertai Zenmap, versi GUI Nmap)

Port Spesification Edit

Dalam jaringan komputer, port ibarat pintu masuk/keluar untuk komunikasi data pada sebuah perangkat.

  • Setiap layanan (seperti HTTP, FTP, DNS, SSH) berjalan pada port tertentu.
  • Nmap adalah tools untuk melakukan port scanning, yaitu mengecek pintu-pintu mana saja yang terbuka di sebuah perangkat.

Dengan tahu port mana yang terbuka, kita bisa mengidentifikasi layanan apa saja yang berjalan di host tersebut.

  1. -p Contoh: nmap 192.168.1.1 -p 21 → Artinya scan hanya port 21 (biasanya untuk FTP).
    • Digunakan kalau kamu hanya ingin cek layanan tertentu.
  2. -p 21-100 → Artinya scan port dari 21 sampai 100.
    • Cocok kalau kamu ingin tahu layanan dalam rentang tertentu.
  3. -p U:53,T:21-25,80 → Scan kombinasi UDP dan TCP.
    • U:53 → scan port UDP 53 (DNS).
    • T:21-25,80 → scan port TCP dari 21–25 dan port 80.
    • Jadi, bisa campur scan TCP dan UDP dalam satu perintah.
  4. -p- → Artinya scan semua port (1–65535).
    • Ini paling menyeluruh, tapi juga paling lama.
    • Cocok kalau kamu ingin benar-benar memastikan tidak ada port yang terlewat.
  5. -p http,https → Scan berdasarkan nama service.
    • http = port 80
    • https = port 443
    • Jadi lebih gampang kalau kamu lupa nomor port tapi ingat nama servicenya.
  6. -F → Fast scan (scan 100 port populer saja).
    • Cepat, tapi tidak menyeluruh.
    • Cocok buat scanning cepat, misalnya troubleshooting.
  7. --top-ports 2000 → Scan 2000 port yang paling sering digunakan di internet.
    • Nmap punya statistik port populer, jadi opsi ini pakai data tersebut.
  8. -p-65535 → Kalau awalnya dikosongkan, berarti scan mulai dari port 1 sampai port 65535.
    • Contoh: nmap 192.168.1.1 -p-65535 = sama saja dengan -p-.
  9. -p0- → Kalau akhir rentang dikosongkan, berarti scan dari port 0 sampai 65535.
    • Biasanya port mulai dari 1, tapi sebenarnya port 0 itu ada meskipun jarang dipakai.

Target Specification (Spesifikasi Target) Edit

Ini adalah bagian dari Nmap, sebuah tools populer untuk melakukan port scanning dan network discovery.

Target Specification artinya kita bisa menentukan target mana yang akan kita scan.

1. Scan Single IP

nmap 192.168.1.1

👉 Digunakan untuk scan 1 alamat IP saja.

Misalnya, komputer/gateway dengan IP 192.168.1.1.


2. Scan Specific IPs

nmap 192.168.1.1 192.168.2.1

👉 Bisa scan beberapa IP sekaligus.

Contoh: Router pertama ada di 192.168.1.1, router kedua ada di 192.168.2.1.


3. Scan a Range

nmap 192.168.1.1-254

👉 Nmap akan scan semua IP dari 192.168.1.1 sampai 192.168.1.254.

Biasanya dipakai untuk memeriksa satu segmen jaringan lokal.

4. Scan a Domain Edit

nmap scanme.nmap.org

👉 Target bisa berupa nama domain, bukan hanya IP.

Misalnya scanme.nmap.org adalah domain resmi dari Nmap untuk belajar scanning legal.

5. Scan Using CIDR Notation Edit

nmap 192.168.1.0/24

👉 CIDR /24 artinya range IP dari 192.168.1.0 sampai 192.168.1.255.

Ini cara lain selain menulis manual 1-254.

6. Scan Targets from a File Edit

nmap -iL targets.txt

👉 Kalau banyak target, kita bisa simpan di file teks (contoh targets.txt) lalu scan semua yang ada di daftar itu.

7. Scan Random Hosts Edit

nmap -iR 100

👉 Nmap akan pilih 100 host random di internet untuk di-scan.

Biasanya dipakai untuk eksperimen atau penelitian (tapi hati-hati, bisa dianggap ilegal kalau bukan jaringanmu sendiri).

8. Exclude Listed Hosts Edit

nmap -exclude 192.168.1.1

👉 Kadang kita mau scan seluruh jaringan, kecuali host tertentu.

Misalnya exclude 192.168.1.1 karena itu gateway penting yang tidak boleh diganggu.

Service and Version Detection Edit

Nmap bisa mencari port terbuka (scan port). Selain itu, Nmap juga bisa mencoba menentukan layanan apa yang berjalan pada port itu (mis. http, ssh) dan versinya (mis. Apache 2.4.29). Proses itu disebut service & version detection.

🔹-sV

  • Contoh: nmap -sV 192.168.1.1
  • Fungsi: Mencoba mengenali service dan versi pada port yang terbuka.
  • Catatan: Ini melakukan banner grabbing dan beberapa probe (kirim paket tertentu lalu analisis respons) untuk mencocokkan pola layanan.

--version-intensity <0-9> Edit

  • Contoh: nmap -sV --version-intensity 8 192.168.1.1
  • Fungsi: Mengatur “tingkat agresivitas” pemeriksaan versi. Nilai dari 0 (ringan) sampai 9 (paling agresif). Angka lebih tinggi → lebih banyak probe → kemungkinan deteksi benar lebih besar, tetapi:
    • lebih lambat,
    • lebih intrusif (mungkin memicu IDS/IPS),
    • berpotensi membuat layanan terpengaruh di sistem rentan.
  • Gunakan 7–9 hanya di lab atau dengan izin.

--version-light Edit

  • Contoh: nmap -sV --version-light 192.168.1.1
  • Fungsi: Mode cepat, kirim sedikit probe → cepat tapi kurang akurat.

--version-all Edit

  • Contoh: nmap -sV --version-all 192.168.1.1
  • Fungsi: Pakai hampir semua probe yang tersedia (mirip intensity=9 + semua probe) → paling mendalam, tapi paling lambat & paling berisiko memicu alarm.

-A Edit

  • Contoh: nmap -A 192.168.1.1
  • Fungsi: Scan “all-in-one” yang mengaktifkan OS detection, version detection, script scanning, dan traceroute. Singkatnya: -A = -O + -sV + script scan + traceroute.
  • Catatan penting: -A lebih menyeluruh tapi juga paling jelas terlihat (noisy). Jangan gunakan pada jaringan yang kamu tak punya izin.

NSE (Nmap Scripting Engine) Edit

NSE (Nmap Scripting Engine), adalah fitur tambahan di Nmap yang memungkinkan kita menjalankan script otomatis.

🔹 Script ini bisa dipakai untuk :

  • Mengumpulkan informasi (discovery),
  • Mengecek keamanan (vulnerability scanning),
  • Bahkan melakukan eksploitasi (hati-hati, ini intrusif).

Anggap saja NSE ini seperti “ekstensi” atau “add-on” di Nmap, biar Nmap jadi lebih pintar dan fleksibel.

🔹 -sC Edit

  • Contoh: nmap 192.168.1.1 -sC
  • Fungsi: Jalankan default scripts (sekumpulan script bawaan yang dianggap aman & berguna untuk deteksi awal).
  • Analogi: Seperti kalau kamu install aplikasi baru, lalu langsung pakai fitur standar/bawaannya. Aman, tapi tidak terlalu dalam.

🔹 -script default Edit

  • Contoh: nmap 192.168.1.1 --script default
  • Fungsi: Sama dengan -sC, yaitu jalankan default script.

Catatan: -sC dan --script default hasilnya identik. Tinggal pilih mau pakai singkat atau panjang.

🔹 -script=banner Edit

  • Contoh: nmap 192.168.1.1 --script=banner
  • Fungsi: Menjalankan 1 script saja, dalam hal ini script banner (untuk membaca informasi awal dari layanan, misalnya versi software).
  • Analogi: Seperti tanya “Siapa kamu?” ke server, lalu server menjawab: “Saya Apache 2.4.49.”

🔹 -script=http* Edit

  • Contoh: nmap 192.168.1.1 --script=http*
  • Fungsi: Menjalankan semua script yang diawali kata http (pakai wildcard *).
  • Analogi: Daripada panggil 1-1, ini seperti bilang: “Tolong jalankan semua script yang berhubungan dengan HTTP.”

🔹 -script=http,banner Edit

  • Contoh: nmap 192.168.1.1 --script=http,banner
  • Fungsi: Jalankan lebih dari 1 script (dalam contoh: http + banner).
  • Analogi: Seperti minta dua tugas sekaligus: “Cek server web-nya, sekalian baca bannernya juga.”

🔹 -script "not intrusive" Edit

  • Contoh: nmap 192.168.1.1 --script "not intrusive"
  • Fungsi: Jalankan script default tapi hilangkan script yang “intrusive” (bisa mengganggu atau memengaruhi target).
  • Analogi: Hanya “nanya baik-baik”, tidak mencoba “ngoprek” server target.

🔹 -script-args Edit

  • Contoh:
nmap --script snmp-sysdescr --script-args snmpcommunity=admin 192.168.1.1
  • Fungsi: Menjalankan script dengan parameter tambahan (argument).
  • Analogi: Seperti kasih password/akses khusus supaya script bisa bekerja dengan benar.

🔹 Contoh Situasi di Dunia Nyata Edit

Misalnya sekolahmu punya server 192.168.1.10:

  • Kalau kamu pakai -sC, kamu bisa tahu port apa yang terbuka, versi layanan, dan basic info.
  • Kalau kamu pakai --script=http*, kamu bisa cek apakah ada kerentanan HTTP (misalnya XSS, directory listing, dll).
  • Kalau pakai --script=banner, kamu bisa tahu software yang dipakai, misalnya “OpenSSH 7.9p1” → ini berguna untuk cek apakah butuh update.