nmap Crashkurs

20.11.2017, 11:37 - Autor: Mark B.
Der erste Scanner, den wir uns genauer ansehen wollen ist nmap. Wem eine grafische Benutzeroberfläche lieber ist der kann auch gerne ZenMap verwenden.

In dem Moment wenn wir das Ziel direkt ansprechen, also aktiv Informationen sammeln, laufen wir Gefahr entdeckt zu werden. Natürlich bekommt es ein Zielrechner nicht mit wenn wir nach E-Mail Adressen oder ähnlichem googeln. Daher bezeichnet man das Beschaffen von informationen ohne den Zielrechner anzusprechen auch als passive Informationsbeschaffung.

Sobald wir einen Rechner scannen werden an diesem PC Daten gesendet und je nach dem welche Antworten der Scanner erhält werden daraus Informationen gewonnen. Die Datenpakete werden jedoch auf einer Firewall normalerweise geloggt und daher sind diese, als aktive Informationsbeschaffung bezeichneten, Techniken für einen aufmerksamen Administrator oder ein IDS (Einbruchserkennungs-System) durchaus aufspürbar.

Gescannt werden kann sowohl im Internet als auch in einem lokalen Netzwerk. Wenn wir ein Ziel im Internet scannen, dann wird ein Scan nur die Firewall und eventuell vorhandene Rechner in der DMZ oder Rechner zu denen Portweiterleitungen bestehen abtasten und nicht das gesamte Netzwerk dahinter.

Als DMZ (demilitarisierte Zone) bezeichnet man ein Segment in einem Netzwerk oder ein ganz eigenes Netzwerk, das sich als "neutrale Zone" zwischen einem Intranet (privates Netzwerk) und dem Internet befindet. Hier sind in der Regel öffentlich zugängliche Server angesiedelt.

nmap bzw. sein grafisches Frontend ZenMap benötigen für einige der Techniken root-Rechte.

Eine sehr leise Scan-Technik lässt sich mit dem Schalter -sL ausführen. Hierbei wird ein s.g. List-Scan durchgeführt, der versucht eine Liste von IP-Adressen über den DNS-Server zu ermitteln. Sehen wir uns einmal an, was so ein Scan für Informationen liefert:

root@kali:~# nmap -sL orf.at

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-07 23:25 CEST
Nmap scan report for orf.at (194.232.104.140)
Other Adresses for orf.at (not scanned): 194.232.104.139 194.232.104.150
194.232.104.149 194.232.104.141 194.232.104.142 2a01:468:1000:9::150
2a01:468:1000:9::149
Nmap done: 1 IP address (0 hosts up) scanned in 0.05 seconds

Wir erhalten die IP-Adresse des Webservers und einige alternative IP-Adressen. Sollte dieser Scan in einem lokalen Netzwerk ohne DNS-Server durchgeführt werden, dann würden wir alle oder gar keine IP-Adressen zurückgeliefert bekommen.

Eine weiter recht passive Möglichkeit nach aktiven Rechnern zu suchen ist der folgende Befehl:

root@kali:~# nmap -sn 192.168.1.1-254

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-07 23:33 CEST
Nmap scan report for 192.168.1.1
Host is up (0.0014s latency).
MAC Address: E8:DE:27:4D:0B:B6 (Tp-link Technologies)
Nmap scan report for 192.168.1.7
Host is up (0.00026s latency).
MAC Address: A8:86:DD:A3:63:8D (Apple)
Nmap scan report for 192.168.1.14
Host is up (0.0046s latency).
MAC Address: 40:F0:2F:C7:90:20 (Liteon Technology)
Nmap scan report for 192.168.1.100
Host is up (0.24s latency).
MAC Address: 1C:39:47:4D:C4:65 (Compal Information (kunshan))
Nmap scan report for 192.168.1.101
Host is up (0.0058s latency).
MAC Address: FC:AA:14:A3:D3:F0 (Giga-byte Technology)
Nmap scan report for 192.168.1.102
Host is up (0.019s latency).
MAC Address: 50:3C:C4:F6:D3:2C (Lenovo Mobile Communication Technology)
Nmap scan report for 192.168.1.104
Host is up (0.022s latency).
MAC Address: 74:DE:2B:AC:5A:2A (Liteon Technology)
Nmap scan report for 192.168.1.103
Host is up.
Nmap done: 254 IP Adresses (8 hosts up) scanned in 4.24 seconds

Als root-Benutzer versucht nmap hierbei zuerst mit ARP (address resolution protokoll) Anfragen herauszufinden welche MAC-Adressen die Netzwerkkarten der einzelnen IP-Adressen haben. Da dies über eine Broadcast-Adresse geschieht wird der Rechner nicht direkt angesprochen. Obgleich diese Option als Ping-Scan bezeichnet wird, wird der getestete Rechner nur direkt angesprochen, wenn nmap unter normalen User-Rechten läuft. Falls dies fehlschlägt arbeitet nmap drei weitere Methoden von leise zu laut ab um die IP-Adressen herauszufinden.

ARP wird verwendet um die IP-Adresse zu einer physikalische Adresse (Hardwareadresse bzw. MAC-Adresse) zu ermitteln und diese Zuordnung in den ARP-Tabellen abzuspeichern. Für IPv6 wird diese Funktionalität nicht von ARP, sondern durch NDP (Neighbor Discovery Protocol) bereitgestellt.

Als "leise" werden in diesem Zusammenhang Methoden bezeichnet, die Administratoren oder IDS-Systemen weniger leicht oder gar nicht auffallen und unter "laut" sind dann logischweise diejenigen Methoden zu verstehen, die beim Ziel alle Alarmglocken schrillen lassen sollten, wenn der Sicherheitslevel entsprechend hoch ist.

Gesetzt dem Fall, dass es beim Ziel kein Einbruchserkennungs-System und auch keinen Administrator gibt, der die Firewall-Logs auswertet und entsprechend darauf reagiert, ist es natürlich völlig egal wie lautstark man an die Türen (Ports) hämmert und daran rüttelt um zu testen ob diese offen sind. Es ist jedoch immer anzuraten möglichst leise vorzugehen - nur für den Fall der Fälle.

