ROOT ON FIRE Security, Monitoring, Networking, Linux

20Jan/100

Nmap 5.20 stable released

Gordon "Fyodor" Lyon hat soeben das erste Stable Release 5.20 seit der Version 5.00 (Juli 2009) freigegeben.
Es wurden seit der Version 5.00 mehr als 150 signifikante Verbesserungen integriert:
- 31 neue NSE (Nmap Scripting Engine) Scripts (insgesammt 80)
- verbesserte Performance und weniger Speicherverbrauch
- Protokoll spezifische Payloads für effizientere UDP-Scans
- komplett überarbeitete Traceroute Engine
- Erweiterung der Betriebssystem- und Versionserkennung Datenbank (insg. mehr als 10.000 Signaturen)

Nmap 5.2 Installation unter Debian:

r-o-f:~# wget http://nmap.org/dist/nmap-5.20.tar.bz2
r-o-f:~# bzip2 -cd nmap-5.20.tar.bz2 | tar xvf -
...
r-o-f:~# cd ./nmap-5.20
r-o-f:~/nmap-5.20# ./configure
...
r-o-f:~/nmap-5.20# make
...
r-o-f:~/nmap-5.20# make install
...
NMAP SUCCESSFULLY INSTALLED
r-o-f:~/nmap-5.20# nmap --version

