GNU/Linux >> Belajar Linux >  >> Linux

Inilah semua yang dapat Anda lakukan dengan Nmap – Contoh Perintah

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::/8                    

Simpan keluaran Nmap ke file teks

$ nmap -oN nmap_text.txt 14.0.0.6

Simpan keluaran Nmap sebagai XML

$ nmap -oX nmap_xml.xml 14.0.0.6

Simpan keluaran dalam format untuk grep

$ nmap -oG nmap_grep.txt 14.0.0.6

Simpan keluaran Nmap dalam semua format

$ nmap -oA allformats_file 14.0.0.6

Nmap dengan GUI

Unduh Zenmap (atau) instal menggunakan apt-get/yum

$ sudo apt-get install zenmap


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah Nohup dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah sortir Linux dengan Contoh

  3. Perintah Echo di Linux (Dengan Contoh)

  1. Perintah man di Linux dengan Contoh

  2. Perintah AWK di Linux dengan Contoh

  3. 20 Contoh Perintah Nmap yang Luar Biasa di Linux