Konkrete Kritik an CVSS4
Marc Ruef
Nmap steht für Network Mapper. Hierbei handelt es sich um ein quelloffenes Netzwerkutility, welches ursprünglich als Portscanner konzipiert wurde. Durch einen simplen Aufruf wie nmap www.scip.ch
lassen sich die offenen Ports am entsprechenden Zielsystem identifizieren. Durch unterschiedliche Schalter wie -sT
, -sS
und -sU
können hierfür verschiedene Scan-Techniken verwenden werden:
C:\Dokumente und Einstellungen\maru>nmap -sS 192.168.0.1Starting Nmap 5.21 ( http://nmap.org ) at 2010-03-24 10:33 Westeuropõische Normalzeit Nmap scan report for 192.168.0.1 Host is up (0.013s latency). Not shown: 999 filtered ports PORT STATE SERVICE 80/tcp open http MAC Address: 00:1E:58:89:18:B2 (D-Link)
Nmap done: 1 IP address (1 host up) scanned in 4.98 seconds
Erweiterungen in der Software haben zusätzliche Möglichkeiten zur automatisierten Auswertung von Zielsystemen eingeführt. So lässt sich beispielsweise mit dem Schalter -O
ein OS-Fingerprinting, bei dem das am Zielsystem eingesetzte Betriebssystem ermittelt wird, durchführen. Und mit -sV
werden als offen identifizierte Ports einem Application Mapping (Identifikation des dargebotenen Anwendungsprotokolls), einem Application Fingerprinting (Identifikation des eingesetzten Produkts) und manchmal einer zusätzlichen Auswertung unterzogen.
Eine der grössten Erweiterungen bestand in der Einführung der Nmap Scripting Engine (NSE). Durch das Einbinden dedizierter Plugins können während der Laufzeit die von nmap zusammengetragenen Informationen ausgewertet, zusätzliche Tests initiiert und diese dokumentiert werden. zur Umsetzung von NSE-Skripten wird die imperative Programmiersprache Lua verwendet. Nachfolgend ein typisches Beispiel, wie mit dem Aktivieren der Script-Engine durch -sC
die zusätzlichen Tests auf einem Webserver eingesetzt werden:
C:\Dokumente und Einstellungen\maru>nmap -sS -sV -sC www.scip.ch -p 80Starting Nmap 5.21 ( http://nmap.org ) at 2010-03-24 11:10 Westeuropõische Normalzeit Nmap scan report for www.scip.ch (192.168.0.10) Host is up (0.0019s latency). rDNS record for 192.168.0.10: www.scip.ch PORT STATE SERVICE VERSION 80/tcp open http Apache httpd | robots.txt: has 6 disallowed entries | /_img/ /_thm/ /vuldb/images/ /cgi-bin/ /tmp/ |_*index.html |_http-favicon: |_html-title: Sicherheit ist unser Gesch\xE4ft! • scip AG
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 8.03 seconds
Dank NSE ist nmap weitaus mehr, als nur ein Portscanner. Wir benutzen bei unseren Security Scans eigene NSE-Skripte, um einen moderierbaren Vulnerability Scanner zu realisieren. Hierfür schreiben wir einzelne NSE-Skripte, die eine erweiterte Auswertung der Zielsystem vornehmen. Als Resultat werden hauptsächlich gefundene Schwachstellen und Details zu diesen dokumentiert. Diese Resultate parsen wir in einem weiteren Schritt in eine Datenbank, in der wir sodann die Moderation der Daten vornehmen können. Durch die computergestützte Analyse unter Zuhilfenahme unseres zentralen Expertensystems können wir damit unsere Prüfungen effizienter und zuverlässiger gestalten.
Grundsätzlich wird der Schalter -sC
verwendet, um einen Script-Scan einzuleiten. Innerhalb eines Skripts kann über das Feld categories
eine Zuweisung unterschiedlicher Kategorien erfolgen. Diese werden in der unten abgebildeten Tabelle aufgelistet. Durch den Schalter --script
lassen sich sodann Skripte aus einzelnen Kategorien oder spezifischen Unterverzeichnissen bzw. einzelne Skripte separat ausführen. Einige Skripte greifen auf dynamische Argumente zurück, die bei der Programmausführung durch den Schalter --script-args
übergeben werden können.
Skript-Kategorie | Beschreibung |
---|---|
auth | Ermitteln von Authentisierungs-Credentials (z.B. Bruteforce) |
default | Standard-Skripte, die beim Aufruf von -sC ausgeführt werden |
discovery | Auswertung zugänglicher Dienste (z.B. Titel eines HTML-Dokuments oder SNMP-Einträge) |
external | Skripte, die zwecks Weiterverarbeitung Daten an externe Dienste schicken (z.B. whois) |
intrusive | Intrusive Skripte, die das Zielsystem (negativ) beeinträchtigen könnten (z.B. hohe CPU-Auslastung) |
malware | Überprüfung der Infektion von Malware (Viren und Würmer) |
safe | Defensive Skripte, die keine intrusiven und destriktiven Zugriffe durchführen |
version | Erweiterung zum Fingerprinting mit dem Schalter -sV |
vuln | Identifikation spezifischer Verwundbarkeiten (ähnlich einem Vulnerability Scanner) |
Im Rahmen dieser mehrteiligen Artikelserie werden wir verschiedene Techniken zur Implementierung und Optimierung von NSE-Skripten diskutieren. Im zweiten Teil werden wir ein erstes Plugin schreiben. Dieses wird allgemeine Informationen des durch nmap durchführten Portscans weiterverwenden, um zusätzliche Details zu den Resultaten auszugeben. Anhand dieses Prozesses soll das programmiertechnische Prinzip von NSE-Skripten illustriert werden.
Unsere Spezialisten kontaktieren Sie gern!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!