Nmap version 5.20 ( http://nmap.org )

Nmap 5.20

Alle Änderungen und Verbesserungen findet man in der Nmap Hackers Mailingliste
Weitere Informationen: nmap.org
Übersicht NSE-Scripts: http://nmap.org/nsedoc/
Download: http://nmap.org/download.html

6Jan/100

Nmap 5.0 – Windows Version

nmap-windows02Nmap 5.0 für Windows gibt es auf der offiziellen Nmap-Homepage im Dowload Bereich als ausführbare EXE. Mittels des Nmap Windows-Installer kann man direkt alle benötigten und optionalen Komponenten wie z.B.: WinPcap, Registry Veränderungen und Performance Tweaks, Zenmap (grafisches Frontend) installieren.
Nmap unterstützt alle Windows Versionen seit NT, inklusive 2000, XP, Vista, Windows 7 und die Server Varianten 2003 und 2008.
Bis auf den Connect-Scan (-sT) gibt es keine großen Geschwindigkeitsunterschiede zur Unix-Variante. Mit dem Registry-Schlüssel nmap_performance.reg kann die Connect-Scan Geschwindigkeit deutlich verbessert werden. Standardmäßig werden diese Registry Änderungen bereits durch den Installer vorgenommen. Händisch können die Änderungen aus einem Command Prompt mit folgendem Befehl vorgenommen werden: regedit32 nmap_performance.reg Dabei werden folgende DWORD-Werte gesetzt:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- MaxUserPort: 65534
- TCPTimedWaitDelay: 30
- StrictTimeWaitSeqCheck: 1

Der Installer erweitert automatisch die PATH Systemvariable um folgenden Eintrag: C:\Program Files\Nmap.
Dann muss man nicht den vollen Nmap-Pfad angeben, wenn man Nmap aus einem Command Prompt startet.

nmap-windows01

Folgende Einschränkungen gibt es zur Unix / Linux Variante:
- Man kann nicht einfach die Maschine (localhost, 127.0.0.1) von der Nmap ausgeführt wird scannen. Mann kann allerdings
einen TCP-Connect-Scan ohne Ping (-sT -PN) auf die lokale Maschine machen.
- Es werden nur Netzwerk Interfaces (inkl. 802.11 WLAN Karten und viele VPN Clients) bei Scans mit rohen TCP-Paketen
unterstützt. Einige VPN & RAS-Verbindungen werden nur dann unterstützt, wenn man einen TCP-Connect Scan ohne Ping
macht.

Intense Scan mit Zenmap:

Rechner Details:

Quelle: nmap.org

25Dez/090

Nmap 5.1 BETA2 released – Weihnachtsgrüße von Nmap

Gordon "Fyodor" Lyon hat gestern die Nmap Version 5.1 BETA2 freigegeben.
ncat
Ein Auszug der neuen Features bzw. Änderungen:
- 7 neue NSE-Scripts (insgesammt 79)
- Veränderter NSE-Script Output
- höhere Performance durch deutlich geringereren Speicherverbrauch
- Service-Detection: neue und aktuallisierte Fingerprints & Payloads
- Xmas-Scan: Weihnachtsgrüße im Verbose-Mode
- ...

Weihnachtsgrüße von Nmap:

r-o-f:~# nmap -sX --verbose -p 80 scanme.nmap.org

Starting Nmap 5.10BETA2 ( http://nmap.org ) at 2009-12-25 16:08 CET
Nmap wishes you a merry Christmas! Specify -sX for Xmas Scan (http://nmap.org/book/man-port-scanning-techniques.html).
Initiating Ping Scan at 16:08
Scanning scanme.nmap.org (64.13.134.52) [4 ports]
Completed Ping Scan at 16:08, 0.20s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 16:08
Completed Parallel DNS resolution of 1 host. at 16:08, 6.51s elapsed
Initiating XMAS Scan at 16:08
Scanning scanme.nmap.org (64.13.134.52) [1 port]
Completed XMAS Scan at 16:08, 1.97s elapsed (1 total ports)
Nmap scan report for scanme.nmap.org (64.13.134.52)
Host is up (0.19s latency).
PORT   STATE         SERVICE
80/tcp open|filtered http

Read data files from: /usr/local/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 8.74 seconds
           Raw packets sent: 6 (232B) | Rcvd: 1 (28B)

Alle Änderungen findet man in der Nmap Development Mailingliste
Weitere Informationen: nmap.org




1Dez/090

Nmap 5.0 Howto – Teil 8: NSE Nmap Scripting Engine – praktische Beispiele

Die folgenden Beispiele werden mit der aktuellen Nmap Version 5.0 durchgeführt.
Wie man Nmap 5.0 auf einem aktuellen Debian System installiert, habe ich hier erklärt.
Das Nmap Security Scanner Projekt und Insecure.org erlauben ausdrücklich, dass
man den Host scanme.nmap.org mit Nmap zu Testzwecken scannen darf.
Ich habe für die unten gezeigten Beispiele ausschließlich scanme.nmap.org und meine eigenen Rechner benutzt!

-sC (NSE Standard Scripts)

Nmap benutzt bei diesem Scan alle Scripts, die als default kategorisiert sind. Einige dieser Scripts sind sehr aufdringlich und können leicht von einem IDS leicht erkannt werden.
Eine Auflistung der unterschiedlichen Script Kategorien findet man hier: NSE Grundlagen
Alle Nmap-Scripts werden in der script.db Datenbank (/usr/local/share/nmap/scripts/script.db) indiziert und kategorisiert.

Alle Scripts, die u.a. als default klassifiziert sind:

r-o-f:~# cat /usr/local/share/nmap/scripts/script.db | grep default
Entry { filename = "auth-owners.nse", categories = { "default", "safe", } }
Entry { filename = "dns-recursion.nse", categories = { "default", "intrusive", } }
Entry { filename = "dns-zone-transfer.nse", categories = { "default", "discovery", "intrusive", } }
Entry { filename = "finger.nse", categories = { "default", "discovery", } }
Entry { filename = "ftp-anon.nse", categories = { "auth", "default", "safe", } }
Entry { filename = "ftp-bounce.nse", categories = { "default", "intrusive", } }
Entry { filename = "html-title.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "http-auth.nse", categories = { "auth", "default", "intrusive", } }
Entry { filename = "http-open-proxy.nse", categories = { "default", "discovery", "external", "intrusive", } }
Entry { filename = "imap-capabilities.nse", categories = { "default", } }
Entry { filename = "irc-info.nse", categories = { "default", "discovery", } }
Entry { filename = "ms-sql-info.nse", categories = { "default", "discovery", "intrusive", } }
Entry { filename = "mysql-info.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "nbstat.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "p2p-conficker.nse", categories = { "default", "safe", } }
Entry { filename = "pop3-capabilities.nse", categories = { "default", } }
Entry { filename = "realvnc-auth-bypass.nse", categories = { "default", "vuln", } }
Entry { filename = "robots.txt.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "rpcinfo.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "smb-os-discovery.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "smtp-commands.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "snmp-sysdescr.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "socks-open-proxy.nse", categories = { "default", "discovery", "external", "intrusive", } }
Entry { filename = "ssh-hostkey.nse", categories = { "default", "intrusive", "safe", } }
Entry { filename = "sshv1.nse", categories = { "default", "safe", } }
Entry { filename = "sslv2.nse", categories = { "default", "safe", } }
Entry { filename = "upnp-info.nse", categories = { "default", "safe", } }

Beispiel-Scan mit -sC

r-o-f:~# nmap -sC scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 21:53 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT      STATE  SERVICE
25/tcp    closed smtp
53/tcp    open   domain
70/tcp    closed gopher
80/tcp    open   http
|_ html-title: Go ahead and ScanMe!
113/tcp   closed auth
31337/tcp closed Elite

Nmap done: 1 IP address (1 host up) scanned in 21.39 seconds

--script (erweiterter Script-Scan)

Man kann Nmap mit --script entweder verschiedene Scriptkategorien, einzelne Scripts oder ganze Scripverzeichnisse übergeben. Mit --datadir kann ein alternatives Scriptverzeichnis definiert werden. Nmap verwendet alle Scripts mit .nse Endung. Individuellen Scripts die mit absoluten Pfad angegeben werden, müssen keine spezielle Endung haben.

Beispiele:

nmap --script intrusive,vuln,version

Nmap nimmt alle Scripts aus den Kategorien: intrusive, vuln, version

nmap --script "not safe"

Nmap verwendet alle Scripts außer die als safe kategorisierten.

nmap --script intrusive,mysql-info,/meine/tollen/scripts

Nmap benutzt die Scripts aus der Kategorie intrusive, das Standard-Script mysql-info.nse und alle Scripts mit .nse Endung aus dem Verzeichnis /meine/tollen/scripts

nmap --script all

Nmap benutzt alle verfügbaren Scripts, die in der script.db Datenbank indiziert sind.

Beispiel-Scan mit --script all

r-o-f:~# nmap --script all scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 22:21 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 995 filtered ports
PORT      STATE  SERVICE
25/tcp    closed smtp
53/tcp    open   domain
80/tcp    open   http
|_ html-title: Go ahead and ScanMe!
113/tcp   closed auth
31337/tcp closed Elite

Host script results:
|  whois: Record found at whois.arin.net
|  netrange: 64.13.134.0 - 64.13.134.63
|  netname: NET-64-13-143-0-26
|  orgname: Titan Networks
|  orgid: INSEC
|_ country: US stateprov: CA
|  asn-query:
|  BGP: 64.13.128.0/18 | Country: US
|    Origin AS: 8121 - TCH - TCH Network Services
|_     Peer AS: 1299 2516 3356 4565 4657 19080

Nmap done: 1 IP address (1 host up) scanned in 21.99 seconds

--script-trace

Nmap gibt die gesammte Kommunikation des Scripts aus. Diese Option dient hauptsächlich der Fehlersuche oder zum besseren Verständnis des Scans.

nmap -script html-title --script-trace -p 80 scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 22:46 CET
NSOCK (0.6290s) nsock_loop() started (timeout=50ms). 0 events pending
NSOCK (0.6300s) TCP connection requested to 64.13.134.52:80 (IOD #1) EID 8
NSOCK (0.6310s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.6820s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.7340s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.7860s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.8270s) Callback: CONNECT SUCCESS for EID 8 [64.13.134.52:80]
NSE: TCP 192.168.178.7:43365 > 64.13.134.52:80 | CONNECT
NSOCK (0.8280s) nsock_loop() started (timeout=50ms). 0 events pending
NSE: TCP 192.168.178.7:43365 > 64.13.134.52:80 | 00000000: 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1
00000010: 48 6f 73 74 3a 20 73 63 61 6e 6d 65 2e 6e 6d 61 Host: scanme.nma
00000020: 70 2e 6f 72 67 0d 0a 55 73 65 72 2d 41 67 65 6e p.org  User-Agen
00000030: 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 t: Mozilla/5.0 (
00000040: 63 6f 6d 70 61 74 69 62 6c 65 3b 20 4e 6d 61 70 compatible; Nmap
00000050: 20 53 63 72 69 70 74 69 6e 67 20 45 6e 67 69 6e  Scripting Engin
00000060: 65 3b 20 68 74 74 70 3a 2f 2f 6e 6d 61 70 2e 6f e; http://nmap.o
00000070: 72 67 2f 62 6f 6f 6b 2f 6e 73 65 2e 68 74 6d 6c rg/book/nse.html
00000080: 29 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 )  Connection: c
00000090: 6c 6f 73 65 0d 0a 0d 0a                         lose

NSOCK (0.8280s) Write request for 152 bytes to IOD #1 EID 19 [64.13.134.52:80]
NSOCK (0.8290s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.8290s) Callback: WRITE SUCCESS for EID 19 [64.13.134.52:80]
NSOCK (0.8290s) nsock_loop() started (timeout=50ms). 0 events pending
NSOCK (0.8290s) Read request from IOD #1 [64.13.134.52:80] (timeout: 15000ms) EID 26
NSOCK (0.8300s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.8840s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.9340s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (0.9870s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (1.0280s) Callback: READ SUCCESS for EID 26 [64.13.134.52:80] (928 bytes)
NSE: TCP 192.168.178.7:43365 < 64.13.134.52:80 | HTTP/1.1 200 OK
Date: Mon, 30 Nov 2009 20:43:38 GMT
Server: Apache/2.2.3 (CentOS)
Accept-Ranges: bytes
Content-Length: 739
Connection: close
Content-Type: text/html; charset=UTF-8

<html>
<head>
<title>Go ahead and ScanMe!</title>
</head>
<body>
<p>Hello, and welcome to Scanme.Nmap.Org, a service provided by the <a href="http://nmap.org">Nmap Security Scanner Project</a> and <a href="http://insecure.$

<p>We set up this machine to help folks learn about Nmap and also to test and make sure that their Nmap installation (or Internet connection) is working prop$

<p>Thanks<br>
-<a href="http://insecure.org/fyodor">Fyodor</a>

</body>
</html>

NSOCK (1.0290s) nsock_loop() started (timeout=50ms). 0 events pending
NSOCK (1.0290s) Read request from IOD #1 [64.13.134.52:80] (timeout: 15000ms) EID 34
NSOCK (1.0290s) nsock_loop() started (timeout=50ms). 1 events pending
NSOCK (1.0290s) Callback: READ EOF for EID 34 [64.13.134.52:80]
NSOCK (1.0300s) nsock_loop() started (timeout=50ms). 0 events pending
NSE: TCP 192.168.178.7:43365 > 64.13.134.52:80 | CLOSE
Interesting ports on scanme.nmap.org (64.13.134.52):
PORT   STATE SERVICE
80/tcp open  http
|_ html-title: Go ahead and ScanMe!

Nmap done: 1 IP address (1 host up) scanned in 1.03 seconds

--script-updatedb
Wenn man neu NSE-Scripte in das script Verzeichnis kopiert, Scripts löscht oder verändert z.B. Kategorisierung sollte man die script.db Datenbank aktualisieren.
Diese Option wird ohne Argumente aufgerufen.

r-o-f:~# nmap  --script-updatedb

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 22:42 CET
NSE: Updating rule database.
NSE script database updated successfully.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.33 seconds

Quelle: nmap.org

NSE-Script Datenbank: http://nmap.org/nsedoc/


Nmap 5.0 - Howto Teil 1: Ziele richtig definieren

Nmap 5.0 - Howto Teil 2: Host-Erkennung
Nmap 5.0 - Howto Teil 3: Port-Scans
Nmap 5.0 – Howto Teil 4: Dienst- und Versionserkennung
Nmap 5.0 – Howto Teil 5: Betriebssystem-Erkennung
Nmap 5.0 – Howto Teil 6: Debugging & ausführliche Ausgabe
Nmap 5.0 – Howto Teil 7: Nmap Scripting Engine (NSE) – Grundlagen

Nmap Grundlagen: Port-Zustände
Nmap Grundlagen: Nmap 5.0 Installation




28Nov/090

Nmap 5.0 – Howto Teil 7: Nmap Scripting Engine (NSE) – Grundlagen

Nmap liefert in der Version 5.00 bereits 58 fertige NSE-Scripts mit (Version 5.1b -> 72 Scripts). Man kann aber auch eigene Scan-Scripts in der Programmiersprache Lua schreiben. Die Standard-Scripts werden in acht verschiedene Kategorien unterteilt.
Man kann die Scripts nach Kategorie oder einzeln an Nmap übergeben.
Die Standardscripts findet man unter: /usr/local/share/nmap/scripts

Script Kategorien

auth: Diese Scripts versuchen die Autentifizierungs und Login Daten auf dem Zielsystem zu bestimmen, oft wird dies über eine Brute-Force-Attacke gemacht. z.B. http-auth, ftp-anon

default: Diese Scripts werden standardmäßig verwendet, wenn Nmap mit den Parametern -sC oder -A aufgerufen wird. Bei der automatischen Auswahl der zu verwendenden Scripts werden folgende Kategorien von Nmap berücksichtigt: Geschwindigkeit, Zweckmäßigkeit, Wortfülle, Ausfallsicherheit, Aufdringlichkeit, Heimlichkeit. Weitere Informationen zu den einzelnen Kategorien: hier

discovery:
Diese Scripts versuchen weitere Informationen über das Netzwerk zu finden.

intrusive:
Bei diesen Scripts ist die Wahrscheinlichkeit sehr hoch, dass das Zielsystem abstürzen kann oder z.B. die CPU-Auslastung extrem hoch geht. Die Erkennungswahrscheinlichkeit bei diesen Scans ist dadurch sehr hoch. z.B.: http-open-proxy, snmp-brute

malware:
Diese Scripts testen, ob das Zielsystem mit Malware oder Backdoors verseucht ist. z.B. smtp-strangeport

safe:
Diese Scripts sollten weder viel Netzwerkverkehr verursachen noch irgendwelche Dienste bzw. Hosts abstürzen lassen. Die meißten Scripts dieser Kategorie erkunden hauptsächlich das Netzwerk. Die Erkennungswahrscheinlichkeit ist gering z.B. ssh-hostkey, html-title

version:
Diese Scripts sind als Erweiterung zur Versionserkennung gedacht und werden automatisch von Nmap benutzt, wenn der Parameter -sV (Versions Erkennung) gesetzt ist z.B. skype-version, ppt-version

vuln:
Diese Scripts überprüfen bekannte Schwachstellen von Diensten und geben nur ein Ergebnis aus, wenn diese auch gefunden werden z.B. realvnc-auth-bypass, xampp-default-auth

Script Aufbau

Standardmäßig haben die Nmap-Scripts zwei bis fünf Bereiche, die der Beschreibung und Kategorisierung dienen: description Field, categories Field, author Field, license Field, runlevel Field. Detailierte Informationen findet man auf der offiziellen Nmap Seite: http://nmap.org/book/nse-script-format.html

Quelle: nmap.org


Nmap 5.0 - Howto Teil 1: Ziele richtig definieren

Nmap 5.0 - Howto Teil 2: Host-Erkennung
Nmap 5.0 - Howto Teil 3: Port-Scans
Nmap 5.0 – Howto Teil 4: Dienst- und Versionserkennung
Nmap 5.0 – Howto Teil 5: Betriebssystem-Erkennung
Nmap 5.0 – Howto Teil 6: Debugging & ausführliche Ausgabe

Nmap Grundlagen: Port-Zustände
Nmap Grundlagen: Nmap 5.0 Installation

Get Adobe Flash playerPlugin by wpburn.com wordpress themes