Nachdem wir eine Liste der Hosts haben können wir einen sogenannten Portscan durchführen um herauszufinden welche Dienste auf dem Rechner laufen anhand dessen welche Ports offen sind. Dies machen wir mit folgendem Befehl:

root@kali:~# nmap -sS -oA nmap/hosts --stylesheet=nmap.xsl --open --reason 192.168.1.1-254

Hierbei steht die Option -sS für den SYN-Scan, der weiter unten genauer beschreiben wird. Falls nmap nicht mir root-Rechten läuft wird anstatt des SYN-Scan ein Connect-Scan durchgeführt.

Mit -oA nmap/hosts wird das Scan-Ergebniss in allen verfügbaren Formaten im Ordner nmap/ unter dem Namen hosts abgelegt. Dies hat zur Folge, dass die folgenden drei Dateien erstellt werden:

hosts.gnmap (maschienenlesbare Ausgabe für diverse Programme)
hosts.nmap (maschienenlesbare Ausgabe für diverse Programme)
hosts.xml (XML-Version für Berichte)

Für die grafische Formatierung der XML-Datei benötigen wir noch ein Stylesheet, welches wir mit --stylesheet=nmap.xsl spezifizieren. Hierbei muss die Stylesheet-Datei namens nmap.xsl im gleichen Ordner wie die hosts.xml liegen. Wie können diese nach unseren Vorstellungen selber erstellen oder die mitgelieferte Datei von nmap verwenden. Um letzteres zu tun kopieren wir diese Datei mit folgenden Befehl in den Ordner:

root@kali:~# cp /usr/share/nmap/nmap.xsl nmap/

Um die Ausgabe zu kürzen beschränken wir Sie mit --open nur auf die geöffneten Ports.

Außerdem lassen wir uns mit den Schalter --reason anzeigen warum nmap glaubt, dass dieser Port geöffnet ist.

Zu guter Letzt spezifizieren wir mit 192.168.1.1-254 die IP-Adressen die gescannt werden sollen.

Damit werden die Standard-Ports gescannt, die nmap in der Port-Liste hat. Wenn Sie selber angeben wollen welche Ports gescannt werden sollen können Sie mit den Option -p (zB -p22 oder -p1-65535 oder -p U:53,111,137,T:21-25,80,139,8080) den oder die Ports selber bestimmen die geprüft werden sollen. Im letzten Fall steht U: für UDP und T: für TCP.

Danach erhalten wir zusätzlich zu den Dateien folgende Ausgabe:


Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-08 00:08 CEST
Nmap scan report for 192.168.1.1
Host is up, received arp-response (0.038s latency).
Not shown: 998 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 998 resets
PORT     STATE SERVICE REASON
80/tcp   open  http    syn-ack ttl 64
1900/tcp open  upnp    syn-ack ttl 64
MAC Address: E8:DE:27:4D:0B:B6 (Tp-link Technologies)

Nmap scan report for 192.168.1.7
Host is up, received arp-response (0.000092s latency).
Not shown: 750 closed ports, 249 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 750 resets and 249 no-responses
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64
MAC Address: A8:86:DD:A3:63:8D (Apple)

Nmap scan report for 192.168.1.14
Host is up, received arp-response (0.094s latency).
Not shown: 846 closed ports, 151 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 846 resets, 141 no-responses and 10 host-prohibiteds
PORT     STATE SERVICE REASON
22/tcp   open  ssh     syn-ack ttl 64
80/tcp   open  http    syn-ack ttl 64
3306/tcp open  mysql   syn-ack ttl 64
MAC Address: 40:F0:2F:C7:90:20 (Liteon Technology)

Nmap scan report for 192.168.1.101
Host is up, received arp-response (0.017s latency).
Not shown: 999 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 999 resets
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64
MAC Address: FC:AA:14:A3:D3:F0 (Giga-byte Technology)

Nmap scan report for 192.168.1.104
Host is up, received arp-response (0.020s latency).
Not shown: 984 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 984 resets
PORT      STATE SERVICE      REASON
80/tcp    open  http         syn-ack ttl 128
135/tcp   open  msrpc        syn-ack ttl 128
139/tcp   open  netbios-ssn  syn-ack ttl 128
443/tcp   open  https        syn-ack ttl 128
445/tcp   open  microsoft-ds syn-ack ttl 128
554/tcp   open  rtsp         syn-ack ttl 128
2869/tcp  open  icslap       syn-ack ttl 128
5357/tcp  open  wsdapi       syn-ack ttl 128
5900/tcp  open  vnc          syn-ack ttl 128
10243/tcp open  unknown      syn-ack ttl 128
49152/tcp open  unknown      syn-ack ttl 128
49153/tcp open  unknown      syn-ack ttl 128
49154/tcp open  unknown      syn-ack ttl 128
49155/tcp open  unknown      syn-ack ttl 128
49158/tcp open  unknown      syn-ack ttl 128
49159/tcp open  unknown      syn-ack ttl 128
MAC Address: 74:DE:2B:AC:5A:2A (Liteon Technology)

Nmap scan report for 192.168.1.103
Host is up, received localhost-response (0.0000050s latency).
Not shown: 999 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 999 resets
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64

Nmap done: 254 IP Adresses (8 hosts up) scanned in 7.79 seconds

Der SYN-Scan ist die Standardeinstellung und die beliebteste Scan-Methode. Er ist schnell, unauffällig, da er TCP-Verbindungen niemals abschließt und funktioniert bei allen konformen TCP-Stacks unabhängig von spezifischen Eigenarten diverser Betriebssysteme. Er erlaubt auch eine klare und zuverlässige Unterscheidung ob ein Port offen, geschlossen oder gefiltert ist.

