GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Hier ist alles, was Sie mit Nmap tun können – Befehlsbeispiele

Nmap ist ein Open-Source-Netzwerk-Mapper, der es einem ermöglicht, das Netzwerk von Hosts und Diensten zu scannen, Sicherheitsbewertungen und Audits durchzuführen. Dieser nützliche Befehl bietet viele Optionen und Funktionen, aber Sie müssen über Erfahrung mit seiner Verwendung verfügen. In diesem Tutorial werde ich versuchen, einige Befehlsbeispiele vorzustellen, die Ihnen helfen können, mögliche Schwachstellen in den Hosts, im gesamten Subnetz, bei der Erkennung von Betriebssystem- und Dienstversionen, der Auflistung von Diensten, Schnittstellen, Routen, Mac-Identifikation usw. zu identifizieren. P>

Also los geht's.

Einige der Linux-Varianten werden möglicherweise nicht mit nmap geliefert installiert, sodass Sie es mit yum installieren können oder apt-get je nach verwendetem Betriebssystem.

# yum installiere nmap

oder

# apt-get install nmap

Beginnen wir mit dem Scannen eines einzelnen Hosts:

Scannen einer einzelnen IP-Adresse (kein Root)

$nmap 14.0.0.6

Beispielausgabe:

Host ist aktiv (0,00035 s Latenzzeit). Nicht angezeigt:999 geschlossene PortsPORT STATE SERVICE22/tcp open sshNmap done:1 IP address (1 host up) scanned in 1,50 Sekunden

Mehrere IP-Adressen scannen (kein Root)

$ nmap 14.0.0.6 14.0.0.5

Scannen mehrerer IP-Adressen mit Komma als Trennzeichen

$ nmap 14.0.0.6,5 

Der obige Befehl scannt die IP-Adressen 14.0.0.5 und 14.0.0.6

Scanbereich von IP-Adressen (kein Root)

$nmap 14.0.0.1-5

Der obige Befehl scannt IP-Adressen von 14.0.0.1 bis 14.0.0.5

Scannen der IP-Adresse mit Wildcard (kein Root)

$ nmap 14.0.0.*

Alle IP-Adressen in einem Subnetz scannen

$nmap 14.0.0.0/24

Scannen eines Hosts unter Verwendung des Domänennamens

$ nmap www.example.com

Hosts scannen, die aus einer Textdatei lesen

$ cat host-list.txt 14.0.0.1 www.example.com 14.0.0.2
$ nmap -iL host-list.txt

Scannen eines Subnetzes ohne eine bestimmte IP-Adresse

$ nmap 14.0.0.0/24 – 14.0.0.1 ausschließen

Scannen Sie ein Subnetz ohne Liste von IP-Adressen

$ nmap 14.0.0.0/24 – 14.0.0.1,2 ausschließen

Scannen Sie ein Subnetz ohne die Liste der IP-Adressen aus einer Datei

$ cat Exclude-ips.txt14.0.0.1,2,3,4,5
$ nmap 14.0.0.0/24 --excludefile Exclude-ips.txt

Hostnamen aller IPs in einem Subnetz identifizieren (kein Root)

$ nmap -sL 14.0.0.0/24

PING-Sweep durchführen

Ping-Sweep wird im Allgemeinen verwendet, um herauszufinden, welche Hosts im Netzwerk aktiv sind. Ping-Sweep kann verwendet werden, wenn Sie eine große Anzahl von Hosts in einem Netzwerk scannen möchten.

# nmap -sP 14.0.0.6

Scannen Sie einen einzelnen Port einer bestimmten IP-Adresse oder eines bestimmten Hosts (kein Root)

$ nmap -p 22 14.0.0.6

Beispielausgabe:

Host ist aktiv (0,00066 s Latenz).PORT   STATE SERVICE22/tcp open  sshNmap done:1 IP-Adresse (1 Host aktiv) in 0,47 Sekunden gescannt

Scannen Sie eine Reihe von Ports (kein Root)

$ nmap -p 15-23 14.0.0.6

Beispielausgabe:

PORT   STATE  SERVICE15/tcp geschlossen netstat16/tcp geschlossen unknown17/tcp geschlossen qotd18/tcp geschlossen unknown19/tcp geschlossen chargen20/tcp geschlossen ftp-data21/tcp geschlossen ftp22/tcp geöffnet   ssh23/tcp geschlossen telnet

