diff --git a/docs/nmap_manpage-de.html b/docs/nmap_manpage-de.html index 1f7a5242f..bdf5e1f2c 100644 --- a/docs/nmap_manpage-de.html +++ b/docs/nmap_manpage-de.html @@ -1,1050 +1,8 @@ - -
-- -NMAP(1) NMAP(1) - - - - --
- nmap - Auswertungstool fuer Netzwerke und Security Scanner - - --
- nmap [Scan-Typ(en)] [Optionen] <Host oder Netz #1 ... [#N]> - - --
- Nmap wurde entwickelt, um Systemadministratoren und kuriosen Individuen - die Moeglichkeit zu geben, ansprechbare Systeme und die durch sie bere- - itgestellten Dienste in grossen Netzwerken zu identifizieren. nmap - unterstuetzt eine Vielzahl verschiedener Scanning-Techniken, wie zum - Beispiel UDP, TCP connect(), TCP SYN (half open), FTP-Proxy (bounce - attack), Reverse-ident, ICMP (Ping-Suchlauf), FIN, ACK-Suchlauf, Xmas- - Tree, SYN-Suchlauf, IP-Protocol und Null-Scan. Siehe Absatz Scan-Typen - fuer mehr Informationen. Ebenso ermoeglicht nmap eine Vielzahl von - zusaetzlichen Moeglichkeiten, wie das Erkennen von Betriebssystemen - mittels TCP/IP-Fingerprinting, Stealth-Scanning, dynamische Ver- - zoegerungen und Uebertragungswiederholungs-Berechnungen, paralleles - Scanning, Entdecken abgeschalteter Systeme mittels parallelem Scanning, - Decoy-Scanning, entdecken von Port-Filtering, direktes RPC-Scanning - (ohne Portmapper), fragmentiertes Scanning sowie flexible Ziel und Port - Spezifizierung. - - Ein Grossteil der Arbeit wurde in die Moeglichkeiten fuer non-root - Benutzer investiert. Leider benoetigen viele exotische Techniken (z.B. - die Kernel-nahen raw sockets) root-Privilegien. Aus diesem Grund sollte - nmap stets als root genutzt werden, sofern dies moeglich ist (natuer- - lich kein setuid root). - - Das Resultat eines nmap-Durchlaufs ist normalerweise eine Liste - saemtlicher interessanter Ports der gescannten Geraete (falls vorhan- - den). Sofern eine Zuweisung stattfinden kann, benennt nmap die well- - known Ports direkt mit ihrem Service-Namen, Portnummer, Status und Pro- - tokoll. Der Status ist entweder ’open’, ’filtered’ oder ’unfiltered’. - Open (dt. offen) bedeutet, dass das Zielsystem auf diesem Port - Verbindungen anzunehmen in der Lage ist. Filtered (dt. gefiltert) - weist darauf hin, dass ein dediziertes Firewall-System, TCP/IP-Filter - oder Netzwerk-Element die Arbeit von nmap behindert und somit keine - verlaesslichen Rueckschluesse gemacht werden koennen. Unfiltered (dt. - ungefiltert) heisst, dass nmap den Port kennt, jedoch beim Zugriff - keinerlei Filter-Mechanismen ausgemacht werden konnten. Der unge- - filterte Status wird in den meisten aller Faelle vorhanden sein, - weshalb ein solcher nur immer dann ausgwiesen wird, wenn die meisten - der gescannten Ports gefiltert (engl. filtered) sind. - - Jenachdem, welche Optionen angewandt wurden, ist nmap in der Lage - Auskunft ueber die folgenden Charakteristiken des Zielsystems zu geben: - Genutztes Betriebssystem, TCP-Sequenznummern, Benutzername der an die - Ports gebundene Software, DNS-Name, ob es sich um ein Smurf-System han- - delt und viele mehr. - - --
- Das Zusammenspiel verschiedener Optionen ist immer dann moeglich, wenn - dies auch Sinn macht. Einige Parameter koennen nur in Verbindung mit - spezifischen Scan-Methoden genutzt werden. nmap versucht unlogische - und nicht unterstuetzte Kombinationen von Parametern abzufangen und den - Benutzer entsprechend zu warnen. - - Falls Sie ungeduldig sind, koennen Sie den Abschnitt Beispiele ueber- - springen. Darin werden typische Befehlseingaben gezeigt. Ebenso kann - nmap -h ausgefuehrt werden, um eine kurze Optionsreferenz ausgeben zu - lassen. - - SCAN-TYPEN - - -sS TCP SYN-Scan: Diese Technik wird oft als "halb-offen" (engl. - "half-open") bezeichnet, da keine volle TCP-Verbindung zustande - kommt. Der Scanner schickt ein TCP-Datagramm mit gesetzter SYN- - Flagge an das Zielsystem, so wie dies im Rahmen des Drei-Wege- - Handschlags von TCP normalerweise auch der Fall ist. Nun wird - auf eine positive Rueckmeldung des Zielsystems gewartet. Kommt - ein Paket mit gesetzter SYN/ACK-Flagge zurueck, so wird der - Zielport als im Status LISTENING (dt. abhoerend) identifiziert. - Im Gegenzug deutet ein RST-Datangramm auf einen geschlossenen - Port (engl. closed) hin. Wird ein SYN/ACK-Datagramm entge- - gengenommen, schickt nmap (bzw. der Betriebssystem-Kernel) - automatisch ein RST zurueck, um den Verbindungsaufbau zu - abzubrechen. Der primaere Vorteil dieser Vorgehensweise ist, - dass viele Systeme solcherlei Zugriffe nicht protokollieren (Die - meisten Applikationen interessieren sich nur fuer vollstaendig - etablierte Verbindungen). Leider setzt diese Scan-Technik root- - Privilegien voraus, da eine Generierung verhaeltnismaessig exo- - tischer Paket-Sequenzen von Noeten ist. Dies ist die standard- - maessige Scan-Methode fuer priviligierte Benutzer. - - -sT TCP connect()-Scan: Dies ist die klassische Form des TCP- - Portscannings. Der connect()-System-Call, der das Betriebssystem - zur Verfuegung stellt, wird immer dann genutzt, wenn eine - Verbindung zum Port eines Zielsystems hergestellt werden soll. - Befindet sich der Zielport im Status LISTENING, so wird der con- - nect()-Zugriff erfolgreich ausfallen. Der entscheidende Vorteil - dieser Methode ist, dass keine erweiterten Rechte zur Durch- - fuehrung erforderlich sind. Jeder Benutzer der meisten UNIX-Sys- - teme ist in der Lage solcherlei Zugriffe durchzufuehren. - - Diese Scan-Technik ist einfach zu entdecken und wird mit - groesster Wahrscheinlichkeit in den Protokoll-Dateien des Ziel- - systems auftauchen. Dies ist der standardmaessig aktivierte - Scan-Typ fuer unprivilegierte Anwender. - - -sF -sX -sN - Stealth FIN-, Xmas-Tree- oder Null-Scan-Modis: Es gibt Momente, - wo SYN-Scans nicht heimlich genug ausfallen. Einige Firewall- - Systeme (z.B. Packet-Filter) sind in der Lage verdaechtige SYN- - Aktivitaeten zu erkennen; ebenso koennen Programme wie Synlogger - oder Courtney die SYN-Portscans als solche ausweisen. Diese - erweiterten Scan-Techniken koennen somit in manchen Faellen - ungehindert die gewuenschten Resultate liefern. - - Die Idee ist, dass geschlossene Ports auf solcherlei Zugriffe - mit einem RST-Datagramm antworten muessten, waehrend ansprech- - bare Ports die Anfragen ignorieren sollten (siehe RFC 793, S. - 64). Der FIN-Scan nutzt ein TCP-Datagramm mit gesetzter FIN- - Flagge, waehrend der Xmas-Tree-Scan die TCP-Flaggen FIN, URG und - PSH aktiviert. Der Null-Scan schaltet alle optionalen Flags ab. - Leider ignoriert einmal mehr Microsoft die gaengigen Standards - und reagiert auf die exotischen Scan-Techniken ganz unerwartet. - Dies bedeutet, dass diese Scanning-Methoden nicht gegen Windows - 9x, ME, NT, 2000 und XP funktionieren. Auf der anderen Seite ist - dies natuerlich hervorragend, wenn es um das Identifizieren der - TCP/IP-Implementierung von Microsoft geht: Findet einer dieser - Scans einen offenen Port, so kann davon ausgegangen werden, dass - es sich beim Zielsystem nicht um ein Windows handelt - Im Gegen- - zug deuten unrealistisch viele offene Ports auf eine Windows- - Maschine hin. Es gilt sich jedoch noch die Meinung einer klas- - sischen Scan-Methode (z.B. SYN) einzuholen. Es gibt noch einige - andere Betriebssysteme, die sich aehnlich demjenigen von - Microsoft verhalten. Dies sind zum Beispiel Cisco, BSDI, HP/UX, - MVS und IRIX. All diese retournieren ein Reset, auch wenn es - sich um einen ansprechbaren Port handelt. Mittlerweile ist diese - knifflige Unterscheidungs-Arbeit mittels exotischer Scanning- - Techniken eher weniger wichtig, da nmap eine erweiterte Methode - fuer das Erkennen des eingesetzten Betriebssystems mitbringt. - - -sP Ping-Scanning: Manchmal ist es lediglich gefragt, welche Hosts - in einem Netzwerk aktiv sind. nmap kann diese Frage beantworten, - indem eine ICMP echo request-Anfrage an jede IP-Adresse im spez- - ifizierten Netzwerk geschickt wird. Hosts, die mit einer ICMP - echo reply antworten, koennen als aktiv ausgewiesen werden. - Viele gewissenhafte Firewall- und Systemadministratoren filtern - bzw. verwerfen unnoetigen ICMP-Verkehr. nmap greift sodann auf - eine andere Technik zurueck. Es wird ein TCP-Datagramm mit - gesetzter ACK-Flagge an einen potentiell offenen Port des Ziel- - systems geschickt (standardmaessig TCP-Port 80). Wird ein RST - zurueckgeschickt, so ist das Zielsystem vorhanden und ansprech- - bar. Eine dritte Technik greift auf ein SYN-Datagramm zurueck, - das auf ein RST oder SYN/ACK wartet. Alle non-root Benutzer - fuehren einen connect()-Zugriff durch. - - Standardmaessig (bei root-Benutzern) fuehrt nmap beides - ICMP- - und ACK-Technik - parallel durch. Dies kann durch das Her- - anziehen der spaeter noch detaillierter beschriebenen Option -P - geaendert werden. - - Wichtig ist zu wissen, dass der Ping-Zugriff standardmaessig - stets erfolgt. Abhaengig der Erreichbarkeit eines Systems wird - ein solches dann gescannt. Benutzen Sie diese Option lediglich - dann, wenn es um das Durchfuehren eines Ping-Suchlaufs ( ohne - Portscan) geht. - - -sU UDP-Scans: Diese Methode wird stets dann herangezogen, wenn es - um das Identifizieren der offenen UDP-Ports (siehe RFC 768) - eines Systems geht. Diese Technik basiert darauf, dass ein UDP- - Datagramm mit 0 Byte an Nutzdaten an jeden Port des Zielsystems - geschickt wird. Erhalten wir eine ICMP port unreachable- - Nachricht, so ist der Zielport geschlossen. Andererseits handelt - es sich um einen offenen Port. - - Einige Leute denken, dass UDP-Scanning sinnlos ist. Ich moechte - in diesem Zusammenhang auf die Luecke in Solaris’ rpcbind hin- - weisen. rpcbind kann an einem undokumentierten UDP-Port ueber - 32770 gefunden werden. Bei diesem Angriff und der vorangehenden - Auswertung ist es sodann zu einem hohen Grad irrelevant, ob Port - 111 durch eine Firewall blockiert wird oder nicht. Ebenso - existiert das populaere, von cDc entwickelte Backdoor namens - Back Orifice, das durch einen frei waehlbaren UDP-Port Windows- - Maschinen kontrollieren laesst. Und nicht zu vergessen die vie- - len potentiell verwundbaren Dienste, die auf UDP zurueckgreifen: - SNMP, TFTP, NFS, etc. - - Traurigerweise ist UDP-Scanning in den meisten Faellen - schmerzhaft langsam, seitdem viele Betriebssystem-Entwickler der - Empfehlung von RFC 1812 (Absatz 4.3.2.8) nachgekommen sind, die - Anzahl ausgehender ICMP-Fehlernachrichten zu limitieren. Zum - Beispiel definiert der Linux-Kernel (in net/ipv4/icmp.h) die - Anzahl ausgehender ICMP destination unreachable-Fehlermeldungen - auf 80 fuer 4 Sekunden, mit einer 1/4 Sekunde Zusatz fuer jeden - Uebertritt. Solaris weist einiges striktere Limitierungen auf (2 - Nachrichten pro Sekunde), weshalb ein UDP-Portscan gegen ein - Solaris-System sehr lange dauert. nmap ist in der Lage solcher- - lei Limitierungen zu erkennen und mit einem dynamischen Ver- - langsamen der Geschwindigkeit zu reagieren. Dies verhindert das - Verstopfen des Netzwerks mit unnoetigen Paketen, die sowieso vom - Zielsystem ignoriert werden wuerden. - - Einmal mehr typisch, ignoriert Microsoft die Empfehlungen des - RFCs, weshalb eine Einschraenkung ausgehender ICMP-Fehlermeldun- - gen gaenzlich bei der TCP/IP-Implementierung auf Windows 9x und - NT fehlt. Das scannen saemtlicher UDP-Ports auf einer Windows- - Maschine ist somit kein groesseres Problem. - - -sO IP protocol-Scans: Diese Methode kommt dann zum Tragen, wenn - herausgefunden werden will, welche IP-Protokolle vom Zielsystem - unterstuetzt werden. Diese Technik basiert darauf, dass fuer - jedes IP-Protokoll ein RAW IP-Paket mit fehlendem Protokoll- - Header an das Zielsystem geschickt wird. Erhalten wir eine ICMP - protocol unreachable-Fehlermeldung, so koennen wir davon ausge- - hen, dass das besagte Protokoll nicht unterstuetzt wird. Faellt - das Resultat anders aus, kann mit einer Protokoll-Unterstuetzung - gerechnet werden. Es ist wichtig zu bemerken, dass einige - Betriebssysteme (z.B. AIX, HP-UX und Digital UNIX) und Firewall- - Loesungen auf das Versenden der ICMP protocol unreachable- - Fehlermeldungen gaenzlich verzichten. Das Resultat eines solchen - Verhaltens ist die durch nmap generierte Ausgabe, dass - saemtliche Protokolle "offen" sind. - - Aufgrund dessen, dass diese Scan-Methode in ihren Grundzuegen - auf den Prinzipien des UDP-Portscannings aufbaut, spielt die - Rate der potentiell generierten ICMP-Fehlermeldungen eine - beachtliche Wichtigkeit. Da das IP-Protokoll Feld nur 8 Bits - hat, muessen lediglich 256 Protokolle gescannt werden, was sich - in einem angemessenen Zeitrahmen erledigen laesst. - - -sI <Zombie-Host[:Zielport]> - Idlescan: Diese erweiterte Scan-Technik ermoeglicht ein blindes - Scannen der TCP-Port eines Ziels (dies bedeutet, dass keinerlei - Pakete mit der richtigen IP-Absenderadresse verschickt werden). - Stattdessen wird eine einzigartige Attacke angewandt, die die - Berechenbarkeit der IP Fragmentation ID eines Zombie-Hosts aus- - nutzt. Intrusion Detection-Systeme werden den Scan-Versuch dem - spezifizierte Zombie-System zuschreiben (welches ansprechbar - sein und bestimmte Kriterien erfuellen muss). Ich habe eine Pub- - likation zu diesem Thema verfasst, die sich unter - http://www.insecure.org/nmap/idlescan.html findet. - - Neben der vollkommenen Sicherheit, nicht direkt erkannt werden - zu koennen, ermoeglicht dieser Scan-Typ das Erkennen von IP- - basierenden Vertrauensbeziehungen zwischen Geraeten. Das Port- - Listing zeigt die offenen Ports aus der Sicht des Zombie-Sys- - tems. Es ist sodann Moeglich das effektive Zielsystem durch - verschiedene Zombies scannen zu lassen, die eine bestehende Ver- - trauensbeziehung haben (via Router- oder Packetfilter-Regeln). - Ganz offensichtlich ist dies eine gewichtige Information, wenn - es um das Priorisieren von Angriffszielen geht. Andererseits - muessten Penetration Tester zuerst muehsam ein System kompromit- - tieren, bis verlaesslich gesagt werden kann, ob ueberhaupt die - erforderliche Vertrauensbeziehung besteht. - - Durch einen Doppelpunkt laesst sich die Portnummer des Zom- - biesystems definieren. Ohne diese Angabe waehlt nmap den Stan- - dardport, der auch bei TCP-Pings Verwendung findet (TCP-Port - 80). - - -sA ACK-Scan: Auf diese erweiterte Scan-Technik wird normalerweise - immer dann zurueckgegriffen, wenn es um das Identifizieren eines - Firewall-Regelwerks geht. Zusaetzlich kann diese Methode eine - Determinierung des Vorhandenseins einer Stateful Inspection, die - eingehende SYN-Pakete blockt, ermoeglichen. - - Dieser Scan-Typ schickt ein ACK-Paket (mit zufaellig gewaehlten - Bestaetigungs-/Sequenznummern) an den spezifizierten Zielport. - Kommt ein RST zurueck, wird der besagte Port als "unfiltered" - (dt. ungefiltert) eingestuft. Erhalten wir keine Rueckantwort - (oder kommt ein ICMP unreachable zurueck), so weist nmap den - Port als "filtered" (dt. gefiltert) aus. Wichtig ist, dass nmap - normalerweise keine "unfiltered" ausgibt. So sind keine Ports in - der Ausgabe ein Indiz dafuer, dass alle Zugriffe durchgekommen - sind (und ein RST verursacht haben). Dieser Scan wird die Ports - nie in einem "open" (dt. offenen) Status zeigen. - - -sW Window-Scan: Diese erweiterte Scan-Technik ist dem ACK-Scan sehr - aehnlich. Ausser, dass hiermit manchmal auch offene, unge- - filterte und gefilterte Ports durch eine Anomalie in der durch - die Betriebssysteme gewaehlten TCP window size entdeckt werden - koennen. Systeme, die gegen diese Attacke verwundbar sind, sind - einige Versionen von AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX, - DG/UX, OpenVMS, Digital UNIX, FreeBSD, HP-UX, OS/2, IRIX, MacOS, - NetBSD, OpenBSD, OpenStep, QNX, Rhapsody, SunOS 4.x, Ultrix, VAX - and VxWorks. Siehe das Archiv der nmap-Hackers Mailingliste fuer - eine vollstaendige Auflistung. - - -sR RPC-Scan: Diese Methode arbeitet in Kombination mit den meisten - moeglichen Scan-Typen von nmap zusammen. Jeder als offen identi- - fizierte TCP- und UDP-Port wird mit einer Vielzahl von SunRPC- - Nullkommandos ueberflutet, um eine Identifizierung von RPC-Ports - vorzunehmen. Falls ein solcher gefunden wurde, wird der Pro- - grammname und die Version ausgelesen, sofern diese Information - zur Verfuegung gestellt wird. Diese Vorgehensweise ist ebenso - mit dem Heranziehen von ’rpcinfo -p’ moeglich; besonders dann, - wenn des Zielsystems Portmapper hinter einer restriktiven Fire- - wall steht oder durch einen TCP-Wrapper geschuetzt wird. Decoy- - Scans arbeiten zur Zeit nicht mit RPC-Scans zusammen. Irgend- - wann wird vielleicht Decoy-Scanning im Zusammenhang mit UDP-RPC- - Scans moeglich sein. - - -sL List-Scan: Diese simple Methode generiert eine Liste aller IP- - Adressen und Hostnamen, ohne die Zielsysteme direkt anzusprechen - (Ping oder Portscan). Eine Namensaufloesung ueber DNS findet - stets statt, sofern dies nicht durch das Heranziehen von -n - unterbunden wird. - - -b <FTP-Relay Host> - FTP-Bounce Attacke: Ein interessantes "Feature" des File Trans- - port Protocols (RFC 959) ist die Unterstuetzung von "Proxy"-FTP- - Verbindungen. Mit anderen Worten ist es moeglich, sich von - boese.com auf ziel.com zu verbinden und eine Datei ueberall hin - zu schicken. Nun, dies hat wohl ausgezeichnet funktioniert, als - 1985 das besagte RFC geschrieben wurde. In der heutigen Zeit ist - es nicht mehr ohne weiteres Moeglich, sich auf fremde FTP-Server - zu verbinden und nach Belieben Dateien zu versenden. *Hobbit* - schrieb 1995 folgendes zu dieser Schwachstelle: "[This protocol - flaw] can be used to post virtually untraceable mail and news, - hammer on servers at various sites, fill up disks, try to hop - firewalls, and generally be annoying and hard to track down at - the same time." Bei dieser Scanning-Methode wird ein als Proxy - fungierender FTP-Server genutzt, um die offenen Ports eines - Zielsystems ausfindig zu machen. Beispielsweise kann dadurch zu - einem hinter einer Firewall positionierten FTP-Server verbunden - werden, um danach interne, durch das Firewall-Element gegen - externe Zugriffe geschuetzte Ports (z.B. die NetBIOS-Ports) - anzusprechen. Falls auf dem FTP-Server ein Verzeichnis - existiert, bei dem sowohl Lese- als auch Schreibrechte vorhanden - sind (z.B. /incoming), kann eine semi-manuelle Uebergabe von - Daten an die Zielports durchgefuehrt werden (nmap nimmt einem - diese Arbeit nicht ab). - - Das mit der Option ’-b’ uebergebene Argument, spezifiziert den - als Proxy gewollten Host, wobei die standard URL-Notation gilt. - Das Format lautet Benutzername:Passwort@Server:Port. Alles, - ausser Server ist optional. Wie eine Determinierung der gegen - diese Zugriffsform verwundbare Server vorgenommen werden kann, - kann in meinem Artikel in Phrack 51 nachgelesen werden. Eine - aktualisierte Version ist auf der nmap Webseite - (http://www.insecure.org/nmap) verfuegbar. - - GENERELLE OPTIONEN - Keine der folgenden Optionen ist erforderlich. Einige von ihnen - koennen jedoch nuetzlich sein. - - -P0 Verhindert das Pingen eines Hosts, bevor er gescannt wird. Dies - ermoeglicht das Scannen von Netzwerken, die keine ICMP echo - requests (oder responses) aufgrund einer restriktiv konfiguri- - erten Firewall zulassen. microsoft.com ist ein Beispiel fuer ein - solches Netzwerk, in dem diese Funktion stets genutzt werden - sollte. Gebrauchen Sie -P0 oder -PT80 wenn ein Portscan gegen - microsoft.com durchgefuehrt werden soll. - - -PT Benutzt einen TCP-Ping, um die Erreichbarkeit eines Hosts zu - verifizieren. Anstatt ICMP echo request-Abfragen zu verschicken - und auf die entsprechenden ICMP echo reply-Rueckantworten zu - warten, wird auf ein TCP-Datagramm mit gesetzter ACK-Flagge - gesetzt. Ansprechbare Systeme sollten mit einem RST antworten. - Diese Funktion ist immer dann anzuwenden, wenn Systeme oder Net- - zwerke gescannt werden sollen, die keine Erreichbarkeitsueber- - pruefung mittels ICMP zulassen und trotzdem zuerst die Erreich- - barkeit identifiziert werden soll. Bei non-root Benutzern wird - connect() angewandt. Um den Zielport des Zugriffs zu spezi- - fizieren, kann -PT<Portnummer> herangezogen werden. Der Stan- - dardport ist einmal mehr TCP/80 (HTTP), da dieser eher selten - durch einen Filter gedeckt wird. - - -PS Diese Option benutzt fuer root-Benutzer SYN (Verbindungsan- - forderungen) anstatt ACK-Pakete. Ansprechbare Hosts sollten mit - einem RST (oder in seltenen Faellen mit einem SYN/ACK) - antworten. Das Setzen des Zielports kann auf die selbe Art wie - beim zuvor erlaeuterten -PT umgesetzt werden. - - -PI Diese Option nutzt einen klassischen Ping (ICMP echo request), - um die Erreichbarkeit von Systemen und Broadcast-Adressen von - Subnetzen zu identifizieren. Letztere sind extern erreichbare - IP-Adressen, die eine Umwandlung zu einem internen Broadcast des - Subnetzes durchfuehren. Solcherlei sollten verhindert werden, - denn sie sind Voraussetzung fuer eine Reihe von Denial of Ser- - vice-Attacken (Smurf ist die bekannteste Variante). - - -PP Benutzt eine ICMP timestamp-Anfrage (Typ 13, Code 0), um - ansprechbare Hosts zu finden. - - -PM Das Gleiche wie -PI und -PP , ausser, dass eine ICMP address - mask request (Typ 17, Code 0) zum Tragen kommt. - - -PB Dies ist der standardmaessig gewaehlte Ping-Typus. Er benutzt - beide Techniken, ACK ( -PT ) und ICMP echo requests ( -PI ), die - jeweils parallel durchgefuehrt werden. Auf diese Weise koennen - Firewall-Elemente ausgetrickst werden, die eine der beiden Pro- - tokolle (nicht beide) filtern. Der Zielport fuer den TCP-Zugriff - kann auf die gleiche Weise gesetzt werden, wie im zuvor erk- - laerten -PT. - - -O Diese Option aktiviert das Identifizieren des am Zielsystem - eingesetzten Betriebssystems anhand des TCP/IP-Fingerabdrucks - (engl. TCP/IP fingerprint). Es wird eine Anzahl spezifischer - Tests umgesetzt, die das typische Verhalten der jeweiligen - TCP/IP-Implementierungen erkennen koennen sollen. Die gegebenen - Informationen stellen quasi einen ’Fingerabdruck’ dar, der mit - der Datenbank der bekannten Betriebssystem-Fingerabdrucke (die - nmap-os-fingerprints Datei) verglichen wird. - - Falls nmap nicht in der Lage ist, eine mehr oder weniger ein- - deutige Identifikation des am Zielsystem eingesetzten Betrieb- - ssystems vorzunehmen und die gegebenen Bedingungen gut sind - (mindestens ein ansprechbarer Port), gibt nmap eine URL aus, bei - der neu gefundene Fingerprints eingesendet werden koennen. Dies - setzt natuerlich voraus, dass Sie sich eindeutig im Klaren - darueber sind, um was fuer ein Betriebssystem es sich handelt. - Durch diesen Schritt koennen Sie aktiv an der Erweiterung der - Datenbank mithelfen, wodurch sie attraktiver fuer saemtliche - Benutzer wird. Falls Sie beim Einsenden des neuen Fingerabdrucks - die IP-Adresse des Zielsystems mitangeben, muessen Sie damit - rechnen, dass es von uns zu Ueberpruefungszwecken gescannt wird. - - Die Option -O aktiviert ebenso einige weitere Tests. Einer - dieser ist das Messen der "Uptime". Hierzu wird das Timestamp- - Feature von TCP genutzt (RFC 1323), um erkennen zu koennen, wann - das Zielsystem das letzte mal neu gestartet wurde. Diese Funk- - tionalitaet wird natuerlich nur dann genutzt werden koennen, - wenn das Zielsystem diese Information auch entsprechend bereit- - stellt. - - Ein anderer Check, der durch die Option -O aktiviert wird, ist - die Klassifizierung der Berechenbarkeit der TCP-Sequenznummer - des Zielsystems. Das Ergebnis dieses Tests sagt aus, wie schwer - es ist, eine bestehende Verbindung des Zielsystems zu - uebernehmen. Dies ist dann nuetzlich, wenn auf IP-Adressen - basierende Vertrauensbeziehungen (z.B. rlogin und Firewall-Fil- - ter) missbraucht oder die Quelle eines Angriffs versteckt werden - sollen. Die mitgelieferte Difficulty-Number ist statistisch - berechnet und kann jeweils leicht abweichen. Zusaetzlich wird in - knappen Worten (z.B. "worthy challenge" or "trivial joke") der - Zustand beschrieben. All dies wird nur dann ausgegeben, wenn der - Parameter -v mitangegeben wurde. - - Wenn die Option -O zusammen mit dem Verbose-Modus (-v) genutzt - wird, wird ebenso die Sequenz-Generierung der IPID ausgewiesen. - Die meisten Geraete werden als "incremental" klassifiziert, was - bedeutet, dass sie fuer jedes verschickte Paket eine Inkremen- - tierung des ID-Felds im IP-Header vornehmen. Ein solches Ver- - halten macht sie verwundbar gegen eine Reihe verschiedener - Auswertungs- und Spoofing-Attacken. - - -6 Diese Option aktiviert die IPv6-Unterstuetzung. Saemtliche Ziele - muessen mit IPv6 zurecht kommen, sofern diese Option genutzt - werden soll. Das Spezifizieren der Ziele kann ganz normal ueber - den DNS-Namen (AAAA record) oder IPv6-Adresse (z.B. - 3ffe:501:4819:2000:210:f3ff:fe03:4d0) geschehen. Momentan sind - TCP connect()- und Ping-Scans von nmap unterstuetzt. Falls UDP- - oder andere Scan-Typen genutzt werden sollen, lohnt sich ein - Blick auf http://nmap6.sourceforge.net/ . - - -I Hiermit wird das TCP reverse ident-Scanning aktiviert. Wie Dave - Goldsmith in einem Bugtraq-Posting aus dem Jahre 1996 publiziert - hat, ermoeglicht das ident-Protokoll (RFC 1413) das Identi- - fizieren des Besitzers eines TCP-Dienstes. So kann zum Beispiel - eine Verbindung zum HTTP-Port des Zielsystems hergestellt wer- - den, um danach mittels ident herauszufinden, ob der Webserver - als root laeuft. Dies kann nur mit der Hilfe eines full-connect - TCP-Portscans (-sT) geschehen. Wenn -I aktiviert wird, wird der - identd des Zielsystems fuer jeden als offen identifizierten Port - abgefragt. Logischerweise funktioniert diese ganze Prozedur - nicht, wenn das Zielsystem keinen identd aktiv hat. - - -f Diese Option erreicht, dass der durchgefuehrte SYN-, FIN-, Xmas- - oder Null-Scan mit fragmentierten IP-Paketen arbeitet. Die Idee - ist, dass der TCP-Header ueber mehrere Pakete verteilt werden - soll, wodurch eine Inspizierung durch Firewall- oder Intrusion - Detection-Systeme erschwert wird. Bei dieser Funktion ist Vor- - sicht geboten, denn viele der verbreiteten Netzwerkanwendungen - kommen mit derlei Datenverkehr nicht klar. Beispielsweise - erhielt ich bei meinem liebsten Sniffer ein segemtation fault, - nachdem das erste 36-byte Fragment eingelesen wurde. Danach kam - gar ein 24-byte Paket! Waehrend diese Methode keinen Erfolg bei - Elementen verspricht, die eine Warteschlange fuer IP-Fragmente - haben (wie dies mittels der Option CONFIG_IP_ALWAYS_DEFRAG unter - Linux normalerweise der Fall ist), koennen andere Umgebungen den - enormen Aufwand fuer eine solche Analyse nicht tragen, - verzichten darauf und koennen deshalb ausgetrickst werden. - - Es bleibt zu bemerken, dass diese Option nicht auf allen - Betriebssystemen einwandfrei genutzt werden kann. Es arbeitet - ohne Zwischenfaelle auf meinem Linux, FreeBSD und OpenBSD; - einige Leute berichten gar, dass es auch auf anderen *NIX funk- - tioniert. - - -v Verbose-Modus: Diese, eine sehr zu empfehlende Option, - ermoeglicht eine erweiterte Ausgabe von Informationen. Eine dop- - pelte Nutzung ergibt einen doppelt so grossen Effekt. Ebenso - kann -d einige Male aktiviert werden, falls Sie wirklich vor - einem ueberlasteten Bildschirm verrueckt werden wollen! - - -h Diese handliche Funktion zeigt eine Kurzreferenz der nmap-Param- - eter. Wie Sie vielleicht gemerkt haben, handelt es sich bei - dieser man-Page nicht unbedingt um eine ’handliche Kurzreferenz’ - :) - - -oN <Protokoll-Dateiname> - Dies protokolliert die Resultate des Scans in einem normalen, - fuer Menschen lesbaren Format in eine durch ein Argument spezi- - fizierte Datei. - - -oX <Protokoll-Dateiname> - Dies protokolliert die Resultate des Scans als XML in die durch - ein Argument spezifizierte Datei. Dadurch koennen andere Pro- - gramme unkompliziert die durch nmap generierten Informationen - auswerten und verarbeiten. Durch das Argument ’-’ (ohne - Anfuehrungszeichen) kann die Ausgabe auf stdout (fuer Pipeline- - Verarbeitung, etc.) umgeleitet werden. In diesem Fall wird die - normale Bildschirmausgabe unterdrueckt. Achtung vor Fehlermel- - dungen (diese werden nach wie vor nach stderr geschickt). Ebenso - ist wichtig, dass ’-v’ in den meisten Faellen einige zusaet- - zliche Informationen gewaehrleisten koennen wird. Die Doku- - mententypendefinition (engl. Document Type Definition, abk. - DTD), die fuer die XML-Ausgabe genutzt wird, steht unter - http://www.insecure.org/nmap/data/nmap.dtd bereit. - - -oG <Protokoll-Dateiname> - Dies protokolliert die Resultate des Scans in eine grepbare Form - in eine durch ein Argument spezifizierte Datei. Dadurch wird ein - simples Format angestrebt, welches alle Informationen auf einer - Zeile ausgibt, weshalb ganz einfach ein grep fuer Ports, OS- - Informationen oder IP-Adressen umgesetzt werden kann. Dieses - einfache Format stellt meistens nicht so viele Informationen - bereit, wie dies bei anderen Ausgabevarianten der Fall ist. - Diese Form war die urspruenglich, fuer die Verarbeitung durch - externe Programme vorgehesene Dokumentierungs-Ausgabe. - Mittlerweile ist jedoch XML empfohlen (-oX). Einmal mehr kann - die Angabe von ’-’ (ohne Anfuehrungszeichen) eine Ausgabe auf - stdout erzwingen (fuer Pipeline-Verarbeitung, etc.). Auch hier - wird die normale Ausgabe unterdrueckt. Ebenso werden Fehlermel- - dungen wie ueblich auf stderr ausgegeben. Und ’-v’ wird in den - meisten Faellen einige zusaetzliche Informationen gewaehrleisten - koennen. - - -oA <Basisdateiname> - Dies veranlasst nmap in der Form ALLER wichtigen Formate (nor- - mal, grepbar und XML) zu protokollieren. Sie geben den Dateina- - men an, wobei nmap die Erweiterungen in Form von basis.nmap, - basis.gnmap und basis.xml automatisch anfuegen wird. - - -oS <Protokoll-Dateiname> - Dies protokolliert die Resultate der Scans in einem fuer s|<ripT - kiDd|3 lesbaren Format in eine durch ein Argument spezifizierte - Datei. Durch die Angabe des Arguments ’-’ (ohne Anfuehrungsze- - ichen) kann die Ausgabe auf stdout umgeleitet werden. - - --resume <Protokoll-Dateiname> - Ein Netzwerk-Scan, der durch das Druecken von Control-C unter- - brochen wurde, kann durch diese Option reaktiviert werden. Der - Protokoll-Dateiname muss entweder eine normale (-oN) oder durch - Maschinen verarbeitbare (-oM) Scan-Protokoll-Datei sein. Die - Angabe abweichender oder zusaetzlicher Optionen ist nicht - moeglich - Sie werden vom abgebrochenen Scan uebernommen. nmap - wird mit der zuletzt in der Protokoll-Datei erfolgreich gescannt - vermerkten Maschine starten. - - --append_output - Weist nmap an, die Scan-Resultate an die spezifizierten Pro- - tokoll-Datei anzuhaengen, anstatt die besagten Dateien zu ueber- - schreiben. - - -iL <Eingabe-Dateiname> - Liest die Ziel-Spezifizierung ZUERST von der angegebenen Datei - ein, und erst danach von der Kommandozeileneingabe. Die Datei - sollte eine Liste von Hosts oder Netzwerken enthalten, die jew- - eils durch ein Leer-, Tabulator- oder Neuezeile-Zeichen getrennt - sind. Benutzen Sie einen Bindestrich (-) als Eingabe-Dateiname , - falls Sie wollen, dass nmap die Zielspezifizierungen von stdin - liest (wie im Zusammenhang mit einer Pipe). Siehe den Absatz - Ziel-Definition fuer zusaetzliche Informationen zu der gueltigen - Ausdrucksweise. - - -iR Diese Option weist nmap an, zufaellig generierte Hosts zu scan- - nen :). Dies hat kein Ende. Eine solche Funktion ist zum - Beispiel fuer eine statistische Auswertung innerhalb des Inter- - nets nuetzlich. Falls Sie einmal wirklich sehr gelangweilt sein - sollten, so versuchen Sie nmap -sS -iR -p 80 um Webserver-Sys- - teme zu finden. - - -p <Port-Bereich> - Diese Option spezifiziert, welche Ports gescannt werden sollen. - Zum Beispiel wird ’-p 23’ lediglich einen Zugriff auf den Port - 23 (Telnet) der Zielsysteme durchfuehren. ’-p 20-30,139,60000-’ - scannt die Ports zwischen 20 und 30, Port 139 und alle Ports - groesser als 60000. Standardmaessig werden saemtliche well-known - Ports zwischen 1 und 1024 sowie alle in der services-Datei von - nmap gelisteten Dienste gescannt. Fuer einen IP-Protokoll-Scan - (-sO) kann mit dieser Option die zu scannende Protokoll-Nummer - (0-255) angegeben werden. - - Werden gleichzeitig TCP- und UDP-Ports gescannt, so kann das - jeweilige Protokoll durch ein vorangestelltes "T:" oder "U:" - angewaehlt werden. Die mitgegebenen Ports gelten so lange fuer - das spezifizierte Uebertragungsprotokoll, bis ein anderes - angegeben wird. Zum Beispiel werden mit dem Argument "-p - U:53,111,137,T:21-25,80,139,8080" die UDP-Ports 53, 111 und 137 - sowie die TCP-Ports 21 bis 25, 80, 139 und 8080 gescannt. - Wichtig ist, dass bei einem gleichzeitigen TCP- und UDP-Scan - neben der Angabe von -sU mindestens eine TCP-Scan-Variante - mitangegeben werden muss (zum Beispiel -sS, -sF oder -sT). Wird - bei der Wahl der Zielports auf das spezifizieren eines Pro- - tokolls verzichtet, bezieht sich die Option auf saemtliche - Uebertragungsprotokolle. - - -F Schneller Scan-Modus (engl. Fast scan mode): Dies gibt an, dass - Sie lediglich die in der services-Datei von nmap gelisteten - Dienste scannen wollen (oder bei -sO die Protokolle der proto- - cols-Datei). Selbstverstaendlich ist dies viel schneller, als - saemtliche 65535 Ports eines Hosts zu ueberpruefen. - - -D <Decoy1 [,Decoy2][,ME],...> - Veranlasst einen sogenannten Decoy-Scan (dt. Lockvolgel). Bei - diesem sieht es so aus, als wuerde eine Reihe zusaetzlicher - Hosts die Zielumgebung scannen. Ein Intrusion Detection-System - wird zwischen 5 und 10 Portscans verschiedener IP-Adressen pro- - tokollieren, wobei ohne weiteres nicht genau festgestellt werden - kann, welches System den Scan wirklich durchfuehrt. Waehrend - diese Methode durch Router Path Traceing, Response-Dropping und - andere "aktive" Mechanismen niedergeschlagen werden kann, ist es - doch eine extrem effektive Technik, um die eigene IP-Adresse zu - verstecken. - - Die jeweiligen Lockvoegel koennen durch ein Komma getrennt wer- - den. Optional kann durch die Angabe von ’ME’ (dt. mich) die - eigene Position in der Zugriffsreihenfolge gewaehlt werden. - Falls ’ME’ in die sechste oder noch eine spaetere Position - gesetzt wird, sind einige Portscan-Detektoren (z.B. Solar - Designers scanlogd) nicht in der Lage, die richtige IP-Adresse - anzuzeigen. Falls Sie ’ME’ nicht mitangeben, wird nmap eine - zufaellige Position bestimmen. - - Achtung, die als Decoys angegebenen Hosts sollten vom Zielsystem - erreichbar sein. Andernfalls ist es durchaus moeglich, dass - dieses durch einen SYN-Flood in die Knie gezwungen wird. Zudem - ist es relativ einfach zu erkennen, welches System den Scan - durchfuehrt, wenn nur dieses eine System wirklich im Netzwerk - aktiv ist. Es lohnt sich IP-Adressen anstatt Hostnamen bei der - Spezifizierung der Lockvogel-Systeme anzugeben (so ist keine - Namensaufloesung noetig und die Protokoll-Eintraege in den Name- - servern bleibt aus). - - Ebenso weisen einige (dumme) "Portscan-Detektoren" Firewalling- - Funktionalitaet auf, und sie unterbinden die - Verbindungsmoeglichkeit jeglichen Systems, das einen Portscan - durchfuehrt. So kann es durchaus sein, dass die - Verbindungsmoeglichkeit des Zielsystems zu den Lockvoegeln ver- - hindert wird. Dies ist dann problematisch, wenn es sich um ein - wichtiges System, wie zum Beispiel das Standard-Gateway, han- - delt. Also, es gilt vorsichtig im Umgang mit dieser Option zu - sein. Die Moral dieser Geschichte ist, dass Portscan-Detektoren - mit automatisierter Strike-Back Funktionalitaet keine gute Idee - sind - Hinter jedem Portscan koennte sich ein Lockvogel verber- - gen! - - Die Lockvoegel werden im initialen Ping-Scan (ICMP, SYN oder - ACK) und waehrend der eigentlichen Portscan-Phase verwendet. - Ebenso finden sie beim Durchfuehren einer Betriebssystem-Erken- - nung ( -O ) Verwendung. - - Es bleibt zu sagen, dass zu viele Lockvoegel einen Scan ver- - langsamen und ineffizienter machen koennen. Ebenso filtern - einige ISPs gespoofte Pakete heraus, obwohl dies zur Zeit die - wenigsten machen. - - -S <IP-Adresse> - Unter bestimmten Umstaenden ist nmap nicht in der Lage, Ihre - Quell-IP-Adresse zu identifizieren ( nmap wird Ihnen dies mit- - teilen). In einer solchen Situation kann mit der Hilfe der - Option -S die IP-Adresse (der gewuenschten Schnittstelle) fest- - gelegt werden. - - Eine andere Moeglichkeit dieser Option ist die Quelle des Scans - zu spoofen, so dass das Zielsystem glaubt, dass jemand anderes - die Zugriffe durchfuehrt. Stellen Sie sich vor, dass eine Firma - ploetzlich von ihrem Konkurrenten einen Scan verzeichnet! Dies - ist nicht der Hauptnutzen dieser Option. Ich denke lediglich, - dass diese Theorie einen guten Grund bereitstellt, nicht sofort - jeden als Scanner zu beschimpfen, nur weil es scheint, dass von - ihm ein Scan gestartet wurde. - - -e <Schnittstelle> - Weist nmap an, ueber welche Schnittstelle die Daten verschickt - und empfangen werden sollen. nmap sollte in der Lage sein diesen - Umstand von sich aus zu erkennen. Falls dem nicht so ist, kann - diese Option herangezogen werden. - - -g <Portnummer> - Definiert den Quellport fuer die Scans. Einige naive Firewall- - Implementierungen machen bei DNS (53) und FTP-DATA (20) eine - Ausnahme und lassen solcherlei Verbindung entgegen der Bestim- - mungen im Regelwerk zu. Obschon dieser Umstand ganz einfach - durch Angreifer ausgenutzt werden kann, um sich als FTP- oder - DNS-System maskierend einen Vorteil zu verschaffen. Fuer einen - UDP-Scan sollte 53 als erstes ausprobiert werden. Bei einem TCP- - Scan bieten sich 20 und 53 an. Achtung, es handelt sich bei - dieser Option lediglich um eine Anfrage, die nicht zwingend in - jeder Situation von nmap umgesetzt werden will und kann. Zum - Beispiel ist eine ISN-Analyse nicht von System:Port zu Sys- - tem:Port moeglich, so dass nmap eine dynamische Portzuweisung - durchfuehrt, auch wenn anderes durch -g angegeben wurde. - - Seien Sie gewarnt, dass diese Option bei einigen Scan-Varianten - Performance-Einbussen mit sich bringt. - - --data_length <Anzahl> - Normalerweise verschickt nmap moeglichst kleine Pakete, die - lediglich aus dem Header bestehen. So weisen TCP-Datagramme im - Normalfall eine Laenge von 40 und ICMP echo request-Anfragen 28 - Bytes auf. Diese Option weist nmap an, die verschickten Pakete - um Null-Bytes zu verlaengern. Pakete zur Erkennung des Betrieb- - ssystens (-O) sind nicht betroffen. Ganz im Gegensatz zu Ping- - Zugriffen und Portscan-Paketen. Dies verlangsamt natuerlich die - Zugriffe unter Umstaenden - Aber ebenso kann es die Unauffael- - ligkeit des Scans erhoehen. - - -n Sagt nmap, dass NIE reverse DNS-Aufloesungen von als aktiv iden- - tifizierten IP-Adressen durchgefuehrt werden sollen. Da DNS oft - langsam ist, kann diese Option die Zugriffe beschleunigen. - - -R Sagt nmap, dass IMMER reverse DNS-Aufloesungen von als Ziel - spezifizierten IP-Adressen durchgefuehrt werden sollen. Dies - wird im Normalfall nur immer dann durchgefuehrt, wenn ein Ziel- - system als aktiv identifiziert werden konnte. - - -r Sagt nmap, dass KEINE zufaellige Wahl beim Scannen der Ports - gewuenscht ist. - - --ttl <time to live> - Setzt den "Time to live" Wert im IPv4 Header. - - --randomize_hosts (dt. zufaellige Reihenfolge der Hosts) - Sagt nmap, dass bei einer Gruppe von bis zu 2048 Zielen eine - zufaellige Reihenfolge gewaehlt werden soll, bevor sie gescannt - werden. Dies kann den Scanvorgang fuer viele Netzwerk-Monitor- - ing-Systeme schwieriger zu entdecken machen; ganz besonders - dann, wenn langsame Timing-Optionen angewandt werden (siehe - unten). - - -M <Maximale Sockets> - Setzt die maximale Anzahl der Sockets bei einem parallel - durchgefuehrten TCP connect()-Scan fest. Dies ist zum Beispiel - in Situationen nuetzlich, wenn der Scanvorgang kuenstlich ver- - langsamt werden soll, damit das Zielsystem nicht unter der Last - der Zugriffe zusammenbricht. Eine andere Herangehensweise ist - durch -sS gegeben, die durch die Geraete oft einfacher zu hand- - haben ist. - - TIMING-OPTIONEN - Normalerweise macht nmap hervorragende Arbeit, um waehrend eines - Scans das Maximum an Performance herauszuholen, ohne Fehlermel- - dungen zu Hosts oder Ports zu provozieren. Trotzdem kann es Sit- - uationen geben, in denen das Timing von nmap nicht dem von Ihnen - gewuenschten entspricht. Die folgenden Optionen ermoeglichen - eine feine Skalierbarkeit der Kontrolle bezueglich des Scan-Tim- - ings: - - -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> - Diese vordefinierten Timing-Richtlinien erlauben Ihnen nmap Ihre - Prioritaeten mitzuteilen. Der Paranoid -Modus scannt sehr - langsam, in der Hoffnung, nicht von Intrusion Detection-Systemen - entdeckt zu werden. Die Scans werden in Serie geschaltet (kein - paralleles Scanning) und im Normalfall wird bis zu 5 Minuten - zwischen dem Versand der Pakete gewartet. Sneaky (dt. schle- - ichend) ist aehnlich, ausser, dass lediglich 15 Sekunden zwis- - chen dem Paket-Versand gewartet wird. Polite (dt. hoeflich) - wird dann relevant, wenn die Netzwerkbelastung niedrig gehalten - werden will. Zum Beispiel, um Abstuerze von Systemen zu vermei- - den. Die Zugriffe werden wiederum in Serie geschaltet und zwis- - chen den Zugriffen wird mindestens 0.4 Sekunden gewartet. Nor- - mal spiegelt das normale Verhalten von nmap wieder, was einen - Kompromiss zwischen maximaler Geschwindigkeit bei absoluter - Zuverlaessigkeit darstellt. Aggressive (dt. aggressiv) fuegt - eine Wartezeit von 5 Minuten zwischen den einzelnen Hosts hinzu. - Es wird jedoch nie laenger als 1.25 Sekunden auf Antworten - gewartet. Insane (dt. geisteskrank) ist lediglich in sehr - schnellen Netzwerken moeglich. Oder ueberall dort, wo auf die - Zuverlaessigkeit des Resultat nicht sonderlich viel gegeben - wird. Zwischen den einzelnen Systemen wird 75 und zwischen den - Zugriffen 0.3 Sekunden gewartet. Dies lohnt sich zum Beispiel - fuer einen schnellen Netzwerk-Suchlauf :). Die einzelnen Modi - koennen ebenso durch eine Nummer (0-5) referenziert werden. Zum - Beispiel gibt ’-T 0’ den Paranoid-Modus an und ’-T 5’ steht fuer - Insane. - - Diese spezifischen Timing-Modi sollten NICHT zusammen mit den - nun folgend vorgestellten Timing-Optionen verwendet werden. - - --host_timeout <Millisekunden> - Spezifiziert den Zeitraum, der nmap gegeben wird, um ein - einzelnes System zu scannen, bevor sich einer neuen IP-Adresse - gewidmet wird. Der Standardwert hat kein Timeout fuer Hosts. - - --max_rtt_timeout <Millisekunden> - Spezifiziert den Zeitraum, der nmap gegeben wird, um eine - Antwort zu warten, bevor eine Uebertragunswiederholung ein- - geleitet wird oder das Timeout in Kraft tritt. Der Standardwert - ist auf 9000 gesetzt. - - --min_rtt_timeout <Millisekunden> - Antwortet ein Host sehr schnell auf unsere Anfragen, wird nmap - das Zeitlimit fuer zukuenftige Zugriffe auf das besagte Zielsys- - tem verkleinern. Dies bringt einen Geschwindigkeitsvorteil mit - sich, wobei jedoch auch Pakete verloren gehen koennen, falls - ploetzlich ein Antworten in der vorhergesehenen Zeitspanne nicht - mehr moeglich sein sollte. Mit dieser Option kann nmap - angewiesen werden, dass immer mindestens ein bestimmter Zeitwert - gewartet werden soll, bevor der Vorgang abgebrochen wird. - - --initial_rtt_timeout <Millisekunden> - Spezifiziert das Timetout fuer den initialen Zugriff. Dies ist - normalerweise nur dann sinnvoll, wenn durch Firewall-Systeme - geschuetzte Hosts mit der Option -P0 gescannt werden sollen. - Normalerweise ist nmap in der Lage den RTT-Wert anhand des Ping- - Zugriffs und der ersten Auswertungen optimal festzulegen. Der - Standardwert lautet 6000. - - --max_parallelism <Anzahl> - Spezifiziert die maximale Anzahl parallel von nmap durch- - fuehrbaren Zugriffe. Das Setzen dieser Option heisst fuer nmap, - dass nie mehr als 1 Port auf einmal gescannt werden soll. Ebenso - sind andere Scan-Typen betroffen, die normalerweise parallel - durchgefuehrt werden koennen (z.B. Ping-Suchlauf, RPC-Scan, - etc.). - - --min_parallelism <Anzahl> - Weist nmap an, beim Scan eine gewisse Anzahl von Ports parallel - zu scannen. Dies kann unter Umstaenden den Auswertungs-Vorgang - von Firewall-Systemen beschleunigen. Aber seien Sie vorsichtig: - Die Resultate werden umso unzuverlaessiger, desto hoeher die - Anzahl paralleler Zugriffe gesetzt wird. - - --scan_delay <Millisekunden> - Spezifiziert das Minimum der Zeit, die nmap zwischen den jew- - eiligen Zugriffen warten muss. Dies ist sehr nuetzlich, um das - Datenaufkommen in Netzwerken zu reduzieren oder durch den - langsameren Scanvorgang vor IDS-Tresholds verborgen zu bleiben. - - --packet_trace - Sagt nmap, dass saemtliche verschickten und empfangenen Pakete - in einem tcpdump-aehnlichen Format dargestellt werden sollen. - Dies ist ganz besonders fuer Debugging nuetzlich. Ausserdem kann - so viel ueber die Funktionsweise gelernt werden. - - --
- Alles, das nmap nicht als Option mitgegeben wird (oder ein Argument - einer Option darstellt) wird als Ziel-Spezifikation angesehen. Die ein- - fachste Form dessen, ist das Auflisten von einzelnen Hostnamen oder IP- - Adressen in der Kommandozeile. Falls Sie ein Subnetz scannen wollen, so - koennen Sie /Maske am Hostnamen oder der IP-Adresse anfuegen. Die - Maske muss einen Wert zwischen 0 (das ganze Internet scannen) und 32 - (den einzelnen Host scannen) aufweisen. Benutzen Sie /24 fuer das Scan- - nen eines Klasse C-Netzwerks und /16 fuer ein Klasse B-Netzwerk. - - nmap greift zudem auf eine sehr maechtige Notation zurueck, die eine - sehr komfortable Spezifikation von IP-Adressbereichen zulaesst. So kann - das Klasse B-Netzwerk 192.168.*.* mit der Angabe von ’192.168.*.*’ - oder ’192.168.0-255.0-255’ oder ’192.168.1-50,51-255.1,2,3,4,5-255’ - gescannt werden. Und selbstverstaendlich ist auch die verbreitete Netz- - masken-Notation zulaessig: ’192.168.0.0/16’. All diese Eingaben fuehren - zum gleichen Ziel. Falls Sie das Asteriks-Zeichen (dt. Stern, ’*’) - benutzen wollen, denken Sie daran, dass einige Shells das Escapen mit- - tels Backslashes oder das Auskommentieren mittels Gaensefuesschen ver- - langen. - - Eine andere Moeglichkeit ist genau durch das umgekehrte Herangehen - gegeben. Anstatt ein ganzes Klasse B-Netzwerk zu scannen, kann mit der - Angabe von ’*.*.5.6-7’ jede IP-Adresse gescannt werden, die auf .5.6 - oder .5.7 endet. Fuer zusaetzliche Informationen, konsultieren Sie den - Abschnitt Beispiele - - --
- Hier folgen nun einige Beispiele fuer das Nutzen von nmap. Diese - reichen von einfachen ueber normale bis hin zu komplexen Ansaetzen. Es - werden existente IP-Adressen und Domainnamen verwendet, um die - Beispiele konkreter zu gestalten. Anstatt ihrer Stelle sollten Sie - Adressen und Namen Ihres eigenen Netzwerks benutzen. Ich bin der Mein- - ung, dass Portscanning fremder Netzwerke nicht illegal ist; ebenso - sollten Portscans nicht als Angriffe gewertet werden. Ich habe tausende - Maschinen gescannt und bisher erst eine Rueckmeldung erfahren. Jedoch - bin ich kein Anwalt und einige (langweilige) Leute koennten durch mit- - tels nmap generierter Zugriffe nervoes werden. Holen Sie sich zuerst - eine Erlaubnis fuer Ihre Aktivitaeten ein oder tragen Sie die Risiken - selbst. - - nmap -v ziel.beispiel.com - - Diese Option scannt alle reservierten TCP-Ports am Zielsystem mit dem - Namen ziel.beispiel.com. Das -v aktiviert den Verbose-Modus. - - nmap -sS -O ziel.beispiel.com/24 - - Hier wird ein stealth SYN-Scan gegen jede der 255 Maschinen des Klasse - C-Netzwerks von ziel.beispiel.com gestartet. Ebenso wird versucht das - Betriebssystem der aktiven Systeme zu ermitteln. Dieser Vorgang - erfordert root-Privilegien aufgrund des SYN-Scans und der Betriebssys- - temerkennung. - - nmap -sX -p 22,53,110,143,4564 198.116.*.1-127 - - Startet einen Xmas-Tree-Scan auf die erste Haelfte der 255 moeglichen 8 - Bit Subnetze des Klasse B-Adressraums von 198.116. Wir ueberpruefen, ob - am Zielsystem SSHD, DNS, POP3D, IMAPD oder der Port 4564 aktiv ist. - Wichtig ist, dass Xmas-Scans nicht gegen Microsoft-Geraete funktion- - ieren, da einige Abweichungen bei der Implementierung des TCP-Stacks - gemacht wurden. Das gleiche gilt fuer Cisco-, IRIX-, HP/UX- und BSDI- - Maschinen. - - nmap -v --randomize_hosts -p 80 *.*.2.3-5 - - Manchmal ist es nicht erforderlich einen IP-Adressbereich zu scannen. - So kann es durchaus sein, dass in einer Situation das Absuchen - spezieller Geraete noetig wird. Dieses Kommando findet saemtliche Web- - server, die eine IP-Adresse aufweisen, die auf .2.3, .2.4 oder .2.5 - endet. Falls Sie root sind, so kommt eventuell ein Hinzufuegen von -sS - in Frage. Ebenso koennten mehr interessante Systeme gefunden werden, - wenn bei 127 gestartet wird (IMHO). In diesem Fall koennen die durch - die Sterne gegebenen Platzhalter durch ’127-222’ ersetzt werden. - - host -l firma.com | cut -d -f 4 | ./nmap -v -iL - - - Fuehrt einen DNS-Zonetransfer durch, um saemtliche Hosts von firma.com - zu finden. Die Ausgabe der IP-Adressen wird sodann fuer die weitere - Verarbeitung zu nmap umgeleitet. Die dokumentierte Kommandofolge funk- - tioniert nur auf Geraeten mit GNU/Linux. Vielleicht muessen Sie auf - anderen Betriebssystemen andere Kommandos und Optionen heranziehen. - - --
- Fehler? Was fuer Fehler? Senden Sie sie mir, falls sie solche finden. - Entsprechende Patches waeren auch gleich nett :) Denken Sie ausserdem - daran, neue OS-Fingerabdruecke einzusenden, damit die Datenbank wachsen - kann. nmap gibt eine URL zur Uebermittlung des unbekannten Fingerab- - drucks aus. - - --
- Fyodor <fyodor@insecure.org> - - --
- Marc Ruef <marc.ruef@computec.ch> - - http://www.computec.ch - - Wettingen, Oktober 2002 - - --
- Die neueste Version von nmap kann jeweils von http://www.inse- - cure.org/nmap/ bezogen werden. - - nmap is (C) 1995-2002 by Insecure.Com LLC - - Dieses Programm gilt als freie Software; Sie koennen sie unter den - Lizenzbestimmungen der GNU General Public License, wie sie von der Free - Software Foundation in der Version 2 publiziert wurde, weitergeben - und/oder veraendern. Dies weist Ihnen das Recht zu, die Software unter - den gegebenen Bestimmungen zu nutzen, modifizieren und weiterzugeben. - Falls Sie diese Lizenzbestimmungen nicht akzeptieren wollen, ist Inse- - cure.Org unter Umstaenden in der Lage, eine alternative Lizenzbestim- - mung auszuhandeln (kontaktieren Sie fyodor@insecure.org). - - Der Quelltext dieser Software wird aus diesem Grund zur Verfuegung - gestellt, weil wir glauben, dass die Benutzer ein Recht darauf haben zu - wissen, was die von ihnen eingesetzten Programme machen. Dies - ermoeglicht zudem das Ueberpruefen der Software auf etwaige Sicher- - heitsschwachstellen (bisher wurden keine gefunden). - - Der Quelltext ermoeglicht zudem das Portieren von nmap auf neue Plat- - tformen, das Beheben von Fehlern und Hinzufuegen neuer Funktionali- - taeten. Ich darf Sie bitten entsprechende Aenderungen an fyodor@inse- - cure.org zu schicken, um eine etwaige Zusammenarbeit zu besprechen. - Durch das Senden von Neuerungen an Fyodor oder einem der Mitglieder der - Entwickler-Meilingliste erlauben Sie die unlimitierte, nicht-exklusive - Weiterverwendung, Modifizierung und Relizensierung. Dies ist insofern - wichtig, da einige andere Free Software Projekte (zum Beispiel KDE und - NASM) sich mit unnoetigen Lizenzproblemen konfrontiert sahen. nmap wird - stets als open-source zur Verfuegung stehen. Falls Sie sich an andere - Lizenzbestimmungen halten moechten, so vermerken Sie dies doch bitte - beim Einsenden Ihres Materials. - - Dieses Programm wurde in der Hoffnung entwickelt, dass es nuetzlich - ist; jedoch OHNE JEGLICHE GARANTIE. Siehe die GNU General Public - License fuer zusaetzliche Informationen (sie ist in der Datei namens - COPYING, die mit nmap mitgeliefert wird, enthalten). - - Es muss zusaetzlich erwaehnt werden, dass nmap in der Lage ist, - schlecht geschriebene Anwendungen, TCP/IP-Stacks und Betriebssysteme - abstuerzen zu lassen. nmap sollte nie auf mission-critical Systeme - angewandt werden , ausser, wenn ein entsprechender Ausfall (engl. down- - time) verkraftet werden kann. Wir bestaetigen hiermit, dass nmap unter - Umstaenden Systeme und Netzwerke negativ beeinflussen kann. Wir tragen - keine Verantwortung fuer Probleme, die beim Nutzen von nmap entstehen - koennen. - - Aufgrund dessen, dass das Risiko eines Absturzes besteht und einige - Black Hats nmap fuer das Auswerten von Angriffszielen missbrauchen, - koennen einige Administratoren allergisch auf das Scannen ihrer Systeme - reagieren. Somit ist es stets empfehlenswert, die Erlaubnis fuer das - Scannen eines Netzwerks einzuholen. - - nmap sollte aus Sicherheitsgruenden nie mit erweiterten Privilegien - (z.B. suid root) gestartet werden. - - Dieses Produkt beinhaltet Software-Teile, die von der Apache Software - Foundation (http://www.apache.org/) entwickelt wurden. Die Libpcap - portable Bibliothek wird als Teil von nmap mitgeliefert. Libpcap wurde - urspruenglich durch Van Jacobson, Craig Leres und Steven McCanne, alle - vom Lawrence Berkeley National Laboratory, Universitaet von Kali- - fornien, Berkeley, CA, entwickelt. Zur Zeit wird sie von - http://www.tcpdump.org betreut. - - - - NMAP(1) --