Diese Methode wird oft als halboffenes Scannen bezeichnet, weil keine vollständige TCP-Verbindung hergestellt wird. Sie sendet ein SYN-Paket, als ob eine Verbindung hergestellt werden sollte, und wartet dann auf eine Antwort. Ein SYN/ACK zeigt, dass der Port offen ist, während ein RST anzeigt, dass kein Serverdienst darauf lauscht. Falls nach mehreren erneuten Übertragungen keine Antwort erhalten wird, kann davon ausgegangen werden, dass der Port von einer Firewall gefiltert wird. Der Port wird ebenfalls als gefiltert markiert, wenn ein ICMP Unreachable-Fehler empfangen wird.

Wenn Sie mehr über TCP/IP und diverse andere Protokolle wissen möchten oder Ihnen hier das meiste "spanisch" vorkommt kann ich Ihnen nur empfehlen, einige Wikipedia-Artikel und weitere Bücher zu den Themen Netzwerkprotokolle und Netzwerktopologien zu lesen. Dies alles nebenbei zu erklären würde den Rahmen dieses Beitrags bei weitem sprengen. Für diejenigen, denen dieses Wissen fehlt, die aber dennoch zügig weiterkommen wollen, werde ich immer wieder einige Vorgänge und Grundlagen stark vereinfacht und sehr oberflächlich nebenbei erklären.

Und darum will ich an der Stelle auch noch kurz auf den 3-Wege-Verbindungsaufbau (3-Way- Handschake) eingehen. Soll eine Verbindung zu einem Dienst aufgebaut werden, sendet der Client ein Paket mit gesetztem SYN-Flag (Synchronisation von Sequenznummern). Ist die Verbindung möglich, wird der Server darauf mit einem Paket antworten bei denen die SYN- und ACK-Flags (Acknowledgment = Bestätigung) gesetzt sind. Um den Verbindungsaufbau zu vollenden antwortet der Client darauf wieder mit einem dritten Paket, dass nur noch das ACK-Flag gesetzt hat als Bestätigung das zweite Paket erhalten zu haben.

Jeder der beiden Rechner kann die Verbindung bzw. den Aufbau der Verbindung zu jeder Zeit abbrechen indem ein Paket mit RST-Flag gesendet wird.

Als nächstes wollen wir uns den Rechner mit der IP 192.168.1.104 etwas genauer ansehen. Dazu verwenden wir folgenden Befehl:

root@kali:~# nmap -O -oA nmap/hosts --stylesheet=nmap.xsl --open --reason 192.168.1.104

Hierbei sind uns alle Optionen bereits bekannt bis auf -O was für Operatingsystem-detection, oder auf deutsch - Erkennung des Betriebssystems, steht.

Hierbei wird versucht auf Grund der Eigenarten und kleiner Unterschiede in den Protokoll-Implementierungen das laufende Betriebssystem zu erraten.

Die Ausgabe sieht dann wie folgt aus:

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-08 22:28 CEST
Nmap scan report for 192.168.1.104
Host is up, received arp-response (0.0080s latency).
Not shown: 982 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 982 resets
PORT      STATE SERVICE      REASON
21/tcp    open  ftp          syn-ack ttl 128
22/tcp    open  ssh          syn-ack ttl 128
80/tcp    open  http         syn-ack ttl 128
135/tcp   open  msrpc        syn-ack ttl 128
139/tcp   open  netbios-ssn  syn-ack ttl 128
443/tcp   open  https        syn-ack ttl 128
445/tcp   open  microsoft-ds syn-ack ttl 128
554/tcp   open  rtsp         syn-ack ttl 128
2869/tcp  open  icslap       syn-ack ttl 128
5357/tcp  open  wsdapi       syn-ack ttl 128
5900/tcp  open  vnc          syn-ack ttl 128
10243/tcp open  unknown      syn-ack ttl 128
49152/tcp open  unknown      syn-ack ttl 128
49153/tcp open  unknown      syn-ack ttl 128
49154/tcp open  unknown      syn-ack ttl 128
49155/tcp open  unknown      syn-ack ttl 128
49158/tcp open  unknown      syn-ack ttl 128
49159/tcp open  unknown      syn-ack ttl 128
MAC Address: 74:DE:2B:AC:5A:2A (Liteon Technology)
Device type: general purpose|media device
Running: Microsoft Windows 2008|10|7|8.1, Microsoft embedded
OS CPE: cpe:/o:microsoft:windows_server_2008::sp2
cpe:/o:microsoft:windows_10 cpe:/h:microsoft:xbox_one
cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1
cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows Server 2008 SP2 or Windows 10 or Xbox One,
Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008
R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at
https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.62 seconds

nmap hat in diesem Fall geraten, dass ein Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008 R2, Windows 8, oder Windows 8.1 Update 1 läuft und damit völlig recht. Der Opfer-PC hat ein Windows 7 SP1 laufen.

Alternativ können wir auch ein Tool namens xprobe2 verwenden:

root@kali:~# xprobe2 192.168.1.104 -T 1-1024 -B

Xprobe2 v.0.3 Copyright (c) 2002-2005 fyodor@o0o.nu, ofir@sys-security.com,
meder@o0o.nu

[+] Target is 192.168.1.104
[+] Loading modules.
[+] Following modules are loaded:
[x] [1] ping:icmp_ping  -  ICMP echo discovery module
[x] [2] ping:tcp_ping  -  TCP-based ping discovery module
[x] [3] ping:udp_ping  -  UDP-based ping discovery module
[x] [4] infogather:ttl_calc  -  TCP and UDP based TTL distance calculation
[x] [5] infogather:portscan  -  TCP and UDP PortScanner
[x] [6] fingerprint:icmp_echo  -  ICMP Echo request fingerprinting module
[x] [7] fingerprint:icmp_tstamp  -  ICMP Timestamp request fingerprinting
module
[x] [8] fingerprint:icmp_amask  -  ICMP Address mask request fingerprinting
mod.
[x] [9] fingerprint:icmp_port_unreach  -  ICMP port unreachable
fingerprinting
                                         module
