Nmap adalah network mapper open source yang memungkinkan seseorang untuk memindai jaringan host, layanan, melakukan penilaian keamanan dan audit. Perintah yang berguna ini dilengkapi dengan banyak opsi dan kemampuan, tetapi Anda harus memiliki keahlian dalam menggunakannya. Dalam tutorial ini, saya akan mencoba memperkenalkan beberapa contoh perintah yang dapat membantu Anda mengidentifikasi kemungkinan titik rentan di host, seluruh subnet, sistem operasi dan deteksi versi layanan, daftar layanan, antarmuka, rute, identifikasi mac, dll…
Jadi, ini dia.
Beberapa varian Linux mungkin tidak disertakan dengan nmap diinstal, sehingga Anda dapat menginstalnya menggunakan yum atau apt-get tergantung pada sistem operasi yang Anda gunakan.
# yum install nmap
atau
# apt-get install nmap
Mari kita mulai dengan memindai satu host:
Memindai satu alamat IP (tanpa root)
$ nmap 14.0.0.6
Contoh keluaran:
Host aktif (latensi 0,00035s). Tidak ditampilkan:999 port tertutup LAYANAN NEGARA PORT22/tcp buka sshNmap selesai:1 alamat IP (1 host naik) dipindai dalam 1,50 detik
Memindai beberapa alamat IP (tanpa root)
$ nmap 14.0.0.6 14.0.0.5
Memindai beberapa alamat IP menggunakan koma sebagai pembatas
$ nmap 14.0.0.6,5
Perintah di atas akan memindai alamat IP 14.0.0.5 dan 14.0.0.6
Memindai rentang alamat IP (tanpa root)
$ nmap 14.0.0.1-5
Perintah di atas akan memindai alamat IP mulai dari 14.0.0.1 hingga 14.0.0.5
Memindai alamat IP menggunakan wild-card (tanpa root)
$ nmap 14.0.0.*
Memindai semua alamat IP dalam subnet
$ nmap 14.0.0.0/24
Memindai host menggunakan nama domain
$ nmap www.example.com
Memindai host yang membaca dari file teks
$ cat host-list.txt 14.0.0.1 www.example.com 14.0.0.2
$ nmap -iL host-list.txt
Memindai subnet tidak termasuk alamat IP tertentu
$ nmap 14.0.0.0/24 --exclude 14.0.0.1
Pindai subnet yang tidak termasuk daftar alamat IP
$ nmap 14.0.0.0/24 --tidak termasuk 14.0.0.1,2
Pindai subnet yang tidak termasuk daftar alamat IP dari sebuah file
$ cat kecualikan-ips.txt14.0.0.1,2,3,4,5
$ nmap 14.0.0.0/24 --excludefileexclude-ips.txt
Identifikasi nama host semua IP dalam subnet (tanpa root)
$ nmap -sL 14.0.0.0/24
Lakukan sapuan PING
Ping sweep umumnya digunakan untuk mengetahui host mana yang hidup dalam jaringan. Ping sweep dapat digunakan jika Anda ingin memindai sejumlah besar host dalam suatu jaringan.
# nmap -sP 14.0.0.6
Pindai satu port dari alamat IP atau host tertentu (tanpa root)
$ nmap -p 22 14.0.0.6
Contoh keluaran:
Host aktif (latency 0,00066s).PORT STATE SERVICE22/tcp open sshNmap selesai:1 alamat IP (1 host up) dipindai dalam 0,47 detik
Pindai berbagai port (tanpa root)
$ nmap -p 15-23 14.0.0.6
Contoh keluaran:
PORT STATE SERVICE15/tcp closed netstat16/tcp closed unknown17/tcp closed qotd18/tcp closed unknown19/tcp closed chargen20/tcp closed ftp-data21/tcp closed ftp22/tcp open ssh23/tcp closed telnet
Lakukan pemindaian cepat port (100 port paling umum) (tanpa root)
$ nmap -F 14.0.0.6
Pindai $jumlah port teratas (tanpa root)
$ nmap --top-ports 10 14.0.0.6
$ nmap --top-ports 2 14.0.0.6
Pindai semua port (tanpa root)
$ nmap -p- 14.0.0.6
Perintah di atas akan memindai semua 65535 port dari alamat IP yang diberikan.
Mendeteksi informasi OS dan Layanan dari host jarak jauh (tanpa root)
$ nmap -A 14.0.0.6
Contoh keluaran:
Memulai Nmap 7.01 ( https://nmap.org ) pada 11-07-2016 06:34 Host UTC habis (latensi 0,00029 detik). Tidak ditampilkan:999 port tertutup PORT VERSI LAYANAN NEGARA 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; protokol 2.0) :::::::::::::::::::
Deteksi layanan (tanpa root)
$ nmap -sV 14.0.0.6
Deteksi layanan agresif (tanpa root)
Perintah Nmap bergantung pada metode yang berbeda untuk mendeteksi sistem operasi dan informasi layanan. Deteksi layanan agresif sangat membantu ketika layanan berjalan pada port yang tidak biasa (misalnya, SSH diharapkan mendengarkan pada port 22, tetapi host jarak jauh mungkin menjalankan layanan pada port yang berbeda). Deteksi layanan agresif lebih lambat daripada deteksi layanan normal, karena layanan berikutnya mendapatkan informasi dari spanduk layanan.
$ nmap -sV --version-intensity 5 14.0.0.6
Contoh keluaran:
Host aktif (latensi 0,00044s).Tidak ditampilkan:999 port tertutupPORT LAYANAN NEGARA VERSI22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; protokol 2.0)Info Layanan:OS:Linux; CPE:cpe:/o:linux:linux_kernelDeteksi layanan dilakukan. Harap laporkan hasil yang salah di https://nmap.org/submit/
Mendeteksi Sistem Operasi (root)
Contoh deteksi layanan di atas akan mengungkapkan informasi sistem operasi. Anda juga dapat menebak sistem operasi dan versinya menggunakan perintah di bawah ini.
Catatan:Deteksi OS memerlukan hak akses root.
$ nmap -O 14.0.0.6TCP/IP sidik jari (untuk pemindaian OS) memerlukan hak akses root.BERHENTI!
# nmap -O 14.0.0.6
# nmap -O --osscan-guess 14.0.0.6Memulai Nmap 7.01 ( https://nmap.org ) pada 11-07-2016 08:39 UTCHost sudah habis (latensi 0,00035s).Tidak ditampilkan:999 ditutup portsPORT STATE SERVICE22/tcp open sshTebakan OS agresif:Linux 3.1 (93%), Linux 3.2 (93%), AXIS 210A atau 211 Network Camera (Linux 2.6.17) (92%), Android 5.0.2 (92%), Android 5.1 (92%), Linux 3.0 (92%), Linux 3.11 (92%), Linux 3.12 (92%), Linux 3.12 - 3.19 (92%), Linux 3.13 (92%)
# nmap -v -O --osscan-guess 14.0.0.6
Mendeteksi apakah suatu host dilindungi oleh firewall (root)
Saat firewall dinonaktifkan di host jarak jauh, nmap memindai semua port dan mengatakan port tersebut tidak difilter seperti yang ditunjukkan di bawah ini:
# nmap -sA 14.0.0.6Host aktif (latency 0,00042s).Semua 1000 port yang dipindai di henry2.cloudsecurity.in (14.0.0.6) tidak difilter
Saat firewall diaktifkan di host jarak jauh, nmap mengatakan port difilter:
# nmap -sA 14.0.0.6Nmap scan report for henry2.cloudsecurity.in (14.0.0.6)Host naik (latency 0,00045s).Semua 1000 port yang dipindai di henry2.cloudsecurity.in (14.0.0.6) difilter
Memindai menggunakan skrip NSE
Ada sekitar 400+ NSE (Nmap S menyalin E ngine) skrip yang dapat digunakan dengan nmap dan setiap skrip dilengkapi dengan dokumentasi yang baik. Untuk mengidentifikasi daftar skrip yang diinstal di mesin Anda, jalankan perintah di bawah ini:
# cari nse |grep script ::::::::::::::::::::/usr/share/nmap/scripts/ssl-enum-ciphers.nse /usr/share /nmap/scripts/ssl-google-cert-catalog.nse /usr/share/nmap/scripts/ssl-heartbleed.nse /usr/share/nmap/scripts/ssl-known-key.nse /usr/share/nmap /scripts/ssl-poodle.nse /usr/share/nmap/scripts/sslv2.nse /usr/share/nmap/scripts/sstp-discover.nse /usr/share/nmap/scripts/stun-info.nse /usr /share/nmap/scripts/stun-version.nse /usr/share/nmap/scripts/stuxnet-detect.nse /usr/share/nmap/scripts/supermicro-ipmi-conf.nse /usr/share/nmap/scripts /svn-brute.nse /usr/share/nmap/scripts/targets-asn.nse /usr/share/nmap/scripts/targets-ipv6-map4to6.nse /usr/share/nmap/scripts/targets-ipv6-multicast -echo.nse /usr/share/nmap/scripts/targets-ipv6-multicast-invalid-dst.nse /usr/share/nmap/scripts/targets-ipv6-multicast-mld.nse /usr/share/nmap/scripts /targets-ipv6-multicast-slaac.nse /usr/share/nmap/scripts/targets-ipv6-wordlist.nse /usr/share/nmap/scripts/targets-sniffer.nse /usr/share/nmap/scripts/tar get-traceroute.nse /usr/share/nmap/scripts/targets-xml.nse ::::::::::::
DNS Brute force untuk mengidentifikasi subdomain dari domain tertentu (tanpa root)
nmap memungkinkan seseorang untuk mengidentifikasi daftar sub-domain untuk host tertentu. Mengidentifikasi sub-domain dari sebuah host dapat mengungkapkan target baru saat melakukan penilaian keamanan. Untuk melakukannya, dns-brute.nse skrip harus digunakan.
$ nmap -p 80 --script dns-brute.nse contoh.com
Contoh keluaran:
PORT STATE SERVICE80/tcp buka hasil skrip httpHost:| dns-brute:| Nama host DNS Brute-force:| www.example.com - 93.184.216.34|_ www.example.com - 2606:2800:220:1:248:1893:25c8:1946
Mengidentifikasi host virtual pada host tertentu (tanpa root)
Nama domain yang diberikan dapat meng-host beberapa situs web menggunakan fitur host virtual dari server web. Anda dapat mengidentifikasi host virtual menggunakan hostmap-bfk.nse naskah.
$ nmap -p 80 --script hostmap-bfk.nse nmap.org Hasil skrip host:| hostmap-bfk:| tuan rumah:| mail.nmap.org | 45.33.49.119 | 119.49.33.45.in-addr.arpa | ack.nmap.org | sectools.org | svn.nmap.org | tidak aman.com | mail.seclists.org | seclists.org | mirror.sectools.org | www.insecure.org | nmap.org | tidak aman.org | www.nmap.org |_ www.insecure.com
Identifikasi lokasi geografis dari host yang diberikan
# nmap --traceroute --script traceroute-geolocation.nse -p 80 example.com
Contoh keluaran:
::::::::::::::::Hasil skrip host:| traceroute-geolocation:| Hop RTT Alamat Geolokasi | 1 0.44 14.0.0.1 23.113 China (Guangdong) | 2 0.88 10.180.141.1 -, - | 3 1.58 144.16.192.34 20,77 India () | 4 1.87 14.139.1.30 20,77 India () | 5 1.61 10.118.248.45 -, - | 6 11.62 10.161.18.5 -, - | 7 ...| 8 13.32 10.255.221.34 -, - | 9 14.71 115.249.209.6 18,72 India (mah \ xc4 \ x81r \ xc4 \ x81shtra) | 10 ...| 11 ...| 12 ...| 13 293.92 xe-3-0-6.0.cjr01.sin001.flagtel.com (62.216.129.201) 14 293.77 ge-2-0-0.0.pjr01.hkg005.flagtel.com.25.95.85.in-addr.arpa (85,9 ) . 15 168.70 so-1-0-0.0.pjr01.wad001.flagtel.com (85.95.25.193) 16 168.13 so-2-2-0.0.pjr01.wad001.flagtel.com (85.95.25.37) 168.13 so-2-2-0.0.pjr01.wad001.flagtel.com (85.95.25.37) 17 293.97 so-2-1-0.0.pjr01.lax002.flagtel.com (85.95.25.17) 18 275.17 any2ix.coresite.com (206.223.143.232) 38, -97 Amerika Serikat () | _ 19 295.32 93.184.216.34 42, -70 Amerika Serikat (Massachusetts) ::::::::::::::::::::::::::::::::::::
Misalnya, identifikasi daftar skrip terkait HTTP:
# cari nse |grep http /usr/share/nmap/nselib/http.lua /usr/share/nmap/nselib/httpspider.lua /usr/share/nmap/nselib /data/http-default-accounts-fingerprints.lua /usr/share/nmap/nselib/data/http-devframework-fingerprints.lua /usr/share/nmap/nselib/data/http-fingerprints.lua /usr/share /nmap/nselib/data/http-folders.txt /usr/share/nmap/nselib/data/http-sql-errors.lst /usr/share/nmap/nselib/data/http-web-files-extensions.lst /usr/share/nmap/scripts/http-adobe-coldfusion-apsa1301.nse /usr/share/nmap/scripts/http-affiliate-id.nse /usr/share/nmap/scripts/http-apache-negotiation.nse /usr/share/nmap/scripts/http-auth-finder.nse /usr/share/nmap/scripts/http-auth.nse /usr/share/nmap/scripts/http-avaya-ipoffice-users.nse /usr /share/nmap/scripts/http-awstatstotals-exec.nse /usr/share/nmap/scripts/http-axis2-dir-traversal.nse /usr/share/nmap/scripts/http-backup-finder.nse /usr /share/nmap/scripts/http-barracuda-dir-traversal.nse /usr/share/nmap/scripts/http-brute.nse /usr/ share/nmap/scripts/http-cakephp-version.nse /usr/share/nmap/scripts/http-chrono.nse /usr/share/nmap/scripts/http-cisco-anyconnect.nse /usr/share/nmap/ scripts/http-coldfusion-subzero.nse /usr/share/nmap/scripts/http-comments-displayer.nse /usr/share/nmap/scripts/http-config-backup.nse /usr/share/nmap/scripts/ http-cors.nse /usr/share/nmap/scripts/http-cross-domain-policy.nse /usr/share/nmap/scripts/http-csrf.nse /usr/share/nmap/scripts/http-date. nse /usr/share/nmap/scripts/http-default-accounts.nse /usr/share/nmap/scripts/http-devframework.nse /usr/share/nmap/scripts/http-dlink-backdoor.nse /usr/ share/nmap/scripts/http-dombased-xss.nse /usr/share/nmap/scripts/http-domino-enum-passwords.nse /usr/share/nmap/scripts/http-drupal-enum-users.nse / usr/share/nmap/scripts/http-drupal-enum.nse /usr/share/nmap/scripts/http-enum.nse /usr/share/nmap/scripts/http-errors.nse /usr/share/nmap/ scripts/http-exif-spider.nse /usr/share/nmap/scripts/http-favicon.nse /usr/share/nmap/scripts/http-feed.nse /usr/ share/nmap/scripts/http-fetch.nse /usr/share/nmap/scripts/http-fileupload-exploiter.nse /usr/share/nmap/scripts/http-form-brute.nse /usr/share/nmap/ scripts/http-form-fuzzer.nse /usr/share/nmap/scripts/http-frontpage-login.nse /usr/share/nmap/scripts/http-generator.nse /usr/share/nmap/scripts/http- git.nse /usr/share/nmap/scripts/http-gitweb-projects-enum.nse ::::::::::::::::::::
Dari output di atas, Anda dapat menyalin nama skrip dan menggunakannya dengan –script pilihan.
Dapatkan informasi layanan HTTP (tanpa root)
Ada banyak skrip untuk mendapatkan informasi layanan HTTP seperti judul halaman web, header HTTP, menemukan berbagai jalur aplikasi web yang diketahui, dll…
$ nmap --script=http-title 14.0.0.5 Host aktif (latensi 0,0000070s).Tidak ditampilkan:998 port tertutupPORT LAYANAN NEGARA22/tcp buka ssh80/tcp buka http|_http-title:Apache2 Halaman Default Ubuntu:Berfungsi
Dapatkan informasi header HTTP (tanpa root)
$ nmap --script=http-headers 14.0.0.5PORT STATE SERVICE22/tcp buka ssh80/tcp buka http| http-headers:| Tanggal:Sen, 11 Jul 2016 07:08:05 GMT| Server:Apache/2.4.18 (Ubuntu)| Terakhir Dimodifikasi:Sen, 11 Jul 2016 07:04:49 GMT| ETag:"2c39-53756c49f4280"| Rentang Terima:byte| Konten-Panjang:11321| Variasikan:Terima-Encoding| Koneksi:tutup| Content-Type:text/html||_ (Jenis permintaan:HEAD)
Identifikasi jalur yang diketahui dari aplikasi web HTTP (tanpa root)
$ nmap --script=http-enum 14.0.0.580/tcp buka http| http-enum:|_ /server-status/:Folder yang berpotensi menarik
Mendeteksi kerentanan SSL Heartbleed (tanpa root)
Anda mungkin pernah mendengar tentang kerentanan SSL heartbleed. Perintah Nmap dapat digunakan untuk mendeteksi kerentanan ini seperti yang ditunjukkan di bawah ini:
nmap -sV -p 443 --script=ssl-heartbleed 14.0.0.0/24
Identifikasi whois dari nama domain (tanpa root)
$ nmap -sV --script=whois-domain.nse www.example.com
Contoh keluaran:
Hasil skrip host:| domain whois:|| Catatan nama domain ditemukan di whois.iana.org| % Server WHOIS IANA| % untuk informasi lebih lanjut tentang IANA, kunjungi http://www.iana.org| % Kueri ini mengembalikan 1 objek|| domain: CONTOH.COM|| organisasi:Internet Assigned Numbers Authority|| dibuat: 1992-01-01| sumber: IANA|_
Sin TCP dan Pemindaian UDP (root)
# nmap -sS -sU -PN 14.0.0.6
Perintah di atas akan memindai 2000 port TCP dan UDP umum. –PN permintaan opsi nmap untuk melewati pemindaian ping dan menganggap bahwa host sudah aktif. Opsi ini berguna ketika mesin jarak jauh mengaktifkan firewall dan menghapus semua paket ICMP.
Pemindaian koneksi TCP (tanpa root)
$ nmap -sT 14.0.0.6
Perintah di atas meminta OS untuk membuat koneksi TCP ke 1000 port umum alih-alih mengirim paket TCP SYN.
Memindai alamat IPv6 (tanpa root)
Semua contoh perintah di atas memindai alamat IPv4, tetapi Anda juga dapat memindai alamat IPv6. Untuk melakukannya, Anda perlu menggunakan opsi ‘-6 ' diikuti dengan alamat IPv6.
$ nmap -6 2001:db8:00:3eff:fe52:77
Mencantumkan Antarmuka dan rute host (tanpa root)
$ nmap --iflistMemulai Nmap 7.01 ( https://nmap.org ) pada 11-07-2016 09:53 UTC********************* ***ANTARMUKA************************DEV (PENDEK) IP/MASK TYPE UP MTU MAClo (lo) 127.0.0.1/8 loopback up 65536lo (lo) ::1/128 loopback up 65536ens3 (ens3) 14.0.0.5/24 ethernet up 1450 FA:16:3E:C0:14:5Fens3 (ens3) fe80:efff 1450 FA:16:3E:C0:14:5F***************************RUTE************ ***************DST/MASK DEV METRIC GATEWAY169.254.169.254/32 ens3 0 14.0.0.114.0.0.0/24 0 :1/128 lo 0fe80::f816:3eff:fec0:145f/128 lo 0fe80::/64 ens3 256ff00::/8Simpan keluaran Nmap ke file teks
$ nmap -oN nmap_text.txt 14.0.0.6Simpan keluaran Nmap sebagai XML
$ nmap -oX nmap_xml.xml 14.0.0.6Simpan keluaran dalam format untuk grep
$ nmap -oG nmap_grep.txt 14.0.0.6Simpan keluaran Nmap dalam semua format
$ nmap -oA allformats_file 14.0.0.6Nmap dengan GUI
Unduh Zenmap (atau) instal menggunakan apt-get/yum
$ sudo apt-get install zenmap
Cara menggunakan Sistem Audit di Linux – Konfigurasi, Log Audit, dan Hasilkan Laporan [OpenStack-Devstack]:Kesalahan:Layanan n-net tidak berjalan saat menjalankan stack.shLinux