Führen Sie einen schnellen Scan der Ports durch (100 gebräuchlichste Ports) (kein Root)

$ nmap -F 14.0.0.6

Obere $Anzahl von Ports scannen (kein Root)

$ nmap --top-ports 10 14.0.0.6
$ nmap --top-ports 2 14.0.0.6

Alle Ports scannen (kein Root)

$ nmap -p- 14.0.0.6

Der obige Befehl scannt alle 65535 Ports einer bestimmten IP-Adresse.

Erkennen von Betriebssystem- und Dienstinformationen eines Remote-Hosts (kein Root)

$ nmap -A 14.0.0.6

Beispielausgabe:

Start von Nmap 7.01 ( https://nmap.org ) um 2016-07-11 06:34 UTC Host ist aktiv (0,00029 s Latenz). Nicht gezeigt:999 geschlossene Ports PORT   STATE SERVICE VERSION 22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; Protokoll 2.0) ::::::::::::::::::::

Diensterkennung (kein Root)

$ nmap -sV 14.0.0.6

Erkennung aggressiver Dienste (kein Root)

Der Nmap-Befehl stützt sich auf verschiedene Methoden, um Betriebssystem- und Dienstinformationen zu erkennen. Die aggressive Diensterkennung ist hilfreich, wenn der Dienst auf einem ungewöhnlichen Port ausgeführt wird (z. B. soll SSH auf Port 22 lauschen, aber der Remote-Host könnte den Dienst auf einem anderen Port ausführen). Die aggressive Service-Erkennung ist langsamer als die normale Service-Erkennung, da man später die Informationen aus den Service-Bannern erhält.

$ nmap -sV --version-intensity 5 14.0.0.6

Beispielausgabe:

Host ist aktiv (0,00044 s Latenzzeit). Nicht angezeigt:999 geschlossene PortsPORT   STATE SERVICE VERSION22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu1 (Ubuntu Linux; Protokoll 2.0)Serviceinfo:Betriebssystem:Linux; CPE:cpe:/o:linux:linux_kernelService-Erkennung durchgeführt. Bitte melden Sie falsche Ergebnisse unter https://nmap.org/submit/

Erkennen des Betriebssystems (Root)

Das obige Beispiel zur Diensterkennung zeigt die Betriebssysteminformationen an. Es ist auch möglich, das Betriebssystem und seine Version mit dem folgenden Befehl zu erraten.

Hinweis:Die Betriebssystemerkennung erfordert Root-Rechte.

$ nmap -O 14.0.0.6TCP/IP-Fingerprinting (für OS-Scan) erfordert Root-Rechte. BEENDEN!
# nmap -O 14.0.0.6
# nmap -O --osscan-guess 14.0.0.6Start von Nmap 7.01 ( https://nmap.org ) um 2016-07-11 08:39 UTCHost ist aktiv (0,00035 s Latenzzeit). Nicht angezeigt:999 geschlossen portsPORT   STATE SERVICE22/tcp open  sshAggressive Betriebssystemschätzungen:Linux 3.1 (93 %), Linux 3.2 (93 %), AXIS 210A oder 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

Erkennen, ob ein Host durch eine Firewall (Root) geschützt ist

Wenn die Firewall auf dem Remote-Host deaktiviert ist, wird die nmap scannt alle Ports und sagt, dass sie ungefiltert sind, wie unten gezeigt:

# nmap -sA 14.0.0.6Host ist aktiv (0,00042s Latenz).Alle 1000 gescannten Ports auf henry2.cloudsecurity.in (14.0.0.6) sind ungefiltert 

Wenn die Firewall auf dem Remote-Host aktiviert ist, wird die nmap besagt, dass Ports gefiltert werden:

# nmap -sA 14.0.0.6Nmap-Scanbericht für henry2.cloudsecurity.in (14.0.0.6) Host ist aktiv (0,00045 s Latenzzeit).Alle 1000 gescannten Ports auf henry2.cloudsecurity.in (14.0.0.6) werden gefiltert 

Scannen mit NSE-Skripten

Es gibt etwa 400+ NSE (Nmap S E schreiben ngine)-Skripte, die mit nmap verwendet werden können und jedes Skript wird mit einer guten Dokumentation geliefert. Führen Sie den folgenden Befehl aus, um die Liste der auf Ihrem Computer installierten Skripts zu identifizieren:

# lokalisiere 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 gets-traceroute.nse /usr/share/nmap/scripts/targets-xml.nse :::::::::::::

DNS Brute Force zum Identifizieren von Unterdomänen einer bestimmten Domäne (kein Root)

nmap ermöglicht es, die Liste der Subdomains für einen bestimmten Host zu identifizieren. Das Identifizieren von Subdomänen eines Hosts kann neue Ziele aufdecken, während eine Sicherheitsbewertung durchgeführt wird. Dazu dns-brute.nse Skript muss verwendet werden.

$ nmap -p 80 --script dns-brute.nse example.com

Beispielausgabe:

PORT   STATE SERVICE80/tcp open  httpHost script results:| dns-brute:| DNS-Brute-Force-Hostnamen:| www.example.com – 93.184.216.34|_    www.example.com – 2606:2800:220:1:248:1893:25c8:1946

Virtuelle Hosts auf einem bestimmten Host identifizieren (kein Root)

Der angegebene Domain-Name kann mehrere Websites hosten, indem die virtuellen Hosts der Webserver verwendet werden. Sie können virtuelle Hosts mit hostmap-bfk.nse identifizieren Skript.

$ nmap -p 80 --script hostmap-bfk.nse nmap.org Ergebnisse des Host-Skripts:| hostmap-bfk:| Gastgeber:| mail.nmap.org | 45.33.49.119 | 119.49.33.45.in-adr.arpa | ack.nmap.org | sectools.org | svn.nmap.org | unsicher.com | mail.seclists.org | seclists.org | mirror.sectools.org | www.insecure.org | nmap.org | unsicher.org | www.nmap.org |_    www.insecure.com

Identifizieren Sie den geografischen Standort eines bestimmten Hosts

# nmap --traceroute --script traceroute-geolocation.nse -p 80 example.com

Beispielausgabe:

:::::::::::::::::Ergebnisse des Hostskripts:| Traceroute-Geolokalisierung:| HOP RTT -Adresse Geolocation | 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 Indien (Mah \ xc4 \ x81r \ xc4 \ x81shtra) | 10   ...| 11   ...| 12   ...| 13 293.92 XE-3-0-6.0.cjr01.sin001.flagtel.com (62.216.129.201) 51,0 Großbritannien () | 14 293.77 GE-2-0-0.0.PJR01.HKG005.FLAGTEL.COM.25.95.85.in-addr.arpa (85.9 5.25.41) 51,0 Großbritannien () | 15 168.70 SO-1-0-0.0.PJR01.WAD001.FLAGTEL.COM (85.95.25.193) 51,0 Großbritannien () | 16 168.13 SO-2-2-0.0.PJR01.WAD001.FLAGTEL.COM (85.95.25.37) 51,0 Großbritannien () | 17 293.97 SO-2-1-0.0.PJR01.LAX002.FLAGTEL.COM (85.95.25.17) 51,0 Großbritannien () | 18 275.17 Any2ix.coresit.com (206.223.143.232) 38, -97 United States () | _ 19 295.32 93.184.216.34 42, -70 Vereinigte Staaten (Massachusetts):::::::::::::::::::::

Identifizieren Sie beispielsweise eine Liste mit HTTP-bezogenen Skripts:

# lokalisiere 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 ::::::::::::::::::::::

Aus der obigen Ausgabe können Sie den Skriptnamen kopieren und mit –script verwenden Option.

Informationen zum HTTP-Dienst abrufen (kein Root)

Es gibt viele Skripte zum Abrufen von HTTP-Dienstinformationen wie Titel der Webseite, HTTP-Header, Finden verschiedener bekannter Pfade von Webanwendungen usw.

$ nmap --script=http-title 14.0.0.5 Host ist aktiv (0,0000070 s Latenz). Nicht angezeigt:998 geschlossene PortsPORT   STATE SERVICE22/tcp open  ssh80/tcp open  http|_http-title:Apache2 Ubuntu Default Page:It works 

HTTP-Header-Informationen abrufen (kein Root)

$ nmap --script=http-header 14.0.0.5PORT   STATE SERVICE22/tcp open  ssh80/tcp open  http| http-header:| Datum:Mo, 11. Juli 2016 07:08:05 GMT| Server:Apache/2.4.18 (Ubuntu)| Zuletzt geändert:Mo, 11. Juli 2016 07:04:49 GMT| ETag:"2c39-53756c49f4280"| Accept-Ranges:bytes| Inhaltslänge:11321| Variieren:Accept-Encoding| Verbindung:schließen| Inhaltstyp:text/html||_  (Anfragetyp:HEAD)

Identifizieren Sie bekannte Pfade der HTTP-Webanwendung (kein Root)

$ nmap --script=http-enum 14.0.0.580/tcp öffnen  http| http-enum:|_  /server-status/:Potenziell interessanter Ordner 

Heartbleed-SSL-Schwachstelle erkennen (kein Root)

Sie haben vielleicht schon von der SSL-Schwachstelle Heartbleed gehört. Der Nmap-Befehl kann verwendet werden, um diese Schwachstelle wie unten gezeigt zu erkennen:

nmap -sV -p 443 --script=ssl-heartbleed 14.0.0.0/24

Identifizieren Sie Whois eines Domainnamens (kein Root)

$ nmap -sV --script=whois-domain.nse www.example.com

Beispielausgabe:

Ergebnisse des Hostskripts:| Whois-Domain:|| Domänennameneintrag gefunden bei whois.iana.org| % IANA WHOIS-Server| % Weitere Informationen zu IANA finden Sie unter http://www.iana.org| % Diese Abfrage hat 1 Objekt zurückgegeben|| Domäne:       BEISPIEL.COM|| Organisation:Internet Assigned Numbers Authority|| erstellt:      1992-01-01| Quelle:       IANA|_

TCP Syn und UDP Scan (root)

# nmap -sS -sU -PN 14.0.0.6

Der obige Befehl scannt 2000 gemeinsame TCP- und UDP-Ports. Die –PN Option fordert nmap an den Ping-Scan zu überspringen und davon auszugehen, dass der Host aktiv ist. Die Option ist nützlich, wenn auf dem Remote-Computer eine Firewall aktiviert ist und alle ICMP-Pakete verworfen werden.

TCP-Verbindungsscan (kein Root)

$ nmap -sT 14.0.0.6

Der obige Befehl fordert das Betriebssystem auf, eine TCP-Verbindung zu den 1000 gemeinsamen Ports herzustellen, anstatt TCP-SYN-Pakete zu senden.

IPv6-Adressen scannen (kein Root)

Alle obigen Beispielbefehle scannen eine IPv4-Adresse, aber Sie können auch IPv6-Adressen scannen. Dazu müssen Sie die Option „-6 verwenden ‘ gefolgt von einer IPv6-Adresse.

$ nmap -6 2001:db8:000:3eff:fe52:77

Host-Schnittstellen und -Routen auflisten (kein Root)

$ nmap --iflistStart von Nmap 7.01 ( https://nmap.org ) um 2016-07-11 09:53 UTC ********************* ***SCHNITTSTELLEN************************DEV  (KURZ) IP/MASKE                      TYP     AUF 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)  fe 816:4 etherfec:3:3 1450  FA:16:3E:C0:14:5F****************************ROUTEN************ *************** DST / MASK DEV METRIC GATEWAY169.254.169.254 / 32 ens3 14.0.0.114.0.0.0 0/24 ens3 00.0.0.0/0 ens3 0 14.0.0.1::1/128                      lo   0fe80::f816:3eff:fec0:145f/128 lo   0fe80::/64                     ens3 256ff00::/8             > 5 ens 

Nmap-Ausgaben in einer Textdatei speichern

$ nmap -oN nmap_text.txt 14.0.0.6

Nmap-Ausgabe als XML speichern

$ nmap -oX nmap_xml.xml 14.0.0.6

Ausgabe in einem Format für grep speichern

$ nmap -oG nmap_grep.txt 14.0.0.6

Nmap-Ausgabe in allen Formaten speichern

$ nmap -oA allformats_file 14.0.0.6

Nmap mit GUI

Laden Sie Zenmap herunter (oder) installieren Sie es mit apt-get/yum

$ sudo apt-get install zenmap


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Nohup-Befehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Tr-Befehl in Linux mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Linux-CD-Befehl mit Beispielen

Nmap-Befehle mit Beispielen

Verlaufsbefehl mit Beispielen

Kannst du das toppen? 15 praktische Beispiele für Top-Befehle unter Linux