[x] [10] fingerprint:tcp_hshake  -  TCP Handshake fingerprinting module
[x] [11] fingerprint:tcp_rst  -  TCP RST fingerprinting module
[x] [12] fingerprint:smb  -  SMB fingerprinting module
[x] [13] fingerprint:snmp  -  SNMPv2c fingerprinting module
[+] 13 modules registered
[+] Initializing scan engine
[+] Running scan engine
[-] ping:tcp_ping module: no closed/open TCP ports known on 192.168.1.104.
                                         Module test failed
[-] ping:udp_ping module: no closed/open UDP ports known on 192.168.1.104.
                                         Module test failed
[-] No distance calculation. 192.168.1.104 appears to be dead or
                                           no ports known
[+] Host: 192.168.1.104 is up (Guess probability: 50%)
[+] Target: 192.168.1.104 is alive. Round-Trip Time: 0.50195 sec
[+] Selected safe Round-Trip Time value is: 1.00390 sec

[+] Portscan results for 192.168.1.104:
[+]  Stats:
[+]   TCP: 8 - open, 1010 - closed, 6 - filtered
[+]   UDP: 0 - open, 0 - closed, 0 - filtered
[+]   Portscan took 293.05 seconds.
[+]  Details:
[+]   Proto Port Num. State Serv. Name
[+]   TCP 21 open ftp
[+]   TCP 22 open ssh
[+]   TCP 80 open http
[+]   TCP 135 open loc-srv
[+]   TCP 139 open netbios-ssn
[+]   TCP 294 filtered N/A
[+]   TCP 302 filtered N/A
[+]   TCP 443 open https
[+]   TCP 445 open microsoft-ds
[+]   TCP 554 open rtsp
[+]   TCP 626 filtered N/A
[+]   TCP 685 filtered N/A
[+]   TCP 797 filtered N/A
[+]   TCP 914 filtered N/A
[+]  Other TCP ports are in closed state.
[+] SMB [Native OS: Windows 7 Home Premium 7601 Service Pack 1] [Native
Lanman: Windows 7 Home Premium 6.1] [Domain: WORKGROUP]
[+] SMB [Called name: TESTOPFER-PC ] [MAC: 74:de:2b:ac:5a:2a]

Und das hat in diesem Versuch noch genauere Ergebnisse geliefert. Damit Sie die lange Ausgabe besser Überblicken können hab ich Sie nach den wichtigen Passagen gekürzt.

Bevor wir anfangen nach Schwachstellen zu suchen, wollen wir aber noch etwas mehr über die laufenden Serverdienste hinter den geöffneten Ports herausfinden. Und das geht so:

root@kali:~# amap -i nmap/hosts.gnmap -Abq

Mittels -i nmap/hosts.gnmap lesen wir die zuvor von nmap erstellte Datei ein und prüfen die von nmap gefundenen IP-Adressen und offenen Ports.

Die Option -A sorgt dafür, dass amap nicht nur die Banner (Willkommensmeldungen der Serverdienste) scannt, sondern einen vollständigen Test durchführt.

Der Schalter -b gibt die ASCII-Banner aus falls welche empfangen wurden.

Und -q unterdrückt die Ausgabe von Ports, die geschlossen sind was die ohnehin schon chaotische Ausgabe etwas übersichtlicher macht.

Anstatt -A -b -q lassen sich diese Schalter auch verkürzt als -Abq schreiben.

Und das ist das Ergebnis:

amap v5.4 (www.thc.org/thc-amap) started at 2017-04-08 22:39:01 -
APPLICATION MAPPING mode

Protocol on 192.168.1.104:139/tcp matches netbios-session - banner:
Protocol on 192.168.1.104:21/tcp matches ftp - banner: 220 Hello, I‘m
freeFTPd 1.0\r\n
Protocol on 192.168.1.104:80/tcp matches http - banner: HTTP/1.0 404 Not
Found\r\n\r\n
Protocol on 192.168.1.104:443/tcp matches http - banner: HTTP/1.0 404 Not
Found\r\n
Protocol on 192.168.1.104:22/tcp matches ssh - banner:
SSH-2.0-WeOnlyDo-wodFTPD 2.1.8.98\r\n
...(Ausgabe gekürzt)
Protocol on 192.168.1.104:5900/tcp matches vnc - banner: RFB 005.000\n
Protocol on 192.168.1.104:21/tcp matches smtp - banner: 220 Hello, I‘m
freeFTPd 1.0\r\n500 Command not understood\r\n
Protocol on 192.168.1.104:5900/tcp matches mysql - banner: RFB 003.003\nToo
many security failures
Protocol on 192.168.1.104:445/tcp matches ms-ds - banner:
SMBrS\nP)3FihO`(+00\n+7\n+7\n
Protocol on 192.168.1.104:135/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49152/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49153/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49154/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49155/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49159/tcp matches netbios-session - banner: \rS
Protocol on 192.168.1.104:49158/tcp matches netbios-session - banner: \rS

amap v5.4 finished at 2017-04-08 22:39:46

Aber auch nmap bietet eine solche Option mit dem Schalter -sV an:

root@kali:~# nmap -O -sV -oA nmap/hosts --stylesheet=nmap.xsl --open --reason 192.168.1.104

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-08 01:57 CEST
Nmap scan report for 192.168.1.104
Host is up, received arp-response (0.0080s latency).
Not shown: 984 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 984 resets
PORT      STATE SERVICE      REASON          VERSION
21/tcp    open  ftp          syn-ack ttl 128 FreeFTPd 1.0
22/tcp    open  ssh          syn-ack ttl 128 WeOnlyDo sshd 2.1.8.98
                                             (protocol 2.0)
80/tcp    open  http         syn-ack ttl 128
135/tcp   open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
139/tcp   open  netbios-ssn  syn-ack ttl 128 Microsoft Windows netbios-ssn
443/tcp   open  https        syn-ack ttl 128
445/tcp   open  microsoft-ds syn-ack ttl 128 Microsoft Windows 7 - 10
                                             microsoft-ds
                                             (workgroup: WORKGROUP)
554/tcp   open  rtsp?        syn-ack ttl 128
2869/tcp  open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
                                             (SSDP/UPnP)
5357/tcp  open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
                                             (SSDP/UPnP)

5900/tcp  open  vnc          syn-ack ttl 128 RealVNC Enterprise 5.3 or
later
                                             (protocol 5.0)
10243/tcp open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
                                             (SSDP/UPnP)
49152/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49153/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49154/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49155/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49158/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49159/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
...(Ausgabe gekürzt)
nmap bietet sogar noch mehr - mit dem zusätzlichen Schalter -sC können wir diverse mitgelieferte Testscripts laufen lassen, die alle möglichen Tests auf Standard-Freigaben, Sicherheitslücken, häufige Fehlkonfigurationen und einiges mehr durchführen.

Diese Ausgabe sieht dann folgendermaßen aus:

root@kali:~# nmap -O -sV -sC -oA nmap/hosts --stylesheet=nmap.xsl --open --reason 192.168.1.104

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-08 02:11 CEST
Nmap scan report for 192.168.1.104
Host is up, received arp-response (0.0073s latency).
Not shown: 984 closed ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
Reason: 984 resets
PORT      STATE SERVICE      REASON          VERSION
21/tcp    open  ftp          syn-ack ttl 128 FreeFTPd 1.0
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can‘t get directory listing: Can‘t parse PASV response:
  "Entering passive mode (192,168,1,104,-40,-229)"
|_ftp-bounce: bounce working!
22/tcp    open  ssh          syn-ack ttl 128 WeOnlyDo sshd 2.1.8.98 (
|                                            protocol 2.0)
| ssh-hostkey:
|_  1024 a6:df:8d:5d:54:3a:4a:f0:5c:46:bb:4a:4e:1f:77:b5 (RSA)
80/tcp    open  http         syn-ack ttl 128
| fingerprint-strings:
|   DNSVersionBindReq:
|     LUSq
|   FourOhFourRequest, GetRequest:
|    http/1.0 404 Not Found
|   ...(Ausgabe gekürzt)
|_http-title: Site doesn‘t have a title.
135/tcp   open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
139/tcp   open  netbios-ssn  syn-ack ttl 128 Microsoft Windows netbios-ssn
443/tcp   open  https        syn-ack ttl 128
| fingerprint-strings:
|   DNSVersionBindReq:
|     MW^d
|     \xd3
|   GetRequest:
|    http/1.0 404 Not Found
|   ...(Ausgabe gekürzt)
|_http-title: Site doesn‘t have a title.
445/tcp   open  microsoft-ds syn-ack ttl 128 Windows 7 Home Premium 7601
|                                            Service Pack 1 microsoft-ds
|                                            (workgroup: WORKGROUP)
554/tcp   open  rtsp?        syn-ack ttl 128
2869/tcp  open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
|                                            (SSDP/UPnP)
5357/tcp  open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
|                                            (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Service Unavailable
5900/tcp  open  vnc          syn-ack ttl 128 RealVNC Enterprise 5.3 or
later
|                                            (protocol 5.0)
| vnc-info:
|   Protocol version: 005.000
|   Security types:
|_    VNC Authentication (2)
10243/tcp open  http         syn-ack ttl 128 Microsoft HTTPAPI httpd 2.0
|                                            (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49152/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49153/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49155/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49158/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
49159/tcp open  msrpc        syn-ack ttl 128 Microsoft Windows RPC
...(Ausgabe gekürzt)

MAC Address: 74:DE:2B:AC:5A:2A (Liteon Technology)
Device type: general purpose
Running: Microsoft Windows 7|2008|8.1
OS CPE: cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1
cpe:/o:microsoft:windows_server_2008::sp1
cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_8
cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows
Server 2008 R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hop
Service Info: Host: TESTOPFER-PC; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -33s, deviation: 0s, median: -33s
|_nbstat: NetBIOS name: TESTOPFER-PC, NetBIOS user: ,
|         NetBIOS MAC: 74:de:2b:ac:5a:2a (Liteon Technology)
| smb-os-discovery:
|   OS: Windows 7 Home Premium 7601 Service Pack 1
|       (Windows 7 Home Premium 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1
|   Computer name: TESTOPFER-PC
|   NetBIOS computer name: TESTOPFER-PC\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2017-04-08T02:13:20+02:00
| smb-security-mode:
|   account_used: <blank>
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_smbv2-enabled: Server supports SMBv2 protocol

OS and Service detection performed. Please report any incorrect results at
https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 216.78 seconds

Das liefert uns Informationen über die Versionen der einzelnen Dienste und denen Konfiguration: zB:

| vnc-info:
|   Protocol version: 005.000
|   Security types:
|_    VNC Authentication (2)

und

| smb-security-mode:
|   account_used: <blank>
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)

Falls Sie sich sicher sind, dass ein Host erreichbar ist, dieser aber von nmap nicht gescannt werden kann weil er als offline erkannt wird dann kann das daran liegen, dass eine Firewall die Versuche erkennt den Host auf die Verfügbarkeit hin zu prüfen und dies unterbindet. In solchen Fällen lässt sich nmap mit der Option -Pn anweisen, jeden Host als online zu betrachten und alle Tests durchzuführen. Dies kann bei größeren IP-Bereichen, die gesannt werden sehr lange dauern.

Nachdem wir schon einiges über das System herausgefunden haben, wollen wir als nächstes einmal Testen, ob es aktuell noch nicht geschlossene Sicherheitslücken auf dem System gibt. nmap bietet hierzu einige Optionen:

root@kali:~# nmap -O -sV -sC -oA nmap/hosts --stylesheet=nmap.xsl --open --reason --script vuln,exploit,malware 192.168.1.104

Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-11 23:17 EDT
Stats: 0:00:22 elapsed; 0 hosts completed (0 up), 0 undergoing Script
Pre-Scan
Pre-scan script results:
| broadcast-avahi-dos:
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).

Nmap scan report for 192.168.1.104
Host is up, received arp-response (0.00098s latency).
Not shown: 977 closed ports
Reason: 977 resets
PORT     STATE SERVICE     REASON         VERSION
21/tcp   open  ftp         syn-ack ttl 64 vsftpd 2.3.4
| ftp-vsftpd-backdoor:
|   VULNERABLE:
|   vsFTPd version 2.3.4 backdoor
|     State: VULNERABLE (Exploitable)
|     IDs:  OSVDB:73573  CVE:CVE-2011-2523
|       vsFTPd version 2.3.4 backdoor, this was reported on 2011-07-04.
|     Disclosure date: 2011-07-03
|     Exploit results:
|       Shell command: id
|       Results: uid=0(root) gid=0(root)
|     References:
|    https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
|       http://osvdb.org/73573
|    http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523
|_sslv2-drown:
22/tcp   open  ssh         syn-ack ttl 64 OpenSSH 4.7p1 Debian 8ubuntu1
(protocol 2.0)
23/tcp   open  telnet      syn-ack ttl 64 Linux telnetd
25/tcp   open  smtp        syn-ack ttl 64 Postfix smtpd
| smtp-vuln-cve2010-4344:
|_  The SMTP server is not Exim: NOT VULNERABLE
| ssl-dh-params:
|   VULNERABLE:
|   Anonymous Diffie-Hellman Key Exchange MitM Vulnerability
|     State: VULNERABLE
|       Transport Layer Security (TLS) services that use anonymous
|       Diffie-Hellman key exchange only provide protection against passive
|       eavesdropping, and are vulnerable to active man-in-the-middle
attacks
|       which could completely compromise the confidentiality and integrity
|       of any data exchanged over the resulting session.
|     Check results:
|       ANONYMOUS DH GROUP 1
|             Cipher Suite: TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
|             Modulus Type: Safe prime
|             Modulus Source: Unknown/Custom-generated
|             Modulus Length: 512
|             Generator Length: 8
|             Public Key Length: 512
|     References:
|       https://www.ietf.org/rfc/rfc2246.txt
|
|   Transport Layer Security (TLS) Protocol DHE_EXPORT Ciphers Downgrade
MitM (Logjam)
|     State: VULNERABLE
|     IDs:  OSVDB:122331  CVE:CVE-2015-4000
|       The Transport Layer Security (TLS) protocol contains a flaw that is
|       triggered when handling Diffie-Hellman key exchanges defined with
|       the DHE_EXPORT cipher. This may allow a man-in-the-middle attacker
|       to downgrade the security of a TLS session to 512-bit export-grade
|       cryptography, which is significantly weaker, allowing the attacker
|       to more easily break the encryption and monitor or tamper with
|       the encrypted stream.
|     Disclosure date: 2015-5-19
|     Check results:
|       EXPORT-GRADE DH GROUP 1
|             Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
|             Modulus Type: Safe prime
|             Modulus Source: Unknown/Custom-generated
|             Modulus Length: 512
|             Generator Length: 8
|             Public Key Length: 512
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4000
|       https://weakdh.org
|       http://osvdb.org/122331
|
|   Diffie-Hellman Key Exchange Insufficient Group Strength
|     State: VULNERABLE
|       Transport Layer Security (TLS) services that use Diffie-Hellman
groups
|       of insufficient strength, especially those using one of a few
commonly
|       shared groups, may be susceptible to passive eavesdropping attacks.
|     Check results:
|       WEAK DH GROUP 1
|             Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA
|             Modulus Type: Safe prime
|             Modulus Source: postfix builtin
|             Modulus Length: 1024
|             Generator Length: 8
|             Public Key Length: 1024
|     References:
|_      https://weakdh.org
| ssl-poodle:
|   VULNERABLE:
|   SSL POODLE information leak
|     State: VULNERABLE
|     IDs:  OSVDB:113251  CVE:CVE-2014-3566
|           The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and
other
|           products, uses nondeterministic CBC padding, which makes it
easier
|           for man-in-the-middle attackers to obtain cleartext data via a
|           padding-oracle attack, aka the "POODLE" issue.
|     Disclosure date: 2014-10-14
|     Check results:
|       TLS_RSA_WITH_AES_128_CBC_SHA
|     References:
|       http://osvdb.org/113251
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
|       https://www.imperialviolet.org/2014/10/14/poodle.html
|_      https://www.openssl.org/~bodo/ssl-poodle.pdf
| sslv2-drown:
|   ciphers:
|     SSL2_DES_64_CBC_WITH_MD5
|     SSL2_RC4_128_WITH_MD5
|     SSL2_RC2_128_CBC_WITH_MD5
|     SSL2_DES_192_EDE3_CBC_WITH_MD5
|     SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
|     SSL2_RC4_128_EXPORT40_WITH_MD5
|   vulns:
|     CVE-2016-0703:
|       title: OpenSSL: Divide-and-conquer session key recovery in SSLv2
|       state: VULNERABLE
|       ids:
|         CVE:CVE-2016-0703
|       description:
|               The get_client_master_key function in s2_srvr.c in the
SSLv2 implementation in
|       OpenSSL before 0.9.8zf, 1.0.0 before 1.0.0r, 1.0.1 before 1.0.1m,
and 1.0.2 before
|       1.0.2a accepts a nonzero CLIENT-MASTER-KEY CLEAR-KEY-LENGTH value
for an arbitrary
|       cipher, which allows man-in-the-middle attackers to determine the
MASTER-KEY value
|       and decrypt TLS ciphertext data by leveraging a Bleichenbacher RSA
padding oracle, a
|       related issue to CVE-2016-0800.
|
|       refs:
|         https://www.openssl.org/news/secadv/20160301.txt
|         https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0703
|     CVE-2016-0800:
|       title: OpenSSL: Cross-protocol attack on TLS using SSLv2 (DROWN)
|       state: VULNERABLE
|       ids:
|         CVE:CVE-2016-0800
|       description:
|               The SSLv2 protocol, as used in OpenSSL before 1.0.1s and
1.0.2 before 1.0.2g and
|       other products, requires a server to send a ServerVerify message
before establishing
|       that a client possesses certain plaintext RSA data, which makes it
easier for remote
|       attackers to decrypt TLS ciphertext data by leveraging a
Bleichenbacher RSA padding
|       oracle, aka a "DROWN" attack.
|
|       refs:
|         https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0800
|_        https://www.openssl.org/news/secadv/20160301.txt
53/tcp   open  domain      syn-ack ttl 64 ISC BIND 9.4.2
80/tcp   open  http        syn-ack ttl 64 Apache httpd 2.2.8 ((Ubuntu)
DAV/2)
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.104
|   Found the following possible CSRF vulnerabilities:
|
|     Path: http://192.168.1.104:80/dvwa/
|     Form id:
|     Form action: login.php
|
|     Path: http://192.168.1.104:80/dvwa/login.php
|     Form id:
|     Form action: login.php
|
|     Path: http://192.168.1.104:80/mutillidae/index.php?page=register.php
|     Form id: id-bad-cred-tr
|     Form action: index.php?page=register.php
|
|     Path:
http://192.168.1.104:80/mutillidae/index.php?page=html5-storage.php
|     Form id: idform
|     Form action: index.php?page=html5-storage.php
|
|     Path:
http://192.168.1.104:80/mutillidae/index.php?page=view-someones-blog.php
|     Form id: id-bad-blog-entry-tr
|_    Form action: index.php?page=view-someones-blog.php
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-enum:
|   /tikiwiki/: Tikiwiki
|   /test/: Test page
|   /phpinfo.php: Possible information file
|   /phpMyAdmin/: phpMyAdmin
|   /doc/: Potentially interesting directory w/ listing on 'apache/2.2.8
(ubuntu) dav/2'
|   /icons/: Potentially interesting folder w/ directory listing
|_  /index/: Potentially interesting folder
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
| http-slowloris-check:
|   VULNERABLE:
|   Slowloris DOS attack
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2007-6750
|       Slowloris tries to keep many connections to the target web server
open and hold
|       them open as long as possible.  It accomplishes this by opening
connections to
|       the target web server and sending a partial request. By doing so,
it starves
|       the http server's resources causing Denial Of Service.
|
|     Disclosure date: 2009-09-17
|     References:
|       http://ha.ckers.org/slowloris/
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
| http-sql-injection:
|   Possible sqli for queries:
|   http://192.168.1.104:80/mutillidae/index.php?page=secret-administrative-pages.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=add-to-your-blog.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=register.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=arbitrary-file-inclusion.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/?page=add-to-your-blog.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=browser-info.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=usage-instructions.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=html5-storage.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=view-someones-blog.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=php-errors.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=password-generator.php%27%20OR%20sqlspider&username=anonymous
|   http://192.168.1.104:80/mutillidae/index.php?page=home.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=home.php&do=toggle-hints%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=captured-data.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/?page=show-log.php%27%20OR%20sqlspider
|   ... Ausgabe gekürzt
|   http://192.168.1.104:80/mutillidae/index.php?page=user-poll.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=site-footer-xss-discussion.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/?page=login.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/?page=text-file-viewer.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=text-file-viewer.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=capture-data.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=pen-test-tool-lookup.php%27%20OR%20sqlspider
|   http://192.168.1.104:80/mutillidae/index.php?page=user-info.php%27%20OR%20sqlspider
|_
http://192.168.1.104:80/mutillidae/index.php?page=captured-data.php%27%20OR%20sqlspider
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-trace: TRACE is enabled
|_http-vuln-cve2017-1001000: ERROR: Script execution failed (use -d to
debug)
111/tcp  open  rpcbind     syn-ack ttl 64 2 (RPC #100000)
| rpcinfo:
|   program version   port/proto  service
|   100000  2            111/tcp  rpcbind
|   100000  2            111/udp  rpcbind
|   100003  2,3,4       2049/tcp  nfs
|   100003  2,3,4       2049/udp  nfs
|   100005  1,2,3      48124/tcp  mountd
|   100005  1,2,3      60259/udp  mountd
|   100021  1,3,4      50179/udp  nlockmgr
|   100021  1,3,4      55481/tcp  nlockmgr
|   100024  1          33077/tcp  status
|_  100024  1          39278/udp  status
139/tcp  open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup:
WORKGROUP)
445/tcp  open  netbios-ssn syn-ack ttl 64 Samba smbd 3.X - 4.X (workgroup:
WORKGROUP)
512/tcp  open  exec        syn-ack ttl 64 netkit-rsh rexecd
513/tcp  open  login       syn-ack ttl 64 OpenBSD or Solaris rlogind
514/tcp  open  tcpwrapped  syn-ack ttl 64
1099/tcp open  rmiregistry syn-ack ttl 64 GNU Classpath grmiregistry
| rmi-vuln-classloader:
|   VULNERABLE:
|   RMI registry default configuration remote code execution vulnerability
|     State: VULNERABLE
|       Default configuration of RMI registry allows loading classes from
remote URLs which can lead to remote code execution.
|
|     References:
|_
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/misc/java_rmi_server.rb
1524/tcp open  bindshell   syn-ack ttl 64 Metasploitable root shell
2049/tcp open  nfs         syn-ack ttl 64 2-4 (RPC #100003)
2121/tcp open  ftp         syn-ack ttl 64 ProFTPD 1.3.1
|_sslv2-drown:
3306/tcp open  mysql       syn-ack ttl 64 MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql  syn-ack ttl 64 PostgreSQL DB 8.3.0 - 8.3.7
| ssl-ccs-injection:
|   VULNERABLE:
|   SSL/TLS MITM vulnerability (CCS Injection)
|     State: VULNERABLE
|     Risk factor: High
|       OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h
|       does not properly restrict processing of ChangeCipherSpec messages,
|       which allows man-in-the-middle attackers to trigger use of a zero
|       length master key in certain OpenSSL-to-OpenSSL communications, and
|       consequently hijack sessions or obtain sensitive information, via
|       a crafted TLS handshake, aka the "CCS Injection" vulnerability.
|
|     References:
|       http://www.openssl.org/news/secadv_20140605.txt
|       http://www.cvedetails.com/cve/2014-0224
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
| ssl-dh-params:
|   VULNERABLE:
|   Diffie-Hellman Key Exchange Insufficient Group Strength
|     State: VULNERABLE
|       Transport Layer Security (TLS) services that use Diffie-Hellman
groups
|       of insufficient strength, especially those using one of a few
commonly
|       shared groups, may be susceptible to passive eavesdropping attacks.
|     Check results:
|       WEAK DH GROUP 1
|             Cipher Suite: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
|             Modulus Type: Safe prime
|             Modulus Source: Unknown/Custom-generated
|             Modulus Length: 1024
|             Generator Length: 8
|             Public Key Length: 1024
|     References:
|_      https://weakdh.org
| ssl-poodle:
|   VULNERABLE:
|   SSL POODLE information leak
|     State: VULNERABLE
|     IDs:  OSVDB:113251  CVE:CVE-2014-3566
|           The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and
other
|           products, uses nondeterministic CBC padding, which makes it
easier
|           for man-in-the-middle attackers to obtain cleartext data via a
|           padding-oracle attack, aka the "POODLE" issue.
|     Disclosure date: 2014-10-14
|     Check results:
|       TLS_RSA_WITH_AES_128_CBC_SHA
|     References:
|       http://osvdb.org/113251
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
|       https://www.imperialviolet.org/2014/10/14/poodle.html
|_      https://www.openssl.org/~bodo/ssl-poodle.pdf
|_sslv2-drown:
5900/tcp open  vnc         syn-ack ttl 64 VNC (protocol 3.3)
|_sslv2-drown:
6000/tcp open  X11         syn-ack ttl 64 (access denied)
6667/tcp open  irc         syn-ack ttl 64 UnrealIRCd
|_irc-unrealircd-backdoor: Looks like trojaned version of unrealircd. See
http://seclists.org/fulldisclosure/2010/Jun/277
8009/tcp open  ajp13       syn-ack ttl 64 Apache Jserv (Protocol v1.3)
8180/tcp open  http        syn-ack ttl 64 Apache Tomcat/Coyote JSP engine
1.1
| http-cookie-flags:
|   /admin/:
|     JSESSIONID:
|       httponly flag not set
|   /admin/index.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/login.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/admin.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/account.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/admin_login.html:
|     JSESSIONID:
|       httponly flag not set
|
|   ... Ausgabe gekürzt
|
 /admin/view/javascript/fckeditor/editor/filemanager/connectors/test.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/includes/FCKeditor/editor/filemanager/upload/test.html:
|     JSESSIONID:
|       httponly flag not set
|   /admin/jscript/upload.html:
|     JSESSIONID:
|_      httponly flag not set
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.104
|   Found the following possible CSRF vulnerabilities:
|
|     Path: http://192.168.1.104:8180/admin/
|     Form id: username
|_    Form action:
j_security_check;jsessionid=136C76634FF53BCF0ED6CE4B2632E6D0
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-enum:
|   /admin/: Possible admin folder
|   /admin/index.html: Possible admin folder
|   /admin/login.html: Possible admin folder
|   /admin/admin.html: Possible admin folder
|   /admin/account.html: Possible admin folder
|   /admin/admin_login.html: Possible admin folder
|   /admin/home.html: Possible admin folder
|   /admin/admin-login.html: Possible admin folder
|   /admin/adminLogin.html: Possible admin folder
|   /admin/controlpanel.html: Possible admin folder
|   /admin/cp.html: Possible admin folder
|   /admin/index.jsp: Possible admin folder
|   /admin/login.jsp: Possible admin folder
|   /admin/admin.jsp: Possible admin folder
|   /admin/home.jsp: Possible admin folder
|   /admin/controlpanel.jsp: Possible admin folder
|   /admin/admin-login.jsp: Possible admin folder
|   /admin/cp.jsp: Possible admin folder
|   /admin/account.jsp: Possible admin folder
|   /admin/admin_login.jsp: Possible admin folder
|   /admin/adminLogin.jsp: Possible admin folder
|   /manager/html/upload: Apache Tomcat (401 Unauthorized)
|   /manager/html: Apache Tomcat (401 Unauthorized)
|
 /admin/view/javascript/fckeditor/editor/filemanager/connectors/test.html:
OpenCart/FCKeditor File upload
|   /admin/includes/FCKeditor/editor/filemanager/upload/test.html: ASP
Simple Blog / FCKeditor File Upload
|   /admin/jscript/upload.html: Lizard Cart/Remote File upload
|_  /webdav/: Potentially interesting folder
|_http-server-header: Apache-Coyote/1.1
| http-slowloris-check:
|   VULNERABLE:
|   Slowloris DOS attack
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2007-6750
|       Slowloris tries to keep many connections to the target web server
open and hold
|       them open as long as possible.  It accomplishes this by opening
connections to
|       the target web server and sending a partial request. By doing so,
it starves
|       the http server's resources causing Denial Of Service.
|
|     Disclosure date: 2009-09-17
|     References:
|       http://ha.ckers.org/slowloris/
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
MAC Address: 08:00:27:D7:A5:17 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  metasploitable.localdomain, localhost,
irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_smb-vuln-ms10-054: false
|_smb-vuln-ms10-061: false

OS and Service detection performed. Please report any incorrect results at
https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 380.06 seconds

Mit --script gefolgt von einem oder mehreren bestimmten Scriptnamen oder wie hier eine Kategorie legt fest welche Testscripts laufen sollen. Neben vuln, expoit und malware gibt es noch die Kategorien auth, broadcast, brute, default, discovery, dos, external, fuzzer, intrusive, safe und version.

Mit dem Schalter -sC ohne weiterer Angaben werden die Standard Test-Scripts bin Scan ausgeführt.

So ein Scan ist allerdings wieder recht laut und auffällig. Daher würde ich vorab eher jeden Dienst von Hand googeln und nach bekannten Sicherheitslücken und Fehlkonfigurationen suchen! Hierzu bietet sich auch das Tool searchsploit an, dass natürlich in Kali bereits vorinstalliert ist!