diff --git a/docs/man-xlate/nmap-man-de.xml b/docs/man-xlate/nmap-man-de.xml new file mode 100644 index 000000000..fe3f6094c --- /dev/null +++ b/docs/man-xlate/nmap-man-de.xml @@ -0,0 +1,4370 @@ + + +
+ + Nmap-Referenz-Handbuch (Man Page) + +ManpageReferenz-Handbuch +Referenz-Handbuch (Manpage) + + + nmap + 1 + Nmap + Nmap-Referenz-Handbuch + + + nmap + Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner + + + + + nmap + + Scan Type + + + Options + + + target specification + + + + + Beschreibung + NmapBeschreibung + + This document describes the very latest version of + Nmap available from or . Please + ensure you are using the latest version before reporting that a + feature doesn't work as described. + + +Nmap (Network Mapper) ist ein Open-Source-Werkzeug +für die Netzwerkanalyse und Sicherheitsüberprüfung. Es wurde entworfen, +um große Netzwerke schnell zu scannen, auch wenn es bei einzelnen Hosts +auch gut funktioniert. Nmap benutzt rohe IP-Pakete auf neuartige Weise, +um festzustellen, welche Hosts im Netzwerk verfügbar sind, welche Dienste +(Anwendungsname und -version) diese Hosts bieten, welche Betriebssysteme +(und Versionen davon) darauf laufen, welche Art von +Paketfiltern/-Firewalls benutzt werden sowie Dutzende anderer +Eigenschaften. Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen +verwendet wird, wird es von vielen Systemen und Netzwerkadministratoren +für Routineaufgaben benutzt, z.B. Netzwerkinventarisierung, Verwaltung von +Ablaufplänen für Dienstaktualisierungen und die Überwachung von +Betriebszeiten von Hosts oder Diensten. + +Die Ausgabe von Nmap ist eine Liste gescannter Ziele mit zusätzlicher +Information zu jedem, abhängig von den benutzten Optionen. Die entscheidende +Information dabei steht in der Tabelle der interessanten +Ports.Portsinteressante +Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen +und -zustand auf. Der Zustand ist entweder +offen, gefiltert, +geschlossen oder ungefiltert. +Offenoffen Portzustand +bedeutet, dass auf diesem Port des Zielrechners eine Anwendung +auf eingehende Verbindungen/Pakete lauscht. +Gefiltertgefiltert Portzustand +bedeutet, dass eine Firewall, ein Filter oder ein anderes +Netzwerkhindernis den Port blockiert, so dass Nmap nicht wissen kann, +ob er offen oder geschlossen ist. +Für geschlossenegeschlossen Portzustand +Ports gibt es keine Anwendung, die auf ihnen lauscht, +auch wenn sie jederzeit geöffnet werden könnten. +Als ungefiltertungefiltert Portzustand +werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, +Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind. +Nmap gibt die Zustandskombinationen +offen|gefiltertoffen|gefiltert Portzustand +und geschlossen|gefiltertgeschlossen|gefiltert Portzustand +an, wenn es nicht feststellen kann, welcher der beiden Zustände +für einen Port zutrifft. Die Port-Tabelle enthält eventuell auch Details +zur Softwareversion, sofern eine Versionserkennung verlangt wurde. +Wurde ein IP-Protokoll-Scan verlangt (), dann +bietet Nmap Angaben über die unterstützten IP-Protokolle +statt über lauschende Ports. + +Zusätzlich zur Tabelle der interessanten Ports kann Nmap weitere +Angaben über Ziele bieten, darunter Reverse-DNS-Namen, Mutmaßungen über +das benutzte Betriebssystem, Gerätearten und MAC-Adressen. + +Einen typischen Nmap-Scan sehen Sie in +. +Die einzigen in diesem Beispiel benutzten Nmap-Argumente sind + für die Betriebssystem- und Versionserkennung, +Script-Scanning und Traceroute und für eine +schnellere Ausführung. Danach kommen die Namen der Zielhosts. + +Ein repräsentativer Nmap-Scan +Beispiel + +# nmap -A -T4 scanme.nmap.org + +Starting Nmap ( http://nmap.org ) +Interesting ports on scanme.nmap.org (64.13.134.52): +Not shown: 994 filtered ports +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 4.3 (protocol 2.0) +25/tcp closed smtp +53/tcp open domain ISC BIND 9.3.4 +70/tcp closed gopher +80/tcp open http Apache httpd 2.2.2 ((Fedora)) +|_ HTML title: Go ahead and ScanMe! +113/tcp closed auth +Device type: general purpose +Running: Linux 2.6.X +OS details: Linux 2.6.20-1 (Fedora Core 5) + +TRACEROUTE (using port 80/tcp) +HOP RTT ADDRESS +[Cut first seven hops for brevity] +8 10.59 so-4-2-0.mpr3.pao1.us.above.net (64.125.28.142) +9 11.00 metro0.sv.svcolo.com (208.185.168.173) +10 9.93 scanme.nmap.org (64.13.134.52) + +Nmap done: 1 IP address (1 host up) scanned in 17.00 seconds + + + +Die neueste Version von Nmap erhält man unter +, und die neueste Version der Manpage +ist unter verfügbar. + + + + + Übersicht der Optionen + +Diese Übersicht wird ausgegeben, wenn Nmap ohne Argumente +aufgerufen wird; die neueste Version davon ist immer unter + verfügbar. +Sie hilft dabei, sich die am häufigsten benutzten Optionen zu merken, +ist aber kein Ersatz für die detaillierte Dokumentation im Rest +dieses Handbuchs. Einige obskure Optionen werden hier nicht einmal +erwähnt. + + +Optionsübersicht +Kommandozeilenoptionenvon Nmap + +Nmap 4.85BETA8 ( http://nmap.org ) +Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -PN: Treat all hosts as online -- skip host discovery + -PS/PA/PU[portlist]: TCP SYN/ACK or UDP discovery to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -PO[protocol list]: IP Protocol Ping + -n/-R: Never do DNS resolution/Always resolve [default: sometimes] + --dns-servers <serv1[,serv2],...>: Specify custom DNS servers + --system-dns: Use OS's DNS resolver + --traceroute: Trace hop path to each host +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sU: UDP Scan + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idle scan + -sO: IP protocol scan + -b <FTP relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast mode - Scan fewer ports than the default scan + -r: Scan ports consecutively - don't randomize + --top-ports <number>: Scan <number> most common ports + --port-ratio <ratio>: Scan ports more common than <ratio> +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-intensity <level>: Set from 0 (light) to 9 (try all probes) + --version-light: Limit to most likely probes (intensity 2) + --version-all: Try every single probe (intensity 9) + --version-trace: Show detailed version scan activity (for debugging) +SCRIPT SCAN: + -sC: equivalent to --script=default + --script=<Lua scripts>: <Lua scripts> is a comma separated list of + directories, script-files or script-categories + --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts + --script-trace: Show all data sent and received + --script-updatedb: Update the script database. +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + Options which take <time> are in milliseconds, unless you append 's' + (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). + -T<0-5>: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes + --min-parallelism/max-parallelism <time>: Probe parallelization + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies + probe round trip time. + --max-retries <tries>: Caps number of port scan probe retransmissions. + --host-timeout <time>: Give up on target after this long + --scan-delay/--max-scan-delay <time>: Adjust delay between probes + --min-rate <number>: Send packets no slower than <number> per second + --max-rate <number>: Send packets no faster than <number> per second +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ip-options <options>: Send packets with specified ip options + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address + --badsum: Send packets with a bogus TCP/UDP checksum +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice or more for greater effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --reason: Display the reason a port is in a particular state + --open: Only show open (or possibly open) ports + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --log-errors: Log errors/warnings to the normal-format output file + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --webxml: Reference stylesheet from Nmap.Org for more portable XML + --no-stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection, Script scanning and Traceroute + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + --unprivileged: Assume the user lacks raw socket privileges + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES + + + + + + + + + + Angabe von Zielen + Zielangabe + +Nmap betrachtet alles in der Kommandozeile, was keine Option (oder +ein Argument einer Option) ist, als Bezeichnung eines Zielhosts. Der +einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines +Zielhostnamens zum Scannen. + +Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen. +Dafür unterstützt Nmap Adressen im +CIDR-Stil.CIDR (Classless Inter-Domain Routing) +Sie können +/numbits an eine IPv4-Adresse oder einen Hostnamen +anfügen, und Nmap wird alle IP-Adressen scannen, bei denen die ersten +numbits mit denen der gegebenen IP oder des +gegebenen Hostnamens übereinstimmen. Zum Beispiel würde 192.168.10.0/24 die +256 Hosts zwischen 192.168.10.0 (binär: 11000000 10101000 00001010 00000000) +und 192.168.10.255 (binär: 11000000 10101000 00001010 11111111, inklusive) scannen. +192.168.10.40/24 würde genau dieselben Ziele scannen. Dadurch, dass der Host +scanme.nmap.orgscanme.nmap.org +die IP-Adresse 64.13.134.52 hat, würde die Angabe scanme.nmap.org/16 +die 65.536 IP-Adressen zwischen 64.13.0.0 und 64.13.255.255 scannen. +Der kleinste erlaubte Wert ist /0, der das gesamte Internet scannt. +Der größte Wert ist /32 und scannt lediglich den Host mit angegebenem Namen +oder IP-Adresse, da alle Adressen-Bits festgelegt sind. + +Adressbereiche +Die CIDR-Notation ist kurz, aber nicht immer flexibel genug. +Vielleicht möchten Sie z.B. 192.168.0.0/16 scannen, aber IPs auslassen, +die mit .0 oder .255 enden, weil sie als Unternetzwerk und Broadcast-Adressen +benutzt werden können. Nmap unterstützt das in Form einer +Oktett-Bereichsadressierung. +Statt eine normale IP-Adresse +anzugeben, können Sie eine mit Kommata getrennte Liste von Zahlen oder +Bereichen für jedes Oktett angeben. Zum Beispiel überspringt +192.168.0-255.1-254 alle Adressen im Bereich, die mit .0 oder .255 +enden, und 192.168.3-5,7.1 scannt die vier Adressen 192.168.3.1, +192.168.4.1, 192.168.5.1 und 192.168.7.1. Beide Bereichsgrenzen können +weggelassen werden, die Standardwerte sind 0 für die linke und 255 +für die rechte Grenze. Wenn Sie allein - benutzen, +ist das identisch mit 0-255, aber denken Sie daran, im ersten Oktett 0- +zu benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption +aussieht. +Diese Bereiche müssen nicht auf die endgültigen Oktetts beschränkt sein: +die Angabe 0-255.0-255.13.37 führt einen internetweiten Scan über alle +IP-Adressen aus, die mit 13.37 enden. Diese Art von breiter Abtastung +kann bei Internet-Umfragen und -Forschungen hilfreich sein. + +IPv6-Adressen können nur durch ihre vollständige IPv6-Adresse oder +ihren Hostnamen angegeben werden. CIDR und Oktettbereiche werden für IPv6 +nicht unterstützt, weil sie selten nützlich sind. + +Nmap akzeptiert in der Kommandozeile mehrere Host-Angaben, +die auch nicht vom selben Typ sein müssen. Der Befehl +nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- +macht also das, was Sie erwarten würden. + +Auch wenn Ziele normalerweise in der Kommandozeile angegeben werden, +gibt es auch die folgenden Optionen, um die Zielauswahl zu steuern: + + + + + (Eingabe aus +einer Liste) + +Zielangabeaus Liste + + +Eine sehr lange Liste von Hosts in der Kommandozeile anzugeben +ist oft sehr umständlich, kommt aber sehr häufig vor. Ihr DHCP-Server +z.B. exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen +(engl. leases), die Sie scannen möchten. Oder vielleicht möchten Sie +alle IP-Adressen außer denjenigen scannen, um Hosts +zu finden, die unautorisierte statische IP-Adressen benutzen. Erzeugen +Sie einfach die Liste der zu scannenden Hosts und übergeben Sie deren +Dateinamen als Argument zur Option an Nmap. +Die Einträge dürfen alle Formate haben, die Nmap auf der Kommandozeile +akzeptiert (IP-Adresse, Hostname, CIDR, IPv6 oder Oktettbereiche). +Alle Einträge müssen durch ein oder mehrere Leerzeichen, Tabulatoren +oder Zeilenumbrüche getrennt sein. Wenn Sie einen Bindestrich +(-) als Dateinamen angeben, liest Nmap die Hosts +von der Standardeingabe statt aus einer normalen Datei. + + + + + + (zufällige Auswahl von Zielen) + +randomisierte Ziele +Zielangaberandomisiert + + +Für internetweite Umfragen und andere Forschungsaktivitäten möchten +Sie Ziele vielleicht zufällig auswählen. Das kann man mit der Option +, die als Argument die Anzahl der zu erzeugenden IPs +annimmt. +Nmap lässt automatisch bestimmte unerwünschte IPs aus, +wie solche in privaten, Multicast- oder unbesetzten Adressbereichen. +Für einen endlosen Scan kann man das Argument 0 angeben. +Denken Sie aber daran, dass manche Netzwerkadministratoren sich gegen +unautorisierte Scans ihrer Netzwerke sträuben. Lesen Sie + sorgfältig, bevor Sie -iR benutzen. + +Falls Sie mal an einem regnerischen Tag wirklich Langeweile haben, +probieren Sie einmal den Befehl nmap -sS -PS80 -iR 0 -p 80 +Beispiel +Beispiel +Beispiel +aus, um zufällig Webserver zu finden, auf denen Sie herumstöbern +können. + + + + + + + (Ziele ausklammern) + +Ausklammern von Zielen + + +Gibt eine mit Kommata getrennte Liste von Zielen an, die vom +Scan ausgeschlossen sein sollen, selbst wenn sie in den angegebenen +Netzwerkbereich fallen. Die übergebene Liste benutzt die normale +Nmap-Syntax und kann folglich Hostnamen, CIDR-Netzblöcke, +Oktettbereiche usw. enthalten. Das kann nützlich sein, wenn das zu +scannende Netzwerk hochkritische Server und Systeme enthält, die man +nicht anfassen darf, weil sie bekanntermaßen ungünstig auf Port-Scans +reagieren, oder Unternetze, die von anderen Leuten administriert +werden. + + + + + + +(Liste aus Datei ausklammern) + + + +Das bietet dieselbe Funktionalität wie die Option +, mit dem Unterschied, dass die ausgeklammerten +Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten +Datei exclude_file statt auf der Kommandozeile +angegeben werden. + + + + + + + +Host-Erkennung +Host-Erkennung + +Einer der allerersten Schritte bei jeder Netzwerkerkundung ist die +Reduktion einer (manchmal riesigen) Menge von IP-Bereichen auf eine Liste +aktiver oder interessanter Hosts. Wenn man für alle einzelnen IP-Adressen +alle Ports scannt, so ist das nicht nur langsam, sondern normalerweise auch +unnötig. Was einen Host interessant macht, hängt natürlich stark vom Zweck +der Untersuchung ab. Netzwerkadministratoren interessieren sich vielleicht +nur für Hosts, auf denen ein bestimmter Dienst läuft, während +Sicherheitsprüfer sich vielleicht für alle Geräte interessieren, die eine +IP-Adresse haben. Ein Administrator benötigt vielleicht nur einen ICMP-Ping, +um Hosts in seinem internen Netzwerk zu finden, während ein externer +Penetrationstester vielleicht Dutzende ganz verschiedener Tests einsetzen +wird, um zu versuchen, die Firewall-Beschränkungen zu umgehen. + +Da die Anforderungen bei der Host-Erkennung so verschieden sind, bietet +Nmap eine breite Palette von Optionen zur Anpassung der eingesetzten +Verfahren. Trotz seines Namens geht ein Ping-Scan weit über die einfachen +ICMP Echo-Request-Pakete hinaus, die mit dem allgegenwärtigen Werkzeug +ping verbunden sind. Man kann den Ping-Schritt +völlig auslassen, indem man einen List-Scan () benutzt, +Ping ausschaltet () oder beliebige Kombinationen +von Multi Port TCP-SYN/ACK, UDP- und ICMP-Testanfragen auf ein Netzwerk +loslässt. Der Zweck dieser Anfragen ist der, Antworten hervorzurufen, +die zeigen, dass eine IP-Adresse tatsächlich aktiv ist (d.h. von einem +Host oder Gerät im Netzwerk benutzt wird). In vielen Netzwerken ist nur ein +kleiner Prozentsatz von IP-Adressen zu einem bestimmten Zeitpunkt aktiv. +Das gilt besonders für einen privaten Adressraum wie 10.0.0.0/8. Dieses +Netzwerk enthält 16,8 Millionen IPs, aber ich habe auch Firmen gesehen, die +es mit weniger als tausend Rechnern benutzen. Mit der Host-Erkennung kann +man diese spärlichen Rechnerinseln in einem Meer von IP-Adressen finden. + +Falls keine Optionen für die Host-Erkennung angegeben werden, +sendet Nmap ein TCP-ACK-Paket an Port 80 und ein ICMP Echo-Request an +alle Zielrechner. Eine Ausnahme ist, dass bei allen Zielen in einem +lokalen Ethernet-Netzwerk ein ARP-Scan benutzt wird. Für unprivilegierte +Unix-Shell-Benutzer wird mit dem connect-Systemaufruf +ein SYN-Paket statt eines ACK +gesendet.Benutzer ohne SonderrechteBeschränkungen +Diese Standardeinstellungen sind äquivalent zu den Optionen +. Diese Host-Erkennung ist oft ausreichend, +wenn man lokale Netzwerke scannt, aber für Sicherheitsüberprüfungen +empfiehlt sich eine umfangreichere Menge von Erkennungstestpaketen. + +Die Optionen (die Ping-Typen auswählen) +lassen sich kombinieren. Sie können Ihre Chancen steigern, bei strengen +Firewalls durchzukommen, indem Sie viele Testpaketarten mit verschiedenen +TCP-Ports/-Flags und ICMP-Codes senden. Beachten Sie auch, dass die +ARP-Erkennung +() +bei Zielen in einem lokalen Ethernet-Netzwerk standardmäßig erfolgt, +selbst dann, wenn Sie andere -Optionen angeben, +weil sie fast immer schneller und effizienter ist. + +Standardmäßig führt Nmap eine Host-Erkennung und dann einen +Port-Scan auf jedem Host aus, den es als online erkennt. Das gilt auch +dann, wenn Sie nicht standardmäßige Host-Erkennungstypen wie UDP-Testpakete +() angeben. Lesen Sie über die Option + nach, um zu lernen, wie man nur eine Host-Erkennung +durchführt, oder über , um die Host-Erkennung zu +überspringen und einen Port-Scan aller Zielhosts durchzuführen. Folgende +Optionen steuern die Host-Erkennung: + + + + + + (List-Scan) + +List-Scan + + +Ein List-Scan ist eine degenerierte Form der Host-Erkennung, die einfach +jeden Host im angegebenen Netzwerk (bzw. den Netzwerken) auflistet, ohne +Pakete an die Ziel-Hosts zu senden. Standardmäßig führt Nmap immer noch eine +Reverse-DNS-Auflösung der Hosts durch, um deren Namen zu lernen. +Es ist oft erstaunlich, wie viel nützliche Informationen einfache +Hostnamen verraten. Zum Beispiel ist fw.chi +der Name einer Firewall einer Firma in Chicago. +DNSEinträge als Informationsquelle +Nmap gibt am Ende auch die gesamte Anzahl der IP-Adressen aus. +Ein List-Scan ist eine gute +Plausibilitätsprüfung, um sicherzustellen, dass Sie saubere IP-Adressen +für Ihre Ziele haben. Falls die Hosts Domainnamen enthalten, die Ihnen nichts +sagen, lohnt sich eine weitere Untersuchung, um zu verhindern, dass Sie das +Netzwerk der falschen Firma scannen. + +Da die Idee einfach die ist, eine Liste der Zielhosts auszugeben, +lassen sich Optionen für eine höhere Funktionalität wie z.B. Port-Scanning, +Betriebssystemerkennung oder Ping-Scanning damit nicht kombinieren. +Falls Sie einen Ping-Scan abschalten und trotzdem solch höhere +Funktionalität durchführen möchten, lesen Sie bei der Option + weiter. + + + + + + (Ping-Scan) + +Ping-Scan + + +Diese Option verlangt, dass Nmap nur einen Ping-Scan +(Host-Erkennung) durchführt und dann die verfügbaren Hosts +ausgibt, die auf den Scan geantwortet haben. +Darüber hinaus werden keine weiteren Tests (z.B. +Port-Scans oder Betriebssystemerkennung) durchgeführt, außer bei +Host-Scripts mit der Nmap Scripting Engine und traceroute-Tests, +sofern Sie diese Optionen angegeben haben. +Das ist eine Stufe aufdringlicher als ein List-Scan +und kann oft für dieselben Zwecke benutzt werden. Sie führt schnell eine +schwache Aufklärung des Zielnetzwerks durch, ohne viel Aufmerksamkeit zu +erregen. Für Angreifer ist es wertvoller, zu wissen, wie viele Hosts +verfügbar sind, als die Liste aller IPs und Hostnamen aus einem +List-Scan zu kennen. + +Für Systemadministratoren ist diese Option oft ebenfalls wertvoll. +Mit ihr kann man sehr leicht die verfügbaren Rechner in einem Netzwerk +zählen oder die Server-Verfügbarkeit überwachen. So etwas nennt man oft auch +einen Ping-Sweep, und es ist zuverlässiger als ein Pinging auf die +Broadcast-Adresse, weil viele Hosts auf Broadcast-Anfragen nicht +antworten. + +Die Option sendet standardmäßig einen +ICMP Echo-Request und ein TCP-ACK-Paket an Port 80. Bei Ausführung +ohne Sonderrechte wird nur ein SYN-Paket (mit einem +connect-Aufruf) an Port 80 an das Ziel gesendet. +Wenn ein Benutzer mit Sonderrechten versucht, Ziele in einem lokalen +Ethernet-Netzwerk zu scannen, werden ARP-Requests verwendet, es sei +denn, die Option wird angegeben. +Die Option kann mit allen Erkennungsmethoden +(die Optionen , außer ) +kombiniert werden, um eine höhere Flexibilität zu erhalten. +Falls zwischen dem Ausgangs-Host, auf dem Nmap läuft, und dem Zielnetzwerk +strenge Firewalls installiert sind, empfehlen sich diese fortgeschrittenen +Methoden. Ansonsten könnten Hosts übersehen werden, wenn die Firewall +Testanfragen oder Antworten darauf verwirft + + + + + + + + (Ping abschalten) + +Host-Erkennungausschalten + + +Eine weitere Möglichkeit ist die, die Erkennungsphase von Nmap völlig +auszulassen. Normalerweise bestimmt Nmap in dieser Phase aktive Rechner, +die es anschließend stärker scannt. Standardmäßig führt Nmap heftigere +Tests wie Port-Scans, Versions- oder Betriebssystemerkennung bei Hosts +durch, die es bereits als aktiv eingestuft hat. Das Ausschalten der +Host-Erkennung mit der Option bewirkt, dass Nmap +versucht, die gewünschten Scan-Funktionen auf +allen angegebenen Ziel-IP-Adresssen durchzuführen. +Wenn also ein Zieladressraum der Größe Klasse B (/16) auf der Kommandozeile +angegeben wird, werden alle 65.536 IP-Adressen gescannt. +Eine richtige Host-Erkennung wird wie bei einem List-Scan übersprungen, +aber statt anzuhalten und die Zielliste auszugeben, fährt Nmap mit +der Durchführung der gewünschten Funktionen fort, so als ob jede Ziel-IP +aktiv wäre. +Bei Rechnern im lokalen Ethernet-Netzwerk wird ein ARP-Scan weiterhin +ausgeführt (es sei denn, es wird angegeben), +da Nmap MAC-Adressen braucht, um Zielhosts weiter zu scannen. Diese Option +lautete früher einaml (mit einer Null), wurde dann +aber umbenannt, um Verwirrung mit der Option von +Protokoll-Pings (benutzt den Buchstaben O) zu vermeiden. + + + + + + (TCP-SYN-Ping) + +SYN-Ping + + + +Diese Option sendet ein leeres TCP-Paket mit gesetztem SYN-Flag. +Der vorgegebene Zielport ist 80 (lässt sich zum Zeitpunkt des +Kompilierens durch Ändern von +DEFAULT_TCP_PROBE_PORT_SPECDEFAULT_TCP_PROBE_PORT_SPEC +in nmap.h +konfigurieren),nmap.h +aber man kann einen alternativen Port als Parameter angeben. +Die Syntax ist dieselbe wie bei , mit dem Unterschied, +dass Porttypenbezeichner wie T: nicht erlaubt sind. +Beispiele hierfür sind und +. Beachten Sie, dass es +kein Leerzeichen zwischen und der Port-Liste +geben darf. Falls mehrere Tests angegeben werden, werden sie +parallel durchgeführt. + +Das SYN-Flag bedeutet für das entfernte System, dass Sie versuchen, +eine Verbindung herzustellen. Normalerweise wird der Zielport geschlossen +sein, und es wird ein RST-(Reset-)Paket zurückgeschickt. Falls der Port +offen ist, führt das Ziel den zweiten Schritt eines TCP-three-way-handshake +Three-way-Handshake durch, indem +es mit einem SYN/ACK-TCP-Paket antwortet. Der Rechner, auf dem Nmap läuft, +bricht dann die entstehende Verbindung ab, indem er mit einem RST antwortet, +statt ein ACK-Paket zu senden, mit dem der three-way handshake komplett und +eine vollständige Verbindung hergestellt wäre. Das RST-Paket +wird als Antwort auf das unerwartete SYN/ACK vom Betriebssystem-Kernel des +Rechners gesendet, auf dem Nmap läuft, nicht von Nmap selbst. + +Für Nmap ist es egal, ob der Port offen oder geschlossen ist. Aus beiden +Antworten, ob RST oder SYN/ACK, schließt Nmap, dass der Host verfügbar ist +und antwortet. + +Auf Unix-Rechnern kann im Allgemeinen nur der mit Sonderrechten +ausgestattete Benutzer +rootBenutzer mit Sonderrechten +rohe TCP-Pakete senden und +empfangen.rohe Pakete +Bei normalen Benutzern kommt automatisch eine Umgehungslösung zum +Tragen,Benutzer ohne SonderrechteBeschränkungen +bei der für alle Zielports der connect-Systemaufruf +verwendet wird. Das bewirkt, dass an den Zielhost ein SYN-Paket gesendet +wird, mit der Absicht, eine Verbindung herzustellen. Falls +connect schnell ein erfolgreiches Ergebnis oder +einen ECONNREFUSED-Fehler zurückgibt, muss der darunterliegende TCP-Stack +ein SYN/ACK oder RST empfangen haben, und der Host wird als verfügbar +vermerkt. Falls der Verbindungsversuch hängenbleibt, bis eine +Zeitbeschränkung erreicht ist, wird der Host als inaktiv vermerkt. +Diese Behelfslösung wird auch bei IPv6-Verbindungen +verwendet, da Nmap den Bau roher IPv6-Pakete noch nicht +unterstützt.IPv6Beschränkungen + + + + + + + + (TCP-ACK-Ping) + +ACK-Ping + + +Der TCP-ACK-Ping ist ziemlich ähnlich zum SYN-Ping. Der Unterschied +ist der, dass das TCP-ACK-Flag statt dem SYN-Flag gesetzt wird, was Sie +sich bestimmt schon gedacht haben. Ein solches ACK-Paket erweckt den +Eindruck, es wolle Daten auf einer bestehenden TCP-Vebindung bestätigen, +während eine solche Verbindung gar nicht existiert. Entfernte Hosts sollten +darauf immer mit einem RST-Paket antworten, wobei sie ihre Existenz +verraten. + +Die Option benutzt denselben Standard-Port wie der +SYN-Test (80) und nimmt ebenfalls eine Liste von Zielports im selben Format +an. Falls ein unprivilegierter Benutzer das ausprobiert oder falls ein IPv6-Ziel +angegeben wird, wird die bereits erwähnte Behelfslösung mit +connect eingesetzt. Diese ist nicht perfekt, +da connect tatsächlich ein +SYN-Paket statt eines ACK sendet. + +Der Grund für die Existenz sowohl von SYN- als auch ACK-Ping-Tests +liegt darin, die Chancen für die Umgehung von Firewalls zu erhöhen. Viele +Administratoren konfigurieren Router und andere einfache Firewalls so, +dass sie eingehende SYN-Pakete blockieren, außer bei solchen für öffentliche +Dienste wie bei der Website oder dem Mailserver der Firma. Das verhindert +weitere eingehende Verbindungen zur Organisation, während es den Benutzern +freie Verbindungen ins Internet erlaubt. Dieser zustandslose Ansatz benötigt +wenige Ressourcen in der Firewall bzw. im Router und wird von Hardware- und +Software-Filtern weithin unterstützt. Die Firewall-Software +Netfilter/iptablesiptables +in Linux bietet die komfortable Option , um diesen +zustandslosen Ansatz zu implementieren. Wenn solche Firewall-Regeln +vorhanden sind, werden SYN-Ping-Tests +(), die an geschlossene Zielports gesendet werden, +sehr wahrscheinlich blockiert. In solchen Fällen greift der ACK-Test, +da er diese Regeln einfach kappt. + +Eine weitere häufige Art von Firewalls verwendet zustandsbehaftete +Regeln, die unerwartete Pakete verwerfen. Dieses Merkmal konnte man zuerst +bei hochwertigen Firewalls finden, es hat sich aber mit der Zeit deutlich +verbreitet. In Linux unterstützt das Netfilter/iptables-System das mit der +Option --state, die Pakete nach einem Verbindungszustand +kategorisiert. In solchen Fällen hat der SYN-Test eine wesentlich +bessere Chance auf Erfolg, da unerwartete ACK-Pakete im Allgemeinen als +fehlerhaft erkannt und verworfen werden. Eine Lösung aus diesem Dilemma +besteht darin, mit und +SYN- und ACK-Testpakete zu senden. + + + + + + (UDP-Ping) + +UDP-Ping + + + +Eine weitere Möglichkeit bei der Host-Erkennung ist der UDP-Ping, +bei dem ein leeres (außer bei Angabe von ) +UDP-Paket an die angegebenen Ports gesendet wird. Die Portliste hat dasselbe +Format wie bei den weiter oben beschriebenen Optionen +und . Falls keine Ports angegeben werden, ist die +Standardeinstellung 31338. Dieser Wert kann zum Zeitpunkt des Kompilierens +dürch Änderung von +DEFAULT_UDP_PROBE_PORT_SPECDEFAULT_UDP_PROBE_PORT_SPEC +in nmap.h konfiguriert werden.nmap.h +Es wird absichtlich ein sehr unwahrscheinlicher Port verwendet, weil bei +dieser bestimmten Art des Scannens das Senden an offene Ports oft unerwünscht +ist. + +Trifft der UDP-Test beim Zielrechner auf einen geschlossenen Port, +so sollte dieser ein ICMP-Paket zurückschicken, das besagt, dass der Port +nicht erreichbar ist. Daraus schließt Nmap, dass der Rechner läuft und +verfügbar ist. Viele weitere Arten von ICMP-Fehlern, z.B. bei unerreichbaren +Hosts/Netzwerken oder überschrittener TTL (Time To Live), sind Zeichen für +einen abgeschalteten oder unerreichbaren Host. Auch eine ausbleibende Antwort +wird so interpretiert. Falls ein offener Port erreicht wird, ignorieren die +meisten Dienste das leere Paket einfach und geben keine Antwort zurück. Deswegen +wird als Standardport 31338 benutzt, bei dem es sehr unwahrscheinlich ist, +dass er benutzt wird. Einige Dienste, wie z.B. das Character +Generator-Protokoll (chargen), antworten auf ein leeres UDP-Paket und enthüllen +damit Nmap gegenüber, dass der Rechner zugänglich ist. + +Der Hauptvorteil dieses Scan-Typs liegt darin, dass er Firewalls und +Filter umgeht, die nur TCP überprüfen. Ich hatte z.B. einmal ein BEFW11S4, +einen Wireless-Breitband-Router von Linksys. Die externe Schnittstelle dieses +Geräts filterte standardmäßig alle TCP-Ports, aber UDP-Tests entlockten ihm +weiterhin Meldungen über unerreichbare Ports und verrieten damit das +Gerät. + + + + + + +; +; + (ICMP-Ping-Arten) + + + +ICMP-Ping + + + +Zusätzlich zu den genannten ungewöhnlichen TCP- und +UDP-Host-Erkennungsarten kann Nmap auch Standardpakete senden, wie sie +das allgegenwärtige Programm ping sendet. Nmap +sendet ein ICMP Typ-8-Paket (Echo-Request) an die Ziel-IP-Adressen und +erwartet eine Typ-0-Antwort (Echo-Reply) vom verfügbaren Host.ICMP Echo +Zum Leidwesen von Netzwerkerkundern blockieren viele Hosts und +Firewalls heute diese Pakete, statt, wie in +RFC 1122 verlangt, +darauf zu antworten. Aus diesem Grund sind ICMP-Scans allein bei +unbekannten Zielen über das Internet selten zuverlässig genug. Aber für +Systemadministratoren, die ein internes Netzwerk überwachen, kann das ein +praktischer und wirksamer Ansatz sein. Benutzen Sie die Option +, um dieses Verhalten mit Echo-Requests +einzuschalten. + +Auch wenn ein Echo-Request die Standard-ICMP-Ping-Abfrage +ist, hört Nmap hier nicht auf. Der ICMP-Standard +(RFC 792) +spezifiziert auch Anfragepakete für Zeitstempel, Information und +Adressmaske mit den jeweiligen Codes 13, 15 und 17. +Während diese Anfragen +angeblich den Zweck haben, an Informationen wie Address Mask und Timestamp zu +gelangen, können sie auch leicht für die Host-Erkennung benutzt werden. +Im Moment implementiert Nmap keine Information-Request-Pakete, da sie +nicht weit verbreitet sind (RFC 1122 besteht darauf, dass ein Host +diese Nachrichten NICHT implementieren SOLLTE). +Anfragen nach Timestamp und Address Mask können jeweils mit den +Optionen und +gesendet werden. Eine Timestamp-Antwort (ICMP-Code 14) oder +Address-Mask-Antwort (Code 18) +enthüllt, dass der Host greifbar ist. Diese beiden +Abfragen können wertvoll sein, wenn Administratoren ausdrücklich +Echo-Request-Pakete blockieren, aber vergessen, dass man für den +gleichen Zweck auch andere ICMP-Abfragen benutzen kann. + + + + + + + (IP-Protokoll-Ping) + +IP-Protokoll-Ping + + + +Die neueste Möglichkeit der Host-Erkennung ist ein IP-Protokoll-Ping, +der IP-Pakete sendet, in deren IP-Header die angegebene Protokollnummer +gesetzt ist. Die Protokoll-Liste hat dasselbe Format wie Portlisten bei +den weiter oben vorgestellten Optionen der TCP- und UDP-Host-Erkennung. +Ohne Angabe von Protokollen werden standardmäßig mehrere IP-Pakete für +ICMP (Protokoll 1), IGMP (Protokoll 2) und IP-in-IP (Protokoll 4) gesendet. +Die Standardprotokolle können zum Zeitpunkt des Kompilierens durch +Veränderung von DEFAULT_PROTO_PROBE_PORT_SPECDEFAULT_PROTO_PROBE_PORT_SPEC +in nmap.h konfiguriert werden. +Beachten Sie, dass für ICMP, IGMP, TCP (Protokoll 6) und UDP (Protokoll 17) +die Pakete mit den richtigen Protokoll-Headern gesendet werden, während +andere Protokolle ohne weitere Daten über den IP-Header hinaus gesendet werden +(es sei denn, die Option wird angegeben). + +Diese Methode der Host-Erkennung sucht nach Antworten, die entweder +dasselbe Protokoll wie der Test haben, oder Meldungen, dass das +ICMP-Protokoll nicht erreichbar ist, was bedeutet, dass das gegebene +Protokoll vom Zielhost nicht unterstützt wird. Beide Antworten bedeuten, +dass der Zielhost am Leben ist. + + + + + + (ARP-Ping) + +ARP-Ping + + + +Eines der häufigsten Einsatzszenarien für Nmap ist das Scannen eines +Ethernet-LANs. In den meisten LANs, besonders jenen, die durch +RFC 1918 erteilte +private Adressbereiche verwenden, wird der Großteil der IP-Adressen meistens +nicht genutzt. Wenn Nmap versucht, ein rohes IP-Paket wie z.B. ein +ICMP Echo-Request zu senden, muss das Betriebssystem die der Ziel-IP +entsprechende Hardware-Zieladresse (ARP) bestimmen, damit es den +Ethernet-Frame korrekt adressieren kann. Das ist oft langsam und +problematisch, da Betriebssysteme nicht in der Erwartung geschrieben +wurden, dass sie in kurzer Zeit Millionen von ARP-Anfragen bei nicht +erreichbaren Hosts durchführen müssen. + +Beim ARP-Scan ist Nmap mit seinen optimierten Algorithmen +zuständig für ARP-Anfragen. Und wenn es eine Antwort erhält, muss +sich Nmap nicht einmal um die IP-basierten Ping-Pakete kümmern, da +es bereits weiß, dass der Host aktiv ist. Das macht den ARP-Scan +viel schneller und zuverlässiger als IP-basierte Scans. +Deswegen wird er standardmäßig ausgeführt, wenn Ethernet-Hosts +gescannt werden, bei denen Nmap bemerkt, dass sie sich in einem +lokalen Ethernet-Netzwerk befinden. Selbst wenn verschiedene Ping-Arten +(wie z.B. oder ) angegeben +werden, benutzt Nmap stattdessen ARP bei allen Zielen, die im selben +LAN sind. Wenn Sie einen ARP-Scan auf gar keinen Fall durchführen +möchten, geben Sie an. + + + + + + + (Traceroutes zum Host) + +traceroute + + + + +Traceroutes werden nach einem Scan mit Hilfe der Information aus den +Scan-Ergebnissen durchgeführt, um den wahrscheinlichsten Port und das +wahrscheinlichste Protokoll zu bestimmen, die zum Ziel führen. Es +funktioniert mit allen Scan-Arten außer Connect-Scans +() und Idle-Scans (). +Alle Traces benutzen Nmaps dynamisches Timing-Modell und werden parallel +durchgeführt. + + + +Traceroute funktioniert dadurch, dass es Pakete mit kurzer TTL +(Time To Live) sendet und damit versucht, ICMP Time-Exceeded-Nachrichten +von Sprungstellen zwischen dem Scanner und dem Zielhost hervorzurufen. +Standardimplementationen von Traceroute fangen mit einer TTL von 1 an +und inkrementieren die TTL, bis der Zielhost erreicht ist. Nmaps +Traceroute fängt mit einer hohen TTL an und verringert sie, bis sie +Null erreicht. Durch dieses umgekehrte Vorgehen kann Nmap clevere +Caching-Algorithmen benutzen, um Traces über mehrere Hosts zu +beschleunigen. Im Durchschnitt sendet Nmap je nach Netzwerkbedingungen +5–10 Pakete weniger pro Host. Wenn ein einziges Unternetz gescannt +wird (z.B. 192.168.0.0/24), muss Nmap an die meisten Hosts eventuell nur ein +einziges Paket senden. + + + + + + + (keine DNS-Auflösung) + + + + +Weist Nmap an, niemals eine +Reverse-DNS-AuflösungReverse-DNSausschalten mit +bei den gefundenen aktiven IP-Adressen durchzuführen. +Da DNS selbst mit Nmaps eingebautem parallelen Stub-Resolver +langsam sein kann, kann diese Option die Scan-Zeiten dramatisch +reduzieren. + + + + + + (DNS-Auflösung für alle Ziele) + + + +Weist Nmap an, immer eine +Reverse-DNS-Auflösung bei den Ziel-IP-Adressen durchzuführen. +Normalerweise wird Reverse-DNS nur bei anwortenden Hosts +(die online sind) durchgeführt. + + + + + + (verwendet DNS-Auflösung des Systems) + + + + +Standardmäßig löst Nmap IP-Adressen auf, indem es Anfragen direkt +an die auf Ihrem Host konfigurierten Nameserver schickt und dann auf +Antworten wartet. Um die Performance zu erhöhen, werden viele Anfragen +(oftmals Dutzende) parallel ausgeführt. +Wenn Sie diese Option angeben, verwenden Sie stattdessen die +Auflösungsmethode Ihres Systems (zu jedem Zeitpunkt nur eine IP mit dem +Aufruf getnameinfo call). Das ist langsam und selten +nützlich, es sei denn, Sie finden einen Fehler bei der parallelen +Auflösung in Nmap (bitte teilen Sie uns das mit). Bei IPv6-Scans wird +immer die Auflösungsmethode des Systems verwendet. +IPv6Beschränkungen + + + + + + + (Server, die für Reverse-DNS-Anfragen benutzt werden) + + + + +Standardmäßig bestimmt Nmap Ihre DNS-Server (für die +rDNS-Auflösung) aus Ihrer Datei resolv.conf (Unix) oder der +Registry (Win32). Mit dieser Option können Sie alternative Server +dazu angeben. Diese Option bleibt unbeachtet, falls Sie + oder einen IPv6-Scan benutzen. Oft ist +es schneller, mehrere DNS-Server zu benutzen, besonders dann, wenn +Sie für Ihren Ziel-IP-Raum maßgebende Server benutzen. Diese Option +kann auch die Heimlichkeit erhöhen, da Ihre Anfragen von fast jedem +rekursiven DNS-Server im Internet abprallen können. + +Diese Option ist auch beim Scannen privater Netzwerke praktisch. +Manchmal bieten nur einige wenige Nameserver saubere rDNS-Information, +und Sie wissen vielleicht nicht einmal, wo sie sind. Sie können das +Netzwerk auf Port 53 scannen (vielleicht mit Versionserkennung), dann +Nmap-List-Scans versuchen () und dabei mit der +Option immer nur einen Nameserver +angeben, bis Sie einen finden, der funktioniert. + + + + + + + + + +Grundlagen von Port-Scans + +Nmap hat über die Jahre an Funktionalität zugelegt, aber angefangen +hat es als effizienter Port-Scanner, und das ist weiterhin seine Kernfunktion. +Der einfache Befehl +nmap target scannt die am +häufigsten verwendeten 1000 TCP-Ports auf dem Host +target und klassifiziert jeden Port in einen der +Zustände +offen, geschlossen, +gefiltert, ungefiltert, +offen|gefiltert oder +geschlossen|gefiltert. + +Diese Zustände sind +keine echten Eigenschaften eines Ports selbst, sondern beschreiben, wie Nmap +ihn sieht. Ein Nmap-Scan z.B., bei dem Ausgangs- und Zielnetzwerk identisch +sind, könnte Port 135/tcp als offen anzeigen, während ein +Scan zur selben Zeit mit denselben Optionen über das Internet diesen Port +als gefiltert anzeigen könnte. + +Die sechs von Nmap erkannten Port-Zustände + + +offen Portzustand +offen +Ein Programm ist bereit, TCP-Verbindungen oder UDP-Pakete +auf diesem +Port anzunehmen. Beim Port-Scanning ist es oftmals das Ziel, solche Ports +zu finden. Sicherheitsbewusste Leute wissen, dass jeder offene Port eine +breite Einfahrtstrasse für Angriffe darstellt. Angreifer und +Penetrationstester wollen offene Ports ausbeuten (engl. exploit), +während Administratoren versuchen, sie zu schließen oder mit Firewalls +zu schützen, ohne legitime Benutzer zu behindern. +Offene Ports sind auch für Scans von Interesse, bei denen es nicht um +Sicherheit geht, weil sie Dienste anzeigen, die im Netzwerk benutzt werden +können. + + + +geschlossen Portzustand +geschlossen + +Ein geschlossener Port ist erreichbar (er empfängt und +antwortet auf Nmap-Testpakete), aber es gibt kein Programm, das ihn +abhört. Er kann von Nutzen sein, um zu zeigen, dass ein Host online ist +und eine IP-Adresse benutzt (Host-Erkennung oder Ping-Scanning), sowie +als Teil der Betriebssystemerkennung. Weil geschlossene Ports erreichbar +sind, sind sie es wert, gescannt zu werden, falls sie später einmal +geöffnet werden sollten. +Administratoren möchten solche Ports vielleicht mit einer Firewall +blockieren, damit sie im Zustand gefiltert erscheinen, der als Nächstes +beschrieben wird. + + + +gefiltert Portzustand +gefiltert + +Nmap kann nicht feststellen, ob der Port offen ist, weil +eine Paketfilterung verhindert, dass seine Testpakete den Port erreichen. +Die Filterung könnte durch dafür vorgesehene Firewall-Geräte, Router-Regeln +oder hostbasierte Firewall-Software erfolgen. Weil sie so wenig Information +bringen, sind diese Ports für Angreifer frustrierend. Manchmal +antworten sie mit ICMP-Fehlermeldungen wie Typ 3, Code 13 +(Destination Unreachable: Communication Administratively Prohibited), +aber Filter, die Testpakete ohne Antwort einfach verwerfen, kommen +wesentlich häufiger vor. Das zwingt Nmap zu mehreren wiederholten +Versuchen, um auszuschließen, dass das Testpaket wegen einer +Netzwerküberlastung statt durch eine Filterung verworfen wurde. Diese +Art der Filterung verlangsamt einen Scan +dramatisch. + + +ungefiltert Portzustand +ungefiltert +Der Zustand ungefiltert bedeutet, dass ein Port +zugänglich ist, aber Nmap nicht feststellen kann, ob er offen oder +geschlossen ist. Nur der ACK-Scan, +der benutzt wird, um Firewall-Regelwerke zu bestimmen, +klassifiziert Ports in diesen Zustand. +Um festzustellen, ob ein ungefilterter Port offen ist, kann es hilfreich +sein, ihn mit anderen Scan-Methoden wie Window-Scan, +SYN-Scan oder FIN-Scan zu scannen. + + + +offen|gefiltert Portzustand +offen|gefiltert +Nmap klassifiziert einen Port in diesen Zustand, +wenn es nicht feststellen kann, ob der Port offen oder gefiltert ist. +Das kommt bei Scan-Methoden vor, in denen offene Ports keine Antwort +geben. Das Fehlen einer Antwort könnte auch bedeuten, dass ein Paketfilter +das Testpaket verworfen hat oder dass keine Antwort provoziert werden +konnte. Deswegen weiß Nmap nicht sicher, ob der Port offen ist oder +gefiltert wird. Ports werden von den UDP-, IP-Protokoll-, FIN-, NULL- und +Xmas-Scans auf diese Weise klassifiziert. + + + +geschlossen|gefiltert Portzustand +geschlossen|gefiltert +Dieser Zustand wird benutzt, wenn Nmap nicht feststellen +kann, ob ein Port geschlossen ist oder gefiltert wird. Er wird nur vom +IP-ID-Idle-Scan benutzt. + + + + + + +Port-Scanning-Methoden + +Als Hobby-Automechaniker kann ich mich stundenlang damit +herumquälen, meine einfachsten Werkzeuge (Hammer, Klebeband, +Schraubenschlüssel etc.) an mein Problem anzupassen. Wenn ich dann +kläglich versage und meine alte Blechkiste zu einem echten Mechaniker +schleppe, fischt er immer so lange in einer riesigen Werkzeugkiste +herum, bis er das perfekte Ding gefunden hat, mit dem sich die Aufgabe +fast von allein löst. Bei der Kunst des Port-Scannings ist es ähnlich. +Experten kennen Dutzende von Scan-Methoden und wählen für jede +Aufgabe die geeignete (oder eine Kombination von mehreren) aus. +Auf der anderen Seite versuchen unerfahrene Benutzer und +Script-Kiddies,Script Kiddies +jedes Problem mit dem standardmäßigen SYN-Scan zu lösen. Da Nmap gratis +ist, ist Unwissen das einzige Hindernis auf dem Weg zur Meisterschaft +im Port-Scanning. +Das ist bestimmt besser als in der Autowelt, wo man eventuell sehr viel +Können haben muss, um festzustellen, dass man einen +Federbein-Kompressor benötigt, +und dann immer noch Tausende dafür bezahlen muss. + +Die meisten Scan-Typen stehen nur privilegierten Benutzern zur +Verfügung,Benutzer mit Sonderrechten +und zwar deswegen, weil sie rohe +IP-Paketerohe Pakete +senden und empfangen, wofür auf Unix-Systemen root-Rechte benötigt werden. +Auf Windows empfiehlt sich ein Administrator-Account, +wenngleich auf dieser Plattform Nmap manchmal auch für unprivilegierte Benutzer +funktioniert, sofern WinPcap bereits in das +Betriebssystem geladen wurde. Als Nmap 1997 veröffentlicht wurde, war die +Voraussetzung von root-Rechten eine ernsthafte Beschränkung, da viele Benutzer +nur Zugriff zu Shell-Accounts hatten. Die Welt von heute ist anders. +Computer sind billiger, wesentlich mehr Menschen verfügen über einen +immer verfügbaren direkten Internet-Zugang, und Desktop-Unix-Systeme +(inklusive Linux und Mac OS X) sind weit verbreitet. Eine Windows-Version +von Nmap ist nun auch verfügbar, wodurch es nun auf noch mehr Rechnern +laufen kann. Aus all diesen Gründen sind Benutzer nur noch selten +gezwungen, Nmap von einem beschränkten Shell-Account aus einzusetzen. +Das ist erfreulich, denn die privilegierten Optionen machen Nmap wesentlich +mächtiger und flexibler. + +Auch wenn Nmap versucht, genaue Ergebnisse zu produzieren, sollten +Sie nicht vergessen, dass all seine Erkenntnisse auf Paketen basieren, die +von den Zielrechnern (oder den Firewalls davor) zurückkommen. Solche Hosts +können unzuverlässig sein und eine Antwort senden, die Nmap verwirren oder +täuschen soll. Wesentlich häufiger sind Hosts, die nicht RFC-konform sind +und auf Testpakete von Nmap nicht so antworten, wie sie sollten. FIN-, +NULL- und Xmas-Scans sind für dieses Problem besonders anfällig. Solche +Probleme sind spezifisch für bestimmte Scan-Methoden und werden daher +in den jeweiligen Abschnitten erörtert. + +Dieser Abschnitt dokumentiert die etwa ein Dutzend von Nmap +unterstützten Port-Scan-Methoden. Es darf immer nur eine Methode +allein benutzt werden, mit der Ausnahme von +UDP-Scans (), die sich mit allen anderen +TCP-Scan-Methoden kombinieren lassen. Hier eine Gedächtnisstütze: +Optionen für Port-Scan-Methoden haben die Form +, wobei +C ein bedeutender Buchstabe im Scan-Namen ist, +normalerweise der erste. Die eine Ausnahme hiervon ist der als veraltet +betrachtete FTP-Bounce-Scan (). +Nmap führt standardmäßig einen SYN-Scan durch, ersetzt diesen aber mit +einem Connect-Scan, falls der Benutzer nicht die nötigen Rechte hat, +um rohe Pakete (benötigen unter Unix root-Rechte) zu senden, oder falls er +IPv6-Ziele angegeben hat. Von den in diesem Abschnitt aufgelisteten +Scans dürfen Benutzer ohne Sonderrechte nur den Connect- und +FTP-Bounce-Scan ausführen. + + + + + (TCP-SYN-Scan) + + SYN-Scan + + + +Der SYN-Scan ist aus gutem Grund die Standardeinstellung +und die beliebteste Scan-Methode. Er kann schnell durchgeführt werden +und scannt dabei Tausende von Ports pro Sekunde, wenn das Netzwerk schnell +ist und nicht von einer intrusiven Firewall behindert wird. +Der SYN-Scan ist relativ unauffällig, da er TCP-Verbindungen niemals +abschließt. Außerdem funktioniert er auch bei allen konformen TCP-Stacks +und ist unabhängig von spezifischen Eigenarten von Plattformen, wie es bei den +FIN-/NULL-/Xmas-, Maimon- und Idle-Scans in Nmap der Fall ist. Er erlaubt +auch eine klare, zuverlässige Unterscheidung zwischen den Zuständen +offen, geschlossen und +gefiltert. + +Diese Methode wird oft als halboffenes Scannen bezeichnet, +weil keine vollständige TCP-Verbindung hergestellt wird. Sie senden +ein SYN-Paket, als ob Sie eine echte Verbindung herstellen würden, +und warten dann auf eine Antwort. Ein SYN/ACK zeigt, dass jemand auf +dem Port lauscht (dass er offen ist), während ein RST (Reset) anzeigt, +dass niemand darauf lauscht. Falls nach mehreren erneuten Übertragungen +keine Antwort erhalten wird, wird der Port als gefiltert markiert. +Der Port wird auch dann als gefiltert markiert, wenn ein +ICMP Unreachable-Fehler +(Typ 3, Code 1, 2, 3, 9, 10 oder 13) empfangen wird. + + + + + + + (TCP-Connect-Scan) + + Connect-Scan + + +Der TCP-Connect-Scan ist der standardmäßig eingestellte TCP-Scan-Typ, +falls der SYN-Scan nicht möglich ist. Das ist dann der Fall, wenn der +Benutzer kein Recht hat, rohe Pakete zu senden, oder wenn er IPv6-Netzwerke +scannt. Statt rohe Pakete zu schreiben, wie es die meisten anderen Scan-Typen +machen, bittet Nmap das darunterliegende Betriebssystem, eine Verbindung +mit dem Zielrechner und -port herzustellen, indem es einen Systemaufruf +namens connect benutzt. Das ist derselbe Systemaufruf +auf höherer Ebene, den Webbrowser, P2P-Clients und die meisten anderen +netzwerkfähigen Anwendungen benutzen, um eine Verbindung herzustellen. +Er ist Teil einer Programmierschnittstelle, die unter dem Namen Berkeley +Sockets-API bekannt ist. Statt Antworten in Form roher Pakete von der +Leitung zu lesen, benutzt Nmap diese API, um zu jedem Verbindungsversuch +eine Statusinformation zu erhalten. + + +Wenn der SYN-Scan verfügbar ist, ist er normalerweise die bessere Wahl. +Nmap hat weniger Einfluss auf den connect-Systemaufruf +als auf rohe Pakete, wodurch es weniger effizient wird. Der Systemaufruf +beendet Verbindungen zu offenen Ziel-Ports vollständig, statt sie in +halboffenen Zustand zurückzusetzen, wie es der SYN-Scan macht. Das dauert +nicht nur länger und erfordert mehr Pakete, um an dieselbe Information zu +gelangen, sondern es ist sehr viel wahrscheinlicher, dass die Zielrechner +die Verbindung protokollieren. Ein anständiges IDS wird beides mitbekommen, +aber die meisten Rechner verfügen nicht über ein solches Alarmsystem. +Viele Dienste auf Ihrem durchschnittlichen Unix-System fügen eine Notiz +ins syslog hinzu und manchmal eine kryptische Fehlermeldung, wenn Nmap +eine Verbindung herstellt und sofort wieder schließt, ohne Daten zu senden. +Ganz armselige Dienste stürzen auch ab, wenn so etwas passiert, was aber +eher selten ist. Ein Administrator, der in seinen Protokollen einen Haufen +Verbindungsversuche von einem einzelnen System aus sieht, sollte wissen, +dass er Ziel eines Connect-Scans wurde. + + + + + + + (UDP-Scan) + +UDP-Scan + + + +Obwohl die meisten bekannten Dienste im Internet über das TCP-Protokoll +laufen, sind UDP-Dienste +weitverbreitet. Drei der häufigsten sind DNS, SNMP und DHCP (auf den +registrierten Ports 53, 161/162 und +67/68). Weil UDP-Scans im Allgemeinen langsamer und schwieriger als TCP-Scans sind, +werden diese Ports von manchen Sicherheitsprüfern einfach ignoriert. +Das ist ein Fehler, denn ausbeutbare UDP-Dienste sind recht häufig, und +Angreifer ignorieren bestimmt nicht das ganze Protokoll. Zum Glück kann +Nmap helfen, diese UDP-Ports zu inventarisieren. + +Ein UDP-Scan wird mit der Option aktiviert. +Er kann mit einem TCP-Scan-Typ wie einem SYN-Scan () +kombiniert werden, um beide Protokolle im gleichen Durchlauf zu +prüfen. + +Beim UDP-Scan wird ein leerer UDP-Header (ohne Daten) an alle +Ziel-Ports geschickt. Falls ein +ICMP Port-unreachable-Fehler (Typ 3, Code 3) zurückkommt, ist der +Port geschlossen. Andere ICMP Unreachable-Fehler +(Typ 3, Codes 1, 2, 9, 10 oder 13) markieren den Port als +filtered. Gelegentlich wird ein Dienst mit einem +UDP-Paket antworten, was beweist, das er offen ist. +Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, +wird der Port als offen|gefiltert klassifiziert. +Das heißt, der Port könnte offen sein, oder aber es gibt Paketfilter, +die die Kommunikation blockieren. Man kann eine Versionserkennung +() benutzen, um bei der Unterscheidung der wirklich +offenen von den geschlossenen Ports zu helfen. + +Eine große Herausforderung beim UDP-Scanning ist Geschwindigkeit. +Offene und gefilterte Ports antworten nur selten, wodurch Nmap +Zeitbeschränkungen überschreitet und seine Anfragen erneut sendet, +für den Fall, dass das Testpaket oder die Antwort verloren ging. +Geschlossene Ports sind oftmals ein noch größeres Problem. +Sie senden normalerweise eine ICMP Port-unreachable-Fehlermeldung +zurück. Aber anders als die RST-Pakete, die von geschlossenen TCP-Ports +als Antwort auf einen SYN- oder Connect-Scan geschickt werden, +beschränken viele Hosts standardmäßig die +RateRatenbeschränkung +der ICMP Port-unreachable-Nachrichten. Linux und Solaris sind dabei +besonders streng. Der Linux-Kernel 2.4.20 z.B. beschränkt +Destination-unreachable-Nachrichten auf eine pro Sekunde +(in net/ipv4/icmp.c). + +Nmap erkennt eine Ratenbeschränkung und verlangsamt seinen Betrieb +entsprechend, um zu vermeiden, dass das Netzwerk mit nutzlosen Paketen +überflutet wird, die vom Zielrechner verworfen werden. Unglücklicherweise +führt eine Beschränkung wie in Linux auf ein Paket pro Sekunde +dazu, dass ein Scan von 65.536 Ports über 18 Stunden dauert. Um Ihre +UDP-Scans zu beschleunigen, können Sie z.B. mehr Hosts parallel scannen, +zuerst nur einen schnellen Scan der beliebten Ports durchführen, +von hinter der Firewall scannen und die Option + benutzen, um langsame Hosts +auszulassen. + + + + + + + ; ; (TCP-NULL-, FIN- und -Xmas-Scans) + + + +NULL-Scan +FIN-Scan +Xmas-Scan + + + +Diese drei Scan-Typen (noch mehr sind mit der im nächsten Abschnitt +beschriebenen Option möglich) +beuten ein subtiles Schlupfloch im TCP RFC +aus, um zwischen offenen und +geschlossenen Ports zu unterscheiden. Seite 65 von +RFC 793 besagt: Falls der Zustand des +[Ziel-] Ports GESCHLOSSEN ist ... bewirkt ein eingehendes Segment, in dem +sich kein RST befindet, dass ein RST als Antwort gesendet wird. +Die nächste Seite beschreibt dann Pakete, die ohne gesetztes SYN-, RST- +oder ACK-Bit an offene Ports geschickt werden, und dort heißt es weiter: +Es ist unwahrscheinlich, dass Sie hierhin kommen, aber wenn doch, +dann verwerfen Sie das Segment und springen Sie zurück. + +Beim Scannen von Systemen, die konform zu diesem RFC-Text sind, +führt jedes Paket, das kein SYN-, RST- oder ACK-Bit enthält, dazu, dass +ein RST zurückgegeben wird, wenn der Port geschlossen ist, bzw. zu gar +keiner Antwort, falls der Port offen ist. Solange keines dieser drei Bits +gesetzt ist, sind alle Kombinationen der anderen drei (FIN, PSH und URG) +okay. Das nutzt Nmap mit drei Scan-Typen aus: + + + Null-Scan () + Setzt keinerlei Bits (der TCP-Flag-Header ist 0). + + FIN-Scan () + Setzt nur das TCP-FIN-Bit. + + Xmas-Scan () + Setzt die FIN-, PSH- und URG-Flags und beleuchtet + das Paket wie einen Weihnachtsbaum (engl. Xmas). + + +Diese drei Scan-Typen haben exakt dasselbe Verhalten und unterscheiden +sich nur in den TCP-Flags ihrer Testpakete. Wenn ein RST-Paket empfangen +wird, wird der Port als geschlossen betrachtet, während +keine Antwort bedeutet, dass er offen|gefiltert ist. +Der Port wird als gefiltert markiert, falls ein +ICMP Unreachable-Fehler (Type 3, Code 1, 2, 3, 9, 10 oder 13) +empfangen wird. + +Der Schlüsselvorteil dieser Scan-Arten ist, dass sie sich an +bestimmten zustandslosen Firewalls und paketfilternden Routern +vorbeschleichen können. Ein weiterer Vorteil ist, dass diese Scan-Arten +ncoh ein wenig unauffälliger sind als ein SYN-Scan. Aber verlassen +Sie sich nicht darauf – die meisten modernen IDS-Produkte können +so konfiguriert werden, dass sie diese Scans erkennen. Der große Nachteil +ist, dass nicht alle Systeme sich ganz genau an RFC 793 halten. Eine +Reihe von Systemen sendet RST-Antworten auf die Testpakete, unabhängig +davon, ob der Port offen ist oder nicht. Das bewirkt, dass alle Ports +als geschlossen markiert werden. Hauptvertreter +der Betriebssysteme, die das machen, sind Microsoft Windows, viele +Cisco-Geräte, BSDI und IBM OS/400. +Aber auf den meisten Unix-basierten Systemen funktioniert dieser Scan. +Ein weiterer Nachteil dieser Scans ist, dass sie keine Unterscheidung +zwischen offenen und bestimmten +gefilterten Ports machen, sondern lediglich das +Ergebnis offen|gefiltert ausgeben. + + + + + + + (TCP-ACK-Scan) + + ACK-Scan + + + +Dieser Scan unterscheidet sich insofern von den bisher hier +vorgestellten, als er nie offene (oder auch nur +offene|gefilterte) Ports bestimmt. Er wird dazu benutzt, +Firewall-Regeln zu bestimmen, festzustellen, ob sie zustandsbehaftet sind +oder nicht, und welche Ports gefiltert werden. + +Beim Testpaket eines ACK-Scans wird nur das ACK-Flag gesetzt +(es sei denn, Sie benutzen ). Beim Scannen +ungefilterter Systeme werden sowohl offene als auch +geschlossene Ports ein RST-Paket zurückgeben. Nmap +markiert sie dann als ungefiltert, d.h. sie werden +vom ACK-Paket erreicht, aber es kann nicht bestimmt werden, ob sie +offen oder geschlossen sind. +Ports, die nicht antworten oder bestimmte ICMP-Fehlermeldungen +zurückgeben (Type 3, Code 1, 2, 3, 9, 10 oder 13), werden als +gefiltert markiert. + + + + + + + (TCP-Window-Scan) + +Window-Scan + + + +Der Window-Scan ist genau derselbe wie der ACK-Scan, nur dass er +ein Implementationsdetail bestimmter Systeme zur Unterscheidung zwischen +offenen und geschlossenen Ports nutzt, statt bei jedem erhaltenen RST immer +nur ungefiltert anzugeben. Das geschieht durch Analyse +der TCP-Fenstergröße der zurückgegebenen RST-Pakete. +Auf manchen Systemen benutzen offene Ports eine positive Fenstergröße +(sogar für RST-Pakete), während geschlossene eine Fenstergröße von Null +haben. Statt einen Port immer als ungefiltert +aufzulisten, wenn von dort ein RST zurückkommt, listet der Window-Scan +den Port als offen oder geschlossen +auf, je nachdem, ob die TCP-Fenstergröße in diesem Reset jeweils positiv +oder Null ist. + +Dieser Scan baut auf einem Implementationsdetail einer Minderheit von +Systemen im Internet auf, d.h. Sie können sich nicht immer darauf verlassen. +Systeme, die es nicht unterstützen, werden normalerweise alle Ports als +geschlossen zurückgeben. Natürlich ist es möglich, dass +auf dem Rechner wirklich keine offenen Ports sind. Falls die meisten +gescannten Ports geschlossen, aber einige Ports +mit geläufigen Nummern (wie 22, 25 und 53) gefiltert sind, +dann ist das System sehr wahrscheinlich anfällig. Gelegentlich zeigen +Systeme auch genau das gegenteilige Verhalten. Falls Ihr Scan 1000 offene +und drei geschlossene oder gefilterte Ports anzeigt, dann könnten jene drei +sehr wohl die wirklich wahren offenen Ports sein. + + + + + + + (TCP-Maimon-Scan) + +Maimon-Scan + + + +Der Maimon-Scan wurde nach seinem Erfinder, Uriel +Maimon,Maimon, Uriel benannt. +Er hat diese Methode im +Phrack-Magazin, Ausgabe #49 (November 1996),Phrack +beschrieben. +Zwei Ausgaben später war diese Methode in Nmap enthalten. Sie macht genau +das Gleiche wie der NULL-, FIN- und Xmas-Scan, außer, dass sie ein +FIN/ACK-Testpaket verwendet. Laut RFC 793 (TCP) +sollte als Antwort auf solch ein Paket ein RST-Paket erzeugt werden, +egal ob der Port offen oder geschlossen ist. Allerdings hatte Uriel bemerkt, +dass viele von BSD abgeleitete Systeme das Paket einfach verwerfen, +wenn der Port offen ist. + + + + + + + (Benutzerdefinierter TCP-Scan) + + + + +Wirklich fortgeschrittene Nmap-Benutzer brauchen sich nicht auf die +vorgefertigten Scan-Typen zu beschränken. Mit der Option + können Sie Ihren eigenen Scan entwerfen, +für den Sie beliebige TCP-Flags angeben +können.TCP-Flags +Lassen Sie Ihrer Kreativität freien Lauf und umgehen Sie +Intrusion-Detection-Systeme,Intrusion-Detection-Systemeumgehen +deren Hersteller einfach die Nmap-Manpage durchgeblättert und spezifische +Regeln dafür angegeben haben! + +Das Argument für kann ein numerischer +Flag-Wert wie z.B. 9 (PSH und FIN) sein, aber symbolische Namen sind +einfacher zu benutzen. Erstellen Sie einfach eine beliebige Kombination von +URG, ACK, PSH, +RST, SYN und +FIN. So setzt z.B. alle Flags, auch wenn das beim Scannen nicht +besonders hilfreich ist. Die Reihenfolge, in der Sie diese Flags angeben, +spielt keine Rolle. + +Zusätzlich zu den gewünschten Flags können Sie einen TCP-Scan-Typen +(z.B. oder ) angeben. +Dieser Basistyp sagt Nmap, wie es die Antworten interpretieren soll. +Ein SYN-Scan z.B. betrachtet das Fehlen einer Antwort als einen Hinweis auf +einen gefilterten Port, während ein FIN-Scan das als einen +Hinweis auf einenoffen|gefilterten Port ansieht. Nmap +verhält sich genauso wie beim Scan-Basistyp, nur mit dem Unterschied, +dass es die von Ihnen angegebenen TCP-Flags benutzt. Ohne Angabe eines +Basistyps wird ein SYN-Scan benutzt. + + + + + + + (Idle-Scan) + + Idle-Scan + + + + +Diese fortgechrittene Scan-Methode ermöglicht einen wirklich +blinden TCP-Port-Scan des Ziels, d.h. es werden keine Pakete von Ihrer +wahren IP-Adresse an das Ziel gesendet. Stattdessen wird mit einem +Angriff auf einem parallelen Kanal eine vorhersagbare Erzeugung von +Folgen von IP-Fragmentation-IDs auf dem Zombie-Host ausgebeutet, um an +Information über offene Ports auf dem Ziel zu gelangen. IDS-Systeme +zeigen als Urheber des Scans den Zombie-Rechner an, den Sie angeben +(der aktiv sein und einige bestimmte Bedingungen erfüllen muss). + +Da dieser faszinierende Scan-Typ zu komplex ist, um ihn in diesem Handbuch +vollständig zu beschreiben, habe ich einen Artikel mit vollständigen +Details dazu geschrieben und unter + veröffentlicht. + + +Alle Details zu diesem faszinierenden Scan-Typ finden Sie in +. + + + +Dieser Scan-Typ ist nicht nur extrem unauffällig (wegen seiner +Blindheit), sondern erlaubt auch, IP-basierte Vetrauensbeziehungen +zwischen Rechnern festzustellen. Die Portliste zeigt offene Ports +aus der Sicht des Zombie-Hosts an. Also können +Sie versuchen, ein Ziel mit verschiedenen Zombies zu scannen, von +denen Sie denken, dass sie vertrauenswürdig +sindVertrauensbeziehungen +(über Router-/Paketfilterregeln). + + +Wenn Sie einen bestimmten Port auf dem Zombie auf IP-ID-Änderungen +testen möchten, können Sie einen Doppelpunkt gefolgt von einer Portnummer +an den Zombie-Host hinzufügen. Sonst benutzt Nmap den Port, den es +standardmäßig bei TCP-Pings benutzt (80). + + + + + + (IP-Protokoll-Scan) + + IP-Protokoll-Scan + + + +Der IP-Protokoll-Scan ermöglicht die Bestimmung der IP-Protokolle +(TCP, ICMP, IGMP etc.), die von Zielrechnern unterstützt werden. Rein +technisch ist das kein Port-Scan, da er über Nummern von IP-Protokollen +statt TCP- oder UDP-Ports vorgeht. Dennoch benutzt er die Option + für die Auswahl der zu scannenden Protokollnummern, +gibt seine Ergebnisse im normalen Port-Tabellenformat aus und benutzt sogar +dieselbe grundlegende Scan-Engine wie die echten Port-Scanning-Methoden. +Damit ist er einem Port-Scan ähnlich genug, um an dieser Stelle beschrieben +zu werden. + +Abgesehen davon, dass er schon als solcher nützlich ist, zeigt der +Protokoll-Scan die Macht von Open-Source-Software. +Auch wenn die grundlegende Idee recht simpel ist, hatte ich nicht daran +gedacht, ihn hinzuzufügen, und bekam auch keine Anfragen nach einer solchen +Funktionalität. Dann, im Sommer 2000, +hatte Gerhard RiegerRieger, Gerhard +die Idee, schrieb einen exzellenten Patch als Implementation und sendete +ihn an die Mailingliste +nmap-hackers.nmap-hackers Mailingliste +Diesen Patch habe ich in den Nmap-Baum aufgenommen und einen Tag später +eine neue Version veröffentlicht. Es gibt nur wenig kommerzielle Software, +deren Benutzer so enthusiastisch sind, dass sie eigene Verbesserungen +dafür entwerfen und beitragen! + +Der Protokoll-Scan funktioniert auf ähnliche Weise wie der UDP-Scan. +Statt über das Portnummernfeld eines UDP-Pakets zu iterieren, sendet er +IP-Paketheader und iteriert über das acht Bit große IP-Protokollfeld. +Die Header sind normalerweise leer, enthalten keine Daten und nicht einmal +den richtigen Header für das behauptete Protokoll. Die drei Ausnahmen davon +sind TCP, UDP und ICMP. +Für diese werden richtige Protokoll-Header verwendet, da manche Systeme sie +sonst nicht versenden und weil Nmap bereits über die Funktionen verfügt, +um sie zu erzeugen. Statt Nachrichten der Art ICMP Port unreachable +sucht der Protokoll-Scan nach +ICMP Protocol unreachable. +Falls Nmap zu irgendeinem Protokoll eine Antwort vom Zielhost erhält, +markiert es das Protokoll als offen. Bei einem +ICMP Protocol-unreachable-Fehler (Typ 3, Code 2) wird das Protokoll +als geschlossen markiert. Bei anderen +ICMP Unreachable-Fehlern (Typ 3, Code 1, 3, 9, 10 oder 13) wird das +Protokoll als gefiltert markiert (auch wenn sie +gleichzeitig beweisen, dass ICMP offen ist). +Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, +wird das Protokoll als offen|gefiltert markiert. + + + + + + + + (FTP-Bounce-Scan) + + FTP-Bounce-Scan + + + +Eine interessante Eigenschaft des FTP-Protokolls (RFC 959) +ist dessen Unterstützung sogenannter Proxy-FTP-Verbindungen. Damit kann +sich ein Benutzer mit einem FTP-Server verbinden und dann verlangen, dass +Dateien an einen Server einer dritten Partei gesendet werden. Solch eine +Eigenschaft ist auf vielen Ebenen sturmreif für Missbrauch, weswegen die +meisten Server sie nicht mehr unterstützen. Ein solcher Missbrauch, den +diese Eigenschaft ermöglicht, ist, den FTP-Server für Port-Scans anderer +Hosts zu benutzen. Bitten Sie den FTP-Server einfach, eine Datei nacheinander +an alle interessanten Ports eines Zielhosts zu senden. Die Fehlermeldung +wird beschreiben, ob der Port offen ist oder nicht. Das ist ein guter Weg, +Firewalls zu umgehen, weil FTP-Server von Organisationen oft an Orten +platziert sind, von denen aus sie besseren Zugriff auf weitere interne Hosts +haben, als es jeder alte Internet-Host hätte. Nmap unterstützt den +FTP-Bounce-Scan mit der Option . Sie erwartet ein +Argument der Form +username:password@server:port. +Dabei ist Server der Name oder die IP-Adresse +eines anfälligen FTP-Servers. Wie bei einer normalen URL können Sie +username:password +auch weglassen, wobei dann eine anonyme Anmeldung erfolgt (username: +anonymous password:-wwwuser@). +Die Portnummer (samt Doppelpunkt davor) können Sie ebenfalls weglassen, +wobei dann auf server der +Standard-FTP-Port (21) benutzt wird. + +Als Nmap 1997 veröffentlicht wurde, war diese +Schwachstelle weit verbreitet, wurde seitdem aber größtenteils behoben. +Aber da es immer noch anfällige Server gibt, lohnt sich ein Versuch, +falls alles andere versagt. Wenn Sie eine Firewall umgehen möchten, +scannen Sie das Zielnetzwerk nach einem offenen Port 21 (oder sogar nach +beliebigen FTP-Diensten, falls Sie alle Ports mit Versionserkennung +scannen können), und probieren Sie dann für jeden einen Bounce-Scan aus. +Nmap wird Ihnen sagen, ob der Host angreifbar ist oder nicht. Versuchen +Sie lediglich, Ihre Spuren zu verwischen, dann brauchen Sie sich nicht +(und tatsächlich sollten Sie das nicht einmal) auf Hosts im Zielnetzwerk +zu beschränken. Bevor Sie anfangen, zufällige Internet-Adressen nach +anfälligen FTP-Servern zu scannen, bedenken Sie, dass Sysadmins keinen +Gefallen daran finden werden, dass Sie ihre Server auf diese Weise +missbrauchen. + + + + + + + + Port-Angabe und Scan-Reihenfolge + Port-Angabe + +Zusätzlich zu all den bisher erläuterten Scan-Methoden bietet +Nmap Optionen, mit denen man angibt, welche Ports gescannt werden +und ob die Scan-Reihenfolge randomisiert oder sequentiell ist. Nmap +scannt standardmäßig für jedes Protokoll die 1000 meistbenutzten Ports. +vorgegebene Ports + + + + + + (scannt nur angegebene Ports) + + + + +Diese Option gibt an, welche Ports Sie scannen möchten, und +überschreibt die Voreinstellung. Einzelne Portnummern sind okay, +ebenso wie mit einem Bindestrich getrennte Bereiche (z.B. +1-1023). Anfangs- und/oder Endwerte eines +Bereichs können weggelassen werden und werden von Nmap dann mit +jeweils 1 bzw. 65535 ersetzt. So können Sie mit +alle Ports von 1 bis 65535 scannen. Es ist erlaubt, den Port NullPort Null +zu scannen, wenn Sie ihn explizit angeben. Bei IP-Protokoll-Scans +() gibt diese Option die Protokollnummern an, +die Sie scannen möchten (0–255). + +Wenn Sie sowohl TCP- als auch UDP-Ports scannen, können Sie ein +bestimmtes Protokoll angeben, indem Sie den Portnummern ein +T: bzw. U: voranstellen. +Dieser Kennzeichner gilt so lange, bis Sie einen anderen angeben. +Zum Beispiel werden bei dem Argument + die UDP-Ports +53, 111 und 137 sowie die angegebenen TCP-Ports gescannt. Beachten +Sie, dass Sie + und mindestens einen TCP-Scan-Typ (z.B. +, oder ) angeben müssen, +um sowohl UDP als auch TCP zu scannen. Falls kein Protokollkennzeichner +angegeben ist, werden die Portnummern zu allen Protokolllisten +hinzugefügt. + +Port-AngabeJoker in +WildcardsPort-Auswahl, Joker in + +Ports können auch mit dem Namen angegeben werden, der für diesen Port +in nmap-services definiert ist. Sie können bei diesen +Namen sogar die Joker * und ? verwenden. Um z.B. FTP und alle Ports +zu scannen, deren Namen mit http anfangen, benutzen Sie +. Passen Sie auf eine eventuelle Erweiterung +durch die Shell auf und setzen Sie das Argument von +in Anführungszeichen, wenn Sie unsicher sind. + +Port-Bereiche können in eckigen Klammern angegeben werden, um Ports +innerhalb dieses Bereiches anzugeben, die in +nmap-services vorkommen. +Zum Beispiel scannt Folgendes alle Ports in nmap-services +kleiner oder gleich 1024: . +Passen Sie auf eine eventuelle Erweiterung +durch die Shell auf und setzen Sie das Argument von +in Anführungszeichen, wenn Sie unsicher sind. + + + + + + + (schneller (beschränkter Port-) Scan) + + schneller Scan + + +Gibt an, dass Sie weniger Ports scannen möchten, als standardmäßig +vorgesehen. Normalerweise scannt Nmap die 1000 am häufigsten vorkommenden +Ports bei jedem gescannten Protokoll. Mit werden diese +auf 100 beschränkt. + +Nmap benötigt die Datei nmap-services mit +Informationen zur Häufigkeit, um zu wissen, welche Ports am häufigsten +benutzt werden (see +for more about port frequencies). Wenn keine Angaben über +die Port-Häufigkeit verfügbar sind, vielleicht weil eine benutzerdefinierte +nmap-services-Datei verwendet wird, +dann bedeutet , dass nur Ports gescannt werden, +die in der Dienstedatei mit Namen vorkommen (normalerweise scannt Nmap +alle benannten Ports plus die Ports 1–1024). + + + + + + (Ports nicht randomisieren) + + Randomisierung von Ports + + +Standardmäßig randomisiert Nmap die Reihenfolge der gescannten Ports +(bis auf einige allgemein zugängliche Ports, die aus Effizienzgründen +vorgezogen werden). Diese Randomisierung ist normalerweise erwünscht, +aber Sie können stattdessen auch für einen sequentiellen +Port-Scan angeben. + + + + + + + + + --port-ratio + Scannt alle Ports in der Datei +nmap-services mit einem größeren Bruchteil als +die Zahl, die als Argument angegeben wird. + + + + + + + + + --top-ports + Scannt die N Ports mit dem höchsten Bruchteil +in der Datei nmap-services. + + + + + + + + + + Dienst- und Versionserkennung + Versionserkennung + +Lassen Sie Nmap auf einen entfernten Rechner los, und Sie +erfahren z.B. dass die Ports 25/tcp, +80/tcp und 53/udp offen sind. +Dank der über 2200 bekannten Dienste in seiner Datenbank in +nmap-servicesnmap-services würde Nmap noch ausgeben, dass diese Ports +wahrscheinlich jeweils zu einem Mailserver (SMTP), Webserver (HTTP) und +Nameserver (DNS) gehören. Normalerweise sind diese Angaben genau — +die überwiegende Mehrheit an Daemons, die den TCP-Port 25 abhören, sind +tatsächlich Mailserver. Allerdings sollten Sie nicht Ihre Sicherheit darauf +verwetten! Manche Leute können nicht nur Dienste auf seltsamen Ports +betreiben, sondern tun es +auch.Nicht-Standard-Ports + + +Selbst wenn Nmap recht hat und auf dem Server im obigen Beispiel +SMTP-, HTTP- und DNS-Server laufen, ist das nicht besonders viel an Information. +Bei der Beurteilung der Angreifbarkeit (oder auch nur beim Erstellen +einfacher Netzwerkinventare) Ihrer Firmen oder Kunden möchten Sie auch +wissen, welche Mail- und DNS-Server und welche Versionen davon laufen. Eine genaue +Versionsnummer hilft enorm bei der Bestimmung der Exploits, für die ein +Server anfällig ist. +Die Versionserkennung hilft Ihnen, an diese Information heranzukommen. + + +Nachdem TCP- und/oder UDP-Ports mit einer der anderen Scan-Methoden +entdeckt wurden, fragt die Versionserkennung diese Ports ab, um mehr +darüber zu erfahren, was tatsächlich darauf läuft. Die Datenbank in +nmap-service-probesnmap-service-probes +enthält Testpakete für die Abfrage verschiedenster Dienste und Ausdrücke +für den Vergleich und das Parsen der Antworten. Nmap versucht, das +Dienstprotokoll zu bestimmen (z.B. FTP, SSH, Telnet, HTTP), aber auch +Anwendungsnamen (z.B. ISC BIND, Apache httpd, Solaris telnetd), +Versionsnummer, Hostnamen, Gerätetyp (z.B. Drucker, Router), die +Betriebssystemfamilie (z.B. Windows, Linux) und manchmal verschiedene +Details: etwa ob ein X-Server Verbindungen annimmt, die SSH-Protokollversion +oder der KaZaA-Benutzername. Natürlich bieten die meisten Dienste +nicht all diese Information. Falls Nmap mit OpenSSL-Unterstützung +kompiliert wurde, verbindet es sich mit SSL-Servern, um den hinter dieser +VerschlüsselungsebeneSSLin Versionserkennung +lauschenden Dienst zu ermitteln. +Wenn RPC-Dienste erkannt werden, wird automatisch Nmaps +RPC-HolzhammerRPC-Holzhammer +() +benutzt, um die RPC-Programm- und Versionsnummern zu bestimmen. Manche +UDP-Ports bleiben im Zustand offen|gefiltert, nachdem +ein UDP-Port-Scan nicht bestimmen konnte, ob der Port offen oder gefiltert +ist. Die Versionserkennung versucht, diesen Ports eine Antwort zu entlocken +(genauso wie bei offenen Ports) und den Zustand auf offen zu ändern, +wenn das gelingt. Offene|gefilterte TCP-Ports werden +genauso behandelt. Beachten Sie, dass die Nmap-Option +unter anderem auch die Versionserkennung einschaltet. + +A paper documenting the workings, usage, and customization of version +detection is available at +. + + +Die Versionserkennung wird detailliert in behandelt. + + + +Wenn Nmap Antworten von einem Dienst erhält, aber keine Übereinstimmungen +dafür in seiner Datenbank finden kann, gibt es einen speziellen Fingerprint +und eine URL aus, damit Sie diese Antwort einsenden können, falls Sie genau +wissen, was auf diesem Port läuft. Bitte nehmen Sie sich ein paar Minuten +Zeit, um sie einzusenden, damit Ihr Fund für alle ein Gewinn sein kann. +Dank dieser Beiträge hat Nmap über 3000 Musterübereinstimmungen für +über 350 Protokolle wie SMTP, FTP, HTTP usw.Einsenden von Dienst-Fingerprints + + +Die Versionserkennung wird mit den folgenden Optionen aktiviert und +gesteuert: + + + + + + (Versionserkennung) + + + +Aktiviert die Versionserkennung wie oben beschrieben. +Alternativ dazu können Sie benutzen, was unter +anderem auch die Versionserkennung aktiviert. + + + + + + + (keine Ports von der Versionserkennung ausschließen) + + + + +Standardmäßig schließt Nmaps Versionserkennung den TCP-Port 9100 +aus, weil manche Drucker einfach alles ausdrucken, was an diesen Port +gesendet wird, was zu Dutzenden von Seiten mit HTTP-GET-Requests, +binären SSL-Session-Requests usw. führen würde. Dieses Verhalten kann +man ändern, indem man die Exclude-Anweisung in +nmap-service-probes verändert oder entfernt, oder +Sie geben an, um alle Port zu scannen, +unabhängig von einer Exclude-Anweisung. +Exclude Anweisung (nmap-service-probes) + + + + + + + (Intensität des Versions-Scans setzen) + + + + +Bei einem Versions-Scan () sendet Nmap eine +Reihe von Testpaketen, die alle über einen zugeordneten Seltenheitswert +zwischen eins und neun verfügen. Die Testpakete mit kleineren Werten +sind bei einer großen Zahl verbreiteter Dienste wirkungsvoll, während +die mit höheren Werten seltener nützlich sind. Die Intensitätsstufe gibt +an, welche Testpakete angewendet werden sollten. Je höher die Zahl, desto +wahrscheinlicher wird der Dienst richtig identifiziert. Allerdings +brauchen Scans mit hoher Intensität mehr Zeit. Diese Intensität muss +zwischen 0 und 9 liegen. +VersionserkennungIntensität +Die Standardeinstellung ist 7. +VersionserkennungStandardintensität +Wenn ein Testpaket mit der ports-Anweisung in +nmap-service-probes für den Zielport registriert +ist, wird dieses Testpaket ausprobiert, unabhängig von der Intensitätsstufe. +Das garantiert, dass die DNS-Testpakete bei jedem offenen Port 53 immer +benutzt werden, das SSL-Testpaket bei Port 443 usw. + + + + + + + (leichten Modus setzen) + + + + +Das ist ein Alias für aus +Bequemlichkeitsgründen. Dieser leichte Modus macht die Versionserkennung +wesentlich schneller, identifiziert die Dienste aber mit geringerer +Wahrscheinlichkeit. + + + + + + (benutze alle Testpakete) + + + + +Das ist ein Alias für , der +garantiert, dass jedes einzelne Testpaket bei jedem Port ausprobiert +wird. + + + + + + (verfolge Aktivität des Versions-Scans) + + + +Das bewirkt, dass Nmap umfangreiche Debugging-Information darüber +ausgibt, was die Versionserkennung gerade macht. Das ist eine Untermenge +dessen, was Sie mit erhalten. + + + + + + (RPC-Scan) + + RPC scanRPC-Holzhammer + RPC-Holzhammer + + + +Diese Methode funktioniert zusammen mit den verschiedenen +Port-Scan-Methoden von Nmap. Sie nimmt alle offenen TCP-/UDP-Ports +und überflutet sie mit NULL-Befehlen für das SunRPC-Programm, in dem +Versuch, festzustellen, ob es RPC-Ports sind, und wenn ja, welches +Programm und welche Versionsnummer darauf läuft. Dadurch können Sie +quasi dieselbe Information herausfinden wie mit +rpcinfo -p, selbst wenn der Portmapper des Ziels +hinter einer Firewall liegt (oder von TCP-Wrappern geschützt wird). +Köder funktionieren im Moment nicht mit dem +RPC-Scan.Ködervon Scans benutzte +Das wird automatisch als Teil einer Versionserkennung aktiviert +(), wenn Sie diese verlangen. Da die +Versionserkennung das enthält und wesentlich umfangreicher ist, +wird selten benötigt. + + + + + + + + + + + Betriebssystem-Erkennung + Betriebssystemerkennung + +Eines der bekanntesten Merkmale von Nmap ist dessen Erkennung +entfernter Betriebssysteme mit TCP/IP-Stack-Fingerprinting. Nmap +sendet eine Reihe von TCP- und UDP-Paketen an den entfernten Host +und untersucht praktisch jedes Bit in der Antwort. Nach der Durchführung +Dutzender von Tests, wie z.B. einer TCP-ISN-Abtastung, Unterstützung und +Reihenfolge von TCP-Optionen, IP-ID-Abtastung und Prüfung der initialen +Fenstergröße, vergleicht Nmap die Ergebnisse mit seiner Datenbank in +nmap-os-dbnmap-os-db +von über eintausend bekannten Betriebssystem-Fingerprints und gibt +die Details zum Betriebssystem aus, wenn es eine Übereinstimmung gefunden +hat. +Jeder Fingerprint enthält eine formlose Beschreibung des Betriebssystems +und eine Klassifikation, aus der der Herstellername (z.B. Sun), das +eigentliche Betriebssystem (z.B. Solaris), dessen Generation (z.B. 10) +und der Gerätetyp (allgemein, Router, Switch, Spielkonsole +usw.) hervorgeht. + +Falls Nmap das Betriebssystem eines Rechner nicht erraten kann +und die Umstände günstig sind (z.B. wenn mindestens ein offener und ein +geschlossener Port gefunden wurde), präsentiert Nmap eine URL, unter +der Sie den Fingerprint einsenden können, wenn Sie (ganz sicher) wissen, +welches Betriebssystem auf dem Rechner läuft. Dadurch erweitern Sie den +Pool der Betriebssysteme, die Nmap kennt, wodurch es für alle Benutzer +genauer wird. + +Die Betriebssystem-Erkennung verwendet einige weitere Tests, +die Informationen benutzen, die während des Vorgangs ohnehin gesammelt +werden. Eine davon ist die Klassifikation der Vorhersagbarkeit der +TCP-Sequenznummern. Sie gibt ungefähr an, wie schwer es ist, eine +gefälschte TCP-Verbindung zum entfernten Host aufzubauen. Sie ist +hilfreich zur Ausbeutung von Vertrauensbeziehungen auf Basis von +Quell-IPs (rlogin, Firewall-Filter usw.) oder zum Verbergen des +Ursprungs eines Angriffs. Diese Art von Täuschung wird kaum noch +praktiziert, aber viele Rechner sind nach wie vor anfällig dafür. +Die eigentliche Maßzahl basiert auf statistischen Abtastungen und +kann schwanken. Im Allgemeinen ist es besser, die englische Bezeichnung +wie z.B. worthy challenge oder +trivial joke zu benutzen. Das wird nur in der normalen +Ausgabe im ausführlichen Modus () ausgegeben. Wenn +dieser Modus zusammen mit aktiviert ist, wird auch +die IP-ID-Sequenzerzeugung berichtet. Die meisten Rechner finden sich +in der Klasse incremental, d.h. sie inkrementieren das +ID-Feld im IP-Header für jedes von ihnen gesendete Paket. Dadurch +werden sie anfällig für diverse avancierte Angriffe mittels +Täuschung und Sammlung von Informationen. + +Betriebszeit-Schätzung + +Eine weitere zusätzliche Information, die die Betriebssystem-Erkennung +aktiviert, ist eine Schätzung der Betriebszeit des Zielhosts. Dabei +wird die TCP-Timestamp-Option +(RFC 1323) +benutzt, um zu raten, wann ein Rechner das letzte Mal neu gestartet wurde. +Wenn der Timestamp-Zähler nicht bei null gestartet wurde oder der Zähler +überläuft und wieder von vorn zählt, kann diese Schätzung ungenau werden, +weshalb sie nur im ausführlichen Modus ausgegeben wird. + + + + +A paper documenting the workings, usage, and customization of OS +detection is available at +. + + + +Die Betriebssystem-Erkennung wird in behandelt. + + + +Eingeschaltet und gesteuert wird die Betriebssystem-Erkennung +mit den folgenden Optionen: + + + + + + (Betriebssystem-Erkennung aktivieren) + + + +Aktiviert die Betriebssystem-Erkennung wie oben beschrieben. +Alternativ dazu können Sie benutzen, um eine +Betriebssystem-Erkennung zusammen mit anderen Dingen einzuschalten. + + + + + + + (Betriebssystem-Erkennung auf vielversprechende Ziele beschränken) + + + +Die Betriebssystem-Erkennung ist wesentlich effektiver, wenn +mindestens ein offener und ein geschlossener TCP-Port gefunden werden. +Wenn Sie diese Option angeben, versucht Nmap eine Betriebssystem-Erkennung +gar nicht erst bei Hosts, die dieses Kriterium nicht erfüllen. Das kann +viel Zeit sparen, besonders bei Scans mit auf +vielen Hosts. Diese Option gilt nur, wenn eine Betriebssystem-Erkennung +mit oder verlangt wird. + + + + + + +; (Ergebnisse der Betriebssystem-Erkennung raten) + + + + +Falls Nmap keine perfekte Übereinstimmung mit einem Betriebssystem +finden kann, präsentiert es manchmal mögliche Kandidaten, die dem sehr +nahe kommen. Damit Nmap das standardmäßig macht, muss die Übereinstimmung +sehr hoch sein. Diese beiden (äquivalenten) Optionen lassen Nmap aggressiver +schätzen. Dann gibt Nmap auch unvollkommene Übereinstimmungen aus, +zusammen mit einem Vertrauensgrad (in Prozent). + + + + + + (setzt die maximale Anzahl der Versuche für eine Betriebssystem-Erkennung bei einem Ziel) + + + +Wenn Nmap eine Betriebssystem-Erkennung auf einem Ziel durchführt +und dafür keine perfekte Übereinstimmung findet, macht es normalerweise +einen weiteren Versuch. Standardmäßig macht Nmap fünf Versuche, wenn +die Bedingungen zum Einsenden eines Betriebssystem-Fingerprints günstig +sind, und zwei, wenn sie es nicht sind. Die Angabe eines kleineren Wertes +für (z.B. 1) beschleunigt Nmap, auch wenn +Sie Versuche auslassen, bei denen das Betriebssystem möglicherweise +erkannt werden könnte. Alternativ dazu kann ein hoher Wert gesetzt werden, +um bei günstigen Bedinungen noch mehr Versuche zu erlauben. Das macht man +aber selten, außer um bessere Fingerprints zu erzeugen, die man einsenden +kann, um sie in Nmaps Betriebssystem-Datenbank zu integrieren. + + + + + + + + + + Nmap Scripting Engine (NSE) + Nmap Scripting Engine (NSE) + +Die Nmap Scripting Engine (NSE) ist eines der mächtigsten und +flexibelsten Merkmale von Nmap. Mit ihr können Benutzer einfache Scripts +schreiben und weitergeben (geschrieben in der +Programmiersprache Lua +Programmiersprache Lua), +um eine breite Palette von Netzwerkaufgaben +zu automatisieren. Diese Scripts werden dann parallel mit der Geschwindigkeit +und Effizienz abgearbeitet, die Sie von Nmap erwarten. Als Benutzer können +Sie auf eine wachsende und vielfältige Menge von Scripts vertrauen, die mit +Nmap veröffentlicht werden, oder eigene Scripts für eigene Bedürfnisse +schreiben. + +Zu den Aufgaben, die wir bei der Konzeption dieses Systems +anvisierten, gehören die Netzwerkerkennung, eine ausgefeiltere +Versionserkennung sowie eine Verwundbarkeitserkennung. NSE kann aber +sogar bei der Ausbeutung von Schwachstellen benutzt werden. + + + +Um diese verschiedenen Anwendungen widerzuspiegeln und um die Auswahl +des richtigen Scripts zu vereinfachen, verfügen alle Scripts über ein +Kategorie-Feld. +Im Moment sind folgende Kategorien definiert: +safe, intrusive, +malware, version, +discovery, vuln, +auth und default. +Sie alle werden +at . +in beschrieben. + + + +Die Nmap Scripting Engine wird detailliert +at +in beschrieben und wird mit den +folgenden Optionen gesteuert: + + + + + + + + + + + +Führt einen Script-Scan mit dem Standardsatz an Scripts durch. +Das ist äquivalent zu . Manche der +Scripts in dieser Kategorie werden als +aufdringlich betrachtet und sollten nicht ohne Genehmigung auf einem +Zielnetzwerk ausgeführt werden. + + + + + + + + +Führt einen Script-Scan (wie z.B. ) durch +und benutzt dabei die mit Kommata getrennte Liste von Script-Kategorien, +individuellen Scripts oder Script-Verzeichnissen statt des Standardsatzes. +Zuerst versucht Nmap, die Argumente als Kategorien zu interpretieren, +dann (wenn das nicht gelingt) als Datei- oder Verzeichnisnamen. Ein Script +oder Verzeichnis von Scripts kann als absoluter oder relativer Pfad angegeben +werden. Absolute Pfade werden unverändert benutzt. Relative Pfade werden an +den folgenden Orten gesucht, bis sie gefunden +werden:DatendateienVerzeichnis-SuchreihenfolgeScripts, Orte +--datadir/; +$NMAPDIR/;NMAPDIR Umgebungsvariable +~/.nmap/ (wird unter Windows nicht durchsucht);.nmap Verzeichnis +NMAPDATADIR/ oderNMAPDATADIR +./. +In all diesen Verzeichnissen wird außerdem auch ein +scripts/-Unterverzeichnis ausprobiert. + + +Falls ein Verzeichnis angegeben und gefunden wird, lädt Nmap alle +NSE-Scripts (alle Dateinamen, die mit .nse enden) +aus diesem Verzeichnis. Dateinamen ohne die Endung nse +werden ignoriert. Nmap sucht keine Unterverzeichnisse rekursiv durch, +um Scripts zu finden. Wenn individuelle Dateinamen angegeben werden, +dann muss deren Dateierweiterung nicht nse lauten. + + +Nmap-Scripts werden standardmäßig in einem +scripts-Unterverzeichnis des Nmap-Datenverzeichnisses +gespeichert +(see ). +(siehe ). Aus Effizienzgründen +werden Scripts in einer Datenbank indiziert, die in scripts/script.db.script.db +gespeichert ist und für jedes Script auflistet, in welche Kategorie +bzw. Kategorien es gehört. Um alle Scripts in der Nmap-Script-Datenbank +auszuführen, geben Sie das Argument all an. + + +Die Scripts werden nicht in einer Sandbox ausgeführt und können +Ihr System somit versehentlich oder böswillig beschädigen oder in Ihre +Privatsphäre eindringen. Sie sollten Scripts von Dritten nur dann ausführen, +wenn Sie deren Autoren vertrauen oder sie selbst eingehend studiert +haben. + + + + + + + + Script-Argumente + + +Hiermit können Sie Argumente für NSE-Scripts angeben. Argumente +werden als name=value-Paare angegeben. Die Argumente +werden verarbeitet und in einer Lua-Tabelle gespeichert, auf die alle +Scripts Zugriff haben. Die Namen werden als Strings (die alphanumerische +Werte sein müssen) in argument-table als Schlüssel +gespeichert. Die Werte sind ihrerseits entweder Strings oder Tabellen +(innerhalb von ‘{’ und +‘}’). +Sie könnten z.B. diese mit Kommmata getrennten Argumente angeben: +user=bar,pass=foo,whois={whodb=nofollow+ripe}. +String-Argumente werden potenziell von mehreren Scripts benutzt, +während Untertabellen normalerweise nur von einem Script benutzt werden. +In Scripts, die eine Untertabelle annehmen, wird diese Untertabelle +normalerweise nach dem Script benannt (in diesem Fall z.B. +whois). + + + + + + + + + + + + +Diese Option macht das, was macht, +aber eine ISO-Ebene höher. Wenn diese Option +angegeben wird, wird die gesamte ein- und ausgehende Kommunikation +von Scripts ausgegeben. Die angezeigte Information enthält das +Kommunikationsprotokoll, Quell- und Zieladressen sowie die übertragenen +Daten. Falls mehr als fünf Prozent der übertragenen Daten nicht druckbar sind, +werden sie stattdessen als Hexadezimal-Auszug ausgegeben. +Auch die Angabe von schaltet diese +Mitverfolgung von Scripts ein. + + + + + + + + +Diese Option aktualisiert die Script-Datenbank in +scripts/script.db, die von Nmap benutzt wird, +um die verfügbaren Standard-Scripts und Kategorien zu bestimmen. +Man muss die Datenbank nur dann aktualisieren, wenn man NSE-Scripts +in das Standardverzeichnis scripts hinzufügt oder +von dort entfernt, oder wenn man die Kategorie eines Scripts ändert. +Diese Option wird ohne Argumente benutzt: +nmap --script-updatedb. + + + + + + + + + +Timing und Performance +Timing +Performance + +Bei der Entwicklung von Nmap hatte dessen Performance immer eine der +höchsten Prioritäten. Ein Standardscan (nmap +hostname) eines Hosts in meinem lokalen +Netzwerk dauert eine Fünftelsekunde. In dieser Zeit kann man kaum blinzeln, +aber wenn man Hunderte oder Tausende von Rechnern scannt, dann kommt einiges +zusammen. Außerdem können bestimmte Scan-Optionen wie UDP-Scanning und eine +Versionserkennung die Scan-Zeiten erheblich erhöhen. Das Gleiche gilt für +bestimmte Firewall-Konfigurationen und besonders für die Beschränkung der +Antwortrate. Auch wenn Nmap parallel arbeitet und viele ausgefeilte +Algorithmen benutzt, um diese Scans zu beschleunigen, hat doch der Benutzer +die letzte Kontrolle darüber, was Nmap genau macht. Experten erstellen ihre +Nmap-Befehle sehr sorgfältig, um in einer beschränkten Zeit genau die +gewünschte Information zu bekommen. + +Um die Scan-Zeiten zu verbessern, kann man z.B. nicht-kritische Tests +weglassen und auf die neueste Version von Nmap aktualisieren +(Performance-Verbesserungen werden häufig gemacht). Auch die Optimierung +von Timing-Parametern kann einen großen Unterschied ausmachen. +Diese Optionen werden im Folgenden beschrieben. + +Manche Optionen erwarten einen time-Parameter. +Dieser wird standardmäßig in Millisekunden angegeben, aber Sie können +‘s’, ‘m’ oder ‘h’ an den Wert +anhängen, um Sekunden, Minuten oder Stunden anzugeben. Das heißt, bei + haben die Argumente +900000, 900s und +15m alle denselben Effekt. + + + + + +; + (Größe der parallel gescannten Gruppen anpassen) + + + + + +Nmap hat die Fähigkeit, Port-Scans oder Versions-Scans von mehreren +Hosts parallel durchzuführen. Das macht Nmap, indem es den Ziel-IP-Adressraum +in Gruppen aufteilt und dann jeweils eine Gruppe scannt. Im Allgemeinen +sind größere Gruppen effizienter. Der Nachteil daran ist, dass die +Host-Ergebnisse erst dann ausgegeben werden können, wenn die gesamte +Gruppe fertig ist. Wenn Nmap mit einer Gruppengröße von 50 anfängt, würde +der Benutzer erst dann Ergebnisse sehen (bis auf die Aktualisierungen +im ausführlichen Modus), wenn die ersten 50 Hosts abgearbeitet sind. + +Diesen Konflikt löst Nmap standardmäßig mit einem Kompromissansatz. +Es fängt mit einer kleinen Gruppengröße von etwa fünf an, damit die ersten +Ergebnisse schnell kommen, und erhöht dann die Gruppengröße bis auf +etwa 1024. Die genau vorgegebenen Zahlen hängen von den benutzten Optionen +ab. Aus Effizienzgründen benutzt Nmap größere Gruppen bei UDP-Scans oder +bei TCP-Scans über wenige Ports. + +Falls mit eine maximale Gruppengröße +angegeben wird, wird Nmap diese nie überschreiten. Und wenn Sie mit + eine minimale Größe angeben, versucht +Nmap, die Gruppengröße oberhalb dieses Wertes zu belassen. Falls es auf +einer gegebenen Schnittstelle nicht genug Zielhosts gibt, um dieses +Minimum zu erfüllen, muss Nmap einen kleineren Wert benutzen. Es können +auch beide gesetzt werden, um die Gruppengröße in einem bestimmten +Bereich zu belassen, aber das ist selten gewünscht. + +Diese Optionen haben während der Host-Entdeckungsphase eines Scans +keinen Effekt. Dazu gehören einfache Ping-Scans (). +Die Host-Entdeckung funktioniert immer in großen Gruppen von Hosts, +um die Geschwindigkeit und Genauigkeit zu verbessern. + +Der Hauptnutzen dieser Optionen liegt darin, eine hohe minimale +Gruppengröße anzugeben, damit der gesamte Scan schneller läuft. Häufig +wird 256 gewählt, um ein Netzwerk in Brocken der Größe von Klasse C zu +scannen. Bei einem Scan mit vielen Ports bringt eine größere Zahl +vermutlich keine Vorteile. Bei Scans über nur wenige Ports können +Gruppengrößen von 2048 oder mehr hilfreich sein. + + + + + + +; + (Parallelität von Testpaketen anpassen) + + + + + +Diese Optionen steuern die Gesamtanzahl an Testpaketen, die für +eine Host-Gruppe anstehen dürfen. Sie werden beim Port-Scanning und +bei der Host-Entdeckung benutzt. Abhängig von der Netzwerk-Performance +berechnet Nmap standardmäßig eine immer wechselnde ideale Parallelität. +Falls Pakete verworfen werden, verlangsamt sich Nmap und erlaubt weniger +unerledigte Testpakete. Die ideale Anzahl von Testpaketen steigt mit +den zunehmenden Möglichkeiten des Netzwerks. Diese Optionen setzen +minimale oder maximale Schranken für diese Variable. Standardmäßig kann +die ideale Parallelität auf eins sinken, wenn sich das Netzwerk als +unzuverlässig herausstellt, und im Idealfall kann sie auf mehrere hundert +steigen. + +Meistens setzt man auf eine +Zahl größer als eins, um Scans von langsamen Hosts oder Netzwerken zu +beschleunigen. Aber das Spielen mit dieser Option kann gefährlich sein, +weil die Genaugkeit leiden kann, wenn man einen zu großen Wert setzt. +Dabei verringert sich auch Nmaps Möglichkeit, die Parallelität je nach +Netzwerkbedingungen dynamisch anzupassen. Ein Wert von zehn mag vernünftig +sein, auch wenn ich nur als letzter Ausweg an diesem Wert drehe. + +Die Option wird manchmal auf eins +gesetzt, um zu verhindern, dass Nmap mehr als ein Testpaket auf einmal an +Hosts sendet. In Kombination mit (wird +später behandelt) kann das nützlich sein, auch wenn Letzteres diesen Zweck +gut genug allein erfüllt. + + + + + + + +, +, + (Timeouts von Testpaketen anpassen) + + + + + + +Nmap verwaltet einen laufenden Timeout-Wert, der bestimmt, wie +lange es auf eine Antwort zu einem Testpaket wartet, bevor es aufgibt +oder das Paket erneut sendet. Dieser wird auf der Grundlage der +Antwortzeiten bei früheren Testpaketen berechnet. +Die genaue Formel finden Sie in +. +Falls die Netzwerk-Latenzzeit sich als groß genug und variabel erweist, +kann dieser Timeout bis auf mehrere Sekunden wachsen. Er beginnt auch +bei einem konservativen (hohen) Wert und kann diesen eine Weile behalten, +wenn Nmap Hosts scannt, die nicht antworten. + + +Werden Werte für und + angegeben, die kleiner als deren +Standardwerte sind, so kann die Scan-Zeit erheblich verkürzt werden. +Das gilt besonders für pinglose () Scans und solche +von stark gefilterten Netzwerken. Aber verlangen Sie nicht zu viel. +Der Scan kann am Ende länger brauchen, wenn Sie einen so kleinen Wert +angeben, dass bei vielen Testpaketen der Timeout erreicht wird und +sie erneut gesendet werden, während die Antwort unterwegs ist. + +Falls alle Hosts in einem lokalen Netzwerk sind, sind 100 Millisekunden +ein vernünftig aggressiver Wert für . +Falls ein Routing ins Spiel kommt, pingen Sie zuerst einen Host im Netzwerk, +sei es mit einem ICMP-Ping oder mit einem Programm zur Erstellung +benutzerdefinierter Pakete wie +hping2,hping2 +das eine höhere Chance hat, durch eine Firewall zu kommen. +Betrachten Sie dann die maximale Umlaufzeit bei circa zehn Paketen. +Diese möchten Sie vielleicht für +verdoppeln und für verdrei- oder +vervierfachen. Im Allgemeinen setze ich die maximale RTT nicht unter +100 ms, egal, welche Ping-Zeiten ich habe. Und ich gehe auch nicht +über 1000 ms. + +Die Option wird selten benutzt, +könnte aber nützlich sein, wenn ein Netzwerk so unzuverlässig ist, dass +selbst Nmaps Standardeinstellung zu aggressiv ist. Da Nmap das Timeout +nur dann auf das Minimum reduziert, wenn das Netzwerk zuverlässig scheint, +sollte ein Bedarf hierfür eher ungewöhnlich sein und sollte als Fehler +auf der nmap-dev-Mailinglistenmap-dev Mailingliste +berichtet werden. + + + + + + + + (gibt die + maximale Anzahl erneuter Sendeversuche bei Port-Scan-Testpaketen an) + + + + +Falls Nmap keine Antwort auf ein Testpaket eines Port-Scans erhält, +könnte das heißen, dass der Port gefiltert ist. Oder aber das Testpaket +oder die Antwort darauf ging im Netzwerk verloren. Es ist auch möglich, +dass der Zielhost eine Ratenbeschränkung aktiviert hat, die die Antwort +temporär blockiert hat. Also versucht es Nmap erneut, indem es das +ursprüngliche Paket noch einmal sendet. Falls Nmap eine mangelnde +Netzwerkzuverlässigkeit feststellt, führt es eventuell viele weitere +Wiederholungen durch, bevor es bei einem Port aufgibt. Das verbessert +zwar die Genauigkeit, verlängert aber auch die Scan-Zeiten. Wenn es auf +die Performance ankommt, kann man die Scans durch eine Beschränkung +der Anzahl dieser Wiederholungen beschleunigen. Sie können sogar + angeben, um sie ganz zu verbieten, +auch wenn sich das nur in Situationen wie formlosen Überprüfungen +empfiehlt, bei denen einige verpasste Ports oder Hosts +nicht so wichtig sind. + + +Der Standardwert (ohne -Template) sind bis zu zehn +Wiederholungen. Falls das Netzwerk zuverlässig zu sein scheint und die +Zielhosts keine Ratenbeschränkung haben, führt Nmap normalerweise nur eine +Wiederholung durch. Daher sind die meisten Scans gar nicht betroffen, wenn +man z.B. auf den kleinen Wert drei verringert. +Solche Werte können Scans von langsamen (ratenbeschränkten) Hosts aber +erheblich beschleunigen. Wenn Nmap frühzeitig bei Ports aufgibt, verlieren +Sie eventuell einiges an Information, aber das kann vorteilhafter sein, als +ein Timeout von zu erreichen und alle +Informationen über das Ziel zu verlieren. + + + + + + + (bei langsamen Zielhosts aufgeben) + + + + +Bei manchen Hosts braucht es einfach lange, +sie zu scannen. Das kann an leistungsschwacher oder unzuverlässiger +Netzwerk-Hardware oder -Software, an einer Paketratenbeschränkung +oder einer restriktiven Firewall liegen. Die langsamsten paar Prozent +der gescannten Hosts können einen Großteil der Scan-Zeit verbrauchen. +Dann ist es manchmal das Beste, die Verluste abzuschneiden und diese +Hosts erst einmal wegzulassen. Geben Sie +mit der gewünschten maximalen Wartezeit an. Sie können z.B. +30m angeben, um sicherzustellen, dass Nmap nicht +mehr als eine halbe Stunde verschwendet, indem es auf einen einzelnen +Host wartet. Beachten Sie, dass Nmap während dieser halben Stunde auch +andere Hosts scannen kann, d.h. es ist keine komplette Zeitverschwendung. +Ein Host, der das Timeout erreicht, wird übersprungen. +Für diesen Host werden keine Ergebnisse der Port-Tabelle, +Betriebssystem- oder Versionserkennung ausgegeben. + + + + + + + ; + (Verzögerung zwischen Testpaketen anpassen) + + + + + +Diese Option bewirkt, dass Nmap mindestens die angegebene Zeit +zwischen zwei Testpaketen an einen Host wartet. Das ist besonders bei +einer RatenbeschränkungRatenbeschränkung +sinnvoll. Solaris-Rechner (und viele andere auch) antworten auf +UDP-Scan-Testpakete normalerweise nur mit einer ICMP-Nachricht pro +Sekunde. Wenn Nmap mehr sendet, ist das Verschwendung. Mit einem + von 1s bleibt Nmap +bei dieser langsamen Rate. Nmap versucht eine Ratenbeschränkung zu +erkennen und die Scan-Verzögerung entsprechend anzupassen, aber es +schadet nicht, sie explizit anzugeben, falls Sie schon wissen, welche +Rate am besten funktioniert. + +Wenn Nmap die Scan-Verzögerung nach oben anpasst, um mit der +Ratenbeschränkung klarzukommen, verlangsamt sich der Scan dramatisch. +Die Option gibt die größte Verzögerung +an, die Nmap erlaubt. Ein kleiner Wert für +kann Nmap beschleunigen, ist aber riskant. Ein zu kleiner Wert kann zu +verschwenderischen wiederholten Sendungen führen und möglicherweise zu +verpassten Ports, wenn das Ziel eine strenge Ratenbeschränkung +implementiert. + +Ein weiterer Einsatz von liegt bei +der Umgehung schwellwertbasierter Intrusion-Detection- und +-Prevention-Systeme (IDS/IPS).intrusion detection +systemsevading Diese +Methode wird in benutzt, +um den standardmäßigen Port-Scan-Detektor im Snort-IDS zu besiegen. +Auf dieselbe Weise können auch die meisten anderen Intrusion-Detection-Systeme +besiegt werden. + + + + + + + + ; + (direkte Steuerung der Scan-Rate) + + + + + +Nmaps dynamisches Timing findet sehr gut die passende +Scan-Geschwindigkeit. Aber manchmal kennen Sie vielleicht die passende +Scan-Rate für ein Netzwerk, oder vielleicht müssen Sie garantieren, +dass ein Scan bis zu einem bestimmten Zeitpunkt fertig wird. Oder Sie +müssen Nmap vielleicht davon abhalten, zu schnell zu scannen. +Für diese Situationen sind die Optionen +und vorgesehen. + +Bei der Option versucht Nmap sein +Bestes, um Pakete so schnell wie die damit angegebene Rate zu senden +oder noch schneller. Das Argument ist eine positive Fießkommazahl, +die die Paketrate in Paketen pro Sekunde angibt. +Die Angabe bedeutet z.B., dass Nmap +eine Rate von 300 Paketen pro Sekunde oder höher einzuhalten versucht. +Die Angabe einer Minimalrate hält Nmap nicht davon ab, bei günstigen +Bedingungen schneller zu werden. + +Umgekehrt beschränkt die Senderate auf +das angegebene Maximum. Bei wird sie +auf 100 Pakete pro Sekunde bei einem schnellen Netzwerk beschränkt. Und +bei wird der Scan auf ein Paket pro +zehn Sekunden verlangsamt. Mit und + gleichzeitig können Sie die Rate in einem +bestimmten Bereich halten. + +Diese beiden Optionen sind global und betreffen den gesamten Scan, +nicht nur einzelne Hosts. Sie betreffen nur Port-Scans und +Host-Entdeckungs-Scans. Andere Merkmale wie die Betriebssystemerkennung +implementieren ihr eigenes Timing. + +Unter zwei Bedingungen kann die tatsächliche Scan-Rate unter das +verlangte Minimum fallen. Die erste ist, wenn das Minimum schneller als +die schnellste Rate ist, mit der Nmap senden kann, was hardwareabhängig +ist. +In diesem Fall sendet Nmap Pakete einfach so schnell wie möglich, aber +Sie sollten wissen, dass solch hohe Raten sehr wahrscheinlich einen Verlust +an Genauigkeit bedeuten. +Die zweite Bedingung ist, wenn Nmap nichts zu senden hat, z.B. am Ende +eines Scans, nachdem die letzten Testpakete gesendet wurden und Nmap +darauf wartet, dass sie einen Timeout verursachen oder beantwortet werden. +Eine sinkende Scan-Rate am Ende eines Scans oder zwischen Gruppen von +Hosts ist normal. Die Senderate kann temporär das Maximum übersteigen, +um unvorhergesehene Verzögerungen auszugleichen, aber im Durchschnitt +bleibt die Rate bei oder unter dem Maximum. + +Eine minimale Rate sollte man mit Vorsicht angeben. Scans, die +schneller sind, als das Netzwerk erlaubt, können zu einem Verlust von +Genauigkeit führen. In manchen Fällen kann die Wahl eines schnelleren +Scans dazu führen, dass er länger braucht als bei +einer kleineren Rate. Das liegt daran, dass Nmaps Algorithmen für die +adaptive erneute Übertragungadaptive erneute Übertragungerneute Übertragungerneute Übertragung + +adaptive retransmission +die von einer zu hohen Scan-Rate verursachte Netzwerküberlastung erkennen +und die Anzahl der Wiederholungen erhöhen, um die Genauigkeit zu verbessern. +Das heißt, selbst wenn Pakete mit höherer Rate gesendet werden, werden +mehr Pakete insgesamt gesendet. Begrenzen Sie diese Anzahl von Wiederholungen +nach oben mit der Option , wenn Sie eine +obere Grenze für die gesamte Scan-Zeit setzen müssen. + + + + + + + + + +Viele Hosts haben lange eine +RatenbeschränkungRatenbeschränkung +benutzt, um die Anzahl der von ihnen gesendeten ICMP-Fehlermeldungen +(z.B. Port-Unreachable-Fehler) zu reduzieren. +Manche Systeme wenden nun ähnliche Ratenbeschränkungen auf die +von ihnen erzeugten RST-(Reset-)Pakete an. Das kann Nmap dramatisch +verlangsamen, weil es sein Timing an diese Ratenbeschränkungen anpasst. +Mit der Option können Sie Nmap +sagen, dass es diese Ratenbeschränkungen ignorieren soll (z.B. bei +Port-Scans wie dem SYN-Scan, die nicht-antwortende Ports +nicht als offen behandeln). + +Diese Option kann die Genauigkeit reduzieren, da einige Ports nicht +zu antworten scheinen, weil Nmap nicht lange genug auf eine ratenbeschränkte +RST-Antwort gewartet hat. Bei einem SYN-Scan führt die ausbleibende Antwort +dazu, dass für den Port der Zustand gefiltert und +geschlossen markiert wird, den wir sehen, wenn +RST-Pakete empfangen werden. Diese Option ist nützlich, wenn Sie sich nur +für offene Ports interessieren und eine Unterscheidung zwischen +geschlossenen und gefilterten Ports +die zusätzliche Zeit nicht wert ist. + + + + + + + (setzt ein Timing-Template) + + Timing-Templatesparanoid, sneaky, polite, normal, aggressive und insane + + +paranoid Timing-Template +sneaky Timing-Template +polite Timing-Template +normal Timing-Template +aggressive Timing-Template +insane Timing-Template + +Auch wenn die feinkörnigen Timing-Einstellungen im letzten Abschnitt +mächtig und effektiv sind, finden manche Leute sie verwirrend. +Außerdem kann die Wahl der passenden Werte manchmal mehr Zeit erfordern +als der Scan, den Sie damit optimieren möchten. Deswegen bietet Nmap auch +einen einfacheren Ansatz mit sechs Timing-Templates. Diese können Sie mit +der Option und ihrer Nummer (0–5) oder mit +ihrem Namen angeben. Diese Template-Namen lauten: + (), + (), + (), + (), + () +und  (). +Die ersten beiden sind für die Umgehung von IDS gedacht. +Der Polite-Modus verlangsamt den Scan, damit er weniger Bandbreite und +Ressourcen auf dem Zielrechner verbraucht. Der Normal-Modus ist der +Standardwert, d.h. macht gar nichts. Der +Aggressive-Modus beschleunigt Scans, indem er davon ausgeht, dass +Sie sich in einem einigermaßen schnellen und zuverlässigen Netzwerk +befinden. Und schließlich geht der +Insane-Modusinsane () Timing-Template +davon aus, dass sie sich in einem außergewöhnlich schnellen Netzwerk +befinden bzw. gewillt sind, für mehr Geschwindigkeit auf etwas Genauigkeit +zu verzichten. + +Mit diesen Templates können Benutzer angeben, wie aggressiv +sie vorgehen möchten, und trotzdem Nmap die Wahl der genauen Zeitwerte +überlassen. Diese Templates führen außerdem auch kleine +Geschwindigkeitsanpassungen aus, für die es zur Zeit keine feinkörnigen +Einstellungsoptionen gibt. Zum Beispiel +verbietet ,aggressive () Timing-Template +dass die dynamische Scan-Verzögerung bei TCP-Ports über 10 ms ansteigt, +und begrenzt diesen Wert auf 5 ms. +Templates könen auch in Kombination mit feinkörnigen Einstellungen +benutzt werden, wobei die feinkörnigeren Optionen die entsprechenden +allgemeinen Werte aus den Templates überschreiben. Ich empfehle den Einsatz +von beim Scannen halbwegs moderner und zuverlässiger +Netzwerke. Wenn Sie diese Option angeben, +auch dann, wenn Sie zusätzliche feinkörnige Einstellungen benutzen, +profitieren Sie von den weiteren kleinen Optimierungen, die damit +verbunden sind. + +Falls Sie eine anständige Breitband- oder Ethernet-Verbindung haben, +würde ich empfehlen, immer zu benutzen. Manche Leute +lieben , was für meinen Geschmack aber zu aggressiv +ist. Manchmal geben Leute an, weil sie denken, dadurch +würden Hosts weniger abstürzen, oder weil sie sich selbst im Allgemeinen +für höflich halten. Oft realisieren sie einfach nicht, wie langsam +polite () Timing-Template +tatsächlich ist. Ein solcher Scan kann zehnmal mehr Zeit benötigen als +ein Standard-Scan. Rechnerabstürze und Bandbreitenprobleme kommen mit den +standardmäßigen Timing-Optionen () selten vor, +weswegen ich das normalerweise vorsichtigen Scannern empfehle. +Auf die Versionserkennung zu verzichten ist weit wirksamer bei der Reduktion +dieser Probleme als das Herumprobieren mit Zeiteinstellungen. + +Zwar sind +paranoid () Timing-Template +und sneaky () Timing-Template +vielleicht hilfreich bei der Vermeidung von IDS-Alarmen, benötigen aber +außergewöhnlich viel Zeit beim Scannen von Tausenden von Rechnern oder +Ports. Für einen derart langen Scan möchten Sie vielleicht doch lieber die +genau benötigten Zeitwerte angeben, statt sich auf die vorgefertigten +Werte von und zu verlassen. + +Die Haupteffekte von sind die Serialisierung des +Scans, bei der immer nur ein Port gescannt wird, und eine Wartezeit von +fünf Minuten zwischen zwei Testpaketen. und + sind ähnlich, warten aber jeweils nur 15 bzw. +0,4 Sekunden zwischen zwei Testpaketen. ist die +Standardeinstellung in Nmap, die eine +Parallelisierungnormal () Timing-Template +beinhaltet. macht das Äquivalent von + +und setzt die maximale TCP-Scan-Verzögerung auf 10 Millisekunden. + macht das Äquivalent von + +und setzt die maximale TCP-Scan-Verzögerung auf 5 ms. + + + + + + + + + + Firewall-/IDS-Umgehung und -Täuschung + Firewallsumgehen + Intrusion-Detection-Systemeumgehen + +Viele Internet-Pioniere hatten die Vision eines globalen, offenen +Netzwerks, in dem ein universeller IP-Adressraum virtuelle Verbindungen +zwischen zwei beliebigen Knoten erlaubt. Dadurch können Hosts als echte, +gleichberechtigte Partner agieren und Information untereinander senden und +empfangen. Die Menschen könnten von ihrer Arbeitsstelle auf all ihre Systeme +daheim zugreifen, die Einstellungen der Klimaanlage ändern oder die Türen +für verfrühte Gäste aufsperren. Diese Vision einer universellen Konnektivität +wurde durch eine Verknappung im Adressraum und Sicherheitsbedenken abgewürgt. +In den frühen 1990er Jahren begannen Organisationen mit der Aufstellung von +Firewalls mit dem ausdrücklichen Zweck einer Reduktion der Konnektivität. +Riesige Netzwerke wurden mit Anwendungs-Proxies, NAT (Network Address +Translation)-Geräten +und Paketfiltern vom ungefilterten Internet abgeriegelt. Der +ungehinderte Fluss von Informationen hat einer strengen Regulierung von +zugelassenen Kommunikationskanälen und der darüber ausgetauschten Inhalte +Platz gemacht. + +Netzwerkhindernisse wie Firewalls können die Analyse eines Netzwerks +außerordentlich schwer machen. Und leichter wird es nicht werden, da das +Verhindern von Ausspähungen oft ein Schlüsselziel beim Einsatz +dieser Geräte ist. Trotzdem bietet Nmap viele Eigenschaften, um beim +Verständnis dieser komplexen Netzwerke zu helfen und um zu überprüfen, +dass diese Filter arbeiten wie gewünscht. +Es bietet sogar Mechanismen zur Umgehung schlechter Abwehrstrategien. +Eine der besten Methoden, Ihre Lage in puncto Netzwerksicherheit +zu verstehen, ist die, sie anzugreifen. Versetzen Sie sich selbst in +die Denkweise eines Angreifers und wenden Sie Verfahren aus diesem Kapitel +gegen Ihr Netzwerk an. Starten Sie einen FTP-Bounce-Scan, Idle-Scan, +Fragmentierungsangriff, oder versuchen Sie durch einen Ihrer eigenen Proxies +zu tunneln. + +Zusätzlich zur Beschränkung der Netzwerkaktivität überwachen Firmen +ihren Datenverkehr immer mehr mit Intrusion-Detection-Systemen +(IDS). Alle wichtigen IDS werden mit Regeln ausgeliefert, die entworfen wurden, +um Nmap-Scans zu erkennen, weil Scans manchmal Vorboten von Angriffen sind. +Viele dieser Produkte haben sich in Intrusion-Prevention-Systeme +(IPS)Intrusion-Prevention-SystemeIntrusion-Detection-Systeme +verwandelt, die für böswillig gehaltenen Datenverkehr aktiv blockieren. +Dummerweise ist es für Netzwerkadministratoren und IDS-Hersteller eine sehr +schwierige Aufgabe, böswillige Absichten durch die Analyse von Paketdaten +zuverlässig zu erkennen. Angreifer mit Geduld, Geschick und der Hilfe +bestimmter Nmap-Optionen können meist unerkannt an einem IDS vorbeikommen. +Währenddessen müssen Administratoren mit riesigen Mengen falscher +positiver Ergebnisse kämpfen, bei denen eine nicht böswillige Aktivität +fehldiagnostiziert wird und Alarm schlägt oder blockiert wird. + + +Ab und zu schlagen Leute vor, dass Nmap keine Eigenschaften für die +Umgehung von Firewallregeln oder IDS enthalten sollte. Ihr Argument ist, +dass diese Eigenschaften genauso wahrscheinlich von Angreifern missbraucht +werden wie von Administratoren, die die Sicherheit verbessern. Das Problem +bei dieser Logik ist, dass diese Methoden trotzdem von Angreifern benutzt +würden, die einfach andere Werkzeuge finden oder die Funktionalität in +Nmap einbauen würden. Zugleich wäre es für Administratoren sehr viel +schwerer, ihren Job zu machen. Das Aufstellen nur moderner, gepatchter +FTP-Server ist eine wesentlich bessere Verteidigung als der Versuch, +die Verbreitung von Werkzeugen zu verhindern, die einen FTP-Bounce-Angriff +implementieren. + + +Es gibt keine Wunderlösung (oder Nmap-Option) zur Erkennung und +Umgehung von Firewalls und IDS-Systemen. Es braucht Kompetenz und Erfahrung. +Eine Anleitung dazu würde den Rahmen dieses Referenz-Handbuches sprengen, +das nur die wichtigsten Optionen auflistet und beschreibt, was sie +machen. + + + + + (Pakete fragmentieren); + (benutzt angegebene MTU) + + + + + +Die Option bewirkt, dass der gewünschte Scan +(inklusive Ping-Scans) winzig fragmentierte IP-Pakete benutzt. Die Idee +dabei ist, den TCP-Header über mehrere Pakete aufzuteilen, um es +Paketfiltern, Intrusion-Detection-Systemen und anderen Ärgernissen +schwerer zu machen, Ihre Aktivitäten zu durchschauen. Seien Sie dabei +vorsichtig! Manche Programme haben Mühe, mit diesen winzigen Paketen +umzugehen. Ein Sniffer alter Schule namens Sniffit ist beim Erhalt des +ersten Fragments sofort mit einem Segmentation-Fault-Fehler abgestürzt. +Wenn Sie diese Option einmal angeben, spaltet Nmap die Pakete in acht +Bytes oder weniger nach dem IP-Header auf. Das heißt, ein 20 Byte langer +TCP-Header würde in drei Pakete aufgeteilt, zwei mit acht Bytes des +TCP-Headers und eines mit den restlichen vier. Natürlich hat jedes +Fragment auch einen IP-Header. Geben Sie erneut an, +um 16 Bytes pro Fragment zu benutzen (was die Anzahl der Fragmente +verkleinert).zweimal angeben +Oder Sie geben eine eigene Offset-Größe mit der Option + (für engl. maximum transmission unit) an. +Wenn Sie angeben, +sollten Sie nicht auch angeben. Das Offset muss ein +Vielfaches von acht sein. Zwar kommen fragmentierte Pakete nicht durch +Paketfilter und Firewalls durch, die alle IP-Fragmente in eine +Warteschlange stellen, wie z.B. die Option +CONFIG_IP_ALWAYS_DEFRAG im Linux-Kernel, aber einige +Netzwerke können sich den damit verbundenen Performance-Einbruch nicht +leisten und lassen sie folglich deaktiviert. Andere können sie nicht +aktivieren, weil die Fragmente auf verschiedenen Routen in ihre Netzwerke +kommen könnten. Manche Quellsysteme defragmentieren hinausgehende Pakete +im Kernel. Ein Beispiel dafür ist Linux mit dem Verbindungsmodul +iptables.iptables +Führen Sie einen Scan aus, während ein Sniffer wie z.B. +WiresharkWireshark +läuft, um sicherzustellen, dass die gesendeten Pakete fragmentiert sind. +Falls Ihr Host-Betriebssystem Probleme macht, probieren Sie die Option + +aus, um die IP-Schicht zu umgehen und rohe Ethernet-Rahmen zu +schicken. + +Eine Fragmentierung wird von Nmap nur für rohe Pakete unterstützt, +die man mit TCP- und UDP-Port-Scans (außer beim Connect-Scan und +FTP-Bounce-Scan) und der Betriebssystemerkennung benutzen kann. +Merkmale wie die Versionserkennung und die Nmap Scripting Engine +unterstützen im Allgemeinen keine Fragmentierung, weil sie sich auf +den TCP-Stack Ihres Hosts verlassen, um mit anderen Zielen zu +kommunizieren. + + + + + + + + (verdeckt einen Scan mit Ködern) + + Köder + + +Führt einen Decoy-Scan durch, was für den entfernten Host den +Anschein erweckt, dass der oder die Hosts, die Sie als Köder +angeben, das Zielnetzwerk ebenfalls scannen. Deren IDS kann also +5–10 Port-Scans von eindeutigen IP-Adressen verzeichnen, aber +es weiß nicht, welche IP sie gescannt hat und welche unschuldige Köder +waren. Das kann man zwar bekämpfen, indem man Router-Pfade mitverfolgt, +Antworten verwirft oder weitere aktive Mechanismen anwendet, aber im +Allgemeinen ist es eine wirksame Methode zum Verbergen Ihrer +IP-Adresse. + +Trennen Sie alle Köder mit Kommata voneinander, wobei Sie +optional +MEME (Köder-Adresse) +als einen der Köder angeben können, um die Position Ihrer echten +IP-Adresse zu bestimmen. Falls Sie ME an +sechster Stelle oder später setzen, zeigen einige verbreitete +Port-Scan-Detektoren (wie z.B. der hervorragende +ScanlogdScanlogd +von Solar DesignerSolar Designer) +Ihre IP-Adresse wahrscheinlich überhaupt nicht an. Wenn Sie kein +ME angeben, setzt es Nmap an eine zufällig gewählte +Position. Sie können auch +RNDRND (Köder-Adresse) +benutzen, um eine zufällige, nicht-reservierte IP-Adresse zu +erzeugen, oder RND:number, +um number Adressen zu erzeugen. + +Beachten Sie, dass die Hosts, die Sie als Köder benutzen, eingeschaltet +sein sollten, sonst könnten Sie versehentlich einen SYN-Flood-Angriff auf +Ihre Ziele auslösen. Außerdem lässt sich der scannende Host sehr einfach +bestimmen, wenn nur einer davon im Netzwerk eingeschaltet ist. Vielleicht +möchten Sie IP-Adressen statt -Namen benutzen (damit die Köder-Netzwerke +Sie nicht in ihren Nameserver-Protokollen sehen). + +Köder werden sowohl im initialen Ping-Scan (mit ICMP, SYN, ACK +oder was auch immer) als auch während der eigentlichen Port-Scan-Phase +benutzt. Auch bei der Erkennung entfernter Betriebssysteme +() werden Köder benutzt. Bei der Versionserkennung +oder beim TCP-Connect-Scan funktionieren Köder jedoch nicht. Falls +eine Scan-Verzögerung stattfindet, wird sie zwischen zwei Stapeln +vorgetäuschter Testpakete erzwungen, nicht zwischen einzelnen Testpaketen. +Weil Köder stapelweise auf einmal gesendet werden, können sie vorübergehend +die Beschränkungen der Überlastungssteuerung verletzen. + +Man sollte hierbei noch erwähnen, dass beim Einsatz von zu vielen +Ködern Ihr Scan sich verlangsamen und sogar ungenauer werden kann. +Manche ISPs filtern außerdem Ihre vorgetäuschten Pakete, aber viele +beschränken solche vorgetäuschten IP-Pakete in keinster Weise. + + + + + + (Quelladresse vortäuschen) + + Vortäuschen der Quelladresse + + + +Unter gewissen Umständen kann Nmap eventuell Ihre Quelladresse +nicht bestimmen (wenn dem so ist, dann sagt Ihnen Nmap Bescheid). +Benutzen Sie in diesem Fall mit der IP-Adresse +der Schnittstelle, über die Sie die Pakete senden möchten. + +Eine weitere mögliche Anwendung dieses Flags ist eine Vortäuschung +des Scans, um die Ziele glauben zu machen, dass jemand +anderes sie scannt. Stellen Sie sich eine Firma vor, die +wiederholt von einem Mitbewerber gescannt wird! Bei dieser Art von +Anwendung werden im Allgemeinen die Optionen und + benötigt. Beachten Sie, dass Sie normalerweise +Antwortpakete zurückbekommen (sie werden an die IP adressiert, die Sie +vortäuschen), d.h. Nmap kann keinen sinnvollen Bericht produzieren. + + + + + + + (angegebene Schnittstelle benutzen) + + interface + + + +Sagt Nmap, auf welcher Schnittstelle es Pakete senden und +empfangen soll. Nmap sollte das automatisch erkennen können, +sagt Ihnen aber Bescheid, wenn nicht. + + + + + + + (Quell-Portnummer vortäuschen) + + + Quellportnummer + + + +Eine Fehlkonfiguration, die überraschend häufig vorkommt, ist es, dem +Netzwerkverkehr allein auf Basis der Quell-Portnummer zu vertrauen. Wie +das zustande kommt, kann man leicht verstehen. Ein Administrator setzt +eine glänzende neue Firewall auf und wird sofort mit Beschwerden von +undankbaren Benutzern überflutet, deren Anwendungen nicht mehr laufen. +Vor allem DNS könnte einen Aussetzer haben, weil die UDP-DNS-Antworten +von externen Servern nicht länger ins Netzwerk hineinkommen. Ein +weiteres häufiges Beispiel ist FTP. Bei aktiven FTP-Übertragungen +versucht der entfernte Server, eine Verbindung zurück zum Client +herzustellen, um die gewünschte Datei zu übertragen. + +Für diese Probleme existieren sichere Lösungen, oftmals in Form von +Proxies auf Anwendungsebene oder Protokoll-parsenden Firewall-Modulen. +Leider gibt es auch einfachere, unsichere Lösungen. Viele Administratoren +haben beobachtet, dass DNS-Antworten von Port 53 und aktive FTP-Antworten +von Port 20 kommen, und sind in die Falle getappt, eingehenden Datenverkehr +nur von diesen Ports zu erlauben. Oft gehen sie davon aus, dass kein Angreifer +solche Firewall-Lecks bemerken und ausbeuten würde. In anderen Fällen +betrachten das Administratoren als kurzfristige Überbrückungsmaßnahme, +bis sie eine sicherere Lösung implementieren können. Und dann vergessen sie +diese Sicherheitsaktualisierung. + + +Aber nicht nur überarbeitete Netzwerkadministratoren tappen in diese +Falle. Zahlreiche Produkte wurden mit diesen unsicheren Regeln ausgeliefert. +Sogar Microsoft hat sich schuldig gmacht. Die IPsec-Filter, die mit +Windows 2000 und Windows XP ausgeliefert wurden, enthalten eine implizite +Regel, die jeden TCP- oder UDP-Datenverkehr von Port 88 (Kerberos) erlaubt. +Ein weiterer bekannter Fall sind Versionen der Zone Alarm Personal-Firewall +bis 2.1.25, die alle empfangenen UDP-Pakete vom Quell-Port 53 (DNS) oder +67 (DHCP) erlauben. + +Nmap bietet die Optionen und + (sind äquivalent), um diese Schwächen +auszunutzen. Geben Sie einfach eine Portnummer an, und Nmap wird, wenn +möglich, Pakete von diesem Port senden. +Damit es richtig funktioniert, muss Nmap für bestimmte +Betriebssystemerkennungstests verschiedene Portnummern benutzen, +und DNS-Anfragen ignorieren das -Flag, +weil Nmap sich bei ihnen auf System-Bibliotheken verlässt. Die meisten +TCP-Scans, inklusive dem SYN-Scan, unterstützen die Option vollständig, +ebenso wie der UDP-Scan. + + + + + + + (Zufallsdaten an gesendete Pakete anfügen) + + + +Normalerweise sendet Nmap minimale Pakete, die nur einen Header +enthalten. Daher haben seine TCP-Pakete im Allgemeinen nur 40 Bytes +und die ICMP Echo-Requests nur 28. Mit dieser Option sagen Sie Nmap, +dass es die angegebene Anzahl von zufälligen Bytes an die meisten +gesendeten Pakete hinzufügen soll. Pakete für die Betriebssystemerkennung +() sind davon nicht +betroffen,kein Effekt in der Betriebssystemerkennung +weil dort aus Genauigkeitsgründen konsistente Pakete verlangt werden, +aber die meisten Ping- und Port-Scan-Pakete unterstützen das. Das kann +den Scan etwas verlangsamen, aber auch etwas unauffälliger machen. + + + + + + + (sendet Pakete mit angegebenen IP-Optionen) + + IP-Optionen + + + +Laut +IP-Protokoll +können in den Paket-Headern mehrere Optionen enthalten sein. Anders als +die allgegenwärtigen TCP-Optionen sieht man IP-Optionen aus Gründen +der praktischen Anwendbarkeit und Sicherheit nur selten. Tatsächlich +blockieren die meisten Internet-Router die gefährlichsten Optionen +wie Source Routing sogar. Dennoch können diese Optionen in manchen +Fällen nützlich sein, um die Netzwerk-Route zu Zielrechnern zu +bestimmen und zu manipulieren. Sie können z.B. vielleicht die Option +Record Route dazu benutzen, einen Pfad zum Ziel sogar dann zu +bestimmen, wenn traditionellere, traceroute-artige Ansätze versagen. +Oder wenn Ihre Pakete von einer bestimmten Firewall verworfen werden, +können Sie mit den Optionen Strict oder Loose Source Routing +möglicherweise eine andere Route angeben. + +Die meisten Möglichkeiten bei der Angabe von IP-Optionen hat man, +wenn man einfach Werte als Argumente für +angibt. Stellen Sie vor jede Hex-Zahl ein \x und +zwei Ziffern. Einzelne Zeichen können Sie wiederholen, indem Sie ihnen +ein Sternchen und dann die Anzahl der Wiederholungen nachstellen. So ist +z.B. \x01\x07\x04\x00*36\x01 ein Hex-String mit +36 NUL-Bytes. + +Nmap bietet auch einen verkürzten Mechanismus für die Angabe +von Optionen. Geben Sie einfach die Buchstaben R, +T oder U an, um jeweils +Record Route,Record-Route-IP-Option +Record TimestampRecord-Timestamp-IP-Option +oder beide Optionen gemeinsam anzugeben. +Loose oder Strict Source +RoutingSource Routing +kann man mit L bzw. S, gefolgt von +einem Leerzeichen und einer mit Leerzeichen getrennten Liste von +IP-Adressen angeben. + +Wenn Sie die Optionen in den gesendeten und empfangenen Paketen +sehen möchten, geben Sie an. Mehr +Informationen und Beispiele zum Einsatz von IP-Optionen mit Nmap finden +Sie unter . + + + + + + + + (setzt IP-Time-to-live-Feld) + + Time-To-Live (TTL) + + +Setzt bei IPv4 das Time-to-live-Feld in gesendeten Paketen +auf den angegebenen Wert. + + + + + + (randomisiert Reihenfolge der Zielhosts) + + Randomisierung von Hosts + + + +Verlangt von Nmap, dass es alle Gruppen von bis zu 16.384 Hosts +durcheinanderwürfelt, bevor es sie scannt. Das kann den Scan für +verschiedene Netzwerk-Überwachungssysteme weniger offensichtlich +machen, besonders dann, wenn Sie ihn mit einer langsamen +Timing-Option kombinieren. Wenn Sie größere Gruppen randomisieren +möchten, müssen Sie +PING_GROUP_SZPING_GROUP_SZ +in nmap.hnmap.h +erhöhen und neu kompilieren. +Eine alternative Lösung ist es, die Liste der Ziel-IPs mit einem List-Scan +() zu +erzeugen, dann z.B. mit einem Perl-Script zu randomisieren, um sie +schließlich als Ganzes mit +Hosts randomisieren mit +an Nmap zu übergeben. + + + + + + + (MAC-Adresse vortäuschen) + + Vortäuschen einer MAC-Adresse + + + +Verlangt von Nmap, dass es in allen gesendeten rohen Ethernet-Rahmen +die angegebene MAC-AdresseMAC-Adresse +benutzt. Diese Option impliziert +,impliziert von +um sicherzustellen, dass Nmap tatsächlich Pakete auf Ethernet-Ebene +sendet. Die MAC-Adresse kann in mehreren Formaten angegeben werden. +Wenn es einfach die Zahl 0 ist, wählt Nmap eine +völlig zufällige MAC-Adresse für diese Sitzung. Falls der angegebene +String aus einer geraden Anzahl von Hexadezimalziffern besteht (in dem +Paare optional mit Doppelpunkten getrennt sein können), benutzt Nmap +diese als MAC. Werden weniger als 12 Hexadezimalziffern angegeben, +dann füllt Nmap die restlichen sechs Bytes mit zufälligen Werten. Falls +das Argument weder null noch ein Hex-String ist, schaut Nmap in +nmap-mac-prefixes nach, um einen Herstellernamen +zu finden, der den angegebenen String enthält (unabhängig von der +Schreibweise). Wird eine Übereinstimmung gefunden, benutzt Nmap die +OUI dieses Herstellers (einen drei Byte langen +Präfix)Organizationally Unique Identifier (OUI)nmap-mac-prefixes +und füllt die verbleibenden drei Bytes mit Zufallswerten. Gültige +Beispiele für Argumente von sind +Apple, 0, +01:02:03:04:05:06, deadbeefcafe, +0020F2 und Cisco. +Diese Option betrifft nur Scans mit rohen Paketen wie den SYN-Scan oder +die Betriebssystemerkennung, keine verbindungsorientierten Merkmale wie +die Versionserkennung oder die Nmap Scripting Engine. + + + + + + + (sendet Pakete mit falschen TCP/UDP-Prüfsummen) + + TCP-Prüfsumme + Prüfsummen + + + +Verlangt von Nmap, bei den an Zielhosts gesendeten Paketen +ungültige TCP- oder UDP-Prüfsummen zu benutzen. Da so gut wie alle +Host-IP-Stacks solche Pakete verwerfen, kommen eventuelle Antworten +sehr wahrscheinlich von einer Firewall oder einem IDS, das sich nicht +die Mühe macht, die Prüfsumme zu überprüfen. Mehr Details zu dieser +Methode finden Sie unter . + + + + + + + + + + + + Ausgabe + Ausgabeformate + +Alle Sicherheitswerkzeuge sind nur so gut wie die Ausgabe, die +sie erzeugen. Komplexe Tests und Algorithmen haben einen geringen Wert, +wenn sie nicht auf übersichtliche und verständliche Weise dargestellt +werden. Da Nmap auf vielfältige Weise von verschiedenen Leuten und +anderer Software benutzt wird, kann kein Format allein es allen recht +machen. Daher bietet Nmap mehrere Formate, darunter den interaktiven +Modus, den Menschen direkt lesen können, und XML, das von Software +leicht geparst werden kann. + +Zusätzlich zu verschiedenen Ausgabeformaten bietet Nmap Optionen +zur Steuerung der Ausführlichkeit dieser Ausgabe sowie Debugging-Meldungen. +Die Ausgaben können an die Standardausgabe oder an benannte Dateien gehen, +die Nmap überschreiben bzw. an die es seine Ausgabe anfügen kann. +Mit den Ausgabedateien können außerdem abgebrochene Scans fortgesetzt +werden. + +Nmap erzeugt seine Ausgabe in fünf verschiedenen Formaten. +Das Standardformat heißt +interaktive Ausgabeinteraktive Ausgabe +und wird an die Standardausgabe (stdout)Standardausgabe +gesendet. +Es gibt auch die +normale Ausgabe,normale Ausgabe +die ähnlich zur interaktiven Ausgabe ist, außer dass sie weniger +Laufzeitinformation und Warnungen ausgibt, weil man davon ausgeht, +dass sie erst nach Abschluss des Scans analysiert wird und nicht, +während er noch läuft. + +Die XML-AusgabeXML-Ausgabe +ist eines der wichtigsten Ausgabeformate, da sie einfach nach HTML +konvertiert, von Programmen wie Nmap-GUIs geparst oder in Datenbanken +importiert werden kann. + +Die zwei verbleibenden Ausgabeformate sind die einfache +grepbare Ausgabe,grepbare Ausgabe +in der die meiste Information über einen Zielhost in einer einzigen +Zeile enthalten ist, und +sCRiPt KiDDi3 0utPUtscR1pT kIddI3-Ausgabe +für Benutzer, die sich selbst als |<-r4d sehen. + +Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt +über keine eigenen Kommandozeilenoptionen, aber die anderen vier Formate +benutzen dieselbe Syntax. Sie erwarten ein Argument, den Namen der Datei, +in der die Ergebnisse gespeichert werden sollen. Es können mehrere Formate +angegeben werden, aber jedes nur einmal. Vielleicht möchten Sie z.B. eine +normale Ausgabe für eine eigene Untersuchung speichern und eine XML-Ausgabe +desselben Scans für eine programmbasierte Analyse. Das erreichen Sie mit +den Optionen . +Auch wenn in diesem Kapitel der Kürze wegen einfache Namen wie +myscan.xml benutzt werden, empfehlen sich im Allgemeinen +aussagekräftigere Namen. Welche Namen Sie wählen, ist Geschmackssache, aber +ich benutze lange Namen, die das Scandatum und ein oder zwei Worte über den +Scan enthalten, in einem Verzeichnis, das den Namen der gescannten Firma +enthält. + +Auch wenn diese Optionen Ergebnisse in Dateien speichern, gibt Nmap +weiterhin die interaktive Ausgabe wie üblich auf die Standardausgabe aus. +Zum Beispiel speichert der Befehl nmap -oX myscan.xml target +XML in myscan.xml und füllt die +Standardausgabe mit demselben interaktiven Ergebnis, wie es auch ohne Angabe von + der Fall wäre. Das können Sie ändern, indem Sie ein +Minuszeichen als Argument für eines der Formate angeben. Dann schaltet +Nmap die interaktive Ausgabe ab und gibt stattdessen Ergebnisse im +gewünschten Format auf den Standardausgabestrom aus. Das heißt, der Befehl +nmap -oX - target schreibt nur die XML-Ausgabe auf +die Standardausgabe.Ausgabeauf stdout mit - +Ernste Fehler werden weiterhin auf den normalen +Standardfehlerstrom, stderr,Standardfehlerausgabe +ausgegeben. + +Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen +dem Options-Flag für eine Ausgabedatei (z.B. ) und dem +Dateinamen oder Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen +und Argumente wie z.B. oder +angeben, erzeugt Nmap aus Gründen der Rückwärtskompatibilität Ausgabedateien +im normalen Format, die jeweils die Namen +G- und Xscan.xml haben. + +All diese Argumente unterstützen +strftime-ähnlichestrftime Konvertierungen in Dateinamen +Umwandlungen im Dateinamen. %H, %M, +%S, %m, %d, +%y und %Y sind alle exakt gleich +wie in strftime. %T entspricht +%H%M%S, %R entspricht +%H%M und %D entspricht +%m%d%y. Ein %, dem ein anderes Zeichen +folgt, ergibt nur genau dieses Zeichen (%% ergibt ein +Prozentzeichen). Also erzeugt eine +XML-Datei in der Form scan-144840-121307.xml. + +Nmap bietet auch Optionen zur Steuerung der Scan-Ausführlichkeit +und Optionen, um an Ausgabedateien anzuhängen, statt sie zu überschreiben. All +diese Optionen werden unten beschrieben. + +Nmap-Ausgabeformate + + + (normale Ausgabe) + + normale Ausgabe + + +Verlangt, dass eine normale Ausgabe in der +angegebenen Datei gespeichert wird. Wie oben erwähnt, unterscheidet +sich das leicht von der interaktiven Ausgabe. + + + + + + (XML-Ausgabe) + + XML-Ausgabe + + +Verlangt, dass eine XML-Ausgabe in der +angegebenen Datei gespeichert wird. Nmap fügt eine DTD (Document +Type Definition) hinzu, mit der XML-Parser Nmaps XML-Ausgabe +validieren können. Diese ist vor allem für die Benutzung durch +Programme gedacht, kann aber auch Menschen bei der Interpretation +von Nmaps XML-Ausgabe helfen. Die DTD definiert die gültigen Elemente +des Formats und zählt an vielen Stellen die dafür erlaubten Attribute +und Werte auf. Die neueste Version ist immer unter + verfügbar. + +XML bietet ein stabiles Format, das man mit Software leicht +parsen kann. Solche XML-Parser sind für alle wichtigen Programmiersprachen +wie C/C++, Perl, Python und Java gratis verfügbar. Manche Leute haben +sogar Anbindungen für die meisten dieser Sprachen geschrieben, um +speziell die Ausgabe und Ausführung von Nmap zu steuern. +Beispiele sind +Nmap::Scanner +Nmap::Scanner +und Nmap::Parser +Nmap::Parser +für Perl in CPAN. In fast allen Fällen, in denen eine nicht-triviale +Anwendung eine Schnittstelle zu Nmap benutzt, ist XML das bevorzugte +Format. + +Die XML-Ausgabe verweist auf ein XSL-Stylesheet, mit dem man +die Ergebnisse als HTML formatieren kann. Am einfachsten benutzt +man das, indem man einfach die XML-Ausgabe in einem Webbrowser wie +Firefox oder IE lädt. Standardmäßig funktioniert das nur auf dem +Rechner, auf dem Sie Nmap ausgeführt haben (oder auf einem, der +ähnlich konfiguriert ist), weil der Pfad zu nmap.xsl +darin festkodiert ist. Um portable XML-Dateien zu erzeugen, die auf +allen mit dem Web verbundenen Rechnern als HTML angezeigt werden, +können Sie die Optionen oder + benutzen. + + + + + + + (ScRipT KIdd|3-Ausgabe) + + scR1pT kIddI3-Ausgabe + + +Die Script-Kiddie-Ausgabe ist ähnlich zur interaktiven Ausgabe, mit +dem Unterschied, dass sie nachbearbeitet ist, um die 'l33t HaXXorZ besser +anzusprechen! Vorher haben sie wegen dessen konsistent richtiger Schreibweise +und Buchstabierung auf Nmap herabgesehen. Humorlose Menschen sollten wissen, +dass diese Option sich über Script Kiddies lustig macht, bevor sie mich +dafür angreifen, dass ich ihnen helfe. + + + + + + (grepbare Ausgabe) + + grepbare Ausgabe + + +Dieses Ausgabeformat wird zum Schluss beschrieben, weil es als +überholt gilt. +Das XML-Ausgabeformat ist wesentlich leistungsstärker und für erfahrene +Benutzer fast genauso bequem. XML ist eim Standard, für den Dutzende +hervorragender Parser verfügbar sind, während die grepbare Ausgabe nur +mein eigener einfacher Hack ist. XML ist erweiterbar und kann neue +Nmap-Eigenschaften unterstützen, die ich beim grepbaren Format +aus Platzgründen oft weglassen muss. + +Dessen ungeachtet ist die grepbare Ausgabe immer noch recht beliebt. +Es ist ein einfaches Format, das pro Zeile einen Host auflistet und das +mit Unix-Standardwerkzeugen wie grep, awk, cut, sed, diff und auch mit Perl +auf triviale Weise durchsucht und geparst werden kann. Selbst ich benutze es +für einmalige schnelle Tests in der Kommandozeile. Zum Beispiel kann man alle +Hosts, auf denen der SSH-Port offen ist oder auf denen Solaris läuft, auf +einfache Weise mit einem grep bestimmen, das die Hosts findet, umgeleitet in +einen awk- oder cut-Befehl, der die gewünschten Felder ausgibt. + +Die grepbare Ausgabe besteht aus Kommentaren (Zeilen, die mit einem +# anfangen)grepbare AusgabeKommentare in +sowie aus Zielzeilen. Eine Zielzeile enthält eine Kombination aus sechs +benannten Feldern, durch Tabulatoren getrennt, gefolgt von einem +Doppelpunkt. Diese Felder lauten Host, +Ports, Protocols, +Ignored State, OS, +Seq Index, IP ID und +Status. + +Das wichtigste dieser Felder ist im Allgemeinen Ports, +das Details zu einem interessanten Port enthält. Es ist eine mit Kommata +getrennte Liste von Port-Einträgen, wobei jeder Eintrag einen interessanten +Port darstellt und aus sieben mit Schrägstrichen (/) getrennten Unterfeldern +besteht. Diese Unterfelder lauten: Port number, +State, Protocol, +Owner, Service, +SunRPC info und Version info. + +Wie bei der XML-Ausgabe kann diese Manpage auch hier nicht das +vollständige Format dokumentieren. Eine detailliertere Betrachtung des +grepbaren Ausgabeformats in Nmap finden Sie +from . +in . + + + + + + + (Ausgabe in allen Formaten) + + + + +Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit + gleichzeitig +in normalem, in XML- und in grepbarem Format speichern. Sie werden +jeweils in +basename.nmap, +basename.xml und +basename.gnmap, +gespeichert. +Wie in den meisten Programmen können Sie vor den Dateinamen ein Präfix +mit einem Verzeichnispfad darin setzen, z.B. +~/nmaplogs/foocorp/ unter Unix oder +c:\hacking\sco unter Windows. + + + + + + Optionen für Ausführlichkeit und Debugging + + + (größere Ausführlichkeit) + + Ausführlichkeit + + + +Erhöht die Ausführlichkeit, d.h. Nmap gibt mehr Informationen +über den laufenden Scan aus. Offene Ports werden angezeigt, direkt +nachdem sie gefunden werden, und es werden Schätzungen für die Dauer +bis zur Fertigstellung angegeben, falls Nmap meint, dass ein Scan mehr +als ein paar Minuten benötigt. Noch mehr Information erhalten Sie, +wenn Sie diese Option zweimal oder noch öfter angeben. +mehrmals angeben + + +Die meisten Änderungen betreffen +nur die interaktive Ausgabe, manche betreffen auch die normale und +die Script-Kiddie-Ausgabe. Die anderen Ausgabearten sind für die +Weiterverarbeitung durch Maschinen gedacht, d.h. Nmap kann in diesen +Formaten standardmäßig alle Details angeben, ohne einen menschlichen +Leser zu ermüden. Allerdings gibt es in den anderen Modi einige Änderungen, +bei denen die Ausgabegröße durch Weglassen einiger Details erheblich +reduziert werden kann. Zum Beispiel wird eine Kommentarzeile in der +grepbaren Ausgabe, die eine Liste aller gescannten Ports enthält, nur +im wortreichen Modus ausgegeben, weil sie ziemlich lang werden kann. + + + + + + + (erhöhe oder setze Debugging-Stufe) + + Debugging + + + +Wenn nicht einmal der wortreiche Modus genug Daten für Sie liefert, +können Sie beim Debugging noch wesentlich mehr davon bekommen! Wie bei der +Ausführlichkeits-Option () wird auch das Debugging mit einem +Kommandozeilen-Flag eingeschaltet (), und die Debug-Stufe +kann durch eine mehrfache Angabe gesteigert +werden.mehrmals angeben +Alternativ dazu können Sie eine Debug-Stufe auch als Argument an + übergeben. So setzt z.B. die +Stufe neun. Das ist die höchste verfügbare Stufe, die Tausende +von Zeilen produziert, sofern Sie keinen sehr einfachen Scan mit sehr wenigen Ports +und Zielen ausführen. + +Eine Debugging-Ausgabe ist sinnvoll, wenn Sie einen Fehler in Nmap +vermuten oder wenn Sie einfach verwirrt darüber sind, was und warum Nmap +etwas genau macht. Da dieses Merkmal überwiegend für Entwickler gedacht ist, +sind Debug-Zeilen nicht immer selbsterklärend. Vielleicht bekommen Sie +etwas wie: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Wenn Sie eine Zeile nicht +verstehen, ist Ihre einzige Zuflucht, sie zu ignorieren, im Quellcode +nachzuschauen oder Hilfe auf der Entwicklerliste +(nmap-dev).nmap-dev Mailingliste +zu erfragen. +Manche Einträge sind selbsterklärend, aber je höher die Debug-Stufe ist, +desto obskurer werden die Meldungen. + + + + + + + (Gründe für Host- und Portzustände) + + Angabe von Gründen + + + + +Gibt die Gründe an, warum ein Port auf einen bestimmten Zustand gesetzt +wurde und warum ein Host als ein- oder ausgeschaltet betrachtet wird. +Diese Option zeigt die Paketart an, die einen Port- oder Hostzustand +ermittelt hat, z.B. ein RST-Paket von einem +geschlossenen Port oder ein Echo Reply von einem eingeschalteten Host. +Die Information, die Nmap angeben kann, hängt von der Art des Scans +oder Pings ab. Der SYN-Scan und der SYN-Ping ( und +) sind sehr detailliert, aber der TCP-Connect-Scan +() wird durch die Implementierung des +connect-Systemaufrufs beschränkt. Dieses Merkmal +wird automatisch von der Debug-Option +()impliziert von +aktiviert, und die Ergebnisse werden auch dann in XML-Protokolldateien +gespeichert, wenn diese Option gar nicht angegeben wird. + + + + + + + + (periodische Timing-Statistik ausgeben) + + + + +Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der +Länge time aus. Dabei kann diese Zeitangabe +beschrieben werden, wie in dargestellt, +d.h. Sie können z.B. --stats-every 10s benutzen, um +alle 10 Sekunden eine Statusaktualisierung zu erhalten. Diese erscheint +in der interaktiven Ausgabe (auf dem Bildschirm) und in der XML-Ausgabe. + + + + + + + (gesendete und empfangene Pakete und Daten mitverfolgen) + + + + +Bewirkt, dass Nmap für jedes gesendete oder empfangene +Paket eine Zusammenfassung ausgibt. Das wird bei der Fehlersuche +oft gemacht, ist aber auch eine willkommene Methode für Neulinge, um genau +zu verstehen, was Nmap unter der Oberfläche macht. Um zu verhindern, dass +Tausende von Zeilen ausgegeben werden, möchten Sie vielleicht eine +beschränkte Anzahl zu scannender Ports angeben, z.B. mit +. Wenn Sie nur wissen möchten, was +im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen +. Wenn Sie nur an einer Script-Mitverfolgung +interessiert sind, geben Sie an. +Mit erhalten Sie all das zusammen. + + + + + + (zeige nur offene (oder möglicherweise offene) Ports an) + + + + +Manchmal interessieren Sie sich nur für Ports, mit denen Sie tatsächlich +eine Verbindung herstellen können (offene Ports), und +wollen Ihre Ergebnisse nicht mit anderen Ports überhäufen, die +geschlossen, gefiltert und +geschlossen|gefiltert sind. Die Ausgabe wird normalerweise +nach dem Scan mit Werkzeugen wie grep, +awk und Perl +angepasst, aber dieses Merkmal wurde auf überwältigend vielfachen +Wunsch hinzugefügt. Geben Sie an, um nur +offene, offene|gefilterte und +ungefilterte Ports zu sehen. Diese drei Ports werden +ganz wie gewöhnlich behandelt, d.h. dass offen|gefiltert +und ungefiltert in Zählungen zusammengefasst werden, +wenn es eine sehr große Anzahl davon gibt. + + + + + + + + (liste Schnittstellen und Routen auf) + + +Gibt die Liste der Schnittstellen und Systemrouten aus, die Nmap +entdeckt hat. Das ist hilfreich bei der Fehlersuche bei Routing-Problemen +oder fehlerhaften Gerätebeschreibungen (z.B. wenn Nmap eine PPP-Verbindung +als Ethernet behandelt). + + + + + (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat) + + + + +Von Nmap ausgegebene Warnungen und Fehlermeldungen gehen normalerweise +nur auf den Bildschirm (interaktive Ausgabe), was die Ordnung aller +Ausgabedateien im normalen Format (üblicherweise mit +angegeben) nicht stört. Wenn Sie diese Meldungen in den angegebenen +normalen Ausgabedateien wirklich sehen möchten, können Sie diese Option +benutzen. Diese ist dann hilfreich, wenn Sie die interaktive Ausgabe +nicht übersehen oder wenn Sie Fehler beim Debugging speichern möchten. +Die Fehlermeldungen und Warnungen werden auch im interaktiven Modus +weiterhin erscheinen. Bei den meisten Fehlern bezüglich schlechter +Kommandozeilenargumente wird das nicht funktionieren, da Nmap seine +Ausgabedateien eventuell noch nicht initialisiert hat. +Außerdem benutzen einige Nmap-Fehlermeldungen und -Warnungen ein anderes +System, das diese Option noch nicht unterstützt. + +Eine Alternative zu ist die Umleitung +der interaktiven Ausgabe (inklusive des Standardfehlerstroms) in eine +Datei. Die meisten Unix-Shells machen einem diesen Ansatz leicht, aber +auf Windows kann er schwierig sein. + + + + + + + Weitere Ausgabeoptionen + + + + (an Ausgabedateien hinzufügen, statt sie zu überschreiben) + + + + +Wenn Sie einen Dateinamen für ein Ausgabeformat wie z.B. + oder angeben, wird diese +Datei standardmäßig überschrieben. +Wenn Sie deren Inhalt lieber behalten und die neuen Ergebnisse anhängen +möchten, benutzen Sie die Option . +Dann wird bei allen angegebenen Ausgabedateinamen dieses Nmap-Aufrufs +an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten +() funktioniert das nicht so gut, da die erzeugte Datei +im Allgemeinen nicht mehr sauber geparst wird, es sei denn, Sie reparieren sie +von Hand. + + + + + + (abgebrochenen Scan fortsetzen) + + Scans fortsetzen + + + +Manche umfangreichen Nmap-Läufe benötigen sehr viel Zeit – in der +Größenordnung von Tagen. Solche Scans laufen nicht immer bis zum Ende. +Vielleicht gibt es Beschränkungen, die verhindern, dass man Nmap während +der normalen Arbeitszeit ausführen kann, das Netzwerk könnte abstürzen, +der Rechner, auf dem Nmap läuft, könnte einen geplanten oder ungeplanten +Neustart erleben oder Nmap selbst könnte abstürzen. Der Administrator, +der Nmap ausführt, könnte es auch aus irgendeinem anderen Grund abbrechen, +indem er ctrl-C eingibt. Und den ganzen Scan von vorne neu +zu starten, ist eventuell nicht wünschenswert. Wenn ein normales +() oder ein grepbares () Protokoll +geführt wurde, kann der Benutzer Nmap jedoch bitten, den Scan bei dem Ziel +fortzusetzen, an dem es beim Abbruch gearbeitet hat. Geben Sie einfach die +Option an und übergeben Sie die normale/grepbare +Ausgabedatei als Argument. Andere Argumente sind nicht erlaubt, da Nmap +die Ausgabedatei parst, um dieselben Argumente zu benutzen, die zuvor +benutzt wurden. Rufen Sie Nmap einfach als nmap --resume +logfilename auf. Nmap fügt neue +Ergebnisse dann an die Datendateien an, die im vorherigen Lauf angegeben +wurden. Diese Fortsetzung funktioniert nicht aus XML-Ausgabedateien, +weil es schwierig wäre, die zwei Läufe in +einer gültigen XML-Datei zu kombinieren. + + + + + + (setze XSL-Stylesheet, um eine XML-Ausgabe zu transformieren) + + + + +Die Nmap-Distribution enthält ein +XSL-StylesheetXSL +Stylesheet +namens nmap.xsl +nmap.xsl +zum Betrachten oder Übersetzen einer XML-Ausgabe nach HTML. +HTML aus XML-Ausgabe +Die XML-Ausgabe enthält eine xml-stylesheet-Anweisung, +die auf nmap.xml an der Stelle verweist, wo es von Nmap +ursprünglich installiert wurde (oder im aktuellen Arbeitsverzeichnis +unter Windows). Laden Sie einfach Nmaps XML-Ausgabe in einem modernen +Webbrowser, und er sollte nmap.xsl im Dateisystem +finden und benutzen, um die Ergebnisse darzustellen. Wenn Sie ein anderes +Stylesheet benutzen möchten, geben Sie es als Argument für + an. Dabei müssen Sie den vollständigen +Pfadnamen oder die URL angeben. Sehr häufig wird + benutzt. +Das sagt einem Browser, dass er die neueste Version des Stylesheets +von Nmap.Org laden soll. Die Option +macht dasselbe, verlangt aber weniger Tipparbeit und Merkfähigkeit. +Wenn man das XSL von Nmap.Org lädt, wird es einfacher, die Ergebnisse +auf einem Rechner anzuschauen, auf dem kein Nmap (und folglich auch kein +nmap.xsl) installiert ist. Daher ist die URL oft +nützlicher, doch aus Datenschutzgründen wird standardmäßig das +nmap.xsl im lokalen Dateisystem benutzt. + + + + + + (lade Stylesheet von Nmap.Org) + + + + +Diese bequeme Option ist nur ein Alias für +. + + + + + + (lasse XSL-Stylesheet-Deklaration im XML weg) + + + + +Geben Sie diese Option an, wenn Nmap in seiner XML-Ausgabe auf +keinerlei XSL-Stylesheet verweisen soll. Die +xml-stylesheet-Anweisung wird dann weggelassen. + + + + + + + + + Verschiedene Optionen + Dieser Abschnitt beschreibt einige wichtige (und weniger wichtige) + Optionen, für die es keinen anderen richtig passenden Ort gibt. + + + + + (schaltet IPv6-Scans ein) + + IPv6 + + + +Seit 2002 unterstützt Nmap bei seinen beliebtesten Features IPv6. +Insbesondere das Ping-Scanning (nur für TCP), Connect-Scanning und die +Versionserkennung unterstützen IPv6. Die Befehlssyntax ist die +übliche, nur dass man auch die Option angibt. +Natürlich müssen Sie die IPv6-Syntax angeben, wenn Sie eine Adresse +statt eines Hostnamens angeben. Eine Adresse könnte wie folgt aussehen: +3ffe:7501:4819:2000:210:f3ff:fe03:14d0, d.h. es +empfehlen sich Hostnamen. Die Ausgabe sieht genauso aus +wie üblich. Nur die IPv6-Adresse in der Zeile der +interessanten Ports deutet auf IPv6. + +Zwar hat IPv6 die Welt nicht gerade im Sturm erobert, aber in +einigen (besonders asiatischen) Ländern wird es stark eingesetzt, und von +den meisten modernen Betriebssystemen wird es unterstützt. +Um Nmap mit IPv6 zu benutzen, müssen sowohl die Quelle als auch das +Ziel Ihres Scans für IPv6 konfiguriert sein. Falls Ihnen Ihr ISP +(so wie die meisten) keine IPv6-Adressen bereitstellt, gibt es frei +verfügbare sogenannte +Tunnel-Broker,IPv6-Tunnel-Broker +die mit Nmap funktionieren. Weitere Tunnel-Broker sind +in Wikipedia aufgelistet. +Ein weiterer freier Ansatz sind 6to4-Tunnels. + + + + + + + (aggressive Scan-Optionen) + + + + +Diese Option schaltet zusätzlich erweiterte und aggressive Optionen +ein. Ich habe noch nicht entschieden, wofür sie genau steht. Im Moment schaltet +sie die Betriebssystemerkennung (), +die Versionserkennung (), +das Scannen mit Scripts () und +traceroute () ein. +eingeschaltete Merkmale von +In der Zukunft kommen vielleicht noch weitere Eigenschaften hinzu. +Ziel ist es, einen umfassenden Satz von Scan-Optionen zu aktivieren, +ohne dass man sich viele Flags merken muss. Weil aber das scriptbasierte +Scannen mit dem Standardsatz als aufdringlich betrachtet wird, sollten +Sie nicht ohne Genehmigung auf Zielnetzwerke loslassen. +Diese Option aktiviert nur Eigenschaften, aber keine Optionen für das +Timing (z.B. ) oder die Ausführlichkeit +(), die Sie eventuell auch benutzen möchten. + + + + + + (gibt benutzerdefinierten Ort für Nmap-Datendateien an) + + + + + +Nmap erhält einige spezielle Daten zur Laufzeit aus Dateien namens +nmap-service-probes, +nmap-services, +nmap-protocols, +nmap-rpc, +nmap-mac-prefixes und +nmap-os-db. +Falls der Ort einer dieser Dateien angegeben wurde (mit den Optionen + oder ), +wird dieser Ort für diese Datei benutzt. Danach sucht Nmap diese +Dateien im Verzeichnis, das mit der Option +angegeben wurde (sofern vorhanden). Dateien, die dort nicht gefunden +werden, werden in einem Verzeichnis gesucht, das durch die +Umgebungsvariable NMAPDIR angegeben +wirdNMAPDIR Umgebungsvariable. +Danach kommt +~/.nmap.nmap Verzeichnis +für echte und effektive UIDs (nur bei POSIX-Systemen) oder der Ort +des ausführbaren Nmap-Programms (nur unter Win32) und dann ein bei +der Kompilierung angegebener Ort wie z.B. +/usr/local/share/nmap oder +/usr/share/nmap. Als letzte Rettung sucht Nmap +im aktuellen Arbeitsverzeichnis. + + + + + + (gibt benutzerdefinierte Dienstedatei an) + + + + +Verlangt von Nmap, die angegebene Dienstedatei zu benutzen statt +der Datendatei nmap-services, die in Nmap enthalten +ist. Bei dieser Option wird außerdem auch ein schneller Scan +() benutzt. Weitere Details zu Nmaps Datendateien +finden Sie in der Beschreibung zu . + + + + + + (gibt benutzerdefinierte Dienstepakete an) + + + + +Verlangt von Nmap, die angegebene Dienstepaketedatei zu benutzen statt +der Datendatei nmap-service-probes, die in Nmap enthalten +ist. Weitere Details zu Nmaps Datendateien +finden Sie in der Beschreibung zu . + + + + + + (sendet rohe Ethernet-Pakete) + + + + +Verlangt von Nmap, Pakete auf der rohen Ethernet-(Datenlink-)Schicht +zu schicken, statt auf der höheren IP-(Netzwerk-)Schicht. +Nmap wählt standardmäßig diejenige, die im Allgemeinen die beste für +die gegebene Plattform ist. Rohe Sockets +(IP-Schicht)rohe Sockets +sind im Allgemeinen auf Unix-Rechnern am effizientesten, während +unter Windows Ethernet-Rahmen benötigt werden, da Microsoft keine +rohen Sockets unterstützt. Trotz dieser Option benutzt Nmap rohe +IP-Pakete unter Unix, wenn es keine andere Wahl hat +(z.B. Verbindungen über etwas anderes als Ethernet). + + + + + + + (sendet auf der rohen IP-Schicht) + + + + +Verlangt von Nmap, Pakete über rohe IP-Sockets zu senden, statt +über low-level Ethernet-Rahmen. Diese Option ist das Komplement zur +weiter oben beschriebenen Option . + + + + + + (nimmt an, dass der Benutzer alle Sonderrechte genießt) + + + + +Sagt Nmap, dass es davon ausgehen soll, dass es über genügend Rechte +verfügt, um über rohe Sockets zu senden, Paket-Sniffing und ähnliche +Operationen zu betreiben, die auf Unix-Rechnern normalerweise +root-RechteBenutzer mit Sonderrechtenautorisierte BenutzerBenutzer mit Sonderrechten +benötigen. Standardmäßig terminiert Nmap, wenn solche Operationen +verlangt werden, aber geteuid nicht null ist. + ist nützlich bei Linux-Kernel-Capabilities +und ähnlichen Systemen, die so konfiguriert sein können, dass sie +Benutzern ohne Sonderrechte erlauben, rohe Paket-Scans durchzuführen. +Vergewissern Sie sich, dass Sie diese Option vor weiteren Optionen +angeben, die Sonderrechte benötigen (SYN-Scan, Betriebssystemerkennung +usw.). Als äquivalente Alternative zur Option +kann die Umgebungsvariable +NMAP_PRIVILEGEDNMAP_PRIVILEGED Umgebungsvariable +gesetzt werden. + + + + + + (nimmt an, dass der Benutzer keine Sonderrechte für rohe Sockets genießt) + + Benutzer ohne Sonderrechte + + + +Diese Option ist das Gegenteil von . +Sie sagt Nmap, dass es den Benutzer so behandeln soll, als genösse er keine +Sonderrechte für rohe Sockets und Sniffing. Das ist nützlich beim +Testen, Debugging oder falls die Möglichkeiten des rohen Netzwerkzugriffs +auf Ihrem Betriebssystem vorübergehend irgendwie defekt sind. +Als äquivalente Alternative zur Option +kann die Umgebungsvariable +NMAP_UNPRIVILEGEDNMAP_UNPRIVILEGED Umgebungsvariable +gesetzt werden. + + + + + + + (gibt Speicher vor Terminierung frei) + + + + +Diese Option ist nur bei der Suche nach Speicherlecks nützlich. +Sie bewirkt, dass Nmap den von ihm belegten Speicher direkt vor seiner +Terminierung freigibt, damit man echte Speicherlecks einfacher finden kann. +Normalerweise macht Nmap das nicht, weil es das Betriebssystem ohnehin +macht, wenn es den Prozess terminiert. + + + + + + (startet im interaktiven Modus) + + + + + +Startet Nmap im interaktiven Modus, in dem es eine interaktive +Nmap-Eingabeaufforderung gibt, bei der man mehrere Scans ausführen kann +(entweder synchron oder im Hintergrund). Das ist nützlich für Leute, +die von Mehrbenutzersystemen scannen, weil sie ihre Sicherheit meist +testen wollen, ohne dass alle anderen im selben System genau mitbekommen, +welche Systeme sie scannen. Benutzen Sie , +um diesen Modus zu aktivieren, und geben Sie dann h ein, +um eine Hilfe zu erhalten. Diese Option wird selten benutzt, weil echte +Shells für die Leute vertrauter sind und ihnen viel mehr Möglichkeiten +bieten. Diese Option enthält einen bang(!)-Operator zur Ausführung von +Shell-Befehlen, was einer der vielen Gründe dafür ist, Nmap nicht mit +setuid rootsetuid, warum nicht für Nmap +zu installieren. + + + + + + + ; (gibt Versionsnummer aus) + + + + + Gibt Nmaps Versionsnummer aus und terminiert. + + + + + + ; (gibt zusammengefasste Hilfeseite aus) + + + + +Gibt eine kurze Hilfeseite mit den am meisten benutzten +Optionen aus. Sie kommt auch dann, wenn man Nmap ganz ohne Argumente +startet. + + + + + + + + + Laufzeit-Interaktion<indexterm><primary>Laufzeitinteraktion</primary></indexterm> + +Während der Ausführung von Nmap wird jeder Tastendruck abgefangen. +Das ermöglicht Ihnen, mit dem Programm zu interagieren, ohne es abzubrechen +und neu zu starten. Bestimmte Spezialtasten ändern Optionen, während alle +anderen Tasten eine Statusmeldung über den Scan ausgeben. Konvention ist, +dass der Ausgabeumfang durch +Kleinbuchstaben vergrößert und durch +Großbuchstaben verkleinert wird. +Sie können auch ‘?’ drücken, +um eine Hilfe zu erhalten. + + + + + / + + + Vergrößert/verkleinert die Ausführlichkeit + + + + + / + + + Vergrößert/verkleinert die Debugging-Stufe + + + + + / + + + Schaltet Paketverfolgung ein/aus + + + + + + + + Gibt einen Hilfeschirm zur Laufzeit-Interaktion aus + + + + + Alles andere + + + Gibt eine Statusmeldung wie die folgende aus: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Beispiele + +Hier sind einige Anwendungsbeispiele für Nmap, von einfachen und +routinemäßigen bis zu etwas komplexeren und esoterischen. Um die Sache +etwas konkreter zu machen, werden einige echte IP-Adressen und Domainnamen +benutzt. Diese sollten Sie mit Adressen/Namen aus +Ihrem eigenen Netzwerk ersetzen. Auch wenn ich nicht +der Meinung bin, dass Port-Scans anderer Netzwerke illegal sind oder sein +sollten, mögen manche Netzwerkadministratoren es nicht, wenn ihre Netzwerke +unverlangt gescannt werden, und könnten sich beschweren. Der beste Ansatz +ist der, sich zuerst eine Genehmigung zu verschaffen. + +Zu Testzwecken haben Sie die Genehmigung, den Host +scanme.nmap.org zu scannen. Diese Genehmigung gilt +nur für das Scannen mit Nmap und nicht für das Testen von Exploits oder +Denial-of-Service-Angriffen. Bitte führen Sie nicht mehr als ein Dutzend +Scans pro Tag auf diesem Host durch, um die Bandbreite nicht zu erschöpfen. +Falls diese freie Dienstleistung missbraucht wird, wird sie abgeschaltet, +und Nmap wird dann Failed to resolve given hostname/IP: +scanme.nmap.org ausgeben. Diese Genehmigung gilt auch +für die Hosts scanme2.nmap.org, +scanme3.nmap.org usw., auch wenn diese Hosts noch +nicht existieren. + + + Beispiel + nmap -v scanme.nmap.org + +Diese Option scannt alle reservierten TCP-Ports auf dem Rechner +scanme.nmap.org. Die Option +schaltet den ausführlichen Modus an. + + Beispiel + Beispiel + nmap -sS -O scanme.nmap.org/24 + +Startet einen Stealth-SYN-Scan auf allen aktiven Rechnern unter +den 256 IPs im Netzwerk der Größe Klasse C, in dem +Scanme sitzt. Es versucht auch herauszufinden, welches Betriebssystem +auf jedem aktiven Host läuft. Wegen des SYN-Scans und der +Betriebssystemerkennung sind dazu root-Rechte notwendig. + + Beispiel + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + +Startet eine Host-Auflistung und einen TCP-Scan in der ersten Hälfte +von allen 255 möglichen acht-Bit-Unternetzen im Klasse-B-Adressraum 198.116. +Dabei wird getestet, ob die Systeme SSH, DNS, POP3 oder IMAP auf ihren +Standardports laufen haben oder irgendetwas auf Port 4564. Falls einer +dieser Ports offen ist, wird eine Versionserkennung benutzt, um festzustellen, +welche Anwendung darauf läuft. + + + Beispiel + Beispiel + nmap -v -iR 100000 -PN -p 80 + + +Verlangt von Nmap, 100.000 Hosts zufällig auszuwählen und sie nach +Webservern (Port 80) zu scannen. Eine Host-Auflistung wird mit + unterbunden, weil es Verschwendung ist, zuerst eine +Reihe von Testpaketen zu senden, um festzustellen, ob ein Host aktiv ist, +wenn Sie auf jedem Zielhost ohnehin nur einen Port testen. + + + Beispiel + Beispiel + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + +Das scannt 4096 IPs nach Webservern (ohne sie anzupingen) +und speichert die Ausgabe im grepbaren und im XML-Format. + + + + +Das Nmap-Buch + +Auch wenn dieser Reference Guide alle wesentlichen +Nmap-Optionen genau beschreibt, kann er nicht vollständig zeigen, +wie man diese Features anwendet, um Aufgaben der realen Welt zu lösen. +Zu diesem Zweck haben wir das Buch +Nmap Network Scanning: The Official +Nmap Project Guide to Network Discovery and Security +Scanning.Nmap Network Scanning: The Official +Nmap Project Guide to Network Discovery and Security +Scanning veröffentlicht. +Es zeigt, wie man Firewalls und Intrusion Detection-Systeme unterwandert, +die Performance von Nmap optimiert, und wie man häufige Netzwerkaufgaben +mit der Nmap Scripting Engine automatisiert. Außerdem enthält es Tipps +und Anleitungen für häufige Nmap-Aufgaben wie die Netzwerkinventarisierung, +Penetrationstests, die Erkennung schurkischer Wireless Access Points und +das Verhindern von Wurmausbrüchen im Netzwerk. +Dabei zeigt es mit Beispielen und Diagrammen, wie die Kommunikation +auf der Leitung aussieht. Mehr als die Hälfte des Buches ist online +frei verfügbar. Weitere Informationen finden Sie unter +. +Die deutsche Übersetzung dieses Buches von Dinu Gherman ist im Mai +2009 unter dem Titel +Nmap: Netzwerke scannen, analysieren und absichern +im Open Source Press-Verlag +erschienen. + + + + + Fehler + Fehlerberichte + +Wie sein Autor ist auch Nmap selbst nicht perfekt. Aber Sie +können helfen, es zu verbessern, indem Sie Fehlerberichte schicken oder +sogar Patches schreiben. Falls Nmap sich nicht wie erwartet verhält, +sollten Sie zuerst auf die neueste Version aktualisieren, die unter + verfügbar ist. Wenn das Problem anhält, +versuchen Sie herauszufinden, ob es bereits erkannt und bearbeitet +wurde. Suchen Sie nach der Fehlermeldung auf unserer Suchseite unter + oder bei Google. Stöbern +Sie in den nmap-dev-Archiven unter +.nmap-dev Mailingliste +Lesen Sie auch diese Manpage vollständig. Wenn Sie keine Lösung finden, +schicken Sie einen Fehlerbericht per E-Mail an +nmap-dev@insecure.org. Beschreiben Sie darin bitte alles, +was Sie über das Problem wissen, inklusive der Nmap-Version und der +Betriebssystemversion, unter der Sie Nmap einsetzen. Berichte von Problemen +und Fragen zur Anwendung von Nmap werden sehr viel wahrscheinlicher +beantwortet, wenn sie an nmap-dev@insecure.org geschickt +werden statt direkt an Fyodor. Wenn Sie sich erst auf der nmap-dev-Liste +eintragen, bevor Sie Ihre E-Mail schicken, entgeht Ihre Nachricht auch +der Moderation und kommt schneller an. Eintragen können Sie sich unter +. + +Code-Patches zur Behebung von Fehlern sind noch besser als +Fehlerberichte. Eine einfache Anweisung für die Erstellung von Patch-Dateien +mit Ihren Änderungen ist unter + verfügbar. Patches können +an nmap-dev (empfohlen) oder direkt an Fyodor +geschickt werden. + + + + Autor + Fyodor + fyodor@insecure.org + () + + + Über die Jahre haben hunderte von Menschen wertvolle Beiträge + zu Nmap geleistet. Sie sind detailliert in der Datei + CHANGELOGchangelog + aufgeführt, die mit dem Nmap-Quellcode verbreitet wird und auch unter + verfügbar ist. + + + + + Sorry, this section has not yet been translated to German. Please see the English version. + + + +
diff --git a/docs/man-xlate/nmap-man-es.xml b/docs/man-xlate/nmap-man-es.xml new file mode 100644 index 000000000..f817d9e6b --- /dev/null +++ b/docs/man-xlate/nmap-man-es.xml @@ -0,0 +1,3841 @@ + + + + + +
+ + Gua de referencia de Nmap (Pgina de manual) + + + + nmap + 1 + + + nmap + Herramienta de exploracin de redes y de sondeo de seguridad / puertos + + + + + nmap + + Tipo de sondeo + + + Opciones + + + especificacin de objetivo + + + + + + Descripcin + + Nmap (mapeador de redes) es una herramienta + de cdigo abierto para exploracin de red y auditora de + seguridad. Se dise para analizar rpidamente grandes redes, + aunque funciona muy bien contra equipos individuales. Nmap utiliza + paquetes IP "crudos" (raw, N. del T.) en formas originales para determinar qu + equipos se encuentran disponibles en una red, qu servicios + (nombre y versin de la aplicacin) ofrecen, qu sistemas + operativos (y sus versiones) ejecutan, qu tipo de filtros de + paquetes o cortafuegos se estn utilizando as como docenas de + otras caractersticas. Aunque generalmente se utiliza Nmap en + auditoras de seguridad, muchos administradores de redes y + sistemas lo encuentran til para realizar tareas rutinarias, como + puede ser el inventariado de la red, la planificacin de + actualizacin de servicios y la monitorizacin del tiempo que + los equipos o servicios se mantiene activos. + + La salida de Nmap es un listado de objetivos analizados, con + informacin adicional para cada uno dependiente de las opciones + utilizadas. La informacin primordial es la tabla de + puertos interesantes. Dicha tabla lista el nmero de + puerto y protocolo, el nombre ms comn del servicio, y su + estado. El estado puede ser open (abierto), filtered (filtrado), closed (cerrado), o unfiltered (no filtrado). Abierto + significa que la aplicacin en la mquina destino se encuentra + esperando conexiones o paquetes en ese puerto. Filtrado indica que un cortafuegos, + filtro, u otro obstculo en la red est bloqueando el acceso a ese + puerto, por lo que Nmap no puede saber si se encuentra abierto o cerrado. Los puertos cerrados no tienen ninguna aplicacin + escuchando en los mismos, aunque podran abrirse en cualquier + momento. Los clasificados como no + filtrados son aquellos que responden a los sondeos de + Nmap, pero para los que que Nmap no puede determinar si se + encuentran abiertos o cerrados. Nmap informa de las combinaciones + de estado open|filtered y + closed|filtered cuando no puede + determinar en cual de los dos estados est un puerto. La tabla de + puertos tambin puede incluir detalles de la versin de la + aplicacin cuando se ha solicitado deteccin de versiones. Nmap + ofrece informacin de los protocolos IP soportados, en vez de + puertos abiertos, cuando se solicita un anlisis de protocolo IP + con la opcin (). + + Adems de la tabla de puertos interesantes, Nmap puede dar + informacin adicional sobre los objetivos, incluyendo el nombre de + DNS segn la resolucin inversa de la IP, un listado de sistemas + operativos posibles, los tipos de dispositivo, y direcciones + MAC. + + Puede ver un anlisis tpico con Nmap en . Los nicos parmetros de Nmap que se + utilizan en este ejemplo son la opcin , que + habilita la deteccin de sistema operativo y versin, y la opcin + que acelerar el proceso, y despus el nombre + de los dos objetivos. + +Ejemplo tpico de anlisis con Nmap + +# nmap -A -T4 scanme.nmap.org saladejuegos + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on saladejuegos.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Puede obtener la versin ms reciente de Nmap en . La versin ms reciente de la +pgina de manual est disponible en . + + + + + Notas de la traduccin + +Esta edicin de la Gua de referencia de Nmap ha sido traducida +de la versin 3137 de la versin original en +ingls por Arturo Busleiman +buanzo_AT_buanzo.com.ar, Pablo Fernndez +pablo_AT_littleQ.net y Javier Fernndez-Sanguino +jfs_AT_computer.org. Aunque nuestra +intencin es hacer Nmap ms accesible a los lectores espaoles en todo +el mundo no podemos garantizar que esta traduccin est tan +actualizada o completa como la versin oficial en ingls. Este trabajo +puede ser modificado y redistribuido bajo los trminos de la Licencia Creative +Commons Atribucin. + +Esta traduccin ha sido adaptada al espaol como se +habla en Espaa (localizacin es_ES) por Javier Fernndez-Sanguino. +Cualquier comentario o errata sobre esta traduccin debe enviarse +a Javier Fernndez-Sanguino a la direccin arriba indicada. +El coordinador de la traduccin quiere agradecer el esfuerzo de revisin +realizado por Jess Escoredo. + + + Glosario de traduccin + +A continuacin se listan las traducciones utilizadas a los trminos +originales en ingls en este documento, es decir, el glosario utilizado en +este documento: + + + + + + Decoy + + + Traducido con el trmino seuelo. + + + + + + Fingerprinting + + + Identificacin por huellas (se entiende digitales), se utilizado conjuntamente con la deteccin de sistema operativo por lo que a veces se utiliza ste o se reduce a identificacin. + + + + + + Host + + + Traducido habitualmente como equipo o sistema. + + + + + + Port scan + + + Barrido de puertos. + + + + + + (to) Probe + + + Traducido con el trmino sondear (o sonda). + + + + + + (to) Scan + + + Traducido como sondear (o sondeo) o anlizar (o anlisis), no se utiliza escanear (o escaneo) ya que ste trmino es, literalmente pasar por el escner. + + + + + + (To) Spoof + + + Traducido por falsificar. + + + + + +Existen otros trminos que puedan aparecer en el documento traducidos pero cuya +traduccin es ambigua. En este caso las traducciones se introducen en el texto +acompaadas de notas de traduccin (mostradas como N. del T.) indicando el +trmino original la primera vez que ste aparezca en el texto. + +Ntese que ste glosario difiere en algunos trminos del utilizado para +otras traducciones, como la traduccin realizada por Marbo Babosa del artculo +Deteccion +Remota de SO via Reconocimiento de Pila TCP/IP (documento traducido al +espaol como se habla en Mxico). + + + + + + + Resumen de opciones + +Cuando se ejecuta Nmap sin parmetros se muestra este resumen de +opciones. Puede encontrar siempre la ltima versin en . Aunque ayuda a +recordar las opciones ms habituales no es un sustituto de la +documentacin en detalle que acompaa al resto de este manual. Algunas +de las opciones menos conocidas no se incluyen aqu. + + + + +Uso: nmap [Tipo(s) de Anlisis] [Opciones] {especificacin de objetivos} +ESPECIFICACIN DE OBJETIVO: + Se pueden indicar nombres de sistema, direcciones IP, redes, etc. + Ej: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <archivo_entrada>: Lee una lista de sistemas/redes del archivo. + -iR <nmero de sistemas>: Selecciona objetivos al azar + --exclude <sist1[,sist2][,sist3],...>: Excluye ciertos sistemas o redes + --excludefile <fichero_exclusin>: Excluye los sistemas indicados en el fichero +DESCUBRIMIENTO DE HOSTS: + -sL: Sondeo de lista - Simplemente lista los objetivos a analizar + -sP: Sondeo Ping - Slo determina si el objetivo est vivo + -P0: Asume que todos los objetivos estn vivos + -PS/PA/PU [listadepuertos]: Anlisis TCP SYN, ACK o UDP de los puertos indicados + -PE/PP/PM: Solicita un anlisis ICMP del tipo echo, marca de fecha y mscara de red + -n/-R: No hacer resolucin DNS / Siempre resolver [por omisin: a veces] + --dns-servers <serv1[,serv2],...>: Especificar servidores DNS especficos + --system-dns: Utilizar la resolucin del sistema operativo +TCNICAS DE ANLISIS: + -sS/sT/sA/sW/sM: Anlisis TCP SYN/Connect()/ACK/Window/Maimon + -sN/sF/sX: Anlisis TCP Null, FIN, y Xmas + --scanflags <indicador>: Personalizar los indicadores TCP a utilizar + -sI <sistema zombi[:puerto_sonda]>: Anlisis pasivo (Idle, N. del T.) + -sO: Anlisis de protocolo IP + -b <servidor ftp rebote>: Anlisis por rebote FTP +ESPECIFICACIN DE PUERTOS Y ORDEN DE ANLISIS: + -p <rango de puertos>: Slo sondear los puertos indicados + Ej: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Rpido - Analizar slo los puertos listados en el archivo nmap-services + -r: Analizar los puertos secuencialmente, no al azar. +DETECCIN DE SERVICIO/VERSIN: + -sV: Sondear puertos abiertos, para obtener informacin de servicio/versin + --version-intensity <nivel>: Fijar de 0 (ligero) a 9 (probar todas las sondas) + --version-light: Limitar a las sondas ms probables (intensidad 2) + --version-all: Utilizar todas las sondas (intensidad 9) + --version-trace: Presentar actividad detallada del anlisis (para depurar) + DETECCIN DE SISTEMA OPERATIVO + -O: Activar la deteccin de sistema operativo (SO) + --osscan-limit: Limitar la deteccin de SO a objetivos prometedores + --osscan-guess: Adivinar el SO de la forma ms agresiva +TEMPORIZADO Y RENDIMIENTO: + -T[0-5]: Seleccionar plantilla de temporizado (los nmeros altos son ms rpidos) + --min-hostgroup/max-hostgroup <tamao>: Paralelizar los sondeos + --min-parallelism/max-parallelism <msegs>: Paralelizacin de sondeos + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msegs>: Indica + el tiempo de ida y vuelta de la sonda + --max-retries <reintentos>: Limita el nmero mximo de retransmisiones de las + sondas de anlisis de puertos + --host-timeout <msegs>: Abandonar un objetivo pasado este tiempo + --scan-delay/--max-scan-delay <msegs>: Ajusta el retraso entre sondas +EVASIN Y FALSIFICACIN PARA CORTAFUEGOS/IDS: + -f; --mtu <valor>: fragmentar paquetes (opc. con el MTU indicado) + -D <seuelo1,seuelo2[,ME],...>: Disimular el anlisis con seuelos + N. del T.: ME es YO mismo. + -S <Direccin_IP>: Falsificar la direccin IP origen + -e <interfaz>: Utilizar la interfaz indicada + -g/--source-port <numpuerto>: Utilizar el nmero de puerto dado + --data-length <num>: Agregar datos al azar a los paquetes enviados + --ttl <val>: Fijar el valor del campo time-to-live (TTL) de IP + --spoof-mac <direccin mac/prefijo/nombre de fabricante>: Falsificar la direccin MAC + --badsum: Enviar paquetes con una suma de comprobacin TCP/UDP falsa +SALIDA: + -oN/-oX/-oS/-oG <file>: Guardar el sondeo en formato normal, XML, + s|<rIpt kIddi3 (n3n3b4n4n4), y Grepeable (para usar con grep(1), N. del T.), + respectivamente, al archivo indicado. + -oA <nombre_base>: Guardar en los tres formatos principales al mismo tiempo + -v: Aumentar el nivel de mensajes detallados (-vv para aumentar el efecto) + -d[nivel]: Fijar o incrementar el nivel de depuracin (Tiene sentido hasta 9) + --packet-trace: Mostrar todos los paquetes enviados y recibidos + --iflist: Mostrar interfaces y rutas (para depurar) + --append-output: Agregar, en vez de sobreescribir, a los archivos indicados con -o. + --resume <archivo>: Retomar un anlisis abortado/detenido + --stylesheet <ruta/URL>: Convertir la salida XML a HTML segn la hoja de estilo + XSL indicada + --webxml: Referenciar a la hoja de estilo de Insecure.Org para tener un XML ms portable + --no_stylesheet: No asociar la salida XML con ninguna hoja de estilos XSL +MISCELNEO: + -6: Habilitar anlisis IPv6 + -A: Habilita la deteccin de SO y de versin + --datadir <nombreDir>: Indicar la ubicacin de los archivos de datos Nmap + personalizados. + --send-eth/--send-ip: Enviar paquetes utilizando tramas Ethernet o paquetes IP + "crudos" + --privileged: Asumir que el usuario tiene todos los privilegios + -V: Muestra el nmero de versin + -h: Muestra esta pgina resumen de la ayuda. +EJEMPLOS: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + + Especificacin de objetivos + +Todo lo que se escriba en la lnea de parmetros de Nmap que no sea una +opcin se considera una especificacin de sistema objetivo. El +caso ms sencillo es la indicacin de slo una IP, o nombre de sistema, +para que sea analizado. + +Puede darse la situacin en que uno desee analizar una red +completa de equipos adyacentes. Nmap soporta +el direccionamiento estilo CIDR para estos casos. Puede aadir +/numBits a una direccin IP o nombre de +sistema para que Nmap sondee toda IP cuyos primeros +numBits sean los mismos que los de la +direccin IP o nombre de sistema indicado. Por ejemplo, 192.168.10.0/24 +analizara los 256 sistemas que existen entre la direccin 192.168.10.0 (que en binario se +representa como 11000000 10101000 00001010 +00000000) y la direccin 192.168.10.255 (binario: 11000000 10101000 00001010 11111111), ambas +inclusives. +De hecho, si usa 192.168.10.40/24 obtendra exactamente el mismo resultado. En el +caso del sistema scanme.nmap.org que posee una direccin IP 205.217.153.62, la +especificacin scanme.nmap.org/16 analizara las 65.536 direcciones IP entre +205.217.0.0 y 205.217.255.255. La mscara mas pequea permitida es /1, que +analizara media Internet. La ms grande, /32, analizara nicamente +la IP o nombre de sistema indicados porque todos los bits estaran +fijos. + +La notacin CDIR es breve pero no siempre es suficiemente +flexible. Por ejemplo, puede querer sondear la red 192.168.0.0/16 pero +omitir cualquier IP que termine por .0 o por .255 ya que son +habitualmente direcciones de difusin. Es posible hacer esto con Nmap +mediante el direccionamiento por octetos. En lugar de +especificar una direccin IP normal puede especificar una lista +separada por comas de nmeros o rangos para cada octeto. Por ejemplo, +si utiliza 192.168.0-255.1-254 se omitirn todas las direcciones del +rango que terminen en .0 o .255. Los rangos no tienen por qu estar +limitados a los ltimos octetos. Por ejemplo, si especifica +0-255.0-255.13.37 se realizar un sondeo en todo Internet de las +direcciones IP que terminan en 13.37. Este tipo de muestreo amplio +puede ser til para encuestas en Internet y con fines de +investigacin. + +Slo puede especificar direcciones IPv6 si utiliza su nombre +IPv6 totalmente cualificado o su nombre de sistema. No se soporta el uso +de CIDR o rangos de octetos para IPv6 porque raramente son +tiles. + +Con Nmap puede especificar mltiples sistemas en la lnea de +rdenes y no tienen por qu ser del mismo tipo. Por ejemplo, la orden +nmap scanme.nmap.org 192.168.0.0/16 +10.0.0,1,3-7.0-255 hace lo que uno esperara. + +Aunque habitualmente se especifican los objetivos en la lnea de +rdenes puede utilizar las siguientes opciones para controlar la +seleccin de objetivos: + + + + + (Entrada de una lista) + + + Toma la especificacin de objetivos del archivo + archivo_entrada. Habitualmente es + un tanto molesto especificar una lista de sistemas muy grande en + la lnea de rdenes, pero es algo que tambin uno quiere hacer. + Por ejemplo, si tu servidor + DHCP puede exportar un listado de las 10.000 direcciones entregadas IP que querra + analizar. O tal vez quiera analizar todas las direcciones IP + excepto esas mismas direcciones, para as + localizar sistemas que estn utilizando direcciones IP estticas + sin autorizacin. Para sondear un nmero elevado de objetivos + slo tiene que generar la lista en un + archivo, y entregrselo a Nmap con la opcin + . Las entradas de ese archivo pueden estar + en cualquiera de los formatos aceptados por Nmap en la lnea + de rdenes (direcciones IP, nombres de sistema, CIDR, IPv6 o + rangos de octeto). Cada elemento debe estar separado por uno o ms + espacios, tabuladores, o por lneas. Si quiere leer el archivo de la entrada + estndar + puede especificar un guin (-) como nombre de archivo. + + + + + + + (Elegir objetivos al azar) + + + Cuando se quieren realizar encuestas que cubran toda Internet uno + puede querer elegir objetivos al azar. La opcin + cant. sistemas indica a Nmap + cuntas direcciones IP debe generar aleatoriamente. Se filtran de forma + automtica las direcciones no deseables, incluyendo + las direcciones privadas, de multicast o direccionamiento no asignado. + Si se utiliza el valor 0, Nmap realizar un anlisis que no + acabar nunca. + Hay que tener en cuenta que a algunos administradores + de red puede no gustarle que les analicen sus redes, y + pueden llegar a quejarse Utilice esta opcin bajo su propia + responsabilidad! Si est realmente aburrido un da de tarde lluviosa, puede intentar + la orden nmap -sS -PS80 -iR 0 -p + 80 para encontrar servidores web al azar para + navegar. + + + + + + (Excluir equipo o redes) + + + Indica con una lista separada por comas los objetivos que + deben excluirse del anlisis. Se excluirn aunque se encuentren + dentro de un rango especificado en la lnea de + rdenes. La lista que se indica utiliza la sintaxis + normal de Nmap, por lo que puede incluir nombres de equipo, + rangos de red CIDR, rangos de octeto, etc. Esto puede ser til + cuando la red a analizar tiene objetivos que no se deben tocar, como + puedan ser servidores de misin crtica, que pueden reaccionar + adversamente a un anlisis de puertos, o si la red incluye subredes + administradas por otras personas. + + + + + + + (Excluir desde una Lista) + + + Al igual que , esta funcin + permite excluir objetivos, pero en lugar de utilizar la lnea + de rdenes toma el listado de un + archivo, que utiliza la misma + sintaxis que la opcin . + + + + + + + Descubriendo sistemas + + Uno de los primeros pasos en cualquier misin de reconocimiento de +red es el de reducir un (muchas veces enorme) conjunto de rangos de direcciones +IP en una lista de equipos activos o interesantes. Analizar cada puerto de +cada una de las direcciones IP es lento, y usualmente innecesario. Por +supuesto, lo que hace a un sistema interesante depende ampliamente del +propsito del anlisis. Los administradores de red pueden interesarse slo +en equipos que estn ejecutando un cierto servicio, mientras que los auditores de +seguridad pueden interesarse en todos y cada uno de los dispositivos que +tengan una direccin IP. Un administrador puede sentirse cmodo con obtener +un listado de equipos en su red interna mediante un ping ICMP, mientras que un +consultor en seguridad realizando un ataque externo puede llegar a utilizar +un conjunto de docenas de sondas en su intento de saltarse las restricciones de +los cortafuegos. + + Siendo tan diversas las necesidades de descubrimiento de sistemas, +Nmap ofrece una gran variedad de opciones para personalizar las tcnicas +utilizadas. Al descubrimiento de sistemas (Host Discovery) se lo suele llamar +sondeo ping, pero va ms all de la simple solicitud ICMP +echo-request de los paquetes asociados al querido y nunca bien ponderado ping. + +Los usuarios pueden evitar el paso de ping utilizando un sondeo de lista +() o deshabilitando el ping (), o +enviando combinaciones arbitrarias de sondas TCP SYN/ACK, UDP e ICMP a +mltiples puertos de la red remota. El propsito de estas sondas es el de +solicitar respuestas que demuestren que una direccin IP se encuentra activa +(est siendo utilizada por un equipo o dispositivo de red). En varias redes +solo un pequeo porcentaje de direcciones IP se encuentran activos en cierto +momento. Esto es particularmente comn en las redes basadas en +direccionamiento privado RFC1918, como la 10.0.0.0/8. Dicha red tiene ms de +16 millones de direcciones IP, pero la he visto siendo utilizada por +empresas con menos de mil mquinas. El descubrimiento de sistemas puede +encontrar dichas maquinas en un rango tan grande como el indicado. + + +Si no se proveen opciones de descurbrimiento de sistemas, Nmap enva un paquete TCP +ACK al puerto 80 y un ICMP Echo Request a cada mquina objetivo. Una +excepcin a este comportamiento es cuando se utiliza un anlisis ARP, para +los objetivos que se encuentren en la red Ethernet local. Para usuarios de +shell UNIX que no posean privilegios, un paquete SYN es enviado en vez del +ACK, utilizando la llamada al sistema connect(). Estos valores por omisin son el equivalente a +las opciones . Este descubrimiento de sistemas es +generalmente suficiente cuando se analizan redes locales, pero para +auditoras de seguridad se recomienda utilizar un conjunto ms completo de sondas +de descubrimiento. + +Las opciones (que permiten seleccionar los tipos +de ping) pueden combinarse. Puede aumentar sus probabilidades de penetrar +cortafuegos estrictos enviando muchos tipos de sondas utilizando diferentes +puertos o banderas TCP y cdigos ICMP. Recuerde que el ARP discovery +() se realiza por omisin contra objetivos de la red +Ethernet local incluso si se especifica otra de las opciones +, porque es generalmente ms rpido y efectivo. + +Las siguientes opciones controlan el descubrimiento de sistemas. + + + + + (Sondeo de lista) + + +El sondeo de lista es un tipo de descubrimiento de sistemas que tan solo lista +cada equipo de la/s red/es especificada/s, sin enviar paquetes de ningn tipo +a los objetivos. Por omisin, Nmap va a realizar una resolucin inversa DNS +en los equipos, para obtener sus nombres. Es sorprendente cuanta informacin til +se puede obtener del nombre de un sistema. Por ejemplo fw.chi.playboy.com +es el cortafuegos de la oficina en Chicago de Playboy Enterprises. Adicionalmente, al +final, Nmap reporta el nmero total de direcciones IP. El sondeo de lista es una +buena forma de asegurarse de que tenemos las direcciones IP correctas de nuestros +objetivos. Si se encontraran nombres de dominio que no reconoces, vale la pena +investigar un poco ms, para evitar realizar un anlisis de la red de la +empresa equivocada. + + + Ya que la idea es simplemente emitir un listado de los +sistemas objetivo, las opciones de mayor nivel de funcionalidad como anlisis +de puertos, deteccin de sistema operativo, o anlisis ping no pueden +combinarse con este sondeo. Si desea deshabilitar el anlisis ping +an realizando dicha funcionalidad de mayor nivel, compruebe la documentacin +de la opcin . + + + + + + (Sondeo ping) + + + Esta opcin le indica a Nmap que nicamente +realice descubrimiento de sistemas mediante un sondeo ping, y que luego +emita un listado de los equipos que respondieron al mismo. No se realizan ms +sondeos (como un anlisis de puertos o deteccin de sistema operativo). A diferencia +del sondeo de lista, el anlisis ping es intrusivo, ya que enva paquetes a +los objetivos, pero es usualmente utilizado con el mismo propsito. +Permite un reconocimiento liviano de la red objetivo sin llamar mucho la atencin. +El saber cuntos equipos se encuentran activos es de mayor valor para los atacantes +que el listado de cada una de las IP y nombres proporcionado por el sondeo de lista. + + De la misma forma, los administradores de sistemas suelen +encontrar valiosa esta opcin. Puede ser fcilmente utilizada para contabilizar +las mquinas disponibles en una red, o monitorizar servidores. A esto se lo +suele llamar barrido ping, y es ms fiable que hacer ping a la direccin +de broadcast, ya que algunos equipos no responden a ese tipo de consultas. + + La opcin enva una solicitud de eco ICMP +y un paquete TCP al puerto 80 por omisin. Cuando un usuario sin privilegios +ejecuta Nmap se enva un paquete SYN (utilizando la +llamada connect()) al puerto 80 +del objetivo. Cuando un usuario privilegiado intenta analizar objetivos +en la red Ethernet local se utilizan solicitudes ARP () +a no ser que se especifique la opcin . + +La opcin puede combinarse con cualquiera de las opciones +de sondas de descubrimiento (las opciones , excepto +) para disponer de mayor flexibilidad. Si se utilizan cualquiera +de las opciones de sondas de descubrimiento y nmero de puerto, se ignoran las sondas por omisin (ACK y solicitud de eco ICMP). +Se recomienda utilizar estas tcnicas si hay un cortafuegos con un filtrado estricto entre el sistema que ejecuta Nmap y la red objetivo. +Si no se hace as pueden llegar a pasarse por alto ciertos equipos, +ya que el cortafuegos anulara +las sondas o las respuestas a las mismas. + + + + + + + + (No realizar ping) + + + Con esta opcin, Nmap no realiza la etapa de descubrimiento. +Bajo circunstancias normales, Nmap utiliza dicha etapa para determinar +qu mquinas se encuentran activas para hacer un anlisis ms agresivo. Por omisin, +Nmap slo realiza ese tipo de sondeos, como anlisis de puertos, deteccin de versin +o de sistema operativo contra los equipos que se estn vivos. +Si se deshabilita el descubrimiento de sistemas con la opcin +entonces Nmap utilizar las funciones de anlisis solicitadas contra todas +las direcciones IP especificadas. Por lo tanto, si se especifica una red +del tamao de una clase B cuyo espacio de direccionamiento es de 16 bits, en la lnea +de rdenes, se analizar cada una de las 65.536 direcciones IP. +El segundo carcter en la opcin es un cero, y no la letra +O. Al igual que con el sondeo de lista, se evita el descubrimiento apropiado de sistemas, +pero, en vez de detenerse y emitir un listado de objetivos, Nmap contina y realiza +las funciones solicitadas como si cada IP objetivo se encontrara activa. + + + + + + (Ping TCP SYN) + + + Esta opcin enva un paquete TCP vaco con la bandera SYN puesta. + El puerto destino por omisin es el 80 (se puede configurar en + tiempo de compilacin cambiando el valor de + DEFAULT_TCP_PROBE_PORT en + nmap.h), pero se puede aadir + un puerto alternativo como parmetro. Tambin se puede especificar + una lista de puertos separados por comas + (p.ej. ). Si hace esto + se enviarn sondas en paralelo a cada uno de los puertos. + + La bandera SYN indica al sistema remoto que quiere establecer + una conexin. Normalmente, si el puerto destino est cerrado se + recibir un paquete RST (de reset). Si el puerto est abierto + entonces el objetivo responder con el segundo paso del saludo en + tres pasos TCP respondiendo con un paquete TCP SYN/ACK. El sistema + donde se ejecuta Nmap romper la conexin que se est estableciendo + enviando un paquete RST en lugar de enviar el paquete ACK que + completara el saludo TCP. Nmap no enva este paquete, sino que lo + enva el ncleo del sistema donde se ejecuta Nmap respondiendo al + paquete SYN/ACK que no esperaba. + + A Nmap no le importa si el puerto est abierto o cerrado. Si, + tal y como se acaba de describir, llega una respuesta RST SYN/ACK + entonces Nmap sabr que el sistema est disponible y responde. + + En sistemas UNIX, generalmente slo el usuario privilegiado + root puede enviar paquetes TCP + crudos. Los usuarios no privilegiados tienen una forma de evitar + esta restriccin utilizando la llamada al sistema connect() contra + el puerto destino. Esto hace que se enve el paquete SYN al sistema, + para establecer la conexin. Si la llamada connect() devuelve un + resultado de xito rpidamente o un fallo ECONNREFUSED entonces se + puede deducir que la pila TCP que tiene bajo sta ha recibido un + SYN/ACK o un RST y que puede marcar el sistema como disponible. El + sistema se puede marcar como no disponible si el intento de conexin + se mantiene parado hasta que vence un temporizador. Esta es tambin + la forma en la que se gestiona esto en conexiones IPv6 ya que Nmap + an no puede crear paquetes IPv6 crudos. + + + + + + + (Ping TCP ACK) + + El ping TCP ACK es muy parecido al ping SYN que se + acaba de tratar. La diferencia es que en este caso se enva un + paquete con la bandera ACK en lugar de la SYN. Este paquete indica + que se han recibido datos en una conexin TCP establecida, pero se + envan sabiendo que la conexin no existe. En este caso los sistemas + deberan responder con un paquete RST, lo que sirve para determinar + que estn vivos. + + La opcin utiliza el mismo puerto por + omisin que la sonda SYN (el puerto 80) y tambin puede tomar una + lista de puertos destino en el mismo formato. Si un usuario sin + privilegios intenta hacer esto, o se especifica un objetivo IPv6, se + utiliza el procedimiento descrito anteriormente. Aunque en este caso + el procedimiento no es perfecto porque la llamada connect() enviar + un paquete SYN en lugar de un ACK. + + Se ofrecen tanto mecanismos de sondeo con ping SYN y ACK para + maximizar las posibilidades de atravesar cortafuegos. Muchos + administradores configuran los enrutadores y algunos cortafuegos + sencillos para que se bloqueen los paquetes SYN salvo para aquellos + destinados a los servicios pblicos, como pudieran ser el servidor + web o el servidor de correo de la organizacin. Esto evita que se + realicen otras conexiones entrantes al mismo tiempo que permite a los + usuarios realizar conexiones salientes a Internet. Este acercamiento + de filtrado sin estados toma pocos recursos de los + cortafuegos/enrutadores y est ampliamente soportado por filtros + hardware y software. El programa de cortafuegos Netfilter/iptables de + Linux ofrece la opcin para implementar este + acercamiento sin estados. Cuando se han implementado reglas de + filtrado como stas es posible que se bloqueen las sondas ping SYN + () cuando stas se enven a un puerto cerrado. + Sin embargo, en estos casos, las sondas ACK podran saltarse las + reglas y llegar a su destino. + + Otros tipos de cortafuegos comunes utilizan reglas con estados que + descartan paquetes no esperados. Esta funcionalidad se encontraba + antes fundamentalmente en los cortafuegos de gama alta pero se ha + hecho cada vez ms comn. El sistema Netfilter/iptables de Linux + soporta esta posibilidad a travs de la opcin + , que hace categoras de paquetes en base a + su estado de conexin. En estos sistemas es ms probable que funcione + una sonda SYN, dado que los paquetes ACK no esperados se reconocen + como falsos y se descartan. Una solucin a este dilema es enviar + sondas SYN y ACK especificando tanto la opcin + como . + + + + + + + (Ping UDP) + + + El ping UDP es otra opcin para descubrir sistemas. Esta opcin + enva un paquete UDP vaco (salvo que se especifique + ) a los puertos indicados. La lista de + puertos se debe dar en el mismo formato que se ha indicado + anteriormente para las opciones y + . Si no se especifica ningn puerto se + utiliza el puerto 31338 por omisin. Se puede configurar este puerto + por omisin en el momento de compilar cambiando + DEFAULT_UDP_PROBE_PORT en nmap.h. Se utiliza un puerto alto y poco + comn por omisin porque no es deseable enviar este sondeo + a otro tipo de puertos. + + La sonda UDP debera generar un paquete ICMP de puerto no + alcanzable si da contra un puerto cerrado en el equipo objetivo. Si + llega ste entonces Nmap puede identificar ese sistema como vivo y + alcanzable. Otros errores ICMP, como el de sistema o red + inalcanzables o TTL excedido indican un sistema que est muerto o que + no es alcanzable. Si no llega ninguna respuesta tambin se entiende + que el sistema no est disponible. Si se alcanza un puerto abierto la + mayora de los servicios simplemente descartarn el paquete vaco y + no devolvern ninguna respuesta. sta es la razn por la que se + utiliza el puerto por omisin 31338 ya que es poco probable que est + utilizndose. Algunos servicios, como chargen, respondern con un + paquete UDP vaco lo que ayuda a Nmap a determinar que el sistema + est disponible. + + La principal ventaja de este tipo de sondeos es que atraviesan + cortafuegos y filtros que slo analizan TCP. Yo, por ejemplo, una vez + fui propietario de un encaminador de banda ancha inalmbrico + BEFW11S4. El interfaz externo de este dispositivo filtraba por + omisin todos los puertos TCP, pero las sondas UDP podan generar + mensajes de puerto no alcanzable y permitan detectar al + dispositivo. + + + + + + + ; + ; + (Tipos de ping ICMP) + + + Nmap puede enviar los paquetes estndar que enva el programa + ping adems de los tipos + de descubrimiento de equipos con TCP y UDP. Nmap enva paquetes ICMP + tipo 7 (echo request) a las direcciones IP objetivos y espera + recibir un tipo 0 (Echo Reply) de los sistemas que estn + disponibles. Lamentablemente para los exploradores de redes, muchos + sistemas y cortafuegos ahora bloquean esos paquetes en lugar de + responder como requiere el estndar RFC 1122. + Por sta razn los sondeos que slo utilizan el protocolo ICMP no son muy fiables + para analizar sistemas desconocidos en Internet. Aunque pueda ser + una forma eficiente y prctica de hacerlo para administradores que + tengan que monitorizar una red interna. Utilice la opcin + para activar este comportamiento de solicitud de + eco. + + Nmap no hace slo sto, aunque la solicitud eco es la consulta + estndar de ping ICMP. El estndar ICMP + (RFC + 792) tambin especfica solicitudes de huellas de tiempo, de + informacin y de mscara de red, que corresponden con los cdigos 13, + 15 y 17 respectivamente. Aunque el objetivo de estas solicitudes es + obtener la mscara de red o fecha actual de un sistema tambin pueden + utilizarse para descubrir sistemas. Un sistema que responde es por + que est vivo y disponible. Nmap no implementa los paquetes de + solicitud de informacin en s, ya que no estn muy soportados. El + estndar RFC 1122 insiste en que un equipo NO DEBE implementar + estos mensajes. Las consultas de huella de tiempo y mscara + de red se pueden enviar con las opciones y + , respectivamente. Si se recibe una respuesta de + huella de tiempo (cdigo ICMP 14) o de mscara de red (cdigo 18) + entonces es que el sistema est disponible. Estas dos consultas + pueden ser tiles cuando los administradores bloquean los paquetes de + consulta eco explcitamente pero se olvidan de que se pueden utilizar + otras consultas ICMP con el mismo fin. + + + + + + + (Ping ARP) + + + Una de las formas de uso ms comunes de Nmap es el sondeo de + una red de rea local Ethernet. En la mayora de las redes locales hay + muchas direcciones IP sin usar en un momento determinado. Esto es as + especialmente en las que utilizan rangos de direcciones privadas + definidas en el RFC1918. Cuando Nmap intenta enviar un paquete IP + crudo, como pudiera ser una solicitud de eco ICMP, el sistema + operativo debe determinar primero la direccin (ARP) correspondiente + a la IP objetivo para poder dirigirse a ella en la trama Ethernet. + Esto es habitualmente un proceso lento y problemtico, dado que los + sistemas operativos no se escribieron pensando en que tendran que + hacer millones de consultas ARP contra sistemas no disponibles en un + corto periodo de tiempo. + + El sondeo ARP hace que sea Nmap y su algoritmo optimizado el + que se encargue de las solicitudes ARP. Si recibe una respuesta, no + se tiene ni que preocupar de los paquetes basados en IP dado que ya + sabe que el sistema est vivo. Esto hace que el sondeo ARP sea mucho + ms rpido y fiable que los sondeos basados en IP. Por ello se + utiliza por omisin cuando se analizan sistemas Ethernet si Nmap + detecta que estn en la red local. Nmap utiliza ARP para objetivos + en la misma red local an cuando se utilicen distintos tipos de ping + (como o ). Si no quiere + hacer un sondeo ARP tiene que especificar la opcin + . + + + + + + + (No realizar resolucin de nombres) + + + Le indica a Nmap que + nunca debe realizar resolucin DNS +inversa de las direcciones IP activas que encuentre. Ya que DNS +es generalmente lento, esto acelera un poco las cosas. + + + + + + (Realizar resolucin de nombres con todos los objetivos) + + + Le indica a Nmap que deber realizar + siempre la resolucin DNS inversa de +las direcciones IP objetivo. Normalmente se realiza esto slo si se +descubre que el objetivo se encuentra vivo. + + + + + + (Utilizar resolucin DNS del sistema) + + + Por omisin, Nmap resuelve direcciones IP por si mismo enviando +las consultas directamente a los servidores de nombres configurados +en el sistema, y luego espera las respuestas. Varias solicitudes (generalmente +docenas) son realizadas en paralelo para mejorar el rendimiento. Especifica +esta opcin si desea que s utilice la resolucin del sistema (una IP por vez +utilizando la llamada getnameinfo()). Este mtodo es ms lento y raramente +til, a no ser que hubiera un error en el cdigo DNS de Nmap (por favor, notifquelo +si ese fuera el caso). ste es el mtodo por omisin para los sondeos IPv6. + + + + + + (Servidores a utilizar para las consultas DNS) + + + Nmap generalmente determina los servidores DNS de + su archivo resolv.conf (UNIX) o del registro (Win32). + Puede utilizar esta opcin para especificar sus propios + servidores. Esta opcin no se utiliza si utiliza la opcin + o est realizando un sondeo + IPv6. La resolucin a travs de ms de un servidor de DNS + es generalmente ms rpida que la consulta a uno solo. + + + + + + + + Introduccin al anlisis de puertos + + Nmap comenz como un analizador de puertos eficiente, + aunque ha aumentado su funcionalidad a travs de los aos, + aquella sigue siendo su funcin primaria. La sencilla orden + nmap + objetivo analiza ms de + 1660 puertos TCP del equipo + objetivo. Aunque muchos + analizadores de puertos han agrupado tradicionalmente los + puertos en dos estados: abierto o cerrado, Nmap es mucho ms + descriptivo. Se dividen a los puertos en seis estados + distintos: abierto, + cerrado, filtrado, no filtrado, abierto|filtrado, o cerrado|filtrado. + +Estos estados no son propiedades intrnsecas del puerto en s, +pero describen como los ve Nmap. Por ejemplo, un anlisis con Nmap +desde la misma red en la que se encuentra el objetivo puede mostrar el +puerto 135/tcp como abierto, +mientras que un anlisis realizado al mismo tiempo y con las mismas +opciones, pero desde Internet, puede presentarlo como filtrado. + +Los seis estados de un puerto, segn Nmap + + abierto + Una aplicacin acepta conexiones TCP o +paquetes UDP en este puerto. El encontrar esta clase de puertos es generalmente +el objetivo primario de realizar un sondeo de puertos. Las personas orientadas a +la seguridad saben que cada puerto abierto es un vector de ataque. Los +atacantes y las personas que realizan pruebas de intrusin intentan aprovechar +puertos abiertos, por lo que los administradores intentan cerrarlos, o +protegerlos con cortafuegos, pero sin que los usuarios legtimos pierdan acceso +al servicio. Los puertos abiertos tambin son interesantes en sondeos que no +estn relacionados con la seguridad porque indican qu servicios estn +disponibles para ser utilizados en una red. + + cerrado + + Un puerto cerrado es accesible: recibe y responde a las +sondas de Nmap, pero no tiene una aplicacin escuchando en l. Pueden ser tiles para determinar si un equipo est activo +en cierta direccin IP (mediante descubrimiento de sistemas, o sondeo ping), y es +parte del proceso de deteccin de sistema operativo. Como los puertos cerrados +son alcanzables, o sea, no se encuentran filtrados, puede merecer la pena +analizarlos pasado un tiempo, en caso de que alguno se abra. Los administradores +pueden querer considerar bloquear estos puertos con un cortafuegos. Si se +bloquean apareceran filtrados, como se discute a continuacin. + + + filtrado + + Nmap no puede determinar si el puerto se encuentra abierto +porque un filtrado de paquetes previene que sus sondas alcancen el puerto. +El filtrado puede provenir de un dispositivo de cortafuegos dedicado, de las reglas +de un enrutador, o por una aplicacin de cortafuegos instalada en el propio equipo. Estos puertos suelen +frustrar a los atacantes, porque proporcionan muy poca informacin. A veces responden +con mensajes de error ICMP del tipo 3, cdigo 13 (destino inalcanzable: +comunicacin prohibida por administradores), pero los filtros que +sencillamente descartan las sondas sin responder son mucho ms comunes. +Esto fuerza a Nmap a reintentar varias veces, considerando que la +sonda pueda haberse descartado por congestin en la red en vez de +haberse filtrado. Esto ralentiza drsticamente los sondeos. + + + no filtrado + Este estado indica que el puerto es accesible, +pero que Nmap no puede determinar si se encuentra abierto o cerrado. +Solamente el sondeo ACK, utilizado para determinar las reglas de un cortafuegos, +clasifica a los puertos segn este estado. El analizar puertos no filtrados +con otros tipos de anlisis, como el sondeo Window, SYN o FIN, +pueden ayudar a determinar si el puerto se encuentra abierto. + + + abierto|filtrado + Nmap marca a los puertos en este estado cuando no puede +determinar si el puerto se encuentra abierto o filtrado. Esto ocurre para +tipos de anlisis donde no responden los puertos abiertos. La ausencia +de respuesta puede tambin significar que un filtro de paquetes ha +descartado la sonda, o que se elimina cualquier respuesta asociada. De esta forma, Nmap no +puede saber con certeza si el puerto se encuentra abierto o filtrado. Los +sondeos UDP, protocolo IP, FIN, Null y Xmas clasifican a los puertos de esta manera. + + + cerrado|filtrado + Este estado se utiliza cuando Nmap no puede determinar +si un puerto se encuentra cerrado o filtrado, y puede aparecer aparecer slo +durante un sondeo IPID pasivo. + + + + + + Tcnicas de sondeo de puertos + +Cuando intento realizar un arreglo de mi coche, siendo novato, +puedo pasarme horas intentando utilizar mis herramientas rudimentarias +(martillo, cinta aislante, llave inglesa, etc.). Cuando fallo +miserablemente y llevo mi coche antiguo en gra al taller a un +mecnico de verdad siempre pasa lo mismo: busca en su gran cajn de +herramientas hasta que saca una herramienta que hace que la tarea se +haga sin esfuerzo. El arte de sondear puertos es parecido. Los +expertos conocen docenas de tcnicas de sondeo y eligen la ms +apropiada (o una combinacin de stas) para la tarea que estn +realizando. Los usuarios sin experiencia y los "script kiddies", sin +embargo, intentan resolver cada problema con el sondeo SYN por +omisin. Dado que Nmap es libre, la nica barrera que existe para ser +un experto en el sondeo de puertos es el conocimiento. Esto es mucho +mejor que el mundo del automvil, donde puedes llegar a saber que +necesitas un compresor de tuerca, pero tendrs que pagar mil dolares +por l. + +La mayora de los distintos tipos de sondeo disponibles slo los +puede llevar a cabo un usuario privilegiado. Esto es debido a que +envan y reciben paquetes en crudo, lo que hace necesario tener acceso como +administrador (root) en la mayora de los sistemas UNIX. En los +entornos Windows es recomendable utilizar una cuenta de administrador, +aunque Nmap algunas veces funciona para usuarios no privilegiados en +aquellas plataformas donde ya se haya instalado WinPcap. La necesidad +de privilegios como usuario administrador era una limitacin +importante cuando se empez a distribuir Nmap en 1997, ya que muchos +usuarios slo tenan acceso a cuentas compartidas en sistemas como +usuarios normales. Ahora, las cosas son muy distintas. Los ordenadores +son ms baratos, hay ms personas que tienen acceso permanente a +Internet, y los sistemas UNIX (incluyendo Linux y MAC OS X) son ms +comunes. Tambin se dispone de una versin para Windows de Nmap, lo +que permite que se ejecute en ms escritorios. Por todas estas razones, cada vez es menos +necesario ejecutar Nmap utilizando cuentas de sistema compartidas. +Esto es bueno, porque las opciones que requieren +de ms privilegios hacen que Nmap sea ms potente y flexible. + +Aunque Nmap intenta generar resultados precisos, hay que tener +en cuenta que estos resultados se basan en los paquetes que devuelve el +sistema objetivo (o los cortafuegos que estn delante de stos). Estos +sistemas pueden no ser fiables y envar respuestas cuyo objetivo sea +confundir a Nmap. Son an ms comunes los sistemas que no cumplen con +los estndares RFC, que no responden como deberan a las sondas de Nmap. Son +especialmente susceptibles a este problema los sondeos FIN, Null y +Xmas. Hay algunos problemas especficos a algunos tipos de sondeos que +se discuten en las entradas dedicadas a sondeos concretos. + +Esta seccin documenta las aproximadamente doce tcnicas de +sondeos de puertos que soporta Nmap. Slo puede utilizarse un mtodo +en un momento concreto, salvo por el sondeo UDP () +que puede combinarse con cualquiera de los sondeos TCP. Para que sea +fcil de recordar, las opciones de los sondeos de puertos son del +estilo , donde +C es una letra caracterstica del nombre +del sondeo, habitualmente la primera. La nica excepcin a esta regla +es la opcin obsoleta de sondeo FTP rebotado +(). Nmap hace un sondeo SYN por omisin, aunque lo +cambia a un sondeo Connect() si el usuario no tiene los suficientes +privilegios para enviar paquetes en crudo (requiere +acceso de administrador en UNIX) o si se especificaron objetivos +IPv6. De los sondeos que se listan en esta seccin los usuarios sin +privilegios slo pueden ejecutar los sondeos Connect() o de rebote +FTP. + + + + + (sondeo TCP SYN) + + +El sondeo SYN es el utilizado por omisin y el ms popular por +buenas razones. Puede realizarse rpidamente, sondeando miles de +puertos por segundo en una red rpida en la que no existan +cortafuegos. El sondeo SYN es relativamente sigiloso y poco molesto, +ya que no llega a completar las conexiones TCP. Tambin funciona +contra cualquier pila TCP en lugar de depender de la idiosincrasia +especfica de una plataforma concreta, al contrario de lo que pasa +con los sondeos de Nmap Fin/Null/Xmas, Maimon o pasivo. Tambin +muestra una clara y fiable diferenciacin entre los estados abierto, cerrado, y filtrado. + +A esta tcnica se la conoce habitualmente como sondeo medio +abierto, porque no se llega a abrir una conexin TCP completa. Se +enva un paquete SYN, como si se fuera a abrir una conexin real y +despus se espera una respuesta. Si se recibe un paquete SYN/ACK esto +indica que el puerto est en escucha (abierto), mientras que si se +recibe un RST (reset) indica que no hay nada escuchando en el +puerto. Si no se recibe ninguna respuesta despus de realizar algunas +retransmisiones entonces el puerto se marca como filtrado. Tambin se +marca el puerto como filtrado si se recibe un error de tipo ICMP no +alcanzable (tipo 3, cdigos 1,2, 3, 9, 10, 13). + + + + + + + (sondeo TCP connect()) + + +El sondeo TCP Connect() es el sondeo TCP por omisin cuando no +se puede utilizar el sondeo SYN. Esto sucede, por ejemplo, cuando el +usuario no tiene privilegios para enviar paquetes en crudo o cuando se +estn sondeando redes IPv6. Nmap le pide al sistema operativo +subyacente que establezcan una conexin con el sistema objetivo en el +puerto indicado utilizando la llamada del sistema connect(), a diferencia de otros tipos de +sondeo, que escriben los paquetes a bajo nivel. sta es la misma +llamada del sistema de alto nivel que la mayora de las aplicaciones +de red, como los navegadores web o los clientes P2P, utilizan para +establecer una conexin. Esta llamada es parte del interfaz de +programacin conocido como la API de conectores de Berkeley. Tambin, +en lugar de leer las respuestas directamente de la lnea, Nmap utiliza +esta API para obtener la informacin de estado de cada intento de +conexin. + +Generalmente es mejor utilizar un sondeo SYN, si ste est +disponible. Nmap tiene menos control sobre la llamada de alto nivel +Connect() que cuando utiliza +paquetes en crudo, lo que hace que sea menos eficiente. La llamada al +sistema completa las conexiones para abrir los puertos objetivo, en +lugar de realizar el reseteo de la conexin medio abierta como hace el +sondeo SYN. Esto significa que se tarda ms tiempo y son necesarios +ms paquetes para obtener la informacin, pero tambin significa que +los sistemas objetivos van a registrar probablemente la conexin. Un +IDS decente detectar cualquiera de los dos, pero la mayora de los +equipos no tienen este tipo de sistemas de alarma. Sin embargo, muchos +servicios de los sistemas UNIX habituales aadirn una nota en el +syslog, y algunas veces con un mensaje de error extrao, dado que Nmap +realiza la conexin y luego la cierra sin enviar ningn dato. Los +servicios realmente patticos morirn cuando sto pasa, aunque esto no +es habitual. Un administrador que vea muchos intentos de conexin en +sus registros que provengan de un nico sistema debera saber que ha +sido sondeado con este mtodo. + + + + + + + (sondeos UDP) + + +Aunque la mayora de los servicios ms habituales en Internet +utilizan el protocolo TCP, los servicios UDP tambin son +muy comunes. Tres de los ms comunes son los servicios DNS, SNMP, y +DHCP (puertos registrados 53, 161/162, y 67/68 respectivamente). Dado +que el sondeo UDP es generalmente ms lento y ms difcil que TCP, +algunos auditores de seguridad ignoran estos puertos. Esto es un +error, porque es muy frecuente encontrarse servicios UDP vulnerables y +los atacantes no ignoran estos protocolos. Afortunadamente, Nmap puede +utilizarse para hacer un inventario de puertos UDP. + +El sondeo UDP se activa con la opcin +. Puede combinarse con un tipo de sondeo TCP como +el sondeo SYN () para comprobar ambos protocolos +al mismo tiempo. + +Los sondeos UDP funcionan mediante el envo (sin datos) de una +cabecera UDP para cada puerto objetivo. Si se obtiene un error ICMP +que indica que el puerto no es alcanzable (tipo 3, cdigo 3) entonces +se marca el puerto como cerrado. Si +se recibe cualquier error ICMP no alcanzable (tipo 3, cdigos 1, 2, 9, +10, o 13) se marca el puerto como filtrado. En algunas ocasiones se recibir +una respuesta al paquete UDP, lo que prueba que el puerto est +abierto. Si no se ha recibido +ninguna respuesta despus de algunas retransmisiones entonces se +clasifica el puerto como abierto|filtrado. Esto significa que el +puerto podra estar abierto o que hay un filtro de paquetes bloqueando +la comunicacin. Puede utilizarse el sondeo de versin +() para diferenciar de verdad los puertos abiertos +de los filtrados. + +Uno de las grandes problemas con el sondeo UDP es hacerlo +rpidamente. Pocas veces llega una respuesta de un puerto abierto o +filtrado, lo que obliga a expirar a Nmap y luego a retransmitir los +paquetes en caso de que la sonda o la respuesta se perdieron. Los +puertos cerrados son an ms comunes y son un problema +mayor. Generalmente envan un error ICMP de puerto no +alcanzable. Pero, a diferencia de los paquetes RST que envan los +puertos TCP cerrados cuando responden a un sondeo SYN o Connect, +muchos sistemas imponen una tasa mxima de mensajes ICMP de puerto +inalcanzable por omisin. Linux y Solaris son muy estrictos con +esto. Por ejemplo, el ncleo de Linux versin 2.4.20 limita la tasa de +envo de mensajes de destino no alcanzable a uno por segundo (en +net/ipv4/icmp.c). + +Nmap detecta las limitaciones de tasa y se ralentiza para no +inundar la red con paquetes intiles que el equipo destino acabar +descartando. Desafortunadamente, un lmite como el que hace el ncleo +de Linux de un paquete por segundo hace que un sondeo de 65536 puertos +tarde ms de 18 horas. Puede acelerar sus sondeos UDP incluyendo ms +de un sistema para sondearlos en paralelo, haciendo un sondeo rpido +inicial de los puertos ms comunes, sondeando detrs de un +cortafuegos, o utilizando la opcin +para omitir los sistemas que respondan con lentitud. + + + + + + + ; ; (sondeos TCP Null, FIN, y Xmas) + + +Estos tres tipos de sondeos (aunque puede hacer muchos ms a +travs de la opcin que se describe en la +prxima seccin) aprovechan una indefinicin en la RFC de TCP que +diferencia los puertos abiertos y +cerrados. La pgina 65 dice que +si el estado del puerto [destino] es CERRADO .... un segmento +entrante que contiene un RST hace que se enve un RST en la +respuesta. Despus la pgina siguiente discute los paquetes +que se envan a puertos abiertos sin fijar los bits SYN, RST, o ACK, +diciendo: es improbable que llegue aqu, pero si lo hace, debe +descartar el segmento y volver. + +Cuando se sondean sistemas que cumplen con el texto de esta RFC, +cualquier paquete que no contenga los bits SYN, RST, o ACK resultar +en el envo de un RST si el puerto est cerrado. Mientras que no se +enviar una respuesta si el puerto est cerrado. Siempre y cuando se +incluyan esos tres bits es vlida la combinacin de cualquiera de los +otros tres (FIN, PSH, y URG). Nmap aprovecha esto con tres tipos de +sondeo: + + + Sondeo Null() + No fija ningn bit (la cabecera de banderas TCP es 0) + + sondeo FIN () + Solo fija el bit TCP FIN. + + sondeo Xmas () + Fija los bits de FIN, PSH, y URG flags, iluminando el paquete + como si fuera un rbol de Navidad. + + +Estos tres tipos de sondeos son exactamente los mismos en +comportamiento salvo por las banderas TCP que se fijen en los paquetes +sonda. Si se recibe un paquete RST entonces se considera que el puerto +est cerrado. Si no se recibe +ninguna respuesta el puerto se marca como cerrado|filtrado. El puerto se marca +filtrado si se recibe un error ICMP +no alcanzable (tipo 3, cdigo 1, 2, 3, 9, 10, o 13). + +La ventaja fundamental de este tipo de sondeos es que pueden +atravesar algunos cortafuegos que no hagan inspeccin de estados o +encaminadores que hagan filtrado de paquetes. Otra ventaja es que este +tipo de sondeos son algo ms sigilosos que, incluso, un sondeo +SYN. Sin embargo, no cuente con que pase siempre esto ya que la +mayora de los productos IDS pueden configurarse para detectarlos. El +problema es que no todos los sistemas siguen el estndar RFC 793 al +pie de la letra. Algunos sistemas envan respuestas RST a las sondas +independientemente de si el puerto est o no cerrado. Esto hace que +la mayora de los puertos se marquen como cerrados. Algunos sistemas operativos muy +utilizados que hacen sto son Microsoft Windows, muchos dispositivos +Cisco, BSDI, e IBM OS/400. Este sondeo no funciona contra sistemas +basados en UNIX. Otro problema de estos sondeos es que no se puede +distinguir los puertos abiertos de +algunos puertos filtrados, lo que +resulta en la respuesta abierto|filtrado. + + + + + + + (sondeo TCP ACK) + + +Este sondeo es distinto de otros que se han discutido hasta +ahora en que no puede determinar puertos abiertos (o incluso abiertos|filtrados). Se utiliza para mapear +reglas de cortafuegos, y para determinar si son cortafuegos con +inspeccin de estados y qu puertos estn filtrados. + +La sonda de un sondeo ACK slo tiene fijada la bandera ACK (a +menos que utilice ). Cuando se sondean +sistemas no filtrados los puertos abiertos y cerrados devolvern un paquete RST. Nmap +marca el puerto como no filtrado, +lo que significa que son alcanzables por el paquete ACK, pero no se +puede determinar si estn abiertos +o cerrados. Los puertos que no +responden o que envan mensajes de error ICMP en respuesta (tipo 3, +cdigo 1, 2, 3, 9, 10, o 13), se marcan como filtrados. + + + + + + + (sondeo de ventana TCP) + + +El sondeo de ventana (window, N. del T.) es exactamente igual +al sondeo ACK que se aprovecha de un detalle de implementacin de +algunos sistemas que permite diferenciar puertos abiertos de los +cerrados, en lugar de imprimir no +filtrado cuando se devuelve un RST. Hace esto examinando el +campo de ventana TCP del paquete RST devuelto. Algunos sistemas fijan +un tamao de ventana positivo para puertos abiertos (incluso para +paquetes RST) mientras que se utiliza una ventana de tamao cero para +los cerrados. As, en lugar de listar el puerto como no filtrado cuando se recibe un RST, el +sondeo de ventana permite listar el puerto como abierto o cerrado en funcin de si el valor de la +ventana TCP en ese paquete RST es positivo o cero, +respectivamente. + +Este sondeo depende de un detalle de implementacin de una +minora de sistemas q que existen en Internet, as que no es siempre +fiable. Los sistemas que no hacen sto habitualmente harn que se +muestren los puertos como cerrados. Por supuesto, es posible que el +sistema no tenga ningn puerto abierto. Si la mayora de los puertos +estn cerrados pero alguno de los +nmeros de puertos comunes (como pueda ser el 22, 25 53) estn +filtrados, entonces el sistema es +posible que sea susceptible a sto. Algunas veces hay sistemas que +mostrarn el comportamiento justo contrario. Si su sondeo muestra 1000 +puertos abiertos y 3 puertos cerrados o filtrados entonces es posible +que sean estos ltimos los que estn abiertos en realidad. + + + + + + + (sondeo TCP Maimon) + + +El sondeo Maimon debe su nombre a la persona que lo descubri: +Uriel Maimon. Describi la tcnica en la revista Phrack nmero 49 +(noviembre de 1996). Nmap, que incluye esta tcnica, se public dos +nmeros ms tarde. Esta tcnica es exactamente la misma a los sondeos +Null, FIN, y Xmas, pero en los que se enva una sonda +FIN/ACK. Segn el RFC 793 (TCP), se debera generar un paquete RST +cuando se responde a dicha sonda independientemente de si el puerto +est cerrado o abierto. Uriel se dio cuenta, sin embargo, de que +muchos sistemas derivados de BSD simplemente descartan el paquete si +el puerto est abierto. + + + + + + + (Sondeo TCP a medida) + + +Los usuarios realmente avanzados de Nmap no tienen por qu +limitarse a los tipos de sondeos preparados que se ofrecen. La opcin + le permite disear su propio sondeo +mediante la especificacin de banderas TCP arbitrarias. Deje volar a +su imaginacin al tiempo que evita las reglas de los sistemas de +deteccin de intrusos cuyos fabricantes slo echaron un vistazo a la +pgina de manual de Nmap y aadieron reglas especficas para +detectarlo. + +La opcin puede ser un valor +numrico como el 9 (PSH y FIN), aunque es ms sencillo utilizar nombres +simblicos. Slo tienes que juntar una combinacin de URG, ACK, +PSH, RST, SYN, +y FIN. Por ejemplo, la +configuracin fija +todas las banderas, aunque no es muy til para sondear. No importa el +orden en que se especifiquen los nombres. + +Adems de poder especificar las banderas que desee se puede +especificar el tipo de sondeo TCP (como o +). sto le dice a Nmap cmo debe interpretar las +respuestas. Por ejemplo, un sondeo SYN considera que si no se recibe +respuesta el puerto est filtrado +mientras que si no se recibe una respuesta en un sondeo FIN se trata +como abierto|filtrado. Nmap se +comportar igual que para el sondeo tipo base, con la diferencia de +que utilizar las banderas TCP que usted especifique. Se utiliza el +sondeo SYN si no se especifica ningn tipo base. + + + + + + + (Sondeo ocioso) + + + + Este es un mtodo de sondeo avanzado que le permite + hacer un sondeo de puertos TCP a ciegas de verdad (lo que + significa que no se enva ningn paquete al sistema objetivo + desde su direccin IP real). En lugar de sto se utiliza + un ataque con un canal alternativo que se aprovecha de la + generacin de la secuencia de los identificadores de + fragmentacin IP del sistema zombi para obtener informacin + de los puertos abiertos en el objetivo. Los sistemas IDS + mostrarn que el sondeo lo est realizando el sistema zombi + que especifique (que debe estar vivo y cumplir algunos + requisitos). Este tipo de sondeo tan fascinante es demasiado + complejo como para describirlo por completo en esta gua de + referencia por lo que escrib y publiqu un documento + informal que contiene todos los detalles, el documento est + disponible en . + + Adems de ser extraordinariamente sigiloso (debido a + su funcionamiento a ciegas), este tipo de sondeo permite + determinar las relaciones basadas en IP entre distintos + sistemas. El listado de puertos muestra los puertos abiertos + desde la perspectiva del sistema zombi. + As que puede analizar el mismo objetivo con zombis + distintos que cree que podran ser de confianza para ste (a + travs de las reglas de filtrados de los paquetes o reglas + de filtrados de encaminadores). + + Puede aadir un nmero de puerto separado por dos + puntos del sistema zombi si desea analizar un puerto + especfico del zombi para consultar los cambios IPID. Si no + lo hace Nmap utilizar el puerto que utiliza para pings TCP + por omisin (el puerto 80). + + + + + + + (sondeo de protocolo IP) + + +El sondeo de protocolo IP le permite determinar qu protocolos +(TCP, ICMP, IGMP, etc.) soportan los sistemas objetivo. Esto no es, +tcnicamente, un sondeo de puertos, dado que cambia los nmeros de +protocolo IP en lugar de los nmeros de puerto TCP UDP. Pero tambin +se puede utilizar la opcin para seleccionar los +nmeros de protocolo a analizar, los resultados se muestran en el +formato de tabla utilizado para los puertos e incluso utiliza el mismo +motor de sondeo que los mtodos de sondeo de puertos reales. Es tan +parecido a un sondeo de puertos que debe tratarse aqu. + +El sondeo de protocolos, adems de ser til en s mismo, +demuestra el poder del software de fuentes abiertas (opensource, N. del T.). Aunque la idea +fundamental era bastante sencilla, no haba pensado aadirla ni +tampoco haba habido personas que solicitaran esta +funcionalidad. Entonces, en el verano de 2000, se le ocurri la idea a +Gerhard Rieger y la implement escribiendo un parche excelente, +envindolo posteriormente a la lista de correo de +nmap-hackers. Incorpor ese parche en el rbol de cdigo de Nmap y +publiqu una nueva versin ese mismo da. Pocas piezas de programas +comerciales tienen usuarios tan entusiastas que disean y contribuyen +sus propias mejoras! + +El sondeo de protocolos utiliza mecanismos parecidos al sondeo +UDP. Enva cabeceras de paquetes IP iterando por el campo de 8 bits +que indica el protocolo IP, en lugar de iterar por el campo de nmero +de puerto de un paquete UDP. Las cabeceras generalmente estn vacas y +no contienen datos. De hecho, ni siquiera tienen una cabecera +apropiada para el protocolo que se indica. Las tres excepciones son +TCP, UDP e ICMP. Se incluye una cabecera de protocolo vlida para +stos porque algunos sistemas no los enviarn sin ellas y porque Nmap +ya tiene funciones para crearlas. El sondeo de protocolos espera la +recepcin de mensajes de ICMP protocolo no +alcanzable en lugar de mensajes ICMP puerto no alcanzable. Nmap marca +el protocolo como abierto si recibe +una respuesta en cualquier protocolo del sistema objetivo. Se marca +como cerrado si se recibe un error +ICMP de protocolo no alcanzable (tipo 3, cdigo 2). Si se reciben otros +errores ICMP no alcanzable (tipo 3, cdigos 1, 3, 9, 10, o 13) se +marca el protocolo como filtrado +(aunque al mismo tiempo indican que el protocolo ICMP est abierto). El protocolo se marca como +abierto|filtrado si no se recibe +ninguna respuesta despus de las retransmisiones. + + + + + + + + + (sondeo de + rebote FTP) + + +Una funcionalidad interesante en el protocolo FTP (RFC 959) es la +posibilidad de utilizar conexiones FTP de pasarela. Esta opcin puede +abusarse a muchos niveles as que muchos servidores han dejado de +soportarla. Una de las formas de abusar de sta es utilizar el +servidor de FTP para hacer un sondeo de puertos a otro +sistema. Simplemente hace falta decirle al servidor de FTP que enve +un fichero a cada puerto interesante del servidor objetivo cada +vez. El mensaje de error devuelto indicar si el puerto est abierto o +no. Esta es una buena manera de atravesar cortafuegos porque, +habitualmente, los servidores de FTP de una organizacin estn +ubicados en un lugar en el que tienen ms acceso a otros sistemas +internos que el acceso que tiene un equipo en Internet. Nmap puede +hacer sondeos con rebotes de FTP con la opcin +. Esta opcin toma un argumento como: +usuario:contrasea@servidor:puerto. +Servidor es el nombre de la direccin IP del +servidor FTP vulnerable. Al igual que con una URL normal, se puede +omitir +usuario:contrasea, +en caso de que se deseen utilizar credenciales de acceso annimo +(usuario: anonymous +contrasea:wwwuser@) Tambin se +puede omitir el nmero de puerto (y los dos puntos que lo +preceden). Si se omiten se utilizar el puerto FTP estndar (21) en +servidor. + +Esta vulnerabilidad era muy habitual en 1997, el ao que se +public Nmap, pero ya ha sido arreglada en muchos sitios. An siguen +existiendo servidores vulnerables as que merece la pena probar este +sondeo si lo dems falla. Si su objetivo es atravesar un cortafuegos, +analice la red objetivo en busca del puerto 21 (o incluso cualquier +servicio FTP, si sondea todos los puertos y activa la deteccin de +versiones). Despus intente un sondeo de rebote utilizando cada +uno. Nmap le indicar si el sistema es o no vulnerable. Si est +intentado ocultar sus huellas no tiene que (y de hecho no debera) +limitarse a servidores en la red objetivo. En cualquier caso, antes de +empezar a sondear Internet al azar para buscar servidores de FTP +vulnerables, tenga en cuenta que pocos administradores de sistemas +apreciarn el que abuse de sus servidores de esta forma. + + + + + + + + Especificacin de puertos y orden de sondeo + + Nmap ofrece distintas opciones para especificar los puertos + que se van a sondear y si el orden de los sondeos es aleatorio o + secuencial. Estas opciones se aaden a los mtodos de sondeos que se han + discutido previamente. Nmap, por omisin, sondea todos los puertos hasta el + 1024 adems de algunos puertos con nmeros altos listados en el fichero + nmap-services para los protocolos que + se sondeen. + + + + + (Slo sondea unos puertos especficos) + + + + Esta opcin especifica los puertos que desea sondear y + toma precedencia sobre los valores por omisin. Puede especificar + tanto nmeros de puerto de forma individual, as como rangos + de puertos separados por un guin (p. ej. 1-1023). Puede omitir + el valor inicial y/o el valor final del rango. Nmap utilizar + 1 65535 respectivamente. De esta forma, puede especificar + para sondear todos los puertos desde el 1 + al 65535. Se permite sondear el puerto cero siempre que lo + especifique explcitamente. Esta opcin especifica el nmero de + protocolo que quiere sondear (de 0 a 255) en el caso de que est + sondeando protocolos IP (). + + Puede especificar un protocolo especfico cuando sondee + puertos TCP y UDP si precede el nmero de puerto con + T: + o U:. + El calificador dura hasta que especifique otro calificador. + Por ejemplo, la opcin sondeara los puertos + UDP 53,111, y 137, as como los puertos TCP listados. + Tenga en cuenta que para sondear tanto UDP como TCP deber especificar + la opcin + y al menos un tipo de sondeo TCP (como + , , o ). + Si no se da un calificador de protocolo se aadirn los nmeros de + puerto a las listas de todos los protocolos. + + + + + + + (Sondeo rpido (puertos limitados)) + + + + Indica que slo quiere sondear los puertos listados en el fichero + nmap-services + que se incluye con nmap (o el fichero de protocolos si indica + ). Esto es ms rpido que sondear todos los + 65535 puertos de un sistema. La diferencia de velocidad con el sondeo TCP + por omisin (unos 1650 puertos) no es muy alta dado que esta lista + contiene muchos puertos TCP (ms de 1200). La diferencia puede + ser muy grande si especifica su propio fichero + nmap-services ms pequeo + si utiliza la opcin . + + + + + + (No aleatorizar los puertos) + + + Nmap ordena de forma aleatoria los puertos a sondear por + omisin (aunque algunos puertos comnmente accesibles se ponen al + principio por razones de eficiencia). Esta aleatorizacin + generalmente es deseable, pero si lo desea puede especificar la + opcin para analizar de forma secuencial los + puertos. + + + + + + + Deteccin de servicios y de versiones + + + Si le indica a Nmap que mire un sistema remoto le podr decir que + tiene abiertos los puertos 25/tcp, 80/tcp y 53/udp. Informar que + esos puertos se corresponden habitualmente con un servidor de + correo (SMTP), servidor de web (HTTP) o servidor de nombres (DNS), + respectivamente, si utilizas su base de datos nmap-services con ms de 2.200 puertos + conocidos. Generalmente este informe es correo dado que la gran + mayora de demonios que escuchan en el puerto 25 TCP son, en + realidad, servidores de correo. Pero no debe confiar su + seguridad en este hecho! La gente ejecuta a veces servicios + distintos en puertos inesperados + + An en el caso de que Nmap tenga razn y el servidor de + ejemplo indicado arriba est ejecutando servidores de SMTP, HTTP y + DNS sto no dice mucho. Cuando haga un anlisis de + vulnerabilidades (o tan slo un inventario de red) en su propia + empresa o en su cliente lo que habitualmente tambin quiere saber + es qu versin se est utilizando del servidor de correcto y de + DNS. Puede ayudar mucho a la hora de determinar qu ataques pueden + afectar a un servidor el saber el nmero de versin exacto de + ste. La deteccin de versiones le ayuda a obtener esta + informacin. + + La deteccin de versiones pregunta para obtener ms + informacin de lo que realmente se est ejecutando una vez se han + detectado los puertos TCP y/o UDP con alguno de los mtodos de + sondeo. La base de datos nmap-service-probes contiene sondas + para consultar distintos servicios y reconocer y tratar distintas + respuestas en base a una serie de expresiones. Nmap intenta + determinar el protocolo del servicio (p. ej. ftp, ssh, telnet + http), el nombre de la aplicacin (p. ej. Bind de ISC, http de + Apache, telnetd de Solaris), un nmero de versin, un tipo de + dispositivo (p. ej. impresora o router), la familia de sistema + operativo (p. ej. Windows o Linux) y algunas veces algunos + detalles miscelneos como, por ejemplo, si un servidor X acepta + cualquier conexin externa, la versin de protocolo SSH o el + nombre de usuario Kazaa). Por supuesto, la mayora de los + servicios no ofrecen toda esta informacin. Si se ha compilado + Nmap con soporte OpenSSL se conectar tambin a servidores SSL + para determinar qu servicio escucha detrs de la capa de + cifrado. Se utiliza la herramienta de pruebas RPC de Nmap + () de forma automtica para determinar el + programa RPC y el nmero de versin si se descubren servicios RPC. + Algunos puertos UDP se quedan en estado open|filtered (N. del T., + 'abierto|filtrado') si un barrido de puertos UDP no puede + determinar si el puerto est abierto o filtrado. La deteccin de + versiones intentar obtener una respuesta de estos puertos (igual + que hace con puertos abiertos) y cambiar el estado a abierto si + lo consigue. Los puertos TCP en estado open|filtered se tratan de forma + similar. Tenga en cuenta que la opcin de Nmap + actualiza la deteccin de versiones entre otras cosas. Puede + encontrar un documento describiendo el funcionamiento, modo de + uso, y particularizacin de la deteccin de versiones en . + + Cuando Nmap obtiene una respuesta de un servicio pero no + encuentra una definicin coincidente en la base de datos se + imprimir una firma especial y un URL para que la enve si sabe lo + que est ejecutndose detrs de ese puerto. Por favor, tmese + unos minutos para enviar esta informacin para ayudar a todo el + mundo. Gracias a estos envos Nmap tiene ahora alrededor de 3.000 + patrones para ms de 350 protocolos distintos como smtp, ftp, + http, etc. + + La deteccin de versiones se activa y controla con la + siguientes opciones: + + + + + + + (Deteccin de versiones) + + + Activa la deteccin de versiones como se ha descrito + previamente. Puede utilizar la opcin + en su lugar para activar tanto la deteccin de versiones + como la deteccin de sistema operativo. + + + + + + + (No excluir ningn puerto de la + deteccin de versiones) + + + La deteccin de versiones de Nmap omite el puerto TCP 9100 por + omisin porque algunas impresoras imprimen cualquier cosa + que reciben en este puerto, lo que da lugar a la impresin + de mltiples pginas con solicitudes HTTP get, intentos de + conexin de SSL, etc. Este comportamiento puede cambiarse + modificando o eliminando la directiva Exclude en nmap-service-probes, o + especificando para sondear todos + los puertos independientemente de lo definido en la + directiva Exclude. + + + + + + (Fijar + la intensidad de la deteccin de versiones) + + + + Nmap enva una serie de sondas cuando se activa la + deteccin de versiones () con un nivel + de rareza preasignado y variable de 1 a 9. Las sondas con un + nmero bajo son efectivas contra un amplio nmero de + servicios comunes, mientras que las de nmeros ms altos se + utilizan rara vez. El nivel de intensidad indica que sondas + deberan utilizarse. Cuanto ms alto sea el nmero, mayor las + probabilidades de identificar el servicio. Sin embargo, los + sondeos de alta intensidad tardan ms tiempo. El valor de + intensidad puede variar de 0 a 9. El valor por omisin es 7. + Se probar una sonda independientemente del nivel de + intensidad cuando sta se registra para el puerto objetivo a + travs de la directiva nmap-service-probes ports. De esta forma se asegura + que las sondas de DNS se probarn contra cualquier puerto + abierto 53, las sondas SSL contra el puerto 443, etc. + + + + + + + (Activar modo ligero) + + + ste es un alias conveniente para + . Este modo ligero + hace que la deteccin de versiones sea ms rpida pero + tambin hace que sea menos probable identificar algunos servicios. + + + + + + (Utilizar todas las sondas) + + + ste es un alias para , + hace que se utilicen todas las sondas contra cada puerto. + + + + + + (Trazar actividad de sondeo + de versiones) + + + Esta opcin hace que Nmap imprima informacin de + depuracin detallada explicando lo que est haciendo el sondeo + de versiones. Es un conjunto de lo que obtendra si utilizara + la opcin . + + + + + + (Sondeo RPC) + + + Este mtodo funciona conjuntamente con los distintos + mtodos de sondeo de puertos de Nmap. Toma todos los puertos + TCP/UDP que se han encontrado y los inunda con rdenes de + programa NULL SunRPC con el objetivo de determinar si son + puertos RPC y, si es as, los programas y nmero de versin + que estn detrs. As, puede obtener de una forma efectiva la + misma informacin que rpcinfo + -p aunque el mapeador de puertos (portmapper, N. del T.) + est detrs de un cortafuegos (o protegido + por TCP wrappers). Los seuelos no funcionan con el sondeo RPC + actualmente. Esta opcin se activa automticamente como parte + de la deteccin de versiones () si la ha + seleccionado. Rara vez se utiliza la opcin + dado que la deteccin de versiones lo + incluye y es ms completa. + + + + + + + + + + Deteccin de sistema operativo + + Uno de los aspectos ms conocidos de Nmap es la deteccin + del sistema operativo (SO) en base a la comprobacin de huellas + TCP/IP. Nmap enva una serie de paquetes TCP y UDP al sistema + remoto y analiza prcticamente todos los bits de las + respuestas. Nmap compara los resultados de una docena de pruebas como puedan + ser el anlisis de ISN de TCP, el soporte de opciones TCP y su + orden, el anlisis de IPID y las comprobaciones de tamao inicial + de ventana, con su base de datos + nmap-os-fingerprints. Esta + base de datos consta de ms de 1500 huellas de sistema operativo + y cuando existe una coincidencia se presentan los detalles del + sistema operativo. Cada huella contiene una descripcin en texto + libre del sistema operativo, una clasificacin que indica el + nombre del proveedor (por ejemplo, Sun), el sistema operativo + subyacente (por ejemplo, Solaris), la versin del SO (por + ejemplo, 10) y el tipo de dispositivo (propsito general, + encaminador, conmutador, consola de videojuegos, etc.). + + Nmap le indicar una URL donde puede enviar las huellas si + conoce (con seguridad) el sistema operativo que utiliza el equipo + si no puede adivinar el sistema operativo de ste y las + condiciones son ptimas (encontr al menos un puerto abierto y + otro cerrado). Si enva esta informacin contribuir al conjunto + de sistemas operativos que Nmap conoce y la herramienta ser as + ms exacta para todo el mundo. + + La deteccin de sistema operativo activa, en cualquier caso, + una serie de pruebas que hacen uso de la informacin que sta + recoge. Una de estas pruebas es la medicin de tiempo de + actividad, que utiliza la opcin de marca de tiempo TCP (RFC 1323) + para adivinar cunto hace que un equipo fue reiniciado. Esta + prueba slo funciona en sistemas que ofrecen esta + informacin. Otra prueba que se realiza es la clasificacin de + prediccin de nmero de secuencia TCP. Esta prueba mide de forma + aproximada cunto de difcil es crear una conexin TCP falsa + contra el sistema remoto. Se utiliza cuando se quiere hacer uso de + relaciones de confianza basadas en la direccin IP origen (como es + el caso de rlogin, filtros de cortafuegos, etc.) para ocultar la + fuente de un ataque. Ya no se hace habitualmente este tipo de + malversacin pero an existen muchos equipos que son vulnerables a + sta. Generalmente es mejor utilizar la clasificacin en ingls + como: worthy challenge (desafo difcil, N. del + T.) o trivial joke (broma fcil, N. del T.). Esta + informacin slo se ofrece en la salida normal en el modo + detallado (). Tambin se informa de la + generacin de nmeros de secuencia IPID cuando se activa el modo + detallado conjuntamente con la opcin . La + mayora de los equipos estarn en la clase + incremental, lo que significa que incrementan el + campo ID en la cabecera IP para cada paquete que envan. Esto hace + que sean vulnerables a algunos ataques avanzados de obtencin de + informacin y de falseo de direccin. + + + Puede encontrar un trabajo traducido a una docena de idiomas + que detalla el modo de funcionamiento, utilizacin y ajuste de la + deteccin de versiones en . + + La deteccin de sistema operativo se activa y controla con + las siguientes opciones: + + + + + (Activa la deteccin de sistema operativo) + + + Tal y como se indica previamente, activa la deteccin + de sistema operativo. Tambin se puede utilizar la opcin + para activar la deteccin de sistema + operativo y de versiones. + + + + + + (Limitar la deteccin de + sistema operativo a los objetivos prometedores) + + + La deteccin de sistema operativo funcionar mejor si + se dispone de un puerto TCP abierto y otro cerrado. Defina + esta opcin si no quiere que Nmap intente siquiera la + deteccin de sistema operativo contra sistemas que no + cumplan este criterio. Esta opcin puede ahorrar mucho + tiempo, sobre todo si est realizando sondeos + sobre muchos sistemas. Slo es de + aplicacin cuando se ha solicitado la deteccin de sistema + operativo con la opcin o + . + + + + + + ; + (Aproximar los resultados de la deteccin de sistema operativo) + + + Cuando Nmap no puede detectar un sistema operativo que + encaje perfectamente a veces ofrecer posibilidades que se + aproximen lo suficiente. Las opciones tienen que aproximarse + mucho al detectado para que Nmap haga esto por + omisin. Cualquiera de estas dos opciones (equivalentes) harn + que Nmap intente aproximar los resultados de una forma ms + agresiva. + + + + + + + + + Control de tiempo y rendimiento + Una de las prioridades durante el desarrollo de Nmap ha sido + siempre el rendimiento. Un sondeo por omisin (nmap + nombre_de_sistema) de + cualquier sistema en una red local tarda un quinto de + segundo. Esto es menos que el tiempo que uno tarda en parpadear, + pero se va sumando al tiempo que se tarda cuando se realiza un + sondeo sobre decenas o centenares o miles de equipos. Adems, + ciertas opciones de sondeo como puedan ser el sondeo UDP y la + deteccin de versiones pueden incrementar los tiempos de sondeos + de forma sustancial. Tambin puede afectar a este tiempo algunas + configuraciones de sistemas cortafuegos, especialmente cuando + implementan limitaciones a la tasa de respuestas. Aunque Nmap + trabaja en paralelo y tiene muchos algoritmos avanzados para + acelerar estos sondeos, el usuario tiene el control en ltima + instancia de cmo funciona ste. Los usuarios con experiencia + pueden definir las rdenes a Nmap cuidadosamente para obtener slo + la informacin que necesitan mientras que, al mismo tiempo, + cumplen las limitaciones de tiempo que tengan. + + Algunas tcnicas que pueden ayudar a mejorar los tiempos de + sondeo son el limitar el nmero de pruebas que no sean crticas y + actualizar a la ltima versin de Nmap (se hacen mejoras de + rendimiento con cierta frecuencia). La optimizacin de los + parmetros de control de tiempo pueden introducir tambin + diferencias significativas. Las opciones aplicables se detallan a + continuacin. + +Algunas opciones aceptan un parmetro tiempo. Este valor se especifica, por omisin, en +milisegundos, aunque puede seguirlo de ‘s’, ‘m’, o +‘h’ para indicar segundos, minutos, u horas. Por tanto, el valor +900000, 900s, y 15m hacen +exctamente lo mismo al aplicarse a la opcin +. + + + + + + ; + (Ajustar el tamao del grupo para los sondeos + paralelos) + + Nmap tiene la capacidad de hacer un sondeo de puertos o + versiones sobre mltiples sistemas en paralelo. Hace eso + dividiendo el espacio de direcciones IP en grupos y analizando + un grupo cada vez. Habitualmente es ms eficiente utilizar + grupos grandes. La contrapartida es que los resultados por + sistema no se pueden dar hasta que se ha terminado de analizar + todo el grupo. En este caso, si Nmap empezara con un tamao de + grupo de 50, el usuario no obtendra ningn resultado hasta + que termine con los primeros 50 (excepto + las actualizaciones que enva el modo detallado) + + + Nmap tiene una implementacin de compromiso por omisin + para resolver este conflicto. Empieza los sondeos con un + tamao de grupo inferior a cinco para que los primeros + resultados se obtengan con rapidez y despus se incrementa el + tamao de grupo hasta, como mucho, 1024. El nmero exacto por omisin + depende de las opciones dadas en la ejecucin. Nmap utiliza + grupos ms grandes para los sondeos UDP y para aquellos sondeos + TCP con pocos puertos por razones de eficiencia. + + Nmap nunca excede el tamao indicado cuando ste se + especifica con . Si se indica + un valor mnimo en Nmap + intentar mantener el tamao de los grupos por encima de ese + nivel. Nmap puede tener que utilizar grupos ms pequeos si no + hay suficientes sistemas objetivo en una interfaz dada para + cumplir el mnimo especificado. Se pueden especificar ambos + valores para mantener el tamao de grupo dentro de un rango + especfico, aunque sto es poco habitual. + + El uso principal de esta opcin es el de especificar el + tamao de grupo mnimo para que los sondeos se ejecuten ms + rpidamente. 256 es un valor habitual para sondear la red + en trozos del tamao de una clase C. Si se trata de un sondeo + con muchos puertos no sirve de mucho incrementar ese nmero. Si + los sondeos son de pocos puertos puede ayudar utilizar un tamao + de grupo de 2048 o ms elementos. + + + + + + + ; + (Ajustar el nmero de sondas enviadas en paralelo) + + +Esta opcin controla el nmero de sondas activas para un grupo +de sistemas. stas se utilizan para los sondeos de puertos y el descubrimiento +de equipos. Por omisin, Nmap calcula un valor ideal del nmero de sondas a enviar en paralelo +basado en el rendimiento de la red. Si se pierden paquetes Nmap reduce +este valor para ir ms lento y permitir menos sondas activas. El valor +ideal de las sondas se incrementar a medida que la red muestre que +puede utilizarse de nuevo. Estas opciones ponen un valor mnimo o +mximo a esa variable. Por omisin, el valor ideal +puede ser inferior a 1 si la red no es fiable e incrementarse a varios +cientos si sta funciona correctamente. + +Lo ms habitual es fijar el valor + a un nmero mayor +que uno para que los sondeos contra sistemas o +redes poco eficientes sean rpidos. Esta es una opcin que tiene sus +riesgos, ya que si se define un valor demasiado elevado se +puede reducir la precisin del sondeo. Si se fija tambin se impide a Nmap +controlar el paralelismo de forma dinmica basndose en las +condiciones de la red. Un valor razonable puede ser diez, aunque slo +debe ajustarse como ltimo recurso. + +A veces se fija la opcin a +uno para evitar que Nmap enve ms de una sonda a la vez a los sistemas. Esto +puede ser til conjuntamente con (del +que se habla ms adelante), aunque habitualmente es suficiente con +utilizar este ltimo por s slo. + + + + + + + , + , + (Ajustar expiracin de sondas) + + +Nmap mantiene un valor de expiracin en ejecucin para saber +cunto tiempo debe esperar para recibir la respuesta a una sonda o +para retransmitir la sonda. Este valor est calculado en base a los +tiempos de respuesta de las sondas previamente enviadas. El valor de +expiracin puede llegar a ser de varios segundos si se demuestra que la +latencia de la red es significativa y variable. Tambin empieza en un +valor conservador (alto) y puede mantenerse en ese valor durante un +tiempo cuando Nmap sondee equipos que no respondan. + +Se pueden +recortar los tiempos de anlisis de forma apreciable si se especifican +valores para y + por debajo de los de por +omisin. Esto es especialmente verdadero en sondeos +en los que no se envan paquetes ICMP () y en +aquellos realizados en redes con mucho filtrado. Sin embargo, no se debera +establecer a valores muy agresivos. El sondeo puede +acabar tardando ms de lo esperado si se especifica un valor bajo que +hace que las sondas expiren y se retransmitan mientras est llegando +la respuesta. + +En el caso de que todos los sistemas estn en una red local al +equipo que sondea, un valor razonablemente agresivo para + es 100 milisegundos. Si se est +rutando, primero enve un ping a un equipo en la red con la +herramienta ICMP ping, o con una herramienta para construir paquetes a +medida como hping2 dado que es ms probable que atraviese cualquier +cortafuegos. Consulte el tiempo mximo de la ronda (tiempo entre solicitud y respuesta) despus de haber +enviado unos diez paquetes. Una vez obtenido ese valor puede +utilizarlo el doble de ste para y +triplicarlo o cuadruplicarlo para . +Yo no configuro habitualmente el valor mximo rtt por debajo de 100ms, +independientemente del valor que den los ping. Ni tampoco lo pongo por +encima de 1000ms. + + +La opcin se utiliza rara vez, +aunque puede ser til cuando la red es tan poco fiable que incluso los +valores por omisin son demasiado agresivos. Dado que Nmap slo reduce +el tiempo al mnimo cuando la red parece fiable este valor es poco +habitual y debera reportarse como una errata en la lista de correo +nmap-dev. + + + + + + + + (Especifica + el nmero mximo de sondas de puertos que se retransmiten) + + + + Un puerto podra estar filtrado si Nmap no recibe ninguna + respuesta a una sonda de anlisis de puertos. O puede que la sonda o la + respuesta a sta se perdiera en la red. Tambin puede darse el caso de + que el sistema objetivo tenga una limitacin de tasa de trfico que + haga que la respuesta quede bloqueada temporalmente. As, Nmap lo + intenta de nuevo retransmitiendo la sonda inicial. Puede que lo haga + ms de una vez, si Nmap detecta que hay problemas en el funcionamiento + de la red, antes de abandonar los sondeos de un puerto. Cuando el + rendimiento es crtico, se pueden acelerar los sondeos limitando el + nmero de retransmisiones permitidas. Puede especificar + para que no se haga ninguna + retransmisin, aunque no se recomienda. + + + El valor por omisin (cuando no hay una plantilla + ) es permitir las retransmisiones. Nmap + generalmente slo har una retransmisin si la red parece fiable y el + sistema objetivo no tiene una limitacin de tasa de trfico. Es por + esto por lo que la mayora de los sondeos no se vern afectados si + reduce el valor de a un valor pequeo, + como pudiera ser tres. Estos valores pueden hacer que los sondeos a + equipos lentos (limitados en tasa) sean ms rpidos. Puede que pierda + informacin cuando Nmap d por finalizado el anlisis de un puerto + antes de tiempo, aunque eso puede ser mejor que hacer que la expire el + y se pierda toda la informacin del + objetivo. + + + + + + + (Abandona + equipos objetivo lentos) + + + +Hay algunos equipos en los que simplemente se tarda +demasiado en sondearlos. Esto puede deberse a +hardware de red de bajo rendimiento o poco fiable o bien a software, +limitaciones de tasas de paquetes o un cortafuegos demasiado +restrictivo. Puede llegar a darse que Nmap dedica la mayor parte del +tiempo de anlisis en sondear un porcentaje reducido de sistemas. A +veces es mejor reducir las bajas y saltarse esos sistemas +inicialmente. Esto puede hacerse con la opcin +, indicando el tiempo mximo +que est dispuesto a esperar. +Yo especifico habitualmente 30m para +asegurarse de que Nmap no gasta ms de media hora en un solo sistema. +Tenga en cuenta que Nmap puede estar sondeando otros equipos +al mismo tiempo durante esa media hora, por lo que no se pierde todo +ese tiempo. Cualquier sistema que expire se salta. No se imprimir la +tabla de puertos, la deteccin de sistema operativo o la deteccin de +versiones para ese sistema. + + + + + + + ; + (Ajusta la demora entre sondas) + + +Esta opcin hace que Nmap espere al menos el tiempo +indicado entre cada sonda enviada a un sistema +determinado. +Esto es muy til cuando se quiere limitar la tasa de +trfico. Los sistemas Solaris (entre otros) respondern a paquetes de +sondeos UDP con slo un mensaje ICMP por segundo. Enviar ms que eso +con Nmap sera perder el tiempo. Un valor de 1s para + har que Nmap se mantenga a esa +velocidad reducida. Nmap intenta detectar limitaciones de tasa y +ajustar la demora del sondeo como considere necesario, pero a veces +viene bien especificarlo de forma explcita si ya sabe qu valor es +mejor. + +El sondeo se ralentiza de forma drstica cuando Nmap incrementa el valor +del tiempo de espera para poder tratar las limitaciones de tasa. Puede +utilizar la opcin para indicar el tiempo +mximo de espera que permitir Nmap. Si especifica un valor muy pequeo tendr +retransmisiones intiles de paquetes y posiblemente no detecte puertos para los +que el objetivo implemente tasas de trfico estrictas. + +Tambin se puede usar para evitar +sistemas de deteccin y prevencin de intrusos (IDS/IPS) basados en +umbrales. + + + + + + + + (Fija una plantilla de tiempos) + + + +Algunas personas encuentran confusos los controles de grano fino +explicados previamente, aunque stos sean muy potentes y +efectivos. Adems, se puede a veces tardar ms tiempo en encontrar los +valores ms apropiados que en hacer el anlisis que se quiere +optimizar. Nmap ofrece un acercamiento ms sencillo, basado en seis +plantillas de tiempos. Puede especificar cualquiera de stas con la +opcin + seguido de un nmero o su nombre. +Los nombre de las plantillas son: paranoico (0), sigiloso (1), amable +(2), normal (3), agresivo (4) y loco (5) (respectivamente "paranoid", +"sneaky", "polite", "normal", "aggressive" e "insane", N. de. T.). +Las primeras dos se utilizan para evadir IDS. El modo amable reduce el +sondeo para que ste utilice menos ancho de banda y menos recursos de +los sistemas analizados. El modo normal es el valor por omisin, as +que la opcin no hace nada realmente. +El modo agresivo hace que los sondeos sean ms rpidos al asumir que +est en una red razonablemente ms rpida y fiable. En modo loco asume +que est en una red extraordinariamente rpida o que est dispuesto a +sacrificar fiabilidad por velocidad. + +Estas plantillas permiten que el usuario especifique cuan +agresivo quiere ser, al mismo tiempo que deja que sea Nmap el que +escoja los valores exactos de tiempos. Las plantillas hacen tambin +algunos ajustes menores de velocidad para los cuales no existe an una +opcin de control de grano fino. Por ejemplo, + prohbe que la expiracin en sondeos dinmicos +exceda los 10ms para puertos TCP y limita ese +valor a 5 milisegundos. Las plantillas pueden utilizarse combinadas +con controles de grano fino, siempre que se especifique primero la +plantilla. Si no lo hace as los valores especificados por la +plantilla modificarn los valores que defina como opcin. Le +recomiendo utilizar cuando sondee redes +razonablemente modernas y fiables. Mantenga esa opcin al principio de +la lnea de rdenes an cuando especifique otras opciones de control +de grano fino para poder beneficiarse de las optimizaciones menores +que activa. + +Le recomiendo que empiece siempre con si +est utilizando una conexin de banda ancha o conexin Ethernet +decente. Algunas personas adoran la opcin aunque +es demasiado agresiva para mi gusto. Otras personas especifican la +opcin porque piensan que es menos probable que +bloqueen sistemas o porque se consideran a s mismos amables en +general. Muchas veces no se dan cuenta de lo lenta que es realmente. Su sondeo puede llegar a tardar diez +veces ms que un sondeo por omisin. Dado que las +cadas de sistemas y problemas de ancho de banda son raros con las +opciones de tiempos por omisin (), lo recomiendo +habitualmente para las personas cuidadosas. Para reducir estos +problemas es ms efectivo omitir la deteccin de versiones que jugar +con los valores de tiempos. + +Mientras que puede ser til evitar alarmas de IDS con + y , ste tardar mucho ms +tiempo para sondear miles de sistemas o puertos. Para este tipo de +sondeos puede que prefiera fijar los valores exactos de tiempos que +necesita antes que utilizar los valores predefinidos para + y . + +Los efectos principales del uso de es la +serializacin de los sondeos de forma que slo se sondea un puerto +cada vez, y se espera cinco minutos antes de enviar cada sonda. Las +opciones y son similares pero +slo esperan 15 y 0.4 segundos entre sondas, respectivamente. El +comportamiento por omisin de Nmap es , que incluye +sondeos en paralelo. es equivalente a especificar + y +fija el valor mximo para las demoras de sondeos TCP a 10 +milisegundos. hace lo mismo que + as como +definir el valor mximo para las demoras de sondeos TCP a 5ms. + + + + + + + + Evasin de cortafuegos/IDS y falsificacin + +Muchos pioneros de Internet haban previsto una red global abierta +con un espacio de direcciones IP universal que permitiese conexiones +virtuales entre dos nodos cualquiera. Esto permitira a los equipos actuar +como verdaderos iguales, sirviendo y recuperando informacin el +uno del otro. La gente podra acceder a todos los sistemas de su casa desde +el trabajo, cambiando las propiedades del control del clima o desbloqueando +puertas. Esta visin de una conectividad universal fue sofocada por +la escasez del espacio de direcciones y los problemas de seguridad. Al +comienzo de la dcada de los aos 90, las organizaciones empezaron a replegar +cortafuegos con el propsito de reducir la conectividad. Se acordonaron redes +enormes para protegerlas de la Internet no filtrada con +pasarelas (proxies, N. del T.) de aplicacin, sistemas de traduccin +de direcciones de red y filtros de paquetes. Del flujo sin restricciones +de la informacin se pas a una regulacin estricta de los canales de +comunicacin aprobados y del contenido que pasa por ellos. + +Los filtros de red como los cortafuegos pueden hacer muy +difcil el anlisis de una red. Esto no va a ser ms fcil en el futuro, +ya que uno de los objetivos de estos dispositivos es generalmente limitar +el reconocimiento casual de la red. En cualquier caso, Nmap ofrece +varias funcionalidades para ayudar a entender estas redes complejas, y +que tambin sirven para verificar que los filtros funcionan como se +espera de ellos. Incluso tiene mecanismos para saltarse las defensas +que no hayan sido implementadas del todo correctamente. Uno de los mejores +mtodos de entender la posicin de la seguridad de su red es intentar +comprometerla. Empiece a pensar como un atacante, e intenta +utilizar las tcnicas de esta seccin contra sus propias redes. Lance +un sondeo de rebote FTP, un sondeo pasivo, un ataque de fragmentacin, +o intente realizar un tnel desde una de sus propias pasarelas. + +Las compaas, adems de restringir la actividad de red, estn +monitorizando cada vez ms el trfico con sistemas de deteccin de intrusos (IDS, Intrusion Detection Systems, N. del T.). Todos los IDS principales vienen preinstalados con reglas diseadas para detectar sondeos de Nmap +porque, a veces, se realizan sondeos previos a un ataque. Muchos de estos productos han +mutado recientemente para convertirse en sistemas de +prevencin de intrusiones (IPS) que bloquean activamente +el trfico reconocido como maligno. Desafortunadamente para los administradores +de redes y para los fabricantes de IDS es muy difcil detectar las malas intenciones +analizando los datos de los paquetes. Los atacantes con +paciencia, habilidad y con la ayuda de ciertas opciones de Nmap pueden, generalmente, +esquivar el anlisis de los IDS sin ser detectados. +Mientras tanto, los administradores deben lidiar con un alto nmero de falsos positivos +debido a que algunas actividades inocentes se diagnostican errneamente y generan +alarmas o se bloquean. + + +Algunas personas sugieren que Nmap no debera ofrecer +funcionalidades de evasin de cortafuegos o para esquivar los IDS, +argumentando que es igual de probable que las funcionalidades las +utilicen los atacantes como que las utilicen los administradores para +mejorar la seguridad. El problema con esta forma de pensar es que los +atacantes van a utilizar estos mtodos de todas formas: encontraran +otra herramienta para hacerlo o parchearan a Nmap para aadrsela. Al +mismo tiempo, los administradores tendran muchos ms problemas para +hacer su trabajo. Es mucho mejor defensa utilizar servidores FTP +modernos y parcheados que intentar prevenir la distribucin de +herramientas que permitan la implementacin de ataques de rebote +FTP. + +No hay ninguna herramienta mgica (u opcin de Nmap) que permita +detectar y evitar cortafuegos y sistemas IDS. Esto requiere habilidad +y experiencia. Un tutorial va ms all del alcance de esta gua de +referencia, que slo lista las opciones relevantes y describe lo que +hacen. + + + + + (fragmentar los paquetes); + (utilizar el MTU especificado) + + + + La opcin hace que el sondeo + solicitado (incluyendo los sondeos ping) utilicen paquetes + IP fragmentados pequeos. La idea es dividir la cabecera del + paquete TCP entre varios paquetes para hacer ms difcil que + los filtros de paquetes, sistemas de deteccin de intrusos y + otras molestias detecten lo que se est haciendo. Tenga + cuidado con esta opcin! Algunos programas tienen problemas + para manejar estos paquetes tan pequeos. El viejo sniffer + llamado Sniffit da un fallo de segmentacin inmediatamente + despus de recibir el primero de estos pequeos + fragmentos. Especifica esta opcin una sola vez y Nmap + dividir los paquetes en ocho bytes o menos despus de la + cabecera de IP. De esta forma, una cabecera TCP de veinte + bytes se dividira en 3 paquetes. Dos con ocho bytes de + cabecera TCP y uno con los ltimos ocho. Obviamente, cada + fragmento tiene su propia cabecera IP. Especifica la opcin + otra vez para utilizar fragmentos de + diecisis bytes (reduciendo la cantidad de fragmentos). O + puedes especificar tu propio tamao con la opcin + . No utilice la opcin si + utiliza . El tamao debe ser mltiplo + de ocho. Aunque la utilizacin de paquetes fragmentados no + le ayudar a saltar los filtros de paquetes y cortafuegos + que encolen todos los fragmentos IP (como cuando se utiliza + la opcin CONFIG_IP_ALWAYS_DEFRAG del ncleo de Linux), + algunas redes no pueden tolerar la prdida de rendimiento + que esto produce y deshabilitan esa opcin. Otros no pueden + habilitar esta opcin porque los fragmentos pueden tomar + distintas rutas para entrar en su red. Algunos sistemas + defragmentan los paquetes salientes en el ncleo. Un ejemplo + de sto es Linux con el mdulo de seguimiento de conexiones + de iptables. Realice un sondeo con un programa de captura de + trfico, como Ethereal, para asegurar que los paquetes que + se envan estn fragmentndose. Intente utilizar la opcin + , si su sistema operativo le est + causando problemas, para saltarse la capa IP y enviar tramas + directamente a la capa Ethernet en crudo. + + + + + + (Esconde un sondeo con seuelos) + + + Realiza un sondeo con seuelos. Esto hace creer que + el/los equipo/s que utilice como seuelos estn tambin + haciendo un sondeo de la red. De esta manera sus IDS pueden + llegar a informar de que se estn realizando de 5 a 10 + sondeos de puertos desde distintas direcciones IP, pero no + sabrn qu direccin IP est realizando el anlisis y cules + son seuelos inocentes. Aunque esta tcnica puede + vencerse mediante el seguimiento del camino de los encaminadores, + descarte de respuesta (response-dropping, N. del T.), y + otros mecanismos activos, generalmente es una tcnica + efectiva para esconder su direccin IP. + + Se debe separar cada equipo de distraccin mediante + comas, y puede utilizar ME (YO, N. del T.) como uno de + los seuelos para representar la posicin de su verdadera + direccin IP. Si pone ME + en la sexta posicin o superior es probable que algunos + detectores de sondeos de puertos habituales (como el + excelente scanlogd de Solar Designer) ni siquiera muestren + su direccin IP. Si no utiliza ME, Nmap le pondr en una posicin + aleatoria. + + Tenga en cuenta que los equipos que utilice como + distraccin deberan estar conectados o puede que + accidentalmente causes un ataque de inundacin SYN a sus + objetivos. Adems, sera bastante sencillo determinar qu + equipo est realmente haciendo el sondeo si slo uno est + disponible en la red. Puede que quiera utilizar direcciones + IP en lugar de nombres (de manera que no aparezca en los + registros del servidor de nombres de los sistemas utilizados + como seuelo). + + Se utilizan los seuelos tanto para el sondeo de ping + inicial (si se utiliza ICMP, SYN, ACK, o cualquier otro) + como durante la fase de sondeo. Tambin se utilizan los + seuelos durante la deteccin de sistema operativo + (). Los seuelos no funcionarn con la + deteccin de versin o el sondeo TCP connect(). + + Vale la pena tener en cuenta que utilizar demasiados + seuelos puede ralentizar el sondeo y potencialmente hacerlo + menos exacto. Adems, algunos proveedores de acceso a + Internet filtrarn los paquetes falsificados, aunque hay + muchos que no lo hacen. + + + + + + (Falsifica la direccin de origen) + + + + Nmap puede que no sea capaz de determinar tu direccin + IP en algunas ocasiones (Nmap se lo dir si pasa). En esta + situacin, puede utilizar la opcin + con la direccin IP de la interfaz a travs de la cual + quieres enviar los paquetes. + + Otro uso alternativo de esta opcin es la de + falsificar la direccin para que los objetivos del anlisis + piensen que algn otro los est + sondeando. Imagine una compaa a los que les sondea + repetidamente la competencia! Generalmente es necesaria la + opcin si lo quiere utilizar as, y + tambin sera recomendable la opcin + . + + + + + + + (Utilizar la interfaz especificada) + + + Indica a Nmap a travs de qu interfaz debe enviar y + recibir los paquetes. Nmap debera detectar esto + automticamente, pero se lo dir si no. + + + + + + + (Falsificar el puerto de origen) + + + + Un error de configuracin sorprendentemente comn es + confiar en el trfico basndose nicamente en el nmero de + puerto origen. Es fcil entender por qu pasa esto. Un + administrador que est configurando su nuevo y flamante + cortafuegos, recibe de repente quejas de todos sus usuarios + desagradecidos que le dicen que sus aplicaciones han dejado de + funcionar. En particular, puede romperse el DNS porque las + respuestas UDP de DNS de servidores externos ya no pueden + entrar en la red. Otro ejemplo habitual es el caso del FTP. En + una transferencia activa de FTP, el servidor remoto intenta + establecer una conexin de vuelta con el cliente para + transferir el archivo solicitado. + + Existen soluciones seguras para estos problemas, + como las pasarelas en el nivel de aplicacin o + los mdulos de cortafuegos que realizan un anlisis del + protocolo. Desgraciadamente, tambin hay soluciones ms fciles + y menos seguras. Al darse cuenta que las respuestas de DNS + vienen del puerto 53 y que las conexiones activas de FTP + vienen del puerto 20, muchos administradores caen en la trampa + de configurar su sistema de filtrado para permitir el trfico + entrante desde estos puertos. Generalmente asumen que ningn + atacante se dar cuenta de estos agujeros en el cortafuegos ni + los aprovechar. En otros casos, los administradores consideran + esto una solucin a corto plazo hasta que puedan implementar + una solucin ms segura. Y despus se olvidan de hacer la + mejora de la seguridad. + + Los administradores de red con mucho trabajo no son los + nicos que caen en esta trampa. Muchos productos se lanzan al + mercado con estas reglas inseguras. Hasta Microsoft lo ha + hecho. Los filtros de IPsec que se preinstalan con Windows + 2000 y Windows XP contienen una regla implcita que permite + todo el trfico TCP o UDP desde el puerto 88 (Kerberos). Otro + caso conocido es el de las versiones de Zone Alarm Firewall + Personal que, hasta la versin 2.1.25, permitan cualquier + paquete entrante UDP desde el puerto 53 (DNS) o 67 + (DHCP). + + Nmap ofrece las opciones y + (son equivalentes) para + aprovecharse de estas debilidades. Simplemente indique el + nmero de puerto y Nmap enviar los paquetes desde ese puerto + cuando sea posible. Nmap debe utilizar distintos nmeros de + puerto para ciertos tipos de prueba en la deteccin de sistema + operativo para que funcionen correctamente, y las solicitudes + de DNS ignoran la opcin porque + Nmap depende de las libreras del sistema para hacerlas. Esta + opcin se soporta completamente en muchos sondeos TCP, + incluyendo el sondeo SYN, al igual que los sondeos UDP. + + + + + + + (Aadir datos aleatorios a los paquetes enviados) + + + + Normalmente Nmap enva paquetes mnimos que contienen + slo la cabecera. As, los paquetes TCP que enva son + generalmente de 40 bytes y las solicitudes echo de ICMP son + de tan slo 28. Esta opcin le dice a Nmap que aada el + nmero indicado de bytes aleatorios a la mayora de los + paquetes que enva. Esta opcin no afecta a los paquetes + enviados para la deteccin de sistema operativo + (), pero s a la mayora de los paquetes + de ping y de sondeo de puertos. Esta opcin hace que el + sondeo sea un poco ms lento, pero tambin que el sondeo sea + un poco ms difcil de detectar. + + + + + + + (Indica el valor del campo tiempo-de-vida de la cabecera IP) + + + + Establece el campo tiempo-de-vida (time-to-live, + N. del T.) en la cabecera de los paquetes IPv4 al valor + especificado. + + + + + + (Mezclar aleatoriamente la lista de equipos a sondear) + + + Indica a Nmap que debe mezclar aleatoriamente cada + grupo de hasta 8096 equipos antes de hacer un sondeo. Esto + puede hacer que el sondeo sea menos obvio para algunos + sistemas de monitorizacin de la red, especialmente cuando + se combina con las opciones que ralentizan el sondeo. Si + quiere mezclar aleatoriamente listas ms grandes, incremente + el valor de la constante PING_GROUP_SZ en nmap.h y recompile el programa. + Una solucin alternativa es generar la lista de sistemas a + sondear con un sondeo de lista (), ordenarlo + aleatoriamente con un script de Perl, y luego darle a Nmap + la lista entera con la opcin . + + + + + + (Falsifica la direccin MAC) + + + + Solicita a Nmap que utilice la MAC dada para todas las + tramas de Ethernet enviadas. Esta opcin activa + implcitamente la opcin para + asegurar que Nmap enva los paquetes del nivel Ethernet. La + MAC dada puede tener varios formatos. Nmap elegir una MAC + completamente aleatoria para la sesin si se utiliza el + valor 0. Nmap utilizar la MAC indicada si + el parmetro es un nmero par de dgitos hexadecimales + (separando opcionalmente cada dos dgitos con dos puntos). + Nmap rellenar los 6 bytes restantes con + valores aleatorios si se dan menos de 12 dgitos + hexadecimales. Si el argumento no es ni 0 ni un conjunto de + dgitos hexadecimales, Nmap mirar en nmap-mac-prefixes para encontrar + un fabricante cuyo nombre coincida con el parmetro + utilizado (en esta bsqueda no diferenciar entre maysculas + y minsculas). Si se encuentra algn fabricante, Nmap + utilizar el OUI del fabricante (prefijo de 3 bytes) y + rellenar los otros 3 bytes aleatoriamente. Ejemplos de + argumentos son: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, y Cisco. + + + + + + + (Enva paquetes con sumas de comprobacin TCP/UDP errneas) + + + Esta opcin le indica a Nmap que debe generar sumas de + comprobacin invlidas para los paquetes que se enven a los equipos + objetivos. Cualquier respuesta que se reciba vendr de un cortafuegos + o un IDS que no comprob la suma, dado que la mayora de las pilas IP + descartan estos paquetes. Para obtener ms informacin de esta + tcnica puede consultar + + + + + + + + + + Salida + + La utilidad de una herramienta de seguridad est limitada por + la salida que genera. De poco sirven pruebas y algoritmos + complejos si luego no se presentan de una forma organizada y + comprensible. Dada la cantidad de formas en las que puede + utilizarse Nmap, tanto por personas como por otros programas, no es + posible complacer a todos con un nico formato. Por ello Nmap + ofrece varios formatos, incluyendo el modo interactivo para que + los humanos lo lean directamente y un formato XML para que sea + interpretado por otros programas. + + Adems de ofrecer distintos formatos de salida, Nmap ofrece + opciones adicionales para controlar cuanta informacin de ms se + muestra en la salida, as como opciones para controlar los + mensajes de depuracin que se muestran. Los tipos de salida pueden + enviarse a la salida estndar o a algn archivo especificando su + nombre. Nmap puede aadir informacin al archivo o + sobreescribirlo. Los formatos de salida pueden utilizarse tambin + para retomar un sondeo que se haya interrumpido. + + Nmap puede generar la salida en cinco formatos distintos. El + formato por omisin es el llamado salida + interactiva, y se enva a la salida estndar (stdout). + Tambin est la salida normal, + que es similar a la salida interactiva salvo que muestra menos + informacin de ejecucin y menos advertencias, ya que se espera que + se analice una vez que el sondeo haya terminado en lugar de ser + analizada interactivamente. + + La salida XML es uno de los formatos de salida ms + importantes, ya que puede convertirse a HTML, los programas (como + la interfaz de usuario de Nmap) pueden interpretarla fcilmente o + puede importarse a una base de datos. + + Los dos tipos de salida restantes son la sencilla salida para grep (o grepeable) que incluye la mayora + de la informacin de un sistema analizado en una sola lnea, y la + s4L1d4 sCRiPt KiDDi3 para + usuarios que se consideran a s mismos |<-r4d. + + Aunque se utiliza la salida interactiva por omisin y no + tiene ninguna opcin de la lnea de rdenes, los dems formatos + utilizan la misma sintaxis. Toman un solo argumento, que es el + archivo donde se guardarn los resultados. Pueden especificarse + mltiples formatos al mismo tiempo, pero slo puede especificar el + mismo formato una vez. Por ejemplo, puede querer guardar la salida + normal para su propia visualizacin mientras se guarda la + informacin del mismo sondeo en formato XML para realizar un + anlisis posterior con un programa. Para hacer sto debe utilizar + las opciones . Se recomienda utilizar nombres ms + descriptivos, si bien este captulo utiliza nombres sencillos como + misondeo.xml por razones de + brevedad. Los nombres elegidos son una cuestin de preferencia + personal. Yo utilizo nombres largos que incluyen la fecha del + anlisis y una palabra o dos describiendo el sondeo, dentro de un + directorio con el nombre de la empresa que estoy + analizando. + + Nmap seguir imprimiendo la salida interactiva en stdout + como lo hace habitualmente aunque se guarden en archivos la salida + con estas opciones. Por ejemplo, la orden nmap -oX misondeo.xml destino imprime + XML en misondeo.xml y llena + la salida estndar con los mismos resultados interactivos que + habra impreso si no se hubiese especificado la opcin + . Puedes cambiar este comportamiento dando un guin como + argumento a una de las opciones de salida. Esto hace que Nmap + desactive la salida interactiva y que imprima en su lugar los + resultados en el formato especificado en la salida estndar. Con + lo que la orden nmap -oX - + destino enviar nicamente la salida XML a la salida + estndar (stdout). Los errores graves seguirn presentndose, + posiblemente, en la salida normal de error, stderr. + + A diferencia de algunos argumentos de Nmap, es obligatorio + separar con un espacio la opcin de salida (como + ) y el nombre del archivo o el guin. Si los + omite y pone el argumento como o + , una funcionalidad de + compatibilidad con versiones anteriores har que se cree una + salida normal en los ficheros llamados + G- y Xscan.xml respectivamente. + + Nmap tambin ofrece opciones para controlar la informacin + extra que se ofrece sobre el sondeo y aadirlo a los archivos de + salida en lugar de sobreescribirlos. Todas estas opciones se + describen a continuacin. + +Formatos de salida de Nmap + + + (Salida normal) + + Solicita que la salida normal sea + redirigida al archivo especificado. Como se ha dicho anteriormente, esto + difiere un poco + de la salida interactiva. + + + + + + (salida XML) + + + Solicita que la salida en XML se + redirigida al archivo especificado. Nmap incluye un DTD + que pueden utilizar los intrpretes de XML para validar + la salida XML. Aunque est dirigida a que la utilicen programas, + tambin puede ayudar a que una persona interprete la salida de Nmap. + El DTD define los elementos legales del formato, y generalmente + enumera los atributos y valores que pueden tener. La ltima versin + est siempre disponible en + . + + XML ofrece un formato estable que es fcilmente + interpretado por cualquier programa. Hay intrpretes libres + de XML para los lenguajes de ordenador ms importantes, + incluyendo C/C++, Perl, Python, y Java. La gente ha escrito + libreras para la mayora de estos lenguajes que manejan + especficamente la salida de Nmap. Por ejemplo Nmap::Scanner + y Nmap::Parser en el + CPAN de Perl. XML es el formato preferente en la mayora de + los casos en que una aplicacin no trivial quiere utilizar + Nmap. + + La salida de XML hace referencia a la hoja de estilo + XSL que puede utilizarse para formatear los resultados en HTML. La forma + ms fcil de utilizarla es simplemente cargar la salida XML en un navegador web + como Firefox o IE. Por omisin, sto solo funcionar en el equipo en el que + ejecut Nmap (o uno configurado igual que dicho equipo) + ya que la ruta de + nmap.xsl se incluye directamente + dentro del archivo. + Puede utilizar la opcin o + para crear un XML portable que + pueda mostrarse como HTML en cualquier ordenador conectado a la web. + + + + + + + (SaLiDa ScRipT KIdd|3) + + + La salida script kiddie es como la salida + interactiva, excepto que se post-procesa para que la vean + mejor los l33t HaXXorZ a los que antes no les gustaba Nmap + por su uso consistente de maysculas y minsculas. Aquellos + que no tengan sentido del humor deberan tomar nota de que + esta opcin es una broma sobre los script kiddies antes de + criticarme por ayudarlos. + + + + + + + (Salida grepeable) + + + Este formato de salida se trata el ltimo porque est + obsoleto. La salida en formato XML es mucho ms poderosa, y + es igual de conveniente para los usuarios experimentados. XML + es un estndar para el que se dispone de docenas de + intrpretes, mientras que la salida para grep es + un hack propio. XML puede extenderse para soportar nuevas + funcionalidades de Nmap tan pronto como se liberen, + mientras que en general tengo que omitir estas funcionalidades + de la salida para grep por no tener un lugar donde + ponerlas. + + Sin embargo, la salida para grep es todava bastante + popular. Es simplemente un formato que lista cada sistema en una + lnea y que puede ser fcilmente tratado con herramientas + estndar de UNIX como grep, awk, cut, sed, diff y + Perl. Incluso yo la utilizo para pruebas rpidas que hago + desde la lnea de rdenes. Slo hace falta un grep para + identificar todos los sistemas con el puerto de ssh abierto o + que ejecuten Solaris, enviando la salida a travs de un + conector a awk o cut para mostrar los campos + deseados. + +La salida para grep consiste en comentarios (lneas que empiezan +por una almohadilla, #) y lneas de objetivo. Una lnea de objetivo +incluye una combinacin de seis campos marcados, separados por +tabulaciones y seguidos de dos puntos. Los campos (en ingls) son +Host (Sistema), Ports (Puertos), Protocols (Protocolos), Ignored State (Estado omitido), OS (Sistema operativo), Seq Index (ndice de secuencia), IPID, y Status (Estado). + +El campo ms importante de todos habitualmente es Ports, que es el que da los detalles de cada +puerto interesante encontrado. Consiste en una lista separada por +comas de entradas de puerto. Cada entrada de puerto representa uno de +los puertos de inters y se muestra con siete subcampos separados por +una barra (/). Los subcampos son: Port +number (Nmero de puerto), State (Estado), Protocol (Protocolo), Owner (Propietario), Service (Servicio), SunRPC +info (Informacin SunRPC), y Version +info (Informacin de versin). + +Esta pgina de manual, al igual que en el caso de la salida XML, +no puede incluir la documentacin completa de este formato. Puede +encontrar ms informacin detallada de la salida de Nmap para grep en +. + + + + + + + (Salida en todos los formatos) + + + Por comodidad, puede especificar la opcin para guardar + los resultados de los sondeos en + nombre_base.nmap, + nombre_base.xml, y + nombre_base.gnmap, + respectivamente. Al igual que la mayora de los programas + puede poner un prefijo con la ruta del directorio como + pudiera ser ~/registros_nmap/empresa_foo/ en + UNIX o c:\hacking\sco en + Windows. + + + + + + Opciones de depuracin y de detalle + + + (Incrementa el nivel de detalle) + + + + Hace que Nmap imprima ms informacin sobre el sondeo + que est realizando incrementando el nivel de detalle. Los + puertos abiertos se muestran en cuanto se encuentran y se + muestra una estimacin del tiempo que Nmap espera que dure + la tarea de sondeo si piensa que va a durar ms de un par de + minutos. Puede utilizarlo dos veces para obtener an ms + detalle. No tiene ningn efecto el utilizarlo ms de dos + veces. + + La mayora de los cambios slo afectan a la salida + interactiva, y algunos tambin afectan a la salida script + kiddie. Dado que los dems formatos van a ser tratados por + programas, Nmap da informacin detallada en estos formatos + por omisin sin fatigar a un usuario humano. Sin embargo, + hay algunos cambios en los otros modos que hacen que el + tamao de la salida resultante se reduzca sustancialmente al + omitir informacin detallada. Por ejemplo, slo se imprime + una lnea de comentario con todos los puertos sondeados en + el formato de salida para grep si se activa el modo de + detalle, porque puede ser demasiada informacin. + + + + + + + (Incrementar o fijar el nivel de depuracin) + + + +Cuando no obtiene suficientes datos ni siquiera con el modo de +detalle, puede utilizar el modo de depuracin para inundarse de +detalles! Al igual que con la opcin de detalle (), +puede activar la depuracin con una opcin en la lnea de rdenes +(). Puede incrementar el nivel de depuracin si la +especifica mltiples veces. Tambin puede fijar directamente el nivel +de depuracin si da un argumento a la opcin . Por +ejemplo, si utiliza se fijara el nivel de +depuracin en el nueve. Ese es el nivel ms alto de depuracin y +provocar que se impriman miles de lneas a no ser que haga sondeos +muy sencillos con pocos puertos y objetivos. + +La salida de depuracin es til cuando sospecha que hay un fallo +en Nmap o simplemente si est confundido y quiere saber qu hace Nmap +y por qu. Las lneas de depuracin no son auto-explicativas, dado que +esta funcin est dirigida a los desarrolladores. Puede obtener algo +como esto: Timeout vals: srtt: -1 +rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 +to: 100000. Su nico recurso si no entiende una lnea +es ignorarla, buscarla en el cdigo fuente, o solicitar ayuda en la +lista de desarrolladores (nmap-dev). Algunas lneas s son +auto-explicativas, pero los mensajes se vuelven ms y ms extraos a +medida que se incrementa el nivel de depuracin. + + + + + + + (Trazar paquetes y datos enviados y recibidos) + + + + Esta opcin hace que Nmap imprima un resumen de cada + paquete que enva o recibe. Esto se utiliza muchas veces + para poder depurar el programa, pero tambin es til para + los usuarios nuevos que quieren entender exactamente que es + lo que hace Nmap bajo el cap. Puede especificar un nmero + reducido de puertos para evitar que se impriman miles de + lneas, como por ejemplo . Si slo + est interesado en el funcionamiento del subsistema de + deteccin de versiones debe utilizar la opcin + . + + + + + + + (Listar interfaces y rutas) + + + + Imprime la lista de interfaces y las rutas del sistema + tal y como las detecta Nmap. Esta opcin es til para + depurar problemas de enrutamiento o caracterizaciones + equivocadas del tipo de interfaz (como por ejemplo, cuando + Nmap trata una conexin PPP como una interfaz + Ethernet). + + + + + + + + Opciones miscelneas de salida + + + + (Aadir en lugar de borrar los archivos de salida) + + + + El fichero especificado como salida de un formato + como pueda ser or + se sobreescribe por omisin. Si prefiere mantener el + contenido existente y aadir los nuevos resultados tendr + que especificar la opcin + . La informacin obtenida + se aadir a los ficheros especificados en esa ejecucin de + Nmap en lugar de sobreescribirlos. Esto no funciona bien + para los ficheros de salida XML () ya + que el fichero resultante no se podr leer correctamente, + por regla general, hasta que lo arregle manualmente. + + + + + + + (Continuar un sondeo detenido) + + + + Algunas ejecuciones de Nmap tardan mucho tiempo, del + orden de das. Esos sondeos no siempre se ejecutan hasta el + final. Es posible que haya restricciones que impidan los sondeos + de Nmap durante la jornada laboral, se puede caer la red o + el sistema donde se est ejecutando Nmap puede sufrir un + reinicio esperado o uno no planificado, o incluso es posible + que Nmap aborte. El administrador que est ejecutando Nmap + podra cancelarlo tambin por cualquier otra razn, + simplemente pulsando ctrl-C. En estos casos puede no + desearse empezar el sondeo completo desde el + principio. Afortunadamente, si se ha guardado una salida + normal () o para tratarla con grep + (), el usuarios puede pedir a Nmap que + contine el sondeo con el objetivo en el que estaba + trabajando cuando se detuvo la ejecucin. Simplemente se + tiene que especificar la opcin y + dar un archivo de salida normal o grepeable como + argumento. No se puede dar ningn otro argumento, ya que + Nmap trata el archivo para utilizar las mismas opciones que + se especificaron entonces. Slo se debe llamar a Nmap con + nmap --resume + archivo_de_registro. + Nmap aadir cualquier resultado nuevo a los ficheros de + datos especificados en la ejecucin previa. No se soporta la + capacidad de reanudar un sondeo con el formato de salida XML + porque combinar dos salidas en un slo fichero XML vlido + sera difcil. + + + + + + + (Fija la hoja de estilo XSL para transformar la salida XML) + + + + Nmap se distribuye conjuntamente con una hoja de + estilo XSL llamada nmap.xsl para poder ver o + traducir la salida XML a HTML. La Salida XML incluye una + directiva xml-stylesheet + que apunta al punto donde est instalado nmap.xml (o al directorio de + trabajo actual en Windows). Para mostrar los resultados + basta cargar la salida XML en un navegador de web moderno y + ste recoger y utilizar el archivo nmap.xsl del sistema de ficheros. + Si quiere especificar una hoja de estilo diferente, tiene + que especificarla como argumento a la opcin + . Puede dar una ruta completa o + un URL. Una forma habitual de llamar a esta opcin es la + siguiente: . Esto le + dice al navegador que descargue la ltima versin de la hoja + de estilo de Insecure.Org. La opcin + hace lo mismo pero con menos teclas y es ms fcil de recordar. + Esto facilita la visualizacin de + resultados en un sistema que no tiene Nmap instalado (y que + por tanto carece de un archivo nmap.xsl). As, la URL es lo ms + til, pero se utiliza el sistema de ficheros local para el + archivo nmap.xsl por omisin por razones de + privacidad. + + + + + + + + (Carga la hoja de estilo de Insecure.Org) + + + Esta opcin es simplemente un alias para + . + + + + + + (Omite la declaracin de hoja de estilo XSL del XML) + + + Puede utilizar esta opcin para evitar que Nmap asocie + una hoja de estilo XSL a su salida XML. En este caso, se + omite la directiva xml-stylesheet de la + salida. + + + + + + + + + + Opciones miscelneas + + Esta seccin describe algunas opciones importantes (y no tan + importantes) que no encajan realmente en ningn otro sitio. + + + + + (Activa el sondeo IPv6) + + + + Nmap tiene soporte IPv6 para la mayora de sus + funcionalidades ms populares desde 2002. En particular, + tiene soporte de: sondeo ping (TCP-only), sondeo connect() y + deteccin de versiones. La sintaxis de las rdenes es igual + que las habituales salvo que debe especificar la opcin + Por supuesto, debe utilizarse la sintaxis IPv6 si + se indica una direccin en lugar de un nombre de sistema. Una + direccin IPv6 sera parecida a + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + por lo que se recomienda utilizar nombres de equipo. La salida es + igual que en los otros casos. Lo nico que distingue que + esta opcin est habilitada es que se muestran las + direcciones IPv6 en la lnea que indica los puertos + de inters. + + Aunque IPv6 no se est utilizando en todo el mundo, s + que se utiliza mucho en algunos pases (generalmente + asiticos) y muchos sistemas operativos modernos lo + soportan. Tanto el origen como el objetivo de su sondeo + deben estar configurados para utilizar IPv6 si desea + utilizar Nmap con IPv6. Si su ISP (como sucede con la + mayora) no le da direcciones IPv6, puede encontrar gestores + de tneles gratuitos en muchos sitios y funciona bien con + Nmap. Uno de los mejores lo gestiona BT Exact en . Tambin he utilizado + el que Hurricane Electric ofrece en . Los tneles IPv6 a IPv4 + (6to4) son tambin otro mtodo muy popular y gratuito + . + + + + + + + (Opciones de sondeos agresivos) + + + + Esta opcin activa algunas opciones avanzadas y + agresivas. An no he decidido qu significa + exactamente. Actualmente esto activa la deteccin de sistema + operativo () y el anlisis de versiones + (). Aunque se aadirn ms opciones en + el futuro. La idea es que esta opcin active un conjunto de + opciones para evitar que los usuarios de Nmap tengan que + recordar un nmero de opciones muy elevado. Esta opcin slo + activa funcionalidades, no afecta a las opciones de + temporizacin (como ) o de depuracin + () que quizs desee activar + tambin. + + + + + + + (Indica la ubicacin de un archivo de datos de Nmap) + + + + Nmap obtiene algunos datos especiales al ejecutarse de + los archivos llamados nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes, y nmap-os-fingerprints. Nmap + buscar primero estos ficheros en el directorio que se + especifique con la opcin (si se + indica alguno). Los archivos que no se encuentren all se + buscarn en el directorio especificado por la variable de + entorno NMAPDIR. A continuacin se buscar en ~/.nmap tanto para el + identificador (UID) real como el efectivo (slo en sistemas + POSIX) o la ubicacin del ejecutable de Nmap (slo sistemas + Win32), y tambin en una ubicacin compilada en la + aplicacin como pudiera ser /usr/local/share/nmap o /usr/share/nmap. Nmap, por + ltimo, buscar en el directorio actual. + + + + + + + (Enviar tramas Ethernet en crudo) + + + + Le indica a Nmap que debe enviar paquetes en la capa + Ethernet en crudo (enlace de datos) en lugar de en la capa + IP (red). Por omisin, Nmap elegir cul utilizar en funcin + de lo que sea mejor para la plataforma donde est + ejecutndose. Los sockets crudos (capa IP) son generalmente + ms eficientes para sistemas UNIX, mientras que las tramas + Ethernet son necesarias en sistemas Windows ya que Microsoft + deshabilit el soporte de sockets crudos. Nmap seguir + utilizando paquetes IP crudos en UNIX, aunque se especifique + esta opcin, cuando no se pueda hacer de otra forma (como es + el caso de conexiones no Ethernet). + + + + + + + (Enviar al nivel crudo IP) + + + Indica a Nmap que debe enviar utilizando sockets IP crudos en lugar + de enviar tramas Ethernet de bajo nivel. Esta opcin es complementaria + a la opcin descrita + previamente. + + + + + + (Asumir que el usuario tiene todos los privilegios) + + + + Esta opcin le dice a Nmap que simplemente asuma que + el usuario con el que se ejecuta tiene suficientes + privilegios para trabajar con sockets crudos, capturar + paquetes y hacer otras operaciones similares que + generalmente slo puede hacerla en sistemas UNIX el usuario + root. Por omisin, Nmap aborta si se han solicitado esas + operaciones pero el resultado de geteuid() no es cero. La + opcin es til con las + capacidades del ncleo Linux y sistemas similares que pueden + configurarse para permitir realizar sondeos con paquetes + crudos a los usuarios no privilegiados. Asegrese de indicar + esta opcin antes de cualquier otra opcin que pueda + requerir de privilegios especficos (sondeo SYN, deteccin + de SO, etc.). Una forma alternativa a + es fijar la variable de + entorno NMAP_PRIVILEGED. + + + + + + + (Comienza en modo interactivo) + + + + Comienza Nmap en modo interactivo. En este modo, Nmap + ofrece un indicador interactivo que facilita el lanzamiento + de mltiples sondeos (tanto sncronos como en segundo + plano). Es til para aquellas personas que tienen que + sondear desde sistemas multi-usuario, ya que generalmente + quieren hacer un anlisis de seguridad sin que los dems + usuarios sepan exactamente qu sistemas se estn + analizando. Puede utilizar la opcin + para activar este modo y + despus utilizar h para + obtener la ayuda. Esta opcin se utiliza muy poco porque los + intrpretes de lnea de rdenes habituales son mucho ms + cmodos y tienen ms funciones. Esta opcin incluye un + operador de exclamacin (!) para ejecutar rdenes de la + shell, que es una de las muchas razones por las que Nmap no + se debe instalar con el bit setuid de root. + + + + + + + ; (Mostrar el nmero de versin) + + + Imprime el nmero de versin de Nmap y aborta. + + + + + + ; (Mostrar la pgina resumen de ayuda) + + + Imprime una pequea pantalla de ayuda con las opciones de rdenes + ms habituales. Pasa lo mismo si ejecuta Nmap sin argumentos. + + + + + + + + Ejecucin interactiva + Todas las pulsaciones de teclado se capturan durante la + ejecucin de Nmap. Esto le permite interactuar con el programa sin + abortarlo ni reiniciarlo. Algunas teclas especiales cambiarn las + opciones mientras que otras teclas imprimirn un mensaje de estado + informndole del estado del sondeo. La convencin es que las + letras en minsculas incrementan la cantidad + de informacin que se imprime, mientras que las letras + en maysculas reducen la informacin impresa. + Tambn puede pulsar ‘?’ + para obtener ayuda. + + + + + / + + + Incrementa / Reduce el detalle (ms / menos verboso) + + + + + / + + + Incrementa / Reduce el nivel de depuracin + + + + + / + + + Activa / Desactiva la traza de paquetes + + + + + + + + Imprime la pantalla de ayuda de la ejecucin interactiva + + + + + Cualquier otra tecla + + + Imprime un mensaje de estado similar a sta: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + + Ejemplos + A continuacin se muestran algunos ejemplos de utilizacin, desde lo ms simple y + rutinario hasta algo ms complejo y esotrico. Se utilizan algunas direcciones IP y + dominios para concretar un poco las cosas. En su + lugar deberas poner las direcciones o nombres de + tu propia red.. Mientras que yo no considero + que sondear los puertos de otras redes es o debera ser ilegal, + algunos administradores de redes no aprecian un sondeo no solicitado + de sus redes y pueden quejarse. Lo mejor es pedir permiso primero. + + A modo de prueba, tienes permiso de sondear el servidor + scanme.nmap.org. Este permiso slo + incluye sondear mediante Nmap y no para probar "exploits" o ataques + de denegacin de servicio. Por favor, para conservar el ancho de banda + no inicie ms de una docena de sondeos contra este servidor el mismo da. + Si se abusa de este servicio de sondeo se desconectar y Nmap reportar + Failed to resolve given hostname/IP: + scanme.nmap.org ("No se pudo resolver la direccin IP + o nombre datos: scanme.nmap.org"). Este permiso tambin se aplica + a los servidores + analizame2.nmap.org, + analizame3.nmap.org, y as sucesivamente, + aunque esos servidores actualmente no existen. + + + nmap -v scanme.nmap.org + + Esta opcin sondea todos los puertos TCP reservados en el servidor + scanme.nmap.org. La opcin + activa el modo detallado (tambin llamado verboso). + + nmap -sS -O scanme.nmap.org/24 + + Lanza un sondeo de tipo SYN sigiloso contra cada una de las 255 mquinas + en la clase C de la red donde est el sistema "analizame". + Tambin intenta determinar cual es el sistema operativo que se ejecuta + en cada mquina que est encendida. Esto requiere permisos de root + por la opcin de sondeo SYN y por la de deteccin de sistema operativo. + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Lanza una enumeracin de equipos y un sondeo TCP a cada uno de la + primera mitad de las 255 posibles subredes de 8 bit en la red de clase B + 198.116. Esto probar si los sistemas estn ejecutando sshd, DNS, pop3d, + imapd o tienen un servidor en el puerto 4564. Para cualquier puerto que se encuentre abierto, + se realizar una deteccin de versin para determinar qu aplicacin se + est ejecutando. + + + nmap -v -iR 100000 -P0 -p 80 + + + Solicita a Nmap que elija 100.000 sistemas aleatoriamente + y los sondee buscando servidores web (puerto 80). La enumeracin de + sistemas se deshabilita con ya que es un desperdicio + enviar un par de pruebas para determinar si el sistema debe ser analizado + cuando de todas maneras slo se va a analizar un puerto. + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Esto sondea 4096 IPs para buscar cualquier servidor web (sin enviar + sondas ICMP) + y guarda la salida en formato para grep y en XML. + + + + + Fallos + + Al igual que su autor, Nmap no es perfecto. Pero tu puedes + ayudar a hacerlo mejor enviando informes de fallo o incluso + escribiendo parches. Si Nmap no se comporta como t esperas, + primero actualiza a la ltima versin disponible en . Si el problema persiste, + investiga para determinar si la causa ya ha sido descubierta y + solucionada. Busca en Google el mensaje de error o navega en los + archivos de Nmap-dev en . Tambin deberas leer este manual + completo. Si esto no te ayuda, enva un informe de error en ingls + a nmap-dev@insecure.org. Por favor, incluya todo + lo que haya visto del problema, as como qu versin de Nmap + est utilizando y sobre qu versin del sistema operativo est + trabajando. Hay muchas ms probabilidades de que un informe de + fallo o una pregunta sobre el uso de Nmap se contesten si se + envan a nmap-dev@insecure.org que si se envan directamente a + Fyodor. + + Es mejor enviar parches para arreglar el cdigo que un + informe de error. Puedes encontrar las instrucciones bsicas para + crear parches con sus cambios en . Puede enviar + los parches a nmap-dev (recomendado) o directamente a + Fyodor. + + + + + Autor + Fyodor + fyodor@insecure.org + () + + + Cientos de personas han realizado valiosas contribuciones a + Nmap a lo largo de los aos. Sus nombres se detallan en el + archivo CHANGELOG que se + distribuye conjuntamente con Nmap y que est tambin disponible en + . + + + + + Notas legales + +Unofficial Translation Disclaimer / Descargo de traduccin no oficial + +This is an unnofficial translation of the Nmap license +details into Spanish. It was not written by Insecure.Com +LLC, and does not legally state the distribution terms for Nmap -- +only the original English text does that. However, we hope that this +translation helps Spanish speakers understand the Nmap license +better. + + +Esta es una traduccin no oficial de los detalles de la +licencia de Nmap details al espaol. Esta traduccin no ha +sido escrita por Insecure.Com LLC por lo que no refleja legalmente los +trminos de distribucin de Nmap, eso slo puede hacerlo el texto +original en ingls. Esperamos, sin embargo, que esta traduccin pueda +ayudar a aquellas personas que hablan espaol a entender mejor la +licencia de Nmap. + + + + + + Licencia y copyright de Nmap + + +The Nmap Security +Scanner is (C) 1996-2005 Insecure.Com LLC. Nmap is also a registered +trademark of Insecure.Com LLC. This program is free software; you may +redistribute and/or modify it under the terms of the GNU General +Public License as published by the Free Software Foundation; Version +2. This guarantees your right to use, modify, and redistribute this +software under certain conditions. If you wish to embed Nmap +technology into proprietary software, we may be willing to sell +alternative licenses (contact sales@insecure.com). Many +security scanner vendors already license Nmap technology such as host +discovery, port scanning, OS detection, and service/version +detection. + +Traduccin no autorizada: La herramienta de sondeos de seguridad +Nmap es (C) 1996-2005 Insecure.Com LLC. Nmap tambin es una marca +registrada por Insecure.Com LLC. Este programa es software libre. Puede +redistribuirlo y/o modificarlo bajo los trminos de la Licencia Pblica General +de GNU segn es publicada por la Free Software Foundation, versin 2. +Esto garantiza su derecho a utilizarla, modificarla y redistribuirla bajo +ciertas condiciones. Si desea introducir la tecnologa de Nmap en +programas propietarios podemos vender licencias alternativas +(pngase en contacto con sales@insecure.com). Hay +muchos fabricantes de herramientas de anlisis de seguridad que licencian +la tecnologa de Nmap como es el descubrimiento de equipos, +sondeos de puertos, deteccin de sistema operativo y deteccin de +servicios y versiones. + +Tenga en cuenta que la GPL impone restricciones importantes +en los trabajos derivados, pero no ofrece una definicin precisa +de ese trmino. Para evitar malentendidos, a continuacin se definen, para los +propsitos de esta licencia, las condiciones bajo las que una aplicacin +constituye un trabajo derivado: + + +Integra cdigo fuente de Nmap +Lee o incluye los ficheros de Nmap que estn bajo + derechos de copia, eso incluye + nmap-os-fingerprints o + nmap-service-probes. +Ejecuta Nmap y analiza los resultados (en contraposicin + del intrprete de rdenes tpico o la ejecucin desde un men, que + simplemente muestra la salida de Nmap en crudo y no son, por tanto, + trabajos derivados) +Integra o incluye o agrega Nmap en un instalador ejecutable + propietario, como los que produce + InstallShield. +Enlaza a una librera o ejecuta un programa que hace cualquiera + de las cosas descritas anteriormente. + + +Se debe considerar que el trmino Nmap +incluye las porciones o trabajos derivados de Nmap. Esta lista no es exclusiva, +su nico objetivo es clarificar la interpretacin de trabajos derivados con +algunos ejemplos comunes. Estas restricciones no se aplican cuando +redistribuye Nmap. Por ejemplo, nada le impide escribir y vender una +interfaz propietaria a Nmap. Slo debe distribuirla de forma separada +e indicar a sus usuarios que vayan a + para obtener Nmap. + +No consideramos que las restricciones sean aadidos a la GPL, +sino simplemente una forma de clarificar cmo interpretamos el +trmino trabajos derivados y su aplicacin al producto +Nmap licenciado GPL. Esto es parecido a la interpretacin que +Linus Torvalds ha dado a trabajos derivados y +su aplicacin a los mdulos del ncleo de Linux. Nuestra interpretacin +slo aplica a Nmap, no hablamos en nombre de otros productos GPL. + +Estaremos encantados de ayudarle si tiene alguna pregunta +de cmo aplican las restricciones de licenciamiento GPL al uso +de Nmap en trabajos que no son GPL. Tal y como se menciona ms arriba, +ofrecemos licencias alternativas para integrar Nmap en aplicaciones +propietarias as como en dispositivos hardware. Ya se han vendido +este tipo de contratos a fabricantes de dispositivos de seguridad y +habitualmente incluye una licencia perpetua, al tiempo que se da +soporte prioritario y actualizaciones. Estos contratos financian +el desarrollo continuo de la tecnologa Nmap. Por favor, +contacte con sales@insecure.com si desea ms informacin. + +Insecure.Com LLC da permiso para enlazar el cdigo de este programa con +cualquier librera de OpenSSL que se distribuya bajo una licencia idntica a la +indicada en el fichero Copying.OpenSSL adjunto, as como a +la distribucin de la combinacin enlazada que incluye a ambos. sta es una +excepcin especial a los trminos de la GPL. Debe obedecer los dems trminos +de la GPL de GNU en cualquier otro aspecto en relacin al cdigo que utilice +que no sea OpenSSL. Si modifica este fichero puede extender esta excepcin a su +versin del fichero, aunque no est obligado a hacerlo. + + +Si recibe estos ficheros con un acuerdo de licencia por escrito +o contrato que indique trminos distintos de los que se describen +arriba entonces dicha licencia alternativa toma precedencia sobre estos +comentarios. + + + + Licencia Creative Commons para esta gua Nmap + Esta gua de referencia de Nmap Reference Guide es (C) 2005 Insecure.Com LLC. + Se distribuye bajo la versin 2.5 de la + Licencia Creative Commons + de Reconocimiento. Esta licencia le permite redistribuir y modificar + el trabajo como desee siempre que reconozca la fuente original. + Puede, si lo desea, tratar este documento con la misma licencia con la que + distribuya Nmap (como se ha discutido previamente). + + + + Disponibilidad del cdigo fuente y contribuciones de la comunidad + +Se da el cdigo fuente de este programa porque creemos que los usuarios +tienen el derecho a saber cmo funciona un programa con exactitud antes +de ejecutarlo. Tambin le permite auditar el programa en bsqueda de agujeros +de seguridad (no se ha encontrado ninguno an). + +El cdigo fuente le permite migrar Nmap a otras plataformas, arreglar +erratas y aadir nuevas funciones. Le pedimos encarecidamente que enve sus +cambios a fyodor@insecure.org para que puedan incorporarse en la +distribucin principal. Al enviar estos cambios a Fyodor o cualquiera de las +listas de correo de desarrollo en Insecure.Org se asume que est ofreciendo a +Fyodor y a Insecure.Com LLC derechos ilimitados y no exclusivos para +reutilizar, modificar y relicenciar el cdigo. Nmap siempre estar disponible +como software libre, pero esto es importante porque la incapacidad de +relicenciar el cdigo ha dado muchos problemas a otros proyectos de software +libre (como es el caso de KDE y NASM). Tambin relicenciamos el cdigo de forma +ocasional a terceros, como se ha descrito previamente. Puede especificar +condiciones especiales de licencia para sus contribuciones, slo tiene que +indicarlas cuando las enve. + + + +Sin garanta + +Este programa se distribuye con la esperanza de que sea til, pero SIN +NINGUNA GARANTA, incluso sin la garanta MERCANTIL implcita o sin garantizar +la CONVENIENCIA PARA UN PROPSITO PARTICULAR. Vase la Licencia Pblica General +de GNU para ms detalles en , o en el fichero COPYING que se +incluye con Nmap. + +Tambin debera tener en cuenta que se sabe que Nmap ha provocado +en algunas ocasiones +que alguna aplicacin mal escrita se bloquee, como tambin ha pasado con +pilas TCP/IP e incluso sistemas operativos. Esto es muy raro, pero es importante +tenerlo en mente. Nunca debera utilizar Nmap contra sistemas de +misin crtica a no ser que est preparado para sufrir +una cada. Reconocemos que Nmap puede bloquear sus sistemas o redes y +hacemos un descargo de responsabilidad frente a cualquier dao o problemas +que Nmap pueda causar. + + +Uso inapropiado +Debido al ligero riesgo de que se produzcan cadas porque +un black hat (persona que ataca sistemas sin autorizacin, N. del T.) +utilice Nmap para realizar un anlisis antes de atacar algn sistema +hay administradores que se molestan y se quejan cuando se sondean sus sistemas. +As, por regla general es recomendable pedir permiso para hacer +cualquier tipo de sondeo, an uno ligero, de una red. + +Nunca debera instalar Nmap con privilegios especiales +(p. ej. suid root) por razones de seguridad. + + +Programas de terceros +Este producto incluye programas desarrollados por la +Fundacin Apache Software +Foundation. Tambin se distribuye una versin modificada de la librera portable de captura de paquetes +Libpcap conjuntamente con nmap. La versin para Windows de Nmap utiliza +la librera WinPcap library que es +una versin derivada de la libcap. La librera PCRE, software libre escrito por +Philip Hazel, da el soporte de expresiones regulares. Algunas de las funciones +de acceso a bajo nivel de la red utiliza la librera de red Libdnet, escrita por Dug Song. Se +distribuye una versin modificada con Nmap. Nmap puede, opcionalmente, enlazar +con las herramientas criptogrficas +OpenSSL para poder hacer un anlisis de versiones SSL. Todos los +programas de terceros descritos en este prrafo se distribuyen libremente bajo +licencias tipo BSD. + + +Clasificacin de control de exportacin de los EEUU +Control de exportacin de los EEUU: Insecure.Com LLC cree que +Nmap se encuentra dentro del captulo US ECCN (nmero de clasificacin +de control de exportacin) 5D992. Esta categora se denomina +Programas de seguridad de la informacin no controlados en +5D002. La nica restriccin a esta clasificacin es AT +(anti-terrorismo), que se aplica a casi todos los bienes y deniega +la exportacin a un nmero reducido de naciones rebeldes como Irn +o Corea del Norte. As, la exportacin de Nmap no requiere de una licencia +especial, permiso o cualquier otra autorizacin del gobierno. + + + + + +
diff --git a/docs/man-xlate/nmap-man-fr.xml b/docs/man-xlate/nmap-man-fr.xml new file mode 100644 index 000000000..8d4ce7ae4 --- /dev/null +++ b/docs/man-xlate/nmap-man-fr.xml @@ -0,0 +1,2463 @@ + + +
+ + Guide de rfrence Nmap (Man Page, French translation) + + + + nmap + 1 + + + nmap + Outil d'exploration rseau et scanneur de ports/scurit + + + + nmap + + Types de scans + + + Options + + + spcifications des cibles + + + + + Description + + Nmap (Network Mapper) est un outil open source d'exploration rseau et d'audit de scurit. Il a t conu pour rapidement scanner de grands rseaux, mais il fonctionne aussi trs bien sur une cible unique. Nmap innove en utilisant des paquets IP bruts (raw packets) pour dterminer quels sont les htes actifs sur le rseau, quels services (y compris le nom de l'application et la version) ces htes offrent, quels systmes d'exploitation (et leurs versions) ils utilisent, quels types de dispositifs de filtrage/pare-feux sont utiliss, ainsi que des douzaines d'autres caractristiques. Nmap est gnralement utilis pour les audits de scurit mais de nombreux gestionnaires des systmes et de rseau l'apprcient pour des tches de routine comme les inventaires de rseau, la gestion des mises jour planifies ou la surveillance des htes et des services actifs. + + + Le rapport de sortie de Nmap est une liste des cibles scannes ainsi que des informations complmentaires en fonction des options utilises. L'information centrale de la sortie est la + table des ports intressants. + Cette table liste le numro de port et le protocole, le nom du service et son tat. L'tat est soit + ouvert (open), + filtr (filtered), + ferm (closed) ou + non-filtr (unfiltered). + + Ouvert indique que l'application de la machine cible est en coute de paquets/connexions sur ce port. + Filtr indique qu'un pare-feu, un dispositif de filtrage ou un autre obstacle rseau bloque ce port, empchant ainsi Nmap de dterminer s'il s'agit d'un port ouvert ou ferm. + Les ports ferms n'ont pas d'application en coute, bien qu'ils puissent quand mme s'ouvrir n'importe quand. Les ports sont considrs comme non-filtrs lorsqu'ils rpondent aux paquets de tests (probes) de Nmap, mais Nmap ne peut dterminer s'ils sont ouverts ou ferms. Nmap renvoie galement les combinaisons d'tats ouverts|filtr et ferms|filtr lorsqu'il n'arrive pas dterminer dans lequel des deux tats possibles se trouve le port. La table des ports peut aussi comprendre des dtails sur les versions des logiciels si la dtection des services est demande. Quand un scan du protocole IP est demand (), Nmap fournit des informations sur les protocoles IP supports au lieu de la liste des ports en coute. + En plus de la table des ports intressants, Nmap peut aussi fournir de plus amples informations sur les cibles comme les noms DNS (reverse DNS), deviner les systmes d'exploitation utiliss, obtenir le type de matriel ou les adresses MAC. + + Un scan classique avec Nmap est prsent dans + . + Les seuls arguments de Nmap utiliss dans cet exemple sont + + , qui permet la dtection des OS et versions de logiciels utiliss, + + pour une excution plus rapide, et les noms d'hte des cibles. + + + Un scan Nmap reprsentatif + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + La plus rcente version de Nmap peut tre obtenue l'url + + . La plus rcente version du manuel est disponible + + . + + + + Notes de Traduction + Cette dition Francaise du Guide de rfrence de Nmap a t traduite partir de la version [2991] de la version originale + en Anglais par Romuald THION romuald.thion@insa-lyon.fr et 4N9e Gutek 4n9e@futurezone.biz. Elle a t relue et corrige par Ghislaine Landry g-landry@rogers.com. Ce travail peut tre modifi et redistribu selon les termes de la license Creative Commons Attribution License. + Mise a jour au 19 dec 2007. + + + Rsum des options + + Ce rsum des options est affich quand Nmap est excut sans aucun argument; la plus rcente version est toujours disponible sur + + . Il sert d'aide-mmoire des options les plus frquemment utilises, mais ne remplace pas la documentation bien plus dtaille de la suite de ce manuel. Les options obscures n'y sont pas incluses. + + + +Nmap 4.50 (insecure.org) +Utilisation: nmap [Type(s) de scan] [Options] {spcifications des cibles} + +SPCIFICATIONS DES CIBLES: +Les cibles peuvent tre spcifies par des noms d'htes, des adresses IP, des adresses de rseaux, etc. +Exemple: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254 +-iL <inputfilename>: Lit la liste des htes/rseaux cibles partir du fichier +-iR <num hosts>: Choisit les cibles au hasard +--exclude <host1[,host2][,host3],...>: Exclut des htes/rseaux du scan +--excludefile <exclude_file>: Exclut des htes/rseaux des cibles partir du fichier + +DCOUVERTE DES HTES: +-sL: List Scan - Liste simplement les cibles scanner +-sP: Ping Scan - Ne fait que dterminer si les htes sont en ligne -P0: Considre que tous les htes sont en ligne -- vite la dcouverte des htes +-PN: Considrer tous les htes comme tant connects -- saute l'tape de dcouverte des htes +-PS/PA/PU [portlist]: Dcouverte TCP SYN/ACK ou UDP des ports en paramtre +-PE/PP/PM: Dcouverte de type requte ICMP echo, timestamp ou netmask +-PO [num de protocole]: Ping IP (par type) +-n/-R: Ne jamais rsoudre les noms DNS/Toujours rsoudre [rsout les cibles actives par dfaut] +--dns-servers <serv1[,serv2],...>: Spcifier des serveurs DNS particuliers + +TECHNIQUES DE SCAN: +-sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon +-sN/sF/sX: Scans TCP Null, FIN et Xmas +-sU: Scan UDP +--scanflags <flags>: Personnalise les flags des scans TCP +-sI <zombie host[:probeport]>: Idlescan (scan passif) +-sO: Scan des protocoles supports par la couche IP +-b <ftp relay host>: Scan par rebond FTP +--traceroute: Dtermine une route vers chaque hte +--reason: Donne la raison pour laquelle tel port apparait tel tat + +SPCIFICATIONS DES PORTS ET ORDRE DE SCAN: +-p <plage de ports>: Ne scanne que les ports spcifis +Exemple: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080 +-F: Fast - Ne scanne que les ports lists dans le fichier nmap-services +-r: Scan squentiel des ports, ne mlange pas leur ordre +--top-ports <nombre>: Scan <nombre> de ports parmis les plus courants +--port-ratio <ratio>: Scan <ratio> pourcent des ports les plus courants + +DTECTION DE SERVICE/VERSION: +-sV: Teste les ports ouverts pour dterminer le service en coute et sa version +--version-light: Limite les tests aux plus probables pour une identification plus rapide +--version-intensity <niveau>: De 0 (lger) 9 (tout essayer) +--version-all: Essaie un un tous les tests possibles pour la dtection des versions +--version-trace: Affiche des informations dtailles du scan de versions (pour dbogage) + +SCRIPT SCAN: +-sC: quivalent de --script=safe,intrusive +--script=<lua scripts>: <lua scripts> est une liste de rpertoires ou de scripts spars par des virgules +--script-args=<n1=v1,[n2=v2,...]>: passer des arguments aux scripts +--script-trace: Montre toutes les donnes envoyes ou recues +--script-updatedb: Met jour la base de donnes des scripts. Seulement fait si -sC ou --script a t aussi donn. + +DTECTION DE SYSTME D'EXPLOITATION: +-O: Active la dtection d'OS +--osscan-limit: Limite la dtection aux cibles promteuses --osscan-guess: Dtecte l'OS de faon plus agressive +--osscan-guess: Devine l'OS de facon plus agressive + +TEMPORISATION ET PERFORMANCE: +Les options qui prennent un argument de temps sont en milisecondes a moins que vous ne spcifiiez 's' +(secondes), 'm' (minutes), ou 'h' (heures) la valeur (e.g. 30m). + +-T[0-5]: Choisit une politique de temporisation (plus leve, plus rapide) +--min-hostgroup/max-hostgroup <msec>: Tailles des groupes d'htes scanner en parallle +--min-parallelism/max-parallelism <msec>: Paralllisation des paquets de tests (probes) --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spcifie le temps d'aller-retour des paquets de tests +--min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spcifie le temps d'aller-retour des paquets de tests +--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Prcise +le round trip time des paquets de tests. +--max-retries <tries>: Nombre de retransmissions des paquets de tests des scans de ports. +--host-timeout <msec>: Dlai d'expiration du scan d'un hte --scan-delay/--max_scan-delay <msec>: Ajuste le dlai de retransmission entre deux paquets de tests +--scan-delay/--max-scan-delay <time>: Ajuste le delais entre les paquets de tests. + +VASION PARE-FEU/IDS ET USURPATION D'IDENTIT +-f; --mtu <val>: Fragmente les paquets (en spcifiant ventuellement la MTU) +-D <decoy1,decoy2[,ME],...>: Obscurci le scan avec des leurres +-S <IP_Address>: Usurpe l'adresse source +-e <iface>: Utilise l'interface rseau spcifie +-g/--source-port <portnum>: Utilise le numro de port comme source +--data-length <num>: Ajoute des donnes au hasard aux paquets mis +--ip-options <options>: Envoi des paquets avec les options IP spcifies. +--ttl <val>: Spcifie le champ time-to-live IP +--spoof-mac <adresse MAC, prfixe ou nom du fabriquant>: Usurpe une adresse MAC +--badsum: Envoi des paquets TCP/UDP avec une somme de controle erronne. + +SORTIE: +-oN/-oX/-oS/-oG <file>: Sortie dans le fichier en paramtre des rsultats du scan au format normal, XML, s|<rIpt kIddi3 et Grepable, respectivement +-oA <basename>: Sortie dans les trois formats majeurs en mme temps +-v: Rend Nmap plus verbeux (-vv pour plus d'effet) +-d[level]: Slectionne ou augmente le niveau de dbogage (significatif jusqu' 9) +--packet-trace: Affiche tous les paquets mis et reus +--iflist: Affiche les interfaces et les routes de l'hte (pour dbogage) +--log-errors: Journalise les erreurs/alertes dans un fichier au format normal +--append-output: Ajoute la sortie au fichier plutt que de l'craser +--resume <filename>: Reprend un scan interrompu +--stylesheet <path/URL>: Feuille de styles XSL pour transformer la sortie XML en HTML +--webxml: Feuille de styles de rfrences de Insecure.Org pour un XML plus portable +--no_stylesheet: Nmap n'associe pas la feuille de styles XSL la sortie XML + +DIVERS: +-6: Active le scan IPv6 +-A: Active la dtection du systme d'exploitation et des versions +--datadir <dirname>: Spcifie un dossier pour les fichiers de donnes de Nmap +--send-eth/--send-ip: Envoie des paquets en utilisant des trames Ethernet ou des paquets IP bruts +--privileged: Suppose que l'utilisateur est entirement privilgi -V: Affiche le numro de version +--unprivileged: Suppose que l'utilisateur n'a pas les privilges d'usage des raw socket +-h: Affiche ce rsum de l'aide + +EXEMPLES: +nmap -v -A scanme.nmap.org +nmap -v -sP 192.168.0.0/16 10.0.0.0/8 +nmap -v -iR 10000 -P0 -p 80 + + + + + Spcification des cibles + Tout ce qui n'est pas une option (ou l'argument d'une option) dans la ligne de commande de Nmap est considr comme une spcification d'hte cible. Le cas le plus simple est de spcifier une adresse IP cible ou un nom d'hte scanner. + Si vous dsirez scanner un rseau entier d'htes conscutifs, Nmap supporte l'adressage du style CIDR. Vous pouvez ajouter / numbits une adresse IP ou un nom d'hte de rfrence et Nmap scannera toutes les adresses IP dont les numbits bits de poids fort sont les mmes que la cible de rfrence. Par exemple, 192.168.10.0/24 scannerait les 256 htes entre 192.168.10.0 (en binaire: 11000000 10101000 00001010 00000000) et 192.168.10.255 (en binaire:11000000 10101000 00001010 11111111) inclusivement. 192.168.10.40/24 ferait donc aussi la mme chose. tant donn que l'hte scanme.nmap.org est l'adresse IP 205.217.153.62, scanme.nmap.org/16 scannerait les 65 536 adresses IP entre 205.217.0.0 et 205.217.255.255. La plus petite valeur autorise est /1 qui scanne la moiti d'Internet. La plus grande valeur autorise est 32, ainsi Nmap ne scanne que la cible de rfrence car tous les bits de l'adresse sont fixs. + + La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous voudriez scanner 192.168.0.0/16 mais viter toutes les adresses se terminant par .0 ou .255 car se sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grce l'adressage par intervalles. Plutt que de spcifier une adresse IP normale, vous pouvez spcifier pour chaque octet de l'IP une liste d'intervalles spars par des virgules. Par exemple, 192.168.0-255.1-254 vitera toutes les adresses se terminant par .0 ou .255. Les intervalles ne sont pas limits aux octets finals: 0-255.0-255.13.37 excutera un scan de toutes les adresses IP se terminant par 137.37. Ce genre de spcifications peut s'avrer utile pour des statistiques sur Internet ou pour les chercheurs. + Les adresses IPv6 ne peuvent tre spcifies que par une adresse IPv6 pleinement qualifie ou un nom d'hte. L'adressage CIDR ou par intervalles n'est pas gr avec IPv6 car les adresses ne sont que rarement utiles. + Nmap accepte les spcifications de plusieurs htes la ligne de commande, sans qu'elles soient ncessairement de mme type. La commande nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 fait donc ce quoi vous vous attendez. + Mme si les cibles sont souvent spcifies dans les lignes de commandes, les options suivantes sont galement disponibles pour slectionner des cibles : + + + + (Lit la liste des htes/rseaux cibles depuis le fichier) + + + + Lit les spcifications des cibles depuis le fichier inputfilename. Il est souvent maladroit de passer une longue liste d'htes la ligne de commande. Par exemple, votre serveur DHCP pourrait fournir une liste de 10 000 baux que vous souhaiteriez scanner. Ou alors voudriez scanner toutes les adresses IP sauf celles des baux DHCP pour identifier les htes qui utilisent des adresses IP statiques non-autorises. Gnrez simplement la liste des htes scanner et passez ce fichier comme argument de l'option . Les entres peuvent tre spcifies dans n'importe quel des formats accepts par la ligne de commande de Nmap (adresses IP, noms d'htes, CIDR, IPv6 ou par intervalles). Les entres doivent tre spares par un ou plusieurs espaces, tabulations ou retours chariot. Vous pouvez utiliser un tiret (-) comme nom de fichier si vous souhaitez que Nmap lise les htes depuis l'entre standard. + + + + + (Choisit des cibles au hasard) + + + Pour des tudes l'chelle d'Internet ou autres, vous pourriez dsirer de choisir vos cibles au hasard. L'argument num hosts indique Nmap combien d'IPs il doit gnrer. Les IPs viter, comme les plages d'adresses prives, multicast ou non alloues sont automatiquement vites. On peut aussi utiliser l'argument 0 pour effectuer un scan sans fin. Rappelez-vous bien que certains administrateurs de rseau s'irritent lorsqu'on scanne leur rseau sans permission et peuvent porter plainte. Utilisez cette option vos risques et prils! Un jour de pluie o vous ne savez pas quoi faire, essayez la commande nmap -sS -PS80 -iR 0 -p 80 pour trouver des serveurs Web au hasard sur lesquels fureter. + + + + + (Exclut des htes/des rseaux des cibles) + + + Spcifie une liste de cibles spares par des virgules exclure du scan, mme si elles font partie de la plage rseau que vous avez spcifie. La liste que vous donnez en entre utilise la syntaxe Nmap habituelle, elle peut donc inclure des noms d'htes, des blocs CIDR, des intervalles, etc. Ceci peut tre utile quand le rseau que vous voulez scanner comprend des serveurs haute disponibilit, des systmes reconnus pour ragir dfavorablement aux scans de ports ou des sous-rseaux administrs par d'autres personnes. + + + + + (Exclut des htes/des rseaux des cibles depuis le fichier) + + + Cette option offre les mmes fonctionnalits que l'option , la diffrence qu'ici les cibles exclure sont spcifies dans le fichier exclude_file au lieu de la ligne de commande. Les cibles sont spares entre elles dans le fichier par des retours chariot, des espaces ou des tabulations. + + + + + + Dcouverte des htes + Une des toutes premires tapes dans la reconnaissance d'un rseau est de rduire un ensemble (quelques fois norme) de plages d'IP une liste d'htes actifs ou intressants. Scanner tous les ports de chacune des IP est lent et souvent inutile. Bien sr, ce qui rend un hte intressant dpend grandement du but du scan. Les administrateurs de rseau peuvent tre uniquement intresss par les htes o un certain service est actif tandis que les auditeurs de scurit peuvent s'intresser tout quipement qui dispose d'une adresse IP. Alors que l'administrateur se satisferait d'un ping ICMP pour reprer les htes de son rseau, l'auditeur pourrait utiliser un ensemble vari de douzaines de paquets de tests (probes) dans le but de contourner les restrictions des pare-feux. + Parce que les besoins de dcouverte des htes sont si diffrents, Nmap propose une grande panoplie d'options pour individualiser les techniques utilises. La dcouverte d'hte est souvent appele scan ping (ping scan), mais celle-ci va bien au del d'une simple requte echo ICMP associe l'incontournable outil ping. Les utilisateurs peuvent entirement viter l'tape scan ping en listant simplement les cibles (), en dsactivant le scan ping() ou alors en dcouvrant le rseau avec des combinaisons de tests TCP SYN/ACK, UDP et ICMP. Le but de ces tests est de solliciter une rponse des cibles qui prouvera qu'une adresse IP est effectivement active (utilise par un hte ou un quipement rseau). Sur de nombreux rseaux, seul un petit pourcentage des adresses IP sont actives un moment donn. Ceci est particulirement courant avec les plages d'adresses prives (dfinies par la sainte RFC 1918) comme 10.0.0.0/8. Ce rseau comprend 16 millions d'IPs, mais il s'est dj vu utilis par des entreprises disposant de moins d'un millier de machines. La dcouverte des htes permet de trouver ces machines dans l'immensit de cet ocan d'adresses IP. + Lorsqu'aucune option de dcouverte n'est spcifie, Nmap envoie un paquet TCP ACK sur le port 80 ainsi qu'une requte d'echo ICMP chaque machine cible. Une exception cette rgle est qu'un scan ARP est utilis pour chaque cible du rseau Ethernet local. Pour les utilisateurs UNIX non-privilgis, un paquet SYN est utilis la place du ACK en utilisant l'appel systme connect(). Ces options par dfaut sont quivalentes la combinaison d'option . Cette mthode de dcouverte des htes est souvent suffisante lors de scans de rseaux locaux, mais un ensemble plus complet de tests de dcouverte est recommand pour les audits de scurit. + Les options suivantes contrlent la dcouverte des htes. + + + + (Liste simplement) + + Cette forme dgnre de dcouverte d'htes liste simplement chaque hte du(des) rseau(x) spcifi(s), sans envoyer aucun paquet aux cibles. Par dfaut, Nmap utilise toujours la rsolution DNS inverse des htes pour connatre leurs noms. Il est souvent tonnant de constater combien ces simples informations peuvent tre utiles. Par exemple, fw.chi.playboy.com est le pare-feu du bureau de Chicago de Playboy Enterprises. Nmap rend galement compte du nombre total d'adresses IP la fin de son rapport. Cette simple liste est un bon test pour vous assurer que vos adresses IP cibles sont les bonnes. Si jamais ces noms de domaines ne vous disent rien, il vaudrait mieux s'arrter l afin d'viter de scanner le rseau de la mauvaise entreprise. + Comme l'ide est de simplement afficher une liste des cibles, les options de fonctionnalits plus haut niveau comme le scan de ports, la dtection du systme d'exploitation ou la dcouverte des htes ne peuvent pas tre combines avec la liste simple. Si vous voulez juste dsactiver la dcouverte des htes mais quand mme effectuer des oprations de plus haut niveau, lisez sur l'option . + + + + + (Scan ping) + + Cette option indique Nmap de n'effectuer que le scan ping (la dcouverte des htes), puis d'afficher la liste des htes disponibles qui ont rpondu au scan. Aucun autre test (comme le scan des ports ou la dtection d'OS) n'est effectu. Ce scan est lgrement plus intrusif que la simple liste, et peut souvent tre utilis dans le mme but. Il permet un survol d'un rseau cible sans trop attirer l'attention. Savoir combien d'htes sont actifs est plus prcieux pour un attaquant que la simple liste de chaque IP avec son nom d'hte. + Les gestionnaires des systmes apprcient galement cette option. Elle peut facilement tre utilise pour compter le nombre de machines disponibles sur un rseau ou pour contrler la disponibilit d'un serveur. Cette option est souvent appele balayage ping (ping sweep). Elle est plus fiable que sonder par ping l'adresse de diffusion (broadcast) car beaucoup d'htes ne rpondent pas ces requtes. + L'option envoie une requte d'echo ICMP et un paquet TCP sur le port par dfaut (80). Lorsqu'excute par un utilisateur non-privilgi, un paquet SYN est envoy (en utilisant l'appel systme connect()) sur le port 80 de la cible. Lorsqu'un utilisateur privilgi essaie de scanner des cibles sur un rseau local Ethernet, des requtes ARP () sont utilises moins que l'option soit spcifie. L'option peut tre combine avec chacun des tests de dcouverte des htes (les options , sauf ) pour une plus grand flexibilit. Ds qu'un test de ce type est utilis avec un numro de port, il est prpondrante sur les tests par dfaut (ACK et requte echo). Quand des pare-feux restrictifs sont prsents entre la machine excutant Nmap et le rseau cible, il est recommand d'utiliser ces techniques avances. Sinon des htes peuvent tre oublis quand le pare-feu rejte les paquets ou leurs rponses. + + + + + (Pas de scan ping) + + Cette option vite compltement l'tape de dcouverte des htes de Nmap. En temps normal, Nmap utilise cette tape pour dterminer quelles sont les machines actives pour effectuer un scan approfondi. Par dfaut, Nmap n'examine en profondeur, avec le scan des ports ou la dtection de version, que les machines qui sont actives. Dsactiver la dtection des htes avec l'option + conduit Nmap effectuer les scans demands sur toutes les adresses IP cibles spcifies. Ainsi, si une adresse IP de classe B (/16) est spcifie la ligne de commande, toutes les 65 536 adresses IP seront scannes. Le deuxime caractre dans l'option est bien un zro et non pas la lettre O. La dcouverte des htes est vite comme avec la liste simple, mais au lieu de s'arrter et d'afficher la liste des cibles, Nmap continue et effectue les fonctions demandes comme si chaque adresse IP tait active. Pour les machines sur un reseau local en ethernet, un scan ARP scan sera quand mme effectu ( moins que --send-ip ne soit spcifi) parceque Nmap a besoin de l'adresse MAC pour les scans ulterieurs. Cette option s'appelait P0 (avec un zro) auparavant, mais a t renomme afin d'viter la confusion avec le Ping par protocoles PO (lettre O). + + + + + (Ping TCP SYN) + + + + Cette option envoie un paquet TCP vide avec le drapeau (flag) SYN activ. La destination par dfaut de ce paquet est le port 80 (configurable la compilation en changeant la dfinition DEFAULT_TCP_PROBE_PORT dans nmap.h ), mais un autre port peut tre spcifi en paramtre (ex.: ), auquel cas les paquets de tests (probes) seront envoys en parallle sur chaque port cible. + Le drapeau SYN fait croire que vous voulez tablir une connexion sur le systme distant. Si le port de destination est ferm, un paquet RST (reset) est renvoy. Si le port s'avre tre ouvert, la cible va entamer la seconde tape de l'tablissement de connexion TCP en 3 temps (TCP 3-way-handshake) en rpondant par un paquet TCP SYN/ACK. La machine excutant Nmap avortera alors la connexion en cours d'tablissement en rpondant avec un paquet RST au lieu d'un paquet ACK qui finaliserait normalement l'tablissement de la connexion. Le paquet RST est envoy par le noyau (kernel) de la machine excutant Nmap en rponse au paquet SYN/ACK inattendu; ce n'est pas Nmap lui-mme qui l'met. + Nmap ne tient pas compte si le port est rellement ouvert ou ferm. Les paquets RST ou SYN/ACK voqus prcdemment indiquent tout deux que l'hte est disponible et rceptif. + Sur les systmes UNIX, seuls les utilisateurs privilgis root sont gnralement capables d'envoyer et de recevoir des paquets TCP bruts (raw packets). Pour les utilisateurs non-privilgis, Nmap contourne cette restriction avec l'appel systme connect() utilis sur chaque port de la cible. Ceci revient envoyer un paquet SYN sur l'hte cible pour tablir une connexion. Si connect() russi ou choue avec ECONNREFUSED, la pile TCP/IP sous-jacente doit avoir reu soit un SYN/ACK soit un RST et l'hte est alors considr comme tant actif. Si la tentative de connexion est toujours en cours jusqu' l'expiration du dlai d'tablissement, l'hte est considr comme tant inactif. Cette technique est aussi utilise pour les connexions IPv6, du fait que les paquets bruts IPv6 ne sont pas encore supports par Nmap. + + + + + (Ping TCP ACK) + + Le ping TCP ACK ressemble fortement aux tests SYN prcdemment voqus. la diffrence que, comme on l'imagine bien, le drapeau TCP ACK est utilis la place du drapeau SYN. Un tel paquet ACK acquitte normalement la rception de donnes dans une connexion TCP prcdemment tablie, or ici cette connexion n'existe pas. Ainsi, l'hte distant devrait systmatiquement rpondre par un paquet RST qui trahirait son existence. + L'option utilise le mme port par dfaut que le test SYN (80), mais peut aussi prendre une liste de ports de destination dans le mme format. Si un utilisateur non-privilgi essaie cette option, ou si une cible IPv6 est spcifie, la technique connect() prcdemment voque est utilise. Cette technique est imparfaite car connect() envoie un paquet SYN et pas un ACK. + La raison pour laquelle Nmap offre la fois les tests SYN et ACK est de maximiser les chances de contourner les pare-feux. De nombreux administrateurs configurent leurs routeurs et leurs pare-feux pour bloquer les paquets entrants SYN sauf ceux destins aux services publics comme les sites Web de l'entreprise ou le serveur de messagerie. Ceci empche les autres connexions entrantes dans l'organisation, tout en permettant un accs complet en sortie l'Internet. Cette approche sans tat de connexion est peu consommatrice des ressources des pare-feux/routeurs et est largement supporte dans les dispositifs de filtrage matriels ou logiciels. Le pare-feu logiciel Linux Netfilter/iptables par exemple propose l'option qui implante cette approche sans tat (stateless). Quand de telles rgles de pare-feu sont mises en place, les paquets de tests SYN ( ) seront certainement bloqus lorsqu'envoys sur des ports ferms. Dans ces cas l, les tests ACK contournent ces rgles, prenant ainsi toute leur saveur. + Un autre type courant de pare-feux utilise des rgles avec tat de connexion (statefull) qui jettent les paquets inattendus. Cette fonctionnalit tait la base frquente sur les pare-feux haut-de-gamme, mais elle s'est rpandue avec le temps. Le pare-feu Linux Netfilter/iptables supporte ce mcanisme grce l'option qui catgorise les paquets selon les tats de connexion. Un test SYN marchera certainement mieux contre ces systmes, car les paquets ACK sont gnralement considrs comme inattendus ou bogus et rejets. Une solution ce dilemme est d'envoyer la fois des paquets de tests SYN et ACK en utilisant conjointement les options et . + + + + + (Ping UDP) + + Une autre option de dcouverte des htes est le ping UDP, qui envoie un paquet UDP vide ( moins que l'option ne soit utilise) aux ports spcifis. La liste des ports est crite dans le mme format que les options et prcdemment voques. Si aucun port n'est spcifi, le port par dfaut est le 31338. Cette valeur par dfaut peut tre modifie la compilation en changeant la dfinition DEFAULT_UDP_PROBE_PORT dans le fichier nmap.h. Un numro de port trs peu courant est utilis par dfaut, car envoyer des paquets sur un port ouvert n'est que peu souhaitable pour ce type de scan particulier. + Lorsqu'on atteint un port ferm sur la cible, le test UDP s'attend recevoir un paquet ICMP port unreachable en retour. Ceci indique Nmap que la machine est active et disponible. De nombreuses autres erreurs ICMP, comme host/network unreachable ou TTL exceeded indiquent un hte inactif ou inaccessible. Une absence de rponse est galement interprte de la sorte. Si un port ouvert est atteint, la majorit des services ignorent simplement ce paquet vide et ne rpondent rien. Ceci est la raison pour laquelle le port par dfaut du test est le 31338, qui n'a que trs peu de chances d'tre utilis. Trs peu de services, comme chargen, rpondront un paquet UDP vide, dvoilant ainsi Nmap leur prsence. + L'avantage principal de ce type de scan est qu'il permet de contourner les pare-feux et dispositifs de filtrage qui n'observent que TCP. Les routeurs sans-fil Linksys BEFW11S4 par exemple sont de ce type. L'interface externe de cet quipement filtre tous les ports TCP par dfaut, mais les paquets de tests UDP se voient toujours rpondre par des messages ICMP port unreachable , rendant ainsi l'quipement dsuet. + + + + + ; + ; + (Types de ping ICMP) + + En plus des inhabituels types de dcouverte des htes TCP et UDP prcdemment voqus, Nmap peut galement envoyer les paquets standard mis par l'ternel programme ping. Nmap envoie un paquet ICMP type 8 (echo request) aux adresses IP cibles, attendant un type 0 (echo reply) en provenance des htes disponibles. Malheureusement pour les explorateurs de rseaux, de nombreux htes et pare-feux bloquent dsormais ces paquets, au lieu d'y rpondre comme indiqu par la RFC 1122. Pour cette raison, les scans purs ICMP sont rarement fiables contre des cibles inconnues d'Internet. Cependant, pour les administrateurs surveillants un rseau local cette approche peut tre pratique et efficace. Utilisez l'option pour activer ce comportement de requte echo. + Mme si la requte echo est le standard de la requte ICMP, Nmap ne s'arrte pas l, Le standard ICMP (RFC 792) spcifie galement les requtes timestamp , information et adress mask , dont les codes sont respectivement 13, 15 et 17. Si le but avou de ces requtes est d'obtenir des informations comme le masque rseau ou l'heure courante, elles peuvent facilement tre utilises pour la dcouverte des htes: un systme qui y rpond est actif et disponible. Nmap n'implante actuellement pas les requtes d'informations, car elles ne sont que rarement supportes. La RFC 1122 insiste sur le fait qu'un hte ne DEVRAIT PAS implanter ces messages. Les requtes timestamp et masque d'adresse peuvent tre mises avec les options et , respectivement. Une rponse timestamp (code ICMP 14) ou masque d'adresse (code ICMP 18) rvle que l'hte est disponible. Ces deux requtes peuvent tre trs utiles quand les administrateurs bloquent spcifiquement les requtes echo mais oublient que les autres requtes ICMP peuvent tre utilises dans le mme but. + + + + + (Ping ARP) + + Un des usages les plus courant de Nmap est de scanner un LAN Ethernet. Sur la plupart des LANS, particulirement ceux qui utilisent les plages d'adresses prives de la RFC 1918, la grande majorit des adresses IP sont inutilises un instant donn. Quand Nmap essaie d'envoyer un paquet IP brut (raw packet) comme une requte ICMP echo, le systme d'exploitation doit dterminer l'adresse matrielle (ARP) correspondant la cible IP pour correctement adresser la trame Ethernet. Ceci est souvent lent et problmatique, car les systmes d'exploitation n'ont pas t crits pour grer des millions de requtes ARP contre des htes indisponibles en un court intervalle de temps. + Les requtes ARP sont prises en charge par Nmap qui dispose d'algorithmes optimiss pour grer le scan ARP. Si Nmap reoit une rponse ces requtes, il n'a pas besoin de poursuivre avec les ping bass sur IP car il sait dj que l'hte est actif. Ceci rend le scan ARP bien plus rapide et fiable que les scans bass sur IP. Ainsi, c'est le comportement adopt par dfaut par Nmap quand il remarque que les htes scanns sont sur le rseau local. Mme si d'autres types de ping (comme + ou ) sont spcifis, Nmap utilise ARP pour chaque cible qui sont sur le mme sous-rseau que la machine excutant Nmap. Si vous ne souhaitez vraiment pas utiliser le scan ARP, utilisez l'option + + + + + + [protolist] (IP Protocol Ping) + + Une autre otpion de dcouverte d'htes est le Ping IPProto, qui envoie des paquets IP avec les numros de protocole(s) spcifis dans le champ Protocol de l'en-tte IP. La liste des protocoles prend le mme format qu'avec la liste des ports dans les options de dcouverte en TCP et UDP prsentes prcdement. Si aucun protocole n'est prcis, par dfaut ce sont des paquets IP multiples ICMP (protocol 1), IGMP (protocol 2), et IP-in-IP (protocol 4) qui sont envoys. Les protocoles par dfaut peuvent tre configurs la compilation en changeant DEFAULT_PROTO_PROBE_PORT_SPEC dans nmap.h. Notez que pour ICMP, IGMP, TCP (protocol 6), et UDP (protocol 17), les paquets sont envoys avec l'en-tte supplmentaire cependant que les autres protocoles sont envoys sans donnes supplmentaires en sus de l'en-tte IP ( moins que l'option --data-length ne soit spcifie). + Cette mthode de dcouverte des htes recherche les rponses dans le mme protocole que la requte, ou le message ICMP Protocol Unreachable qui signifie que le protocole spcifi n'est pas support par l'hte (ce qui implique indirectement qu'il est connect). + + + + + (Raisons donnes l'tat de l'hte et des ports) + + Montre les raisons pour lesquelles chaque port est dsign par un tat spcifique et un hte connect ou non. Cette option affiche le type de paquet qui dtermin l'tat du port ou de l'hte. Par exemple, un paquet RST en provenance d'un port ferm ou un echo relpy pour un hte connect. L'information que Nmap peut fournir est dtermine par le type de scan ou de ping. Le scan SYN et le ping SYN (-sS et -PT) sont trs dtaills, mais les TCP connect scan et ping (-sT) sont limits par l'implmentation de l'appel systme connect. Cette fonctionnalit est automatiquement active par le mode de deboguage (-d) et les rsultats sont enregistrs dans la sortie XML mme si cette option n'est pas spcifie. + + + + + (Pas de rsolution DNS) + + Indique Nmap de ne jamais faire la rsolution DNS inverse des htes actifs qu'il a trouv. Comme la rsolution DNS est souvent lente, ceci acclre les choses. + + + + + (Rsolution DNS pour toutes les cibles) + + Indique Nmap de toujoursfaire la rsolution DNS inverse des adresses IP cibles. Normalement, ceci n'est effectu que si une machine est considre comme active. + + + + + (Serveurs utiliser pour les requtes DNS inverses) + + + Par defaut Nmap va essayer de dterminer vos serveurs DNS + (pour le rsolution rDNS) depuis votre fichier resolv.conf (UNIX) ou + le registre (Win32). En alternative, vous pouvez utiliser cette option + pour spcifier des serveurs alternatifs. Cette option n'est pas honore + si vous utilisez ou un scan + IPv6 . Utiliser plusieurs serveurs DNS est souvent plus rapide, + spcialement si vous utilisez les serveurs ddis pour votre + espace d'adresses cible. Cette option peut aussi amliorer la discretion, comme + vos requtes peuvent tre relayes par n'importe quel serveur + DNS rcursif sur Internet. + Cette option est aussi utile lors du scan de reseaux + privs. Parfois seuls quelques serveurs de noms fournissent + des informations rDNS propres, et vous pouvez mme ne pas savoir o ils + sont. Vous pouvez scanner le reseau sur le port 53 (peut tre + avec une dtection de version), puis essayer un list scan + () spcifiant chaque serveur de nom un a la fois + avec jusqu'a en trouver un qui + fonctionne. + + + + + (Utilise la rsolution DNS du systme) + + Par dfaut, Nmap rsout les adresses IP en envoyant directement les requtes aux serveurs de noms configurs sur votre machine et attend leurs rponses. De nombreuses requtes (souvent des douzaines) sont effectues en parallle pour amliorer la performance. Spcifiez cette option si vous souhaitez utiliser la rsolution de noms de votre systme (une adresse IP la fois par le biais de l'appel getnameinfo()). Ceci est plus lent est rarement utile moins qu'il n'y ait une procdure errone dans le code de Nmap concernant le DNS -- nous contacter s'il vous plat dans cette ventualit. La rsolution systme est toujours utilise pour les scans IPv6. + + + + + + Les bases du scan de ports + Mme si le nombre de fonctionnalits de Nmap a considrablement augment au fil des ans, il reste un scanner de ports efficace, et cela reste sa fonction principale. La commande de base nmap target + scanne plus de 1 660 ports TCP de l'hte target. Alors que de nombreux autres scanners de ports ont partitionn les tats des ports en ouverts ou ferms, Nmap a une granularit bien plus fine. Il divise les ports selon six tats: + ouvert (open), + ferm (closed), + filtr (filtered), + non-filtr (unfiltered), + ouvert|filtr (open|filtered), et + ferm|filtr (closed|filtered). + + Ces tats ne font pas partie des proprits intrinsques des ports eux-mmes, mais dcrivent comment Nmap les peroit. Par exemple, un scan Nmap depuis le mme rseau que la cible pourrait voir le port 135/tcp comme ouvert alors qu'un scan au mme instant avec les mmes options au travers d'Internet pourrait voir ce mme port comme filtr. + + Les six tats de port reconnus par Nmap + + ouvert (open) + + Une application accepte des connexions TCP ou des paquets UDP sur ce port. Trouver de tels ports est souvent le but principal du scan de ports. Les gens soucieux de la scurit savent pertinemment que chaque port ouvert est un boulevard pour une attaque. Les attaquants et les pen-testers veulent exploiter ces ports ouverts, tandis que les administrateurs essaient de les fermer ou de les protger avec des pare-feux sans gner leurs utilisateurs lgitimes. Les ports ouverts sont galement intressants pour des scans autres que ceux orients vers la scurit car ils indiquent les services disponibles sur le rseau. + + + + ferm (closed) + + Un port ferm est accessible (il reoit et rpond aux paquets mis par Nmap), mais il n'y a pas d'application en coute. Ceci peut s'avrer utile pour montrer qu'un hte est actif (dcouverte d'htes ou scan ping), ou pour la dtection de l'OS. Comme un port ferm est accessible, il peut tre intressant de le scanner de nouveau plus tard au cas o il s'ouvrirait. Les administrateurs pourraient dsirer bloquer de tels ports avec un pare-feu, mais ils apparatraient alors dans l'tat filtr dcrit dans la section suivante. + + + + filtr (filtered) + + Nmap ne peut pas toujours dterminer si un port est ouvert car les dispositifs de filtrage des paquets empchent les paquets de tests (probes) d'atteindre leur port cible. Le dispositif de filtrage peut tre un pare-feu ddi, des rgles de routeurs filtrants ou un pare-feu logiciel. Ces ports ennuient les attaquants car ils ne fournissent que trs peu d'informations. Quelques fois ils rpondent avec un message d'erreur ICMP de type 3 code 13 ( destination unreachable: communication administratively prohibited ), mais les dispositifs de filtrage qui rejettent les paquets sans rien rpondre sont bien plus courants. Ceci oblige Nmap essayer plusieurs fois au cas o ces paquets de tests seraient rejets cause d'une surcharge du rseau et pas du filtrage. Ceci ralenti terriblement les choses. + + + + non-filtr (unfiltered) + + L'tat non-filtr signifie qu'un port est accessible, mais que Nmap est incapable de dterminer s'il est ouvert ou ferm. Seul le scan ACK, qui est utilis pour dterminer les rgles des pare-feux, catgorise les ports dans cet tat. Scanner des ports non-filtrs avec un autre type de scan, comme le scan Windows, SYN ou FIN peut aider savoir si un port est ouvert ou pas. + + + + ouvert|filtr (open|filtered) + + Nmap met dans cet tat les ports dont il est incapable de dterminer l'tat entre ouvert et filtr. Ceci arrive pour les types de scans o les ports ouverts ne renvoient pas de rponse. L'absence de rponse peut aussi signifier qu'un dispositif de filtrage des paquets a rejet le test ou les rponses attendues. Ainsi, Nmap ne peut s'assurer ni que le port est ouvert, ni qu'il est filtr. Les scans UDP, protocole IP, FIN, Null et Xmas catgorisent les ports ainsi. + + + + ferm|filtr (closed|filtered) + + Cet tat est utilis quand Nmap est incapable de dterminer si un port est ferm ou filtr. Cet tat est seulement utilis par le scan Idle bas sur les identifiants de paquets IP. + + + + + + Techniques de scan de ports + Comme un dbutant tchant d'effectuer une rparation automobile, je peux me battre pendant des heures en essayant d'utiliser convenablement mes rudimentaires outils (marteau, clefs, etc.) pour la tche laquelle je me suis attabl. Une fois que j'ai lamentablement chou et que j'ai fait remorqu ma guimbarde par un vrai mcanicien, chaque fois il farfouille dans sa grosse caisse outils pour y trouver le parfait bidule qui, d'un coup de cuillre pot, rpare le truc. L'art du scan de port, c'est la mme chose. Les experts connaissent des douzaines de techniques de scan et choisissent la bonne (ou une combinaison) pour une tche donne. D'un autre ct, les utilisateurs inexpriments et les script kiddies essaient de tout rsoudre avec le scan SYN par dfaut. Comme Nmap est gratuit, la seule barrire franchir pour atteindre la matrise du scan est la connaissance. C'est bien mieux que l'automobile, o il faut une grande exprience pour dterminer que vous avez besoin d'une plieuse tablier hydraulique, mais il faut quand mme payer des centaines d'euros pour en disposer d'une. + La plupart des types de scans ne sont disponibles que pour les utilisateurs privilgis. Ceci est d au fait qu'ils mettent et reoivent des paquets bruts (raw), qui ncessitent les droits root sur les systmes UNIX. L'utilisation d'un compte administrateur est conseill sous Windows, bien que Nmap puisse fonctionner avec des utilisateurs non-privilgis si WinPcap est dj charg avec l'OS. Ce besoin des droits root tait une srieuse restriction quand Nmap a t diffus en 1997, car beaucoup d'utilisateurs avaient seulement accs des comptes Internet partags. Maintenant, le monde est diffrent. Les ordinateurs sont moins chers, bien plus de gens disposent d'un accs 24/24 direct Internet et les systmes UNIX de bureau (comme Linux et Mac OS X) sont rpandus. Une version Windows de Nmap est dsormais disponible, permettant ainsi de le lancer sur encore plus de machines. Pour toutes ces raisons, les utilisateurs ont bien moins besoin de lancer Nmap depuis des comptes Internet limits. Ceci est heureux, car les options privilgis rendent Nmap bien plus puissant et flexible. + Si Nmap essaie de produire des rsultats prcis, il faut garder l'esprit que toute sa perspicacit est base sur les paquets renvoys par les machines cibles (ou les pare-feux qui les protgent). De tels htes ne sont pas toujours dignes de confiance et peuvent rpondre dans le but de brouiller ou d'enduire Nmap d'erreurs. Les htes qui ne respectent pas les RFCs et ne rpondent pas comme ils devraient sont encore plus courants. Les scans FIN, Null et Xmas sont les plus sensibles ce problme. Ces points sont spcifiques certains types de scan et sont donc abords dans leur section propre de la documentation. + Cette section documente la douzaine de techniques de scan de ports gres par Nmap. Les mthodes ne peuvent pas tre utiliss simultanment, except le scan UDP () qui peut tre combin avec chacun des types de scan TCP. A titre d'aide mmoire, les options de type de scan sont de la forme , o Cest un caractre prpondrant dans le nom du scan, souvent le premier. La seule exception est le dsuet scan par rebond FTP (). Par dfaut, Nmap effectue un scan SYN, bien qu'il y substitue un scan connect() si l'utilisateur ne dispose pas des droits suffisants pour envoyer des paquets bruts (qui requirent les droits root sous UNIX) ou si des cibles IPv6 sont spcifies. Des scans lists dans cette section, les utilisateurs non-privilgis peuvent seulement excuter les scans connect() et le scan par rebond FTP. + + + + + (Scan TCP SYN) + + + Le scan SYN est celui par dfaut et le plus populaire pour de bonnes raisons. Il peut tre excut rapidement et scanner des milliers de ports par seconde sur un rseau rapide lorsqu'il n'est pas entrav par des pare-feux. Le scan SYN est relativement discret et furtif, vu qu'il ne termine jamais les connexions TCP. Il marche galement contre toute pile respectant TCP, au lieu de dpendre des particularits environnementales spcifiques comme les scans Fin/Null/Xmas, Maimon ou Idle le sont. Il permet de plus une diffrentiation fiable entre les tats ouvert, ferm et filtr. + Cette technique est souvent appele le scan demi-ouvert (half-open scanning), car il n'tabli pas pleinement la connexion TCP. Il envoie un paquet SYN et attend sa rponse, comme s'il voulait vraiment ouvrir une connexion. Une rponse SYN/ACK indique que le port est en coute (ouvert), tandis qu'une RST (reset) indique le contraire. Si aucune rponse n'est reue aprs plusieurs essais, le port est considr comme tant filtr. Le port l'est galement si un message d'erreur unreachable ICMP (type 3, code 1,2, 3, 9, 10 ou 13) est reu. + + + + + (Scan TCP connect()) + + Le scan TCP connect() est le type de scan par dfaut quand le SYN n'est pas utilisable. Tel est le cas lorsque l'utilisateur n'a pas les privilges pour les paquets bruts (raw packets) ou lors d'un scan de rseaux IPv6. Plutt que d'crire des paquets bruts comme le font la plupart des autres types de scan, Nmap demande au systme d'exploitation qui l'excute d'tablir une connexion au port de la machine cible grce l'appel systme connect(). C'est le mme appel systme haut-niveau qui est appel par les navigateurs Web, les clients P2P et la plupart des applications rseaux qui veulent tablir une connexion. Cet appel fait partie de l'interface d'application connue sous le nom de Berkeley Sockets API . Au lieu de lire les rponses brutes sur le support physique, Nmap utilise cette application API pour obtenir l'tat de chaque tentative de connexion. + Si le scan SYN est disponible, il vaut mieux l'utiliser. Nmap a bien moins de contrles sur l'appel systme haut niveau connect() que sur les paquets bruts, ce qui le rend moins efficace. L'appel systme complte les connexions ouvertes sur les ports cibles au lieu de les annuler lorsque la connexion est demie ouverte, comme le fait le scan SYN. Non seulement c'est plus long et demande plus de paquets pour obtenir la mme information, mais de plus la probabilit que les cibles activent la connexion est plus grande. Un IDS dcent le fera, mais la plupart des machines ne disposent pas de ce systme d'alarme. De nombreux services sur les systmes UNIX standards noteront cette connexion dans le journal, accompagn d'un message d'erreur sibyllin si Nmap ouvre puis referme la connexion sans n'envoyer aucune donne. Les services rseaux les plus piteux risquent mme de tomber en panne, mais c'est assez rare. Un administrateur qui verrait un tas de tentatives de connexions dans ses journaux en provenance d'une seule machine devrait se rendre compte qu'il a t scann. + + + + + (Scan UDP) + + Mme si les services les plus connus d'Internet son bass sur le protocole TCP, les services + UDP sont aussi largement utiliss. DNS, SNMP ou DHCP (ports 53, 161/162 et 67/68) sont les trois exemples les plus courants. Comme le scan UDP est gnralement plus lent et plus difficile que TCP, certains auditeurs de scurit les ignorent. C'est une erreur, car les services UDP exploitables sont courants et les attaquants eux ne les ignoreront pas. Par chance, Nmap peut aider rpertorier les ports UDP. + Le scan UDP est activ avec l'option. Il peut tre combin avec un scan TCP, comme le scan SYN ( ), pour vrifier les deux protocoles lors de la mme excution de Nmap. + Le scan UDP envoie un en-tte UDP (sans donnes) chaque port vis. Si un message ICMP port unreachable (type 3, code 3) est renvoy, le port est alors ferm. Les autres messages d'erreur unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) rendront le port filtr. l'occasion, il arrive qu'un service rpond par un paquet UDP, prouvant que le port est dans l'tat ouvert. Si aucune rponse n'est renvoye aprs plusieurs essais, le port est considr comme tant ouvert|filtr. Cela signifie que le port peut tre soit ouvert, soit qu'un dispositif de filtrage bloque les communications. Le scan de versions ( ) peut tre utilis pour diffrencier les ports ouverts de ceux filtrs. + Une des grandes difficults avec le scan UDP est de l'excuter rapidement. Les ports ouverts et filtrs ne renvoient que rarement des rponses, laissant Nmap expirer son dlai de retransmission au cas o les paquets se soient perdus. Les ports ferms posent encore un plus grand problme: ils renvoient normalement une erreur ICMP port unreachable . Mais la diffrence des paquets RST renvoys par les ports TCP ferms en rponse un scan SYN ou un connect(), de nombreux htes limitent par dfaut la cadence d'mission de ces messages. Linux et Solaris tant particulirement stricts ce sujet. Par exemple, le kernel 2.4.20 limite cette cadence des destinations inaccessibles ( destination unreachable ) un par seconde (cf.net/ipv4/icmp.c). + Nmap dtecte cette limitation de frquence et s'y ralenti conformment afin d'viter de saturer le rseau avec des paquets inutiles que la machine cible rejettera. Malheureusement, une limitation la Linux d'un paquet par seconde fera qu'un scan des 65 536 ports prendra plus de 18 heures. Les ides pour acclrer les scans UDP incluent le scan des cibles en parallle, ne scanner que les ports les plus courants en premier, scanner derrire le pare-feu et utiliser l'option + pour viter les htes les plus lents. + + + + + ; + ; + + (Scans TCP Null, FIN et Xmas) + + + Ces trois types de scans (d'autres sont possibles en utilisant l'option dcrite dans la section suivante) exploitent une subtile faille de la RFC TCP pour diffrencier les ports entre ouverts et ferms. La page 65 indique que si le port [de destination] est dans l'tat ferm... un segment ne contenant pas le drapeau RST provoque l'mission d'un paquet RST comme rponse.. La page suivante indique que pour les paquets envoys des ports sans aucun des drapeaux SYN, RST ou ACK activs: il est peut vraisemblable que cela arrive, mais si cela est le cas, il faut rejeter le segment. + + Pour les systmes respectant ce texte de la RFC, chaque paquet ne contenant ni SYN, ni RST, ni ACK se voit renvoy un RST si le port est ferm et aucune rponse si le port est ouvert. Tant qu'aucun de ces drapeaux n'est utilis, toute combinaison des trois autres (FIN, PSH et URG) son valides. Nmap exploite cela avec les trois types de scans: + + + Scan Null () + + N'active aucun des bits (les drapeaux de l'en-tte TCP vaut 0). + + + + Scan FIN () + + N'active que le bit FIN. + + + + Scan Xmas () + + Active les drapeaux FIN, PSH et URG, illuminant le paquet comme un arbre de Nol (NDT: la fracture cognitive entre la culture anglo-saxonne et franaise se ressent fortement dans cette traduction...). + + + + + Ces trois types de scan ont exactement le mme comportement, sauf pour les drapeaux TCP utiliss dans des paquets de tests (probes packets). Si un RST est reu, le port est considr comme tant ferm, tandis qu'une absence de rponse signifiera qu'il est dans l'tat ouvert|filtr. Le port est marqu comme filtr si un message d'erreur ICMP unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) est reu. + L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser certains pare-feux ou routeurs filtrants sans tat de connexion (non-statefull). Un autre avantage est qu'ils sont mme un peu plus furtifs que le scan SYN. N'y comptez pas trop dessus cependant -- la plupart des IDS modernes sont configurs pour les dtecter. L'inconvnient majeur est que tous les systmes ne respectent pas la RFC 793 la lettre. Plusieurs systmes renvoient des RST aux paquets quelque soit l'tat du port de destination, qu'il soit ouvert ou pas. Ceci fait que tous les ports sont considrs commeferm. Les plus connus des systmes qui ont ce comportement sont Microsoft Windows, plusieurs quipements Cisco, BSDI et IBM OS/400. Ce type de scan fonctionne cependant trs bien contre la plupart des systmes bass sur UNIX. Un autre dsagrment de ce type de scan et qu'ils ne peuvent pas distinguer les ports ouvertsde certains autres qui sont filtrs, vous laissant face un laconique ouvert|filtr. + + + + + (Scan TCP ACK) + + Ce type de scan est diffrent des autres abords jusqu'ici, dans le sens o ils ne peuvent pas dterminer si un port est ouvert(ni mme ouvert|filtr). Il est utilis pour tablir les rgles des pare-feux, dterminant s'ils sont avec ou sans tats (statefull/stateless) et quels ports sont filtrs. + Le scan ACK n'active que le drapeau ACK des paquets ( moins que vous n'utilisiez l'option ). Les systmes non-filtrs ragissent en retournant un paquet RST. Nmap considre alors le port comme non-filtr, signifiant qu'il est accessible avec un paquet ACK, mais sans savoir s'il est rellement ouvert ou ferm. Les ports qui ne rpondent pas ou renvoient certains messages d'erreur ICMP (type 3, code 1, 2, 3, 9, 10, ou 13), sont considrs comme filtrs. + + + + + (Scan de fentre TCP) + + Le scan de fentre TCP est exactement le mme que le scan ACK la diffrence prs qu'il exploite un dtail de l'implmentation de certains systmes pour identifier les ports ferms des autres, au lieu de toujours afficher non-filtrlorsqu'un RST est renvoy. Sur certains systmes, les ports ouverts utilisent une taille de fentre TCP positive (mme pour les paquets RST), tandis que les ports ferms ont une fentre de taille nulle. Ainsi, au lieu de toujours afficher non-filtr lorsqu'un RST est reu, le scan de fentre indique que le port est ouvert ou ferm selon que la taille de fentre TCP de ce paquet RST est respectivement positive ou nulle. + Ce scan repose sur un dtail d'implmentation d'une minorit de systmes Internet, vous ne pouvez donc pas toujours vous y fier. Les systmes qui ne le supportent pas vont certainement se voir considrs leurs ports comme ferms. Bien sr, il se peut que la machine n'ait effectivement aucun port ouvert. Si la plupart des ports scanns sont ferms mais que quelques-uns courants, comme le 22, 25 ou le 53, sont filtrs, le systme est vraisemblablement prdispos ce type de scan. Quelquefois, les systmes ont le comportement exactement inverse. Si votre scan indique que 1 000 ports sont ouverts et que 3 seulement sont ferms ou filtrs, ces trois derniers sont certainement ceux qui sont ouverts. + + + + + (Scan TCP Maimon) + + Le scan Maimon est nomm ainsi d'aprs celui qui l'a dcouvert, Uriel Maimon. Il a dcrit cette technique dans le numro 49 de Phrack Magazine (Novembre 1996). Nmap, qui inclut cette technique, a t publi deux numros plus tard. Cette technique est la mme que les scans NUll, FIN et Xmas, la diffrence prs que le paquet de test est ici un FIN/ACK. Conformment la RFC 793 (TCP), un paquet RST devrait tre renvoy comme rponse un tel paquet, et ce, que le port soit ouvert ou non. Uriel a cependant remarqu que de nombreux systmes bass sur BSD rejettent tout bonnement le paquet si le port est ouvert. + + + + + (Scan TCP personnalis) + + + Les utilisateurs rellement experts de Nmap ne veulent pas se limiter aux seuls types de scans proposs. L'option + vous permet de crer votre propre type de scan en spcifiant vos propres combinaisons de drapeaux TCP. Laisser courir votre imagination, tout en contournant les systmes de dtection d'intrusion dont les vendeurs n'ont fait qu'ajouter des rgles spcifiques d'aprs la documentation Nmap! + L'argument de l'option peut tre soit un nombre comme 9 (PSH et FIN), mais l'utilisation des noms symboliques est plus facile. Mlanger simplement les drapeaux URG, ACK, PSH, RST, SYN et FIN. Par exemple, les activent tous, bien que cela ne soit pas trs utile pour effectuer un scan. L'ordre dans lequel les drapeaux sont spcifis n'a pas d'importance. + En sus de la spcification des drapeaux dsirs, vous pouvez spcifier galement un type de scan TCP (comme ou ). Ce type de scan de base indique Nmap comment interprter les rponses. Par exemple, un scan SYN considre que l'absence de rponse indique qu'un port est filtr, tandis qu'un scan FIN considrera la mme absence comme un port ouvert|filtr. Nmap se comportera de la mme faon que le type de scan de base, la diffrence prs qu'il utilisera les drapeaux TCP que vous avez spcifi la place. Si vous n'en spcifiez pas, le type de scan SYN par dfaut sera utilis. + + + + + (Scan passif -- idlescan) + + Cette mthode de scan avanc permet de faire un vritable scan de port TCP en aveugle, (dans le sens o aucun paquet n'est envoy directement la cible depuis votre vraie adresse IP). En effet, la technique employe consiste rcolter des informations sur les ports ouverts de la cible en utilisant un exploit bas sur la prdictibilit de la gnration des identifiants de fragmentation IP de l'hte relais (le zombie). Les systmes IDS considreront que le scan provient de la machine zombie que vous avez spcifi (qui doit remplir certains critres). Le mcanisme de cette incroyable technique est trop complexe pour tre expliqu en dtail dans ce guide; un papier informel a t post pour rendre compte de tous ces dtails:. + En plus de son incroyable furtivit (en raison du caractre aveugle de la technique), ce type de scan permet de dterminer les relations de confiance entre les machines. La liste des ports ouverts est tablie du point de vue de l'hte zombie. Ainsi, vous pouvez essayer de scanner une cible en utilisant diffrents zombies pour lesquels vous pensez qu'il existe une relation de confiance entre eux et la cible (d'aprs les rgles des dispositifs de filtrage). + Vous pouvez ajouter les deux points (:) suivis d'un numro de port de l'hte zombie si vous souhaitez tester les changements d'identifiants IP sur un port particulier du zombie. Par dfaut, Nmap utilisera le port utilis pour les pings tcp (le port 80). + + + + + (Scan du protocole IP) + + Le scan du protocole IP permet de dterminer quels protocoles IP (TCP, ICMP, IGMP, etc.) sont supports par les cibles. Ce n'est donc pas techniquement un scan de ports, car Nmap essaie les diffrents numros de protocoles IP la place des numros de ports TCP ou UDP. Ce scan permet nanmoins d'utiliser l'option pour slectionner les numros de protocoles scanner -- le rapport de Nmap tant toujours dans le style habituel des tables de ports -- et utilise le mme moteur de scan utilis pour le scan de ports. Ainsi, cette technique est suffisamment proche du scan de port pour tre prsent ici. + Au del de son intrt propre, le scan de protocoles illustre la puissance des logiciels en libre accs. L'ide de base est assez simple: je n'avais mme pas particulirement pens l'ajouter ni reu de requte me demandant une telle fonctionnalit. En fait, l't 2000, Gerhard Rieger a eu cette ide et a crit un excellent programme de correction pour l'implanter; il l'a ensuite envoy la liste de distribution nmap-hackers. Je l'ai par la suite ajout l'arbre de dveloppement de Nmap et j'ai publi la nouvelle version le lendemain mme. Trs peu de logiciels commerciaux peuvent se targuer d'avoir des utilisateurs si enthousiastes concevant et proposant leur propres amliorations! + Le scan de protocole fonctionne d'une faon similaire du scan UDP. Au lieu de parcourir les champs de numro de port des paquets UDP, il envoie des paquets d'en-ttes IP et parcours les 8 bits du champ protocole IP. Les en-ttes son gnralement vides, ne contenant pas de donnes ni mme l'en-tte du protocole sollicit. Les trois seules exceptions tant TCP, UDP et ICMP. Un en-tte exact de ces protocoles est inclus, sinon certains systmes refusent de les mettre et Nmap dispose dj des fonctions permettant de construire ces en-ttes. Au lieu de scruter les messages ICMP port unreachable , comme pour le scan UDP, le scan de protocole attend de recevoir les messages ICMP protocolunreachable . Ds que Nmap reoit une rponse d'un protocole en provenance de la cible, Nmap considre ce protocole comme ouvert. Une erreur ICMP protocol unreachable (type 3, code 2) fait en sorte que le port est considr comme tant ferm. Les autres messages d'erreur ICMP unreachable (type 3, code 1, 3, 9, 10, or 13) font en sorte que le port est considr comme tant filtr (tout en prouvant que le protocole ICMP est quant lui ouvert). Si aucune rponse n'est reue aprs plusieurs transmissions, le protocole est considr comme tant ouvert|filtr. + + + + + (Scan par rebond FTP) + + Une caractristique intressante du protocole FTP (RFC 959) est qu'il supporte les connexions par proxy ftp (proxy ftp connections, ainsi nommes dans la RFC). Ceci permet un utilisateur de se connecter un serveur FTP, puis de demander qu'un fichier soit envoy un tiers serveur FTP. Une telle fonctionnalit est propre tre dtourne tous les niveaux, c'est pourquoi la plupart des serveurs ont cess de la supporter. Un des dtournements possible de cette caractristique conduit le serveur FTP scanner les ports d'autres htes. Demandez simplement au serveur FTP d'envoyer un fichier chaque port intressant de votre cible, et il se chargera d'effectuer le scan. Le message d'erreur permettra de savoir si le port est ouvert ou non. C'est un trs bon moyen de contourner les pare-feux car les serveurs FTP des organisations sont souvent situs de telle faon avoir plus d'accs aux htes du rseau internes que toute autre machine Internet. Nmap supporte le scan par rebond FTP avec l'option . Cette option prend un argument du type username:password@server:port. Server est le nom ou l'adresse IP d'un serveur FTP vulnrable. Comme pour une adresse URL traditionnelle, vous pouvez omettre username:password, (user: anonymous, password: -wwwuser@) pour accder de manire anonyme. Le numro de port (et les deux points) peuvent tre galement omis si le port FTP par dfaut (21) est utilis par le serveur server. + Cette vulnrabilit tait trs rpandue en 1997 quand Nmap a t publi mais a largement t corrige depuis. Il existe encore quelques serveurs vulnrables qui tranent, autant les essayer si rien d'autre ne marche (!!!). Si votre but est de contourner un pare-feu, scannez le rseau cible pour trouver un port 21 ouvert (ou un serveur FTP sur tout autre port en activant la dtection de version), essayez ensuite pour chacun d'entre eux le scan par rebond FTP. Nmap vous indiquera si chaque hte y est vulnrable ou pas. Si vous voulez juste essayer de masquer vos attaques, vous n'avez pas besoin (et mme en fait, vous ne devriez pas) vous limiter aux htes du rseau cible. Avant de vous lancer dans un scan sur des adresses Internet au hasard, la recherche de serveurs FTP vulnrables, pensez bien que les gestionnaires des systmes n'apprcieront pas trop que vous dtourniez leurs serveurs cet effet. + + + + + + Spcifications des ports et ordre du scan + En plus de toutes les mthodes de scan abordes prcdemment, Nmap propose des options permettant la spcification des ports scanner ainsi que l'ordre (au hasard ou squentiel) dans lequel le scan doit se faire. Par dfaut, Nmap scanne tous les ports jusqu'au 1 024 inclusivement ainsi que les ports suprieurs lists dans le fichier nmap-servicespour le ou les protocoles demands). + + + + (Ne scanne que les ports spcifis) + + Cette option spcifie quels ports vous voulez scanner et remplace le comportement par dfaut. Les ports peuvent tre spcifis un un ou par plages (spars par des tirets, notamment 1-1023). Les valeurs de dbut ou de fin des plages peuvent tre omises, de sorte que Nmap utilisera les ports 1 et 65 535, respectivement. Ainsi, vous pouvez spcifier pour scanner tous les ports de 1 65 535. Le scan du port 0 est autoris si spcifi explicitement. Pour ce qui est du scan du protocole IP (), cette option spcifie les numros de protocoles que vous souhaitez scanner (0-255). + Lorsque vous scannez la fois des ports TCP et UDP, vous pouvez spcifier un protocole particulier en prfixant les numros de ports par T: (pour TCP) ou U: (pour UDP). Le qualificateur reste actif moins que vous n'en indiquiez un autre. Par exemple, l'argument scannerait les ports UDP numros 53 111 et 137 et les ports TCP de 21 25 inclusivement, 80, 139 et 8080. Notez que si vous voulez la fois scanner TCP et UDP, vous devez spcifier et au moins un type de scan TCP (comme , ou ). Si aucun qualificateur de protocole n'est spcifi, les numros de ports sont alors valables pour tous les protocoles. + + + + + (Scan rapide (limite aux ports connus) + + Cette option indique que vous souhaitez seulement scanner les ports lists dans le fichier nmap-services fourni avec Nmap (ou le fichier des protocoles avec l'option ). Ceci est bien plus rapide que de scanner les 65 535 ports d'un hte. Comme cette liste contient beaucoup de ports TCP (plus de 1 200), la diffrence de vitesse avec le comportement par dfaut (environ 1 650 ports) est relativement ngligeable. Par contre, la diffrence peut tre norme si vous spcifiez votre propre mini-fichier nmap-services en utilisant l'option . + + + + + (Ne mlange pas les ports) + + Par dfaut, Nmap mlange au hasard l'ordre des ports (sauf que certains ports couramment accessibles sont placs vers le dbut de la liste pour des raisons d'efficacit). Ce mlange est normalement souhaitable, mais vous pouvez spcifier l'option pour effectuer un scan de port squentiel. + + + + + + Dtection de services et de versions + Supposons que Nmap vous ai signal que les ports 25/tcp, 80/tcp et 53/udp d'une machine distante sont ouverts. En utilisant sa base de donnes nmap-servicesd'environ 2 200 services bien connus, Nmap indique que ces ports correspondent probablement un serveur de messagerie (SMTP), un serveur Web (HTTP) et un serveur de noms (DNS), respectivement. Cette consultation est souvent pertinente -- une vaste majorit des dmons coutant sur le port 25, tant bien des serveurs de messagerie. Cependant, en scurit, il ne faudrait pas trop parier l-dessus ! Les gens peuvent lancer des services sur des ports bizarres et ils le font effectivement. + Mme si Nmap a raison, et que les serveurs hypothtiques du dessus sont bien des serveurs SMTP, HTTP et DNS, ce n'est pas trs utile. Lors d'audit de scurit (ou bien lors de simples inventaires de rseau) de votre entreprise ou de clients, vous voulez rellement savoir de quels serveurs de messagerie et de noms il s'agit, ainsi que leurs versions. Connatre avec prcision le numro de version aide considrablement dterminer quels exploits un serveur est vulnrable. La dtection de version vous permet d'obtenir une telle information. + Aprs avoir dcouvert les ports TCP ou UDP par une des mthodes de scan, la dtection de version interroge ces ports pour savoir quelle version tourne actuellement. La base de donnes nmap-service-probes contient les tests effectuer selon les services, ainsi que les chanes de caractres auxquelles comparer les rponses. Nmap essaie de dterminer le protocole (p. ex.: ftp, ssh, telnet, http), le nom de l'application (p. ex.: ISC Bind, Appache httpd, Solaris telnetd), le numro de version, le nom d'hte, le type d'quipement (p. ex.: imprimante, routeur), la famille d'OS (p. ex.: Windows, Linux) et quelquefois des dtails divers (p. ex.: si un serveur X accepte ou non des connexions, la version du protocole SSH, le nom d'utilisateur KaZaA). Bien sr, la plupart des services ne fournissent pas autant d'informations. Si Nmap a t compil avec le support de OpenSSL, il se connectera aux serveurs SSL pour dduire le service coutant derrire la couche de cryptage. Quand des services RPC sont dcouverts, la moulinette RPC de Nmap () est automatiquement utilise pour dterminer le programme RPC et sa version. Des ports peuvent rester dans l'tat ouvert|filtr lorsqu'un scan de ports UDP a t incapable de dterminer si le port tait ouvert ou ferm. La dtection de version tentera d'obtenir une rponse de ces ports (comme s'ils taient ouverts), et changera l'tat ouvert si elle y parvient. Les ports TCP ouverts|filtr sont traits de la mme faon. Notez que l'optionde Nmap active notamment la dtection de version. Un papier documentant le fonctionnement, l'utilisation et la personnalisation de la dtection de version est disponible . + Lorsque Nmap reoit une rponse d'un service mais ne parvient pas le faire correspondre un service de sa base de donnes, il affiche une empreinte et une adresse URL o vous pouvez l'envoyer si vous tes sr de ce qui tourne sur ce port. Prendre quelques minutes pour faire cette soumission permettra tout le monde de bnficier de votre dcouverte. Grce ces soumissions, Nmap dispose d'environ 3 000 empreintes de rfrence lies plus de 350 protocoles, comme smtp, ftp et http. + La dtection de version est active et contrle grce aux options suivantes: + + + + (Dtection de version) + + Active la dtection de version, tel que discut ci-dessus. Autrement, vous pouvez utiliser l'option pour activer la fois la dtection de version et celle du systme d'exploitation. + + + + + (N'exclut aucun port de la dtection de version) + + Par dfaut, la dtection de version de Nmap vite le port TCP 9100 car certaines imprimantes impriment tout bonnement tout ce qui est envoy sur ce port, ce qui conduit l'impression de douzaines de pages de requtes HTTP, des requtes de sessions SSL en binaire, etc. (ce qui est particulirement furtif). Ce comportement peut tre chang en modifiant ou en supprimant la directive Exclude du fichier nmap-service-probes, ou en spcifiant l'option pour scanner tous les ports sans tenir compte d'aucune directive Exclude. + + + + + (Slectionne l'intensit du scan de version) + + Lors d'un scan de version (), Nmap envoie une srie de paquets de tests, chacun duquel est associ une valeur de raret allant de 1 9. Les tests aux basses valeurs sont efficaces pour une grande varit de services courants, tandis que les hautes valeurs indiquent ceux qui ne sont que rarement utiles. Le niveau d'intensit spcifie quels tests doivent tre effectus. Plus la valeur est haute, plus le service a de chances d'tre correctement identifi. Cependant, ces scans-ci sont plus longs. La valeur d'intensit doit tre comprise entre 0 et 9, la valeur par dfaut tant le 7. Quand un test est inscrit sur le port cible par le biais de la directive nmap-service-probes + ports, ce test est tent quelque soit le niveau d'intensit. Cela permet de s'assurer que les tests DNS seront toujours tents sur chaque port 53 ouvert, les tests SSL sur chaque 443, etc. + + + + + (Active le mode lger) + + Il s'agit d'un raccourci pour . Ce mode lger rend le scan de version bien plus rapide, mais il est un peu moins susceptible d'identifier les services. + + + + + (Essaie chaque test possible) + + Il s'agit d'un raccourci pourforant chaque test unitaire tre test contre chaque port. + + + + + (Trace l'activit du scan de version) + + Ceci force Nmap afficher un nombre considrable d'informations de dbogage propos de ce que fait le scan de version. Il s'agit d'un sous-ensemble de ce que vous obtenez avec l'option . + + + + + (Scan RPC) + + Cette mthode fonctionne conjointement avec les diffrentes mthodes de scan de Nmap. Il prend tous les ports TCP/UDP ouverts et les submerge avec les commandes NULL du programme SunRPC dans le but de dterminer s'il s'agit de ports RPC, et le cas chant, de quel programme et quel numro de version il s'agit. Vous pouvez aussi obtenir les mmes informations avec rpcinfo -p, et ce, mme si le mapper de port (portmapper) de la cible se trouve derrire un pare-feu (ou protg par des wrappers TCP). Les leurres ne fonctionnent pas avec le scan RPC. Cette option est automatiquement active par le scan de version (). Comme la dtection de version inclus le scan RPC, et est bien plus complte, on a rarement besoin de l'option . + + + + + + + Nmap Scripting Engine (NSE) + Le moteur de scripts de Nmap (Nmap Scripting Engine -NSE) allie l'efficacit avec laquelle Nmap traite le rseau avec la souplesse d'un langage lger comme Lua, fournissant ainsi une infinit d'opportunits. Une documentation plus complte du NSE (y compris ses API) peut tre obtenue sur . Le but du NSE est de fournir Nmap une infrastructure flexible afin d'tendre ses capacits et ainsi offrir ses utilisateurs une facon simple de crer leurs propres tests personnaliss. Le cadre d'usage du NSE englobe (mais encore une fois n'est pas limit ) : + Dtection de version volue (catgorie version) - Alors que Nmap propose dja son systme de dtection de Service et de Version qui est ingal en termes d'efficacit et de couverture, cette puissance trouve sa limite lorsqu'il s'agit de services qui demandent des tests plus complexes. La version 2 du Protocole Skype par exemple peut tre identifi en envoyant deux paquets de tests pour lesquels le systme n'est pas prvu d'origine: un simple script NSE peut alors faire le travail et mettre ainsi jour les informations sur le service tournant sur le port. + Dtection de Malware (catgories malware et backdoor)- Que ce soit les attaquants ou les vers, ils laissent souvent des portes drobes, par exemple sous la forme de serveurs SMTP coutant sur des ports inhabituels, le plus souvent utiliss par les spammers pour le relais de leurs mails, ou sous forme de serveur FTP donnant des accs des donnes critiques aux crackers. Quelques lignes de code Lua peut aider identifier facilement ces piges. + Dtection de vulnrabilits (catgorie vulnerability)- Le NSE permet de dtecter les risques allant par exemple des mots de passe par dfaut sur Apache au test de capacit d'agir en tant que relais pour un serveur SMTP concernant les mails en provenance de domaines divers. + Dcouverte du Rseau et Collecte d'Informations (catgories safe, intrusive et discovery) - En vous fournissant un langage de scripts et une API rseau asynchrone vraiment efficace d'une part et la collecte d'informations durant les tapes ultrieures du scan d'autre part, le NSE est concu pour crire des programmes clients adapts aux services en coute sur la machine cible. Ces clients peuvent collecter des informations comme : liste des partages NFS/SMB/RPC disponibles, le nombre de canaux d'un rseau IRC ou les utilisateurs actuellement connects. + Afin de reflter ces diffrents usages et pour simplifier le choix des scripts employer, chaque script contient un champ qui l'associe a une ou plusieurs de ces catgories. Pour maintenir le lien entre scripts et catgories un fichier appel script.db est install avec les scripts distribus. Ainsi si par exemple vous voulez voir si une machine est infecte par un ver Nmap vous donne un script que vous pouvez facilement utiliser par la commande nmap --script=malware ip-cible afin d'analyser les rsultats aprs coup.Les scripts de version sont systmatiquement lancs de facon implicite lorsqu'un scan de scripts est invoqu. Le fichier script.db est lui mme un script Lua et peut tre mis jour via l'option . + Un script NSE est simplement un code Lua qui a (parmis quelques champs d'information comme le nom, l'identifiant et la catgorie) 2 fonctions: un test dans le cas o le script en particulier doit tre lanc contre une cible et un port spcifiques (appels hostrule et portrule respectivement) et une action qui doit tre mene si le test est positif. Les scripts ont acces la plupart des informations collectes par Nmap durant les tapes prcdentes. Pour chaque hte ceci inclus l'adresse IP, le nom de l'hte et (si disponible) le systme d'exploitation. Si un script est destin un port en particulier, il a accs au numro du port, son protocole (tcp, udp ou ssl), le service tournant derrire ce port et des informations optionnelles en provenance d'un scan de version. Par convention les scripts NSE ont une extension .nse. Toutefois vous n'avez pas besoin de suivre cette recommandation pour le moment, ceci pouvant changer dans l'avenir. Nmap donnera une mise en garde si un fichier a une autre extension. Une documentation plus exhaustive sur le NSE comprenant une description de son API peut tre obtenue sur . + + + + + + + effectue un scan de scripts en utilisant la catgorie de scripts par dfaut. Cette option est quivalente --script=safe,intrusive + + + + + + + + Lance un scan de scripts (comme ) avec les scripts que vous avez choisi plutt que ceux par dfaut. Les arguments peuvent tre des catgories de scripts, des scripts uniques ou des rpertoires contenant des scripts qui doivent tre lancs contre les htes cibles la place des scripts par dfaut. Nmap va essayer d'interprter les arguments d'abord comme des catgories puis comme des noms de fichiers ou des rpertoires. Les chemins absolus sont interprets tels quels, les chemins relatifs sont recherchs dans les endroits suivants : --datadir/; $(NMAPDIR)/; ~user/nmap/ (non cherch sous Windows); NMAPDATADIR/ ou ./. A scripts/ les sous rpertoires sont aussi essays dans chacun d'eux. Donnez l'argument all pour excuter tous les scripts de la base de donnes de Nmap. + Si un rpertoire est prcis et trouv, Nmap charge tous les scripts NSE (chaque fichier se terminant par .nse) dans ce rpertoire. L'extension nse est obligatoire. Nmap ne fait pas de recherche rcursive dans les sous rpertoires ventuels pour trouver les scripts. Lorsque des noms de scripts individuels sont spcifis, l'extension est facultative. + Les scripts de Nmap sont stocks dans un rpertoire scripts du rpertoire de donnes par dfaut de Nmap. Les scripts sont indexs dans une base de donnes dans scripts/script.db. La base de donnes liste tous les scripts dans chaque catgorie. Un seul script peut tre dans plusieurs catgories. + + + + + + + + vous permet de passer des arguments aux scripts NSE. Les arguments sont passs sous la forme de paires name=value . L'arguments fourni est interprt et stock dans une table Lua laquelle tous les scripts ont accs. Les noms sont pris comme des chanes (qui doivent tre des valeurs alphanumriques) et utiliss comme des cls dans la table argument-table. Les valeurs sont soit des chanes soit des tables elles mmes (encadres par'{' et '}'). Les sous tables permettent de supplanter les arguments pour des scripts spcifiques (c'est dire lorsque vous souhaitez fournir diffrents couples login/password pour des scripts diffrents). Par exemple vous pouvez passer les arguments spars par des virgules : user=bar,password=foo, and anonFTP={password=nobody@foobar.com}. Si vous souhaitez outrepasser une option d'un script, vous devriez indexer la sous table avec l'identifiant du script tant donn que c'est la seule facon qu'a le script de connaitre ses arguments particuliers. + + + + + + + + Cette option fait ce que fait , juste une couche OSI au dessus. Si cette option est spcifie toutes les communications entrantes et sortantes en provenance d'un script sont affiches. Les informations affiches incluent le protocole de communication, la source, la cible et les donnes transmises. Si plus de 5% du traffic n'est pas imprimable, alors la sortie se fait au format hexadcimal. + + + + + + + + met jour la base de donnes de scripts qui contient les correspondances des catgories avec les noms de fichiers. La base de donnes est un script Lua qui est interprt pour choisir les scripts en fonction des catgories passes en arguments . Ceci devrait tre lanc si vous avez chang le champ categories d'un script, si vous avez ajout de nouveaux scripts ou si vous en avez retir du rpertoire scripts/ . + + + + + + Timing et Performances + L'une des priorits les plus importantes dans le dveloppement de Nmap a toujours t + la performance. Un scan par dfaut (nmap + hostname + ) d'un hte sur mon rseau + local prend un cinquime de seconde. Il s'agit donc de trs peu de temps + mais les minutes s'accumulent lorsque vous scannez des dizaines ou des centaines de milliers d'htes. + De plus, certains scans tels que le scan UDP et la dtection de version + peuvent accrotre le temps global du scan de faon significative. De plus, certains pare-feux limitent le taux de rponses dans leur configuration. + Bien que Nmap utilise un fonctionnement en parallle et beaucoup d'autres algorithmes avancs + afin d'acclrer ces scans, l'utilisateur garde le contrle total sur le fonctionnement de + Nmap. Les utilisateurs confirms choisissent avec une grande attention leurs commandes afin d'obtenir + seulement les informations dont ils ont besoin en un minimum de temps. + Les techniques permettant d'affiner les temps de scan sont entre autres d'viter + les tests non essentiels et d'avoir les versions les plus rcentes de Nmap + (les augmentations de performance sont frquentes). Optimiser ses paramtres de temps en temps + peut ainsi faire toute la diffrence. Ces options sont + dcrites ci-dessous. + + + + ; + (Ajuste la quantit du groupe de scans en parallle) + + Nmap peut scanner des ports ou faire un scan de version sur de multiples htes + en parallle. Pour ce faire, Nmap divise la plage des adresses IP des cibles en + groupe puis scanne ces groupes un la fois. En gnral, scanner un grand nombre de groupes amliore l'efficacit de la procdure. En contrepartie, les rsultats ne peuvent tre fournis que lorsque tout le groupe d'htes a t scann. Par consquent, si Nmap a commenc avec un groupe de 50, + l'utilisateur ne recevra aucun rsultat tant que les premiers 50 htes ne seront pas termins (exception + faite des informations donnes en mode verbeux). + Par dfaut, Nmap adopte un compromis dans son approche de ce conflit. + Il commence avec une quantit aussi petite que 5 groupes de faon obtenir rapidement les premiers rsultats et augmente ensuite la quantit de groupes jusqu' un maximum de1 024. Les + valeurs exactes par dfaut dpendent des options configures. Par soucis d'efficacit, + Nmap utilise une quantit de groupes plus grande lorsqu'il s'agit de scans UDP ou sur peu de ports en TCP. + Lorsqu'un maximum est spcifi en quantit de groupes avec l'option + , Nmap ne va jamais dpasser cette valeur. + Spcifiez une quantit minimale avec l'option et Nmap + tentera de garder la quantit de groupes au-dessus de cette valeur. Nmap devra peut-tre utiliser + des groupes plus petits que ceux que vous demandez s'il n'y a plus assez d'htes cibles + sur une interface donne par rapport au minimum que vous avez spcifi Les deux valeurs doivent + tre dtermins pour de conserver la quantit de groupes dans une plage spcifique, quoique ceci ne soit que rarement souhait. + Le premier usage de ces options est de spcifier un minimum assez grand pour que + le scan entier se fasse plus vite. Un choix frquent est + 256 pour scanner un rseau de Classe C. S'il s'agit d'un scan incluanrt beaucoup de ports, + dpasser cette valeur n'aidera pas grand chose. S'il s'agit de scans sur + peu de ports, une quantit de groupes de 2 048 ou plus peut faciliter la procdure. + + + + + ; + (Ajuste la mise en parallle des paquets de test, probes) + + Ces options permettent de contrler le nombre total de probes idal + pour un groupe d'htes. Elles permettent de scanner des ports et de dcouvrir des htes (host discovery). Par dfaut, Nmap calcule un paralllisme + idal et variable bas sur les performances du rseau. Si des paquets sont rejets, + Nmap ralentit sa cadence en permettant moins de probes simultans. Le nombre idal de probes + augmente graduellement en mme temps que le rseau dmontre ses performances. Ces + options fixent les limites maximales et minimales selon cette variable. Par dfaut, + le paralllisme idal peut chuter 1 si le rseau s'avre trop faible et monter plusieurs centaines + dans des conditions parfaites. + L'usage habituel consiste rgler l'option + une valeur suprieure 1 pour acclrer + les scans sur des rseaux de faible performance. Il est risqu de + trop modifier cette option puisqu'tablir une valeur trop leve peut affecter la prcision des rsultats. Modifier cette option rduit aussi la capacit de Nmap contrler le paralllisme + de faon dynamique selon les conditions du rseau. Une valeur de 10 peut tre + raisonnable bien que je n'ajuste personnellement celle-ci qu'en dernier ressort. + L'option est parfois rgle 1 afin + d'viter d'envoyer plus d'un probe en mme temps vers les htes. Ceci peut tre intressant en combinaison avec l'option + (on verra plus tard), bien que cette option serve dj elle-mme cet effet. + + + + + , + , + (Ajuste la dure de vie des paquets de test, probe timeouts) + + Nmap conserve une valeur + de dure de vie qui dtermine combien de temps il devra attendre avant d'envoyer une rponse un probe + avant de l'abandonner ou de le renvoyer. Cette valeur est calcule en fonction + du temps de rponse des probes prcdents. Si + le temps de latence du rseau est significatif et variable, ce + dlai d'inactivit ou cette dure de vie, peut augmenter jusqu' plusieurs secondes. Elle est galement de niveau lev et peut rester ainsi pendant un bon moment lorsque Nmap scanne + des htes sans rponse. + Ces options acceptent des valeurs en millisecondes. Spcifier un + et un + plus bas que ceux par dfaut peuvent raccourcir + le temps de scan de faon significative. C'est particulirement vrai pour les scans sans ping pralable + () et ceux contre des rseaux trs filtrs. + Toutefois, ne soyez pas trop agressif. Le scan peut se finir en un temps plus significatif si, au contraire, vous spcifiez des valeurs tellement basses que les dures de vie des probes sont termines + et ceux-ci renvoys alors que leurs rponses sont en fait encore en transit. + Si tous les htes sont sur un rseau local, 100 millisecondes est une + valeur de seront suffisantes. Si vous etes face a un routage, mesurez d'abord le temps de rponse d'un hte sur le rseau \ l'aide du ping ICMP de Nmap ou d'un autre outil, comme hping2 qui est plus mme + de passer un pare-feu si le paquet est spcialement forg. Regardez les dures de transit + sur 10 paquets ou plus. Vous pouvez doubler cette valeur pour + et tripler ou quadrupler + le . Gnralement, je ne rgle pas le + rtt maximum moins de 100ms, et ce, quelles que soient les mesures de ping. De plus, je n'excde + pas 1 000ms. + + est une option rarement utilise qui + peut s'avrer utile lorsqu'un rseau est si lent que mme les rglages par dfaut de Nmap + sont trop agressifs. Comme Nmap ne rduit le dlai d'inactivit au + minimum que lorsque le rseau semble suffisamment rapide, ce genre de besoin est + inhabituel et devrait tre rapport en tant que procdure errone la liste de dveloppement de nmap-dev. + + + + + (Spcifie le nombre maximum de retransmisison des paquets de test (probes)) + + + Quand Nmap ne reoit pas de rponse un paquet de test sur un port, cela peut signifier que le port est filtr. Ou simplement que la rponse s'est perdue sur le rseau. Il est galement possible que l'hte cible ait limit son taux d'mission ce qui a temporairement bloqu la rponse. Pour ces raisons, Nmap recommence l'mission du paquet de test. Si Nmap dtecte que le rseau est peu fiable, il peut essayer de re-mettre le paquet plus de fois encore avant de s'arrter. Si cette technique amliore la fiabilit, elle ralonge la dure du scan. Quand la performance est un facteur critique, les scans peuvent tre acclrs en limitant le nombre de retransmissions autoris. Vous pouvez mme spcifier pour viter toute retransmission, bien que cela ne soit pas trop recommand. + + + Le paramtrage par dfaut (sans politique spcifie) est d'autoriser jusqu' dic retransmissions. Si le rseau a l'air fiable et que les htes cibles ne limitent pas leur taux d'mission, Nmap ne fait gnralement qu'une seule retransmission. Ainsi, rduire une valeur basse comme trois n'affecte pas la plupart des scans. Une telle valeur peut acclrer significativement les scans pour des htes lents (qui limitent leurs missions). Gnralement, vous perdez des informations si Nmap cesse de scanner un port trop tt, mais cela peut tre prfrable laisser expirer et perdre alors toutes les informations concernant la cible. + + + + + + (Abandon des htes cibles + trop lents) + + + Certains htes prennent du temps long scanner, tout simplement. + Ceci peut tre d du matriel ou des logiciels rseau peu performants ou inefficaces, + un taux de paquets limit ou un pare-feu restrictif. Le faible pourcentage de + htes lents scanns peut ralentir le temps de scan tout entier. + Il est donc parfois prfrable d'carter temporairement ces htes du scan initial. Ceci peut tre fait en spcifiant avec le nombre de millisecondes maximales que + vous tes prt attendre. Je choisis souvent 1 800 000 secondes pour m'assurer que Nmap + ne perde pas plus d'une demi-heure sur un seul hte. Notez que Nmap + peut tre en train de scanner d'autres htes en mme temps durant cette demi-heure, + ce n'est donc pas une perte complte. Un hte qui dpasse cette valeur est abandonn. + Pas de listage des ports, de dtection d'OS ou de dtection de version + dans les rsultats pour celui-ci. + + + + + ; + (Ajuste le dlai entre les paquets de test) + + Cette option force Nmap attendre d'obtenir au moins la valeur donne en + millisecondes entre chaque probe qu'il envoie sur un hte donn. C'est particulirement + utile en cas de limitation de nombre de paquets (taux limite). Les machines Solaris + (parmi beaucoup d'autres) vont habituellement rpondre des paquets de test d'un scan UDP + par seulement un message ICMP par seconde. Tout ce qui est envoy au-del par Nmap + serait inutile. Un de 1 000 gardera + Nmap ce taux suffisamment lent. Nmap essaie de dtecter le taux limite et + d'ajuster le dlai en consquence, mais il ne fait pas de mal de le prciser si vous + savez dj quelle valeur est la meilleure. + Une autre utilisation de est d'viter + les dtections ventuelles des systmes de dtection et de prvention d'intrusion (IDS/IPS) bases sur ce genre de rgle. + + + + + + + + Beaucoup d'htes utilisent depuis longtemps un filtrage pour rduire le nombre + de messages d'erreur ICMP (comme les erreurs de ports inaccessibles) qu'ils envoient. + Certains systmes appliquent a prsent des limitations similaires aux paquets RST (reset) + qu'ils gnrent. Ceci peut ralentir Nmap dramaticalement tant donn qu'il + ajuste son timing pour reflter ces limitations. Vous pouvez dire a Nmap d'ignorer + ces limitations (pour les scans de ports comme le SYN scan qui + ne traitent pas les ports muets comme tant + ouverts) en spcifiant + + . + Utiliser cette option peut rduire la prcision, puisque certains ports apparaitront + comme muets parcequ'Nmap n'attend alors pas assez longtemps une rponse + RST qui serait limite. Dans le cas d'un SYN + scan, l'absence de rponse se traduit par un port marqu + filtr plutot que ferm + quand des paquets RST sont recus. Cette option est utile + quand vous n'avez besoin que des ports ouverts, et que distinguer des + ferms ou des filtrs ne vaut pas + le temps supplmentaire que cela suppose. + + + + + + (Rgler un profil de comportement au niveau du dlai) + + + Bien que les contrles avancs et prcis du dlai dont il est fait mention + dans les sections prcdentes soient prcis et efficaces, certains peuvent les trouver compliqus. + Qui plus est, choisir les valeurs appropries peut parfois prendre plus de temps + que le scan que vous essayez d'optimiser. De ce fait, Nmap offre + une approche plus simple, avec six profils de timing. Vous pouvez les spcifier grce + l'option et aux numros (0 5) ou aux noms correspondants. + Les noms des profils sont paranoid (0), sneaky (1), polite (2), normal + (3), agressive (4), et insane (5). Les deux premiers sont pour viter les IDS. + Le profile Polite ralentit le scan afin d'utiliser moins de bande passante + et moins de ressources sur la machine cible. Le profil Normal est celui par dfaut et + donc ne fait rien. Le profil Agressive acclre les scans, partant du principe + que vous travaillez sur un rseau suffisamment rapide et efficace. + Enfin, le profil Insane suppose que vous tes sur un rseau + extraordinairement rapide ou que vous tes prt sacrifier un peu de prcision pour + plus de vitesse. + Ces profils permettent l'utilisateur de spcifier quel point il + souhaite tre agressif tout en laissant Nmap choisir les valeur adquates. + Les profils effectuent aussi quelques ajustements que les options avances + ne permettent pas encore. Par exemple, + empche la variation dynamique du dlai de dpasser + 10ms pour les ports TCP et met cette valeur 5 + millisecondes. Les profils peuvent tre utiliss en combinaison avec les options avances + en autant que le profil est prcis en premier. Dans le cas contraire, + les valeurs normalises pour le profil risquent d'craser celles que vous spcifiez. + Je vous recommande d'utiliser lorsque vous scannez des rseaux + plus ou moins rapides, efficaces et modernes. Utilisez cette option (en dbut de ligne de commande) + mme si vous ajoutez des options avances afin de bnficier des petites amliorations lie cette option. + Si vous travaillez sur une connexion large bande ou Ethernet, je vous + recommande toujours d'utiliser . Certains aiment utiliser + quoique ce soit, mon avis, trop agressif. Les gens + utilisent parfois parce qu'ils pensent que le rsique que les htes tombent en panne soit moins grand ou parce qu'ils se considrent comme respectueux d'une faon gnrale. + Souvent ils ne ralisent pas quel point l'option est lente en ralit. Leur scan peut prendre dix fois plus de temps qu'un scan par dfaut. + Les machines qui tombent en panne et les problmes lis la bande passante sont rares avec + les options de scan par dfaut (). C'est pourquoi je les recommande + habituellement pour les scanneurs prcautionneux. Le fait de ne pas faire de dtection de version + est bien plus efficace pour limiter ces problmes que de jouer sur les valeurs de timing. + Bien que les options et puissent tre + utiles pour viter les alertes des IDS, elles prendront un temps norme + pour scanner des milliers de machines ou de ports. Lorsqu'il s'agit de tels scans, + vous devriez rgler les valeurs exactes de timing dont vous avez besoin plutt que + de vous appuyer sur les options et + et les valeurs qui y sont associes. + Les effets principaux de sont de mettre les scans en srie + de faon ce que seul un port ne soit scann la fois, puis d'attendre 5 minutes + entre chaque envoi de probe. et + sont semblables mais n'attendent que 15 secondes et 0,4 secondes, + Respectivement, entre chaque probe. est le profil par dfaut de Nmap + et comporte la mise en parallle. + est l'quivalent de et met le dlai maximum de scan TCP + 10 millisecondes. fait la mme chose que + tout en + mettant le dlai maximum de scan TCP 5 millisecondes. + + + + + + Timing et Performances + L'une des priorits les plus importantes dans le dveloppement de Nmap a toujours t + la performance. Un scan par dfaut (nmap + hostname + ) d'un hte sur mon rseau + local prend un cinquime de seconde. Il s'agit donc de trs peu de temps + mais les minutes s'accumulent lorsque vous scannez des dizaines ou des centaines de milliers d'htes. + De plus, certains scans tels que le scan UDP et la dtection de version + peuvent accrotre le temps global du scan de faon significative. De plus, certains pare-feux limitent le taux de rponses dans leur configuration. + Bien que Nmap utilise un fonctionnement en parallle et beaucoup d'autres algorithmes avancs + afin d'acclrer ces scans, l'utilisateur garde le contrle total sur le fonctionnement de + Nmap. Les utilisateurs confirms choisissent avec une grande attention leurs commandes afin d'obtenir + seulement les informations dont ils ont besoin en un minimum de temps. + Les techniques permettant d'affiner les temps de scan sont entre autres d'viter + les tests non essentiels et d'avoir les versions les plus rcentes de Nmap + (les augmentations de performance sont frquentes). Optimiser ses paramtres de temps en temps + peut ainsi faire toute la diffrence. Ces options sont + dcrites ci-dessous. + + + + ; + (Ajuste la quantit du groupe de scans en parallle) + + Nmap peut scanner des ports ou faire un scan de version sur de multiples htes + en parallle. Pour ce faire, Nmap divise la plage des adresses IP des cibles en + groupe puis scanne ces groupes un la fois. En gnral, scanner un grand nombre de groupes amliore l'efficacit de la procdure. En contrepartie, les rsultats ne peuvent tre fournis que lorsque tout le groupe d'htes a t scann. Par consquent, si Nmap a commenc avec un groupe de 50, + l'utilisateur ne recevra aucun rsultat tant que les premiers 50 htes ne seront pas termins (exception + faite des informations donnes en mode verbeux). + Par dfaut, Nmap adopte un compromis dans son approche de ce conflit. + Il commence avec une quantit aussi petite que 5 groupes de faon obtenir rapidement les premiers rsultats et augmente ensuite la quantit de groupes jusqu' un maximum de1 024. Les + valeurs exactes par dfaut dpendent des options configures. Par soucis d'efficacit, + Nmap utilise une quantit de groupes plus grande lorsqu'il s'agit de scans UDP ou sur peu de ports en TCP. + Lorsqu'un maximum est spcifi en quantit de groupes avec l'option + , Nmap ne va jamais dpasser cette valeur. + Spcifiez une quantit minimale avec l'option et Nmap + tentera de garder la quantit de groupes au-dessus de cette valeur. Nmap devra peut-tre utiliser + des groupes plus petits que ceux que vous demandez s'il n'y a plus assez d'htes cibles + sur une interface donne par rapport au minimum que vous avez spcifi Les deux valeurs doivent + tre dtermins pour de conserver la quantit de groupes dans une plage spcifique, quoique ceci ne soit que rarement souhait. + Le premier usage de ces options est de spcifier un minimum assez grand pour que + le scan entier se fasse plus vite. Un choix frquent est + 256 pour scanner un rseau de Classe C. S'il s'agit d'un scan incluanrt beaucoup de ports, + dpasser cette valeur n'aidera pas grand chose. S'il s'agit de scans sur + peu de ports, une quantit de groupes de 2 048 ou plus peut faciliter la procdure. + + + + + ; + (Ajuste la mise en parallle des paquets de test, probes) + + Ces options permettent de contrler le nombre total de probes idal + pour un groupe d'htes. Elles permettent de scanner des ports et de dcouvrir des htes (host discovery). Par dfaut, Nmap calcule un paralllisme + idal et variable bas sur les performances du rseau. Si des paquets sont rejets, + Nmap ralentit sa cadence en permettant moins de probes simultans. Le nombre idal de probes + augmente graduellement en mme temps que le rseau dmontre ses performances. Ces + options fixent les limites maximales et minimales selon cette variable. Par dfaut, + le paralllisme idal peut chuter 1 si le rseau s'avre trop faible et monter plusieurs centaines + dans des conditions parfaites. + L'usage habituel consiste rgler l'option + une valeur suprieure 1 pour acclrer + les scans sur des rseaux de faible performance. Il est risqu de + trop modifier cette option puisqu'tablir une valeur trop leve peut affecter la prcision des rsultats. Modifier cette option rduit aussi la capacit de Nmap contrler le paralllisme + de faon dynamique selon les conditions du rseau. Une valeur de 10 peut tre + raisonnable bien que je n'ajuste personnellement celle-ci qu'en dernier ressort. + L'option est parfois rgle 1 afin + d'viter d'envoyer plus d'un probe en mme temps vers les htes. Ceci peut tre intressant en combinaison avec l'option + (on verra plus tard), bien que cette option serve dj elle-mme cet effet. + + + + + , + , + (Ajuste la dure de vie des paquets de test, probe timeouts) + + Nmap conserve une valeur + de dure de vie qui dtermine combien de temps il devra attendre avant d'envoyer une rponse un probe + avant de l'abandonner ou de le renvoyer. Cette valeur est calcule en fonction + du temps de rponse des probes prcdents. Si + le temps de latence du rseau est significatif et variable, ce + dlai d'inactivit ou cette dure de vie, peut augmenter jusqu' plusieurs secondes. Elle est galement de niveau lev et peut rester ainsi pendant un bon moment lorsque Nmap scanne + des htes sans rponse. + Ces options acceptent des valeurs en millisecondes. Spcifier un + et un + plus bas que ceux par dfaut peuvent raccourcir + le temps de scan de faon significative. C'est particulirement vrai pour les scans sans ping pralable + () et ceux contre des rseaux trs filtrs. + Toutefois, ne soyez pas trop agressif. Le scan peut se finir en un temps plus significatif si, au contraire, vous spcifiez des valeurs tellement basses que les dures de vie des probes sont termines + et ceux-ci renvoys alors que leurs rponses sont en fait encore en transit. + Si tous les htes sont sur un rseau local, 100 millisecondes est une + valeur de seront suffisantes. Si vous etes face a un routage, mesurez d'abord le temps de rponse d'un hte sur le rseau \ l'aide du ping ICMP de Nmap ou d'un autre outil, comme hping2 qui est plus mme + de passer un pare-feu si le paquet est spcialement forg. Regardez les dures de transit + sur 10 paquets ou plus. Vous pouvez doubler cette valeur pour + et tripler ou quadrupler + le . Gnralement, je ne rgle pas le + rtt maximum moins de 100ms, et ce, quelles que soient les mesures de ping. De plus, je n'excde + pas 1 000ms. + + est une option rarement utilise qui + peut s'avrer utile lorsqu'un rseau est si lent que mme les rglages par dfaut de Nmap + sont trop agressifs. Comme Nmap ne rduit le dlai d'inactivit au + minimum que lorsque le rseau semble suffisamment rapide, ce genre de besoin est + inhabituel et devrait tre rapport en tant que procdure errone la liste de dveloppement de nmap-dev. + + + + + (Spcifie le nombre maximum de retransmisison des paquets de test (probes)) + + + Quand Nmap ne reoit pas de rponse un paquet de test sur un port, cela peut signifier que le port est filtr. Ou simplement que la rponse s'est perdue sur le rseau. Il est galement possible que l'hte cible ait limit son taux d'mission ce qui a temporairement bloqu la rponse. Pour ces raisons, Nmap recommence l'mission du paquet de test. Si Nmap dtecte que le rseau est peu fiable, il peut essayer de re-mettre le paquet plus de fois encore avant de s'arrter. Si cette technique amliore la fiabilit, elle ralonge la dure du scan. Quand la performance est un facteur critique, les scans peuvent tre acclrs en limitant le nombre de retransmissions autoris. Vous pouvez mme spcifier pour viter toute retransmission, bien que cela ne soit pas trop recommand. + + + Le paramtrage par dfaut (sans politique spcifie) est d'autoriser jusqu' dic retransmissions. Si le rseau a l'air fiable et que les htes cibles ne limitent pas leur taux d'mission, Nmap ne fait gnralement qu'une seule retransmission. Ainsi, rduire une valeur basse comme trois n'affecte pas la plupart des scans. Une telle valeur peut acclrer significativement les scans pour des htes lents (qui limitent leurs missions). Gnralement, vous perdez des informations si Nmap cesse de scanner un port trop tt, mais cela peut tre prfrable laisser expirer et perdre alors toutes les informations concernant la cible. + + + + + + (Abandon des htes cibles + trop lents) + + + Certains htes prennent du temps long scanner, tout simplement. + Ceci peut tre d du matriel ou des logiciels rseau peu performants ou inefficaces, + un taux de paquets limit ou un pare-feu restrictif. Le faible pourcentage de + htes lents scanns peut ralentir le temps de scan tout entier. + Il est donc parfois prfrable d'carter temporairement ces htes du scan initial. Ceci peut tre fait en spcifiant avec le nombre de millisecondes maximales que + vous tes prt attendre. Je choisis souvent 1 800 000 secondes pour m'assurer que Nmap + ne perde pas plus d'une demi-heure sur un seul hte. Notez que Nmap + peut tre en train de scanner d'autres htes en mme temps durant cette demi-heure, + ce n'est donc pas une perte complte. Un hte qui dpasse cette valeur est abandonn. + Pas de listage des ports, de dtection d'OS ou de dtection de version + dans les rsultats pour celui-ci. + + + + + ; + (Ajuste le dlai entre les paquets de test) + + Cette option force Nmap attendre d'obtenir au moins la valeur donne en + millisecondes entre chaque probe qu'il envoie sur un hte donn. C'est particulirement + utile en cas de limitation de nombre de paquets (taux limite). Les machines Solaris + (parmi beaucoup d'autres) vont habituellement rpondre des paquets de test d'un scan UDP + par seulement un message ICMP par seconde. Tout ce qui est envoy au-del par Nmap + serait inutile. Un de 1 000 gardera + Nmap ce taux suffisamment lent. Nmap essaie de dtecter le taux limite et + d'ajuster le dlai en consquence, mais il ne fait pas de mal de le prciser si vous + savez dj quelle valeur est la meilleure. + Une autre utilisation de est d'viter + les dtections ventuelles des systmes de dtection et de prvention d'intrusion (IDS/IPS) bases sur ce genre de rgle. + + + + + + + + Beaucoup d'htes utilisent depuis longtemps un filtrage pour rduire le nombre +de messages d'erreur ICMP (comme les erreurs de ports inaccessibles) qu'ils envoient. +Certains systmes appliquent a prsent des limitations similaires aux paquets RST (reset) +qu'ils gnrent. Ceci peut ralentir Nmap dramaticalement tant donn qu'il +ajuste son timing pour reflter ces limitations. Vous pouvez dire a Nmap d'ignorer +ces limitations (pour les scans de ports comme le SYN scan qui +ne traitent pas les ports muets comme tant +ouverts) en spcifiant + +. + Utiliser cette option peut rduire la prcision, puisque certains ports apparaitront +comme muets parcequ'Nmap n'attend alors pas assez longtemps une rponse +RST qui serait limite. Dans le cas d'un SYN +scan, l'absence de rponse se traduit par un port marqu +filtr plutot que ferm +quand des paquets RST sont recus. Cette option est utile +quand vous n'avez besoin que des ports ouverts, et que distinguer des +ferms ou des filtrs ne vaut pas +le temps supplmentaire que cela suppose. + + + + + + (Rgler un profil de comportement au niveau du dlai) + + + Bien que les contrles avancs et prcis du dlai dont il est fait mention + dans les sections prcdentes soient prcis et efficaces, certains peuvent les trouver compliqus. + Qui plus est, choisir les valeurs appropries peut parfois prendre plus de temps + que le scan que vous essayez d'optimiser. De ce fait, Nmap offre + une approche plus simple, avec six profils de timing. Vous pouvez les spcifier grce + l'option et aux numros (0 5) ou aux noms correspondants. + Les noms des profils sont paranoid (0), sneaky (1), polite (2), normal + (3), agressive (4), et insane (5). Les deux premiers sont pour viter les IDS. + Le profile Polite ralentit le scan afin d'utiliser moins de bande passante + et moins de ressources sur la machine cible. Le profil Normal est celui par dfaut et + donc ne fait rien. Le profil Agressive acclre les scans, partant du principe + que vous travaillez sur un rseau suffisamment rapide et efficace. + Enfin, le profil Insane suppose que vous tes sur un rseau + extraordinairement rapide ou que vous tes prt sacrifier un peu de prcision pour + plus de vitesse. + Ces profils permettent l'utilisateur de spcifier quel point il + souhaite tre agressif tout en laissant Nmap choisir les valeur adquates. + Les profils effectuent aussi quelques ajustements que les options avances + ne permettent pas encore. Par exemple, + empche la variation dynamique du dlai de dpasser + 10ms pour les ports TCP et met cette valeur 5 + millisecondes. Les profils peuvent tre utiliss en combinaison avec les options avances + en autant que le profil est prcis en premier. Dans le cas contraire, + les valeurs normalises pour le profil risquent d'craser celles que vous spcifiez. + Je vous recommande d'utiliser lorsque vous scannez des rseaux + plus ou moins rapides, efficaces et modernes. Utilisez cette option (en dbut de ligne de commande) + mme si vous ajoutez des options avances afin de bnficier des petites amliorations lie cette option. + Si vous travaillez sur une connexion large bande ou Ethernet, je vous + recommande toujours d'utiliser . Certains aiment utiliser + quoique ce soit, mon avis, trop agressif. Les gens + utilisent parfois parce qu'ils pensent que le rsique que les htes tombent en panne soit moins grand ou parce qu'ils se considrent comme respectueux d'une faon gnrale. + Souvent ils ne ralisent pas quel point l'option est lente en ralit. Leur scan peut prendre dix fois plus de temps qu'un scan par dfaut. + Les machines qui tombent en panne et les problmes lis la bande passante sont rares avec + les options de scan par dfaut (). C'est pourquoi je les recommande + habituellement pour les scanneurs prcautionneux. Le fait de ne pas faire de dtection de version + est bien plus efficace pour limiter ces problmes que de jouer sur les valeurs de timing. + Bien que les options et puissent tre + utiles pour viter les alertes des IDS, elles prendront un temps norme + pour scanner des milliers de machines ou de ports. Lorsqu'il s'agit de tels scans, + vous devriez rgler les valeurs exactes de timing dont vous avez besoin plutt que + de vous appuyer sur les options et + et les valeurs qui y sont associes. + Les effets principaux de sont de mettre les scans en srie + de faon ce que seul un port ne soit scann la fois, puis d'attendre 5 minutes + entre chaque envoi de probe. et + sont semblables mais n'attendent que 15 secondes et 0,4 secondes, + Respectivement, entre chaque probe. est le profil par dfaut de Nmap + et comporte la mise en parallle. + est l'quivalent de et met le dlai maximum de scan TCP + 10 millisecondes. fait la mme chose que + tout en + mettant le dlai maximum de scan TCP 5 millisecondes. + + + + + + vitement de pare-feux/IDS et mystification + Beaucoup de pionniers d'Internet envisageaient un rseau global ouvert avec + un espace d'adressage IP universel permettant des connexions virtuelles entre n'importe quel + noeuds. Ceci permet aux htes d'agir en vritables relais, recevant et renvoyant + l'information les uns aux autres. Les gens pourraient accder l'ensemble + de leur systme domestique du bureau, en changeant les rglages de climatisation ou + en dverrouillant leur porte pour les premiers invits. Cette vision d'une connectivit universelle + a t touffe par la rduction de l'espace d'adressage et les considrations de scurit. + Au dbut des annes 90, les organisations commencrent dployer + des pare-feux dans le but explicite de rduire la connectivit. De gigantesques + rseaux furent cerns et coups (NdT : le texte original dit barrs par un cordon de police) d'Internet non filtr + par des proxies applicatifs, la conversion des adresses rseau (network address translation) et les filtrages de paquets. Le + flux d'information libre cda la place une rgulation stricte de canaux de communication + approuvs et du contenu qui y transitait. + Les outils d'obstruction du rseau comme les pare-feux peuvent rendre la cartographie + d'un rseau beaucoup trop difficile. Ce fait ne va pas aller en s'arrangeant puisque + l'touffement de toute possibilit de reconnaissance est souvent + un point cl de l'implmentation des interfaces. Nonobstant, Nmap offre un certain nombre + de fonctionnalits afin d'aider comprendre ces rseaux complexes + ainsi que de s'assurer que les filtres agissent comme ils sont censs le faire. + Il supporte mme des mcanismes pour contourner les dfenses tablies de faon trop + faibles. Une des meilleures mthodes pour mieux comprendre votre rseau + et la scurit qui y est dploye est de tenter de la contourner. Mettez-vous la place de l'attaquant et dployez les techniques de cette section + contre vos rseaux. Lancez un scan FTP bounce , un Idle scan , + une attaque par fragmentation, ou tentez d'tablir un tunnel travers un de vos + propres proxies. + Outre le fait de restreindre l'activit du rseau, les compagnies + surveillent de plus en plus le trafic l'aide de systmes de dtection d'intrusion + (IDS). Tous les principaux IDSs sont prvus pour dtecter les scans de Nmap + parce que les scans sont parfois prcurseurs d'attaques. Beaucoup de + ces produits ont rcemment migr vers des systmes de + prvention et d'intrusion (IPS) qui bloquent de faon active + un trafic suppos malveillant. Malheureusement pour les administrateurs de rseau + et les distributeurs d'IDS, la fiabilit de dtection de mauvaises intentions par analyse + des donnes de paquets demeure un problme. Les attaquants, avec de la patience, un certain niveau d'expertise et certaines quelques fonctions de Nmap, peuvent traverser un IDS sans tre dtects. + Dans le mme temps, les administrateurs doivent composer avec un grand nombre de + fausses alertes (false positive) qui bloquent et signalent une activit innocente. + De temps en temps, les gens suggrent que Nmap ne devrait pas offrir de + possibilits de contourner les rgles des pare-feux ou de tromper les IDSs. Ils font valoir que ces fonctionnalits sont utilises par les attaquants de la mme faon que les + administrateurs les utilisent pour renforcer leur scurit. Le problme avec cette + logique est que ces mthodes seront toujours utilises par les attaquants, qui ne feront + que trouver d'autres outils ou corriger ces fonctions sur Nmap. + Dans le mme temps, les administrateurs trouveront plus de difficults faire + leur travail. Dployer seulement des serveurs FTP modernes et corrigs est une + dfense bien plus efficace que d'empcher la distribution d'outils permettant + les attaques FTP Bounce . + + Il n'y a pas de mthode miracle (ni d'option dans Nmap) pour dtecter et + tromper les pare-feux et les systmes IDS. Cela demande un niveau de connaissances et de l'exprience. + Un tutoriel est prvu pour ce guide de rfrence qui ne fait que + lister les options relatives ces sujets et ce qu'elles font. + + + + (fragmentation de paquets); + (utiliser le MTU spcifi) + + + L'option force le scan demand (y compris + les scans de type ping) utiliser des paquets IP fragments en petits paquets. L'ide + est de partager l'en-tte TCP en plusieurs paquets pour + rendre plus difficile la dtection de ce que vous faites par les dispositifs de filtrage de paquets, + les systmes de dtection et d'intrusion et autres systmes ennuyeux. + Il faudra cependant faire attention ! Certains programmes ont du mal + grer ces petits paquets. Les anciens sniffers comme + Sniffit souffraient d'erreurs de segmentation immdiatement aprs avoir reu + le premier fragment. Spcifiez cette option une fois, et Nmap + partage les paquets en 8 bytes ou moins aprs l'en-tte IP. + Par exemple, un en-tte de 20 bytes sera fragment en 3 paquets. + Deux avec 8 bytes d'en-tte TCP et un avec les 4 derniers. + Bien entendu, chaque paquet a son en-tte IP. Spcifiez encore + pour utiliser 16 bytes par fragment (ceci rduit + le nombre de fragments). Vous pouvez aussi spcifier + votre propre taille d'offset avec l'option . Par contre, ne + spcifiez pas si vous utilisez . L'offset doit tre + un multiple de 8. Bien que les paquets fragments ne tromperont pas + les filtrages de paquets et les pare-feux, tenant compte de tous les fragments IP, + comme l'option CONFIG_IP_ALWAYS_DEFRAG dans le noyau Linux, + certains rseaux ne peuvent supporter la perte de performance que cela entrane + et de ce fait laisse ceci dsactiv. D'autres ne peuvent pas l'activer parce que les fragments peuvent prendre diffrentes routes au sein de leur rseau. + Certains systmes source dfragmentent les paquets sortant dans le noyau. + Linux, avec le module de connection tracking iptables est + un trs bon exemple. Faites donc ce genre de scan avec un + sniffer comme Ethereal tournant en mme temps + afin de vous assurer que les paquets envoys sont + bien fragments. Si votre systme d'exploitation causait des problmes, essayez l'option pour contourner la couche IP et envoyer des trames en raw Ethernet. + + + + + + (Dissimuler un scan avec des leurres) + + + Engendrez un scan avec des leurres, ce qui fait croire + l'hte distant que les htes que vous avez spcifi excutent eux + aussi un scan contre lui. Un IDS fera tat d'un scan de 5 10 ports + depuis des adresses IP diffrentes, dont la vtre, + sans pouvoir faire la diffrence entre les leurres et la vritable origine. + Bien que ceci puisse tre repr par + la tracabilit des routeurs, le renvoi de rponses (response-dropping), + et d'autres mcanismes actifs, ceci reste une technique + gnralement efficace pour cacher votre adresse IP. + Sparez chaque leure par une virgule et vous pourrez + utiliser de faon facultative ME en tant que l'un des leurres pour reprsenter + la position de votre vritable adresse IP. Si vous mettez + ME en sixime position ou aprs, certains systmes + de dtection de scans de ports (comme l'excellent scanlogd de Solar Designer) + sont incapables de voir votre adresse IP. Si vous + n'utilisez pas ME, Nmap vous placera une position alatoire. + Notez que les htes que vous utilisez comme leurres devraient tre rellement actifs; sinon, vous risquez d'inonder votre cible par des SYN. Sans compter qu'il serait + trs facile de dterminer quel hte est en train de scanner si en fait un seul est actif sur le rseau. + Vous pourriez utiliser des adresses IP + plutt que des noms afin de ne pas apparatre dans les logs + des serveurs de nom du rseau. + Les leurres sont utiliss autant dans la phase initiale de scan ping (utilisant les + ICMP, SYN, ACK, ou quoi que ce soit) que dans la phase proprement dite de scan + de ports. Les leurres sont aussi utiliss pendant la dtection d'OS distant (). + Les leurres ne fonctionnent pas avec la dtection de version ou un scan de type TCP connect(). + Il est inutile d'utiliser trop de leurres car cela pourrait + ralentir votre scan et potentiellement le rendre moins prcis. + Enfin, certains FAI peuvent filtrer vos paquets usurps (spoofs) + toutefois beaucoup ne le font pas du tout. + + + + + (Usurper votre adresse source) + + + Dans certaines circonstances, + Nmap n'est pas capable de dterminer votre + adresse source ( + Nmap vous avisera le cas chant). Dans cette situation, utilisez avec l'adresse IP de + l'interface avec laquelle vous souhaitez envoyer les paquets. + Un autre usage possible de ce drapeau est d'usurper (spoofer) le scan + afin de faire croire la cible que quelqu'un + d'autre est en train de les scanner. Imaginez une compagnie + constamment scanne pas un concurrent ! L'option + est gnralement requise pour ce genre d'usage + et est conseiller quoi qu'il en soit. + + + + + (Utiliser l'interface prcise) + + + Avise Nmap sur quelle interface envoyer et recevoir les paquets. + Nmap devrait pouvoir la dtecter automatiquement + mais il vous le dira + si ce n'est pas le cas. + + + + + + (Usurper le numro du port source) + + + L'une des erreurs de configuration les plus surprenantes est de faire confiance + au trafic sur la base du port d'o il provient. Il est facile de comprendre pourquoi une telle situation se produit. Un administrateur va rgler un tout nouveau pare-feu et tre noy sous les plaintes des utilisateurs dont les applications + ne fonctionnent plus. En particulier, les DNS peuvent tre casss + parce que les rponses UDP DNS depuis les serveurs externes ne peuvent plus entrer + sur le rseau. Le FTP est un autre exemple. Dans les transferts actifs en FTP, + le serveur distant essaie d'tablir une connexion en retour vers le client + afin de transfrer le fichier demand. + La solution scurise pour ce problme existe, souvent sous la forme + de proxies applicatifs ou de modules de filtrage de protocoles au niveau du pare-feu. + Malheureusement, il existe aussi des solutions faciles non scurises. En remarquant que + les rponses DNS viennent du port 53 et le FTP actif du port 20, beaucoup d'administrateurs + sont tombs dans le pige de seulement permettre le trafic entrant depuis + ces ports. Ils imaginent souvent qu'aucun attaquant n'aura not et + pens exploiter de telles failles de pare-feux. Dans d'autres cas, l'administrateur va considrer que c'est + une solution court terme jusqu' ce qu'il implmente une solution plus scurise. + Ils oublient par la suite d'effectuer la mise jour de scurit. + + Les administrateurs de rseau surchargs de travail ne sont pas les seuls tomber + dans ce pige. Beaucoup de produits sont penss avec ce genre de rgle + mal scurise. Mme Microsoft en a t coupable. Les filtres IPsec, fournis avec + Windows 2000 et Windows XP, contiennent une rgle implicite qui autorise + tout trafic depuis le port 88 (Kerberos) en TCP ou UDP. Dans un autre cas bien + connu, les versions du pare-feu Zone Alarm personal firewall jusqu' 2.1.25 + permettaient tout paquet UDP provenant du port 53 (DNS) ou 67 + (DHCP). + Nmap propose les options et + qui sont quivalentes pour exploiter ces faiblesses. + Fournissez simplement un numro de port et Nmap enverra les paquets depuis ce port + si possible. Nmap doit utiliser certains numros de port + afin que certains tests de dtection d'OS fonctionnent correctement. De plus, les requtes DNS + ignorent le drapeau parce que Nmap se fonde sur un systme de + bibliothques pour les traiter. La plupart des scans TCP, y compris le SYN scan, + supportent entirement l'option comme le fait aussi le scan UDP. + + + + + (Ajoute des donnes alatoires + aux paquets envoys) + + + Normalement, Nmap envoie des paquets minimalistes contenant seulement + un en-tte. Donc ces paquets TCP ne font gnralement que 40 bytes + et les ICMP echo request seulement 28 bytes. Cette option indique + Nmap d'ajouter le nombre donn de bytes alatoires la plupart des + paquets qu'il envoie. Les paquets de la dtection d'OS () + ne sont pas affects, contrairement la plupart des paquets de ping et de scan de port. Cette procdure ralentit bien entendu les choses mais permet toutefois de faire passer un scan + pour un peu moins suspect. + + + + + + (Envoie des paquets avec les options IP spcifies) + + + Le protocole + IP offre plusieurs options pouvant tre places dans + l'entte des paquets. Contrairement aux options TCP habituelles, les options IP + sont rarement rencontres pour des raisons pratiques et de scurit. En + fait, beaucoup de routeurs Internet bloquent les options les plus dangereuses + comme le routage de source. CEpendant les options peuvent s'avrer utiles dans certains + cases for determining and manipulating the network route to + cas de machines cibles. Par exemple vous pouvez tre en mesure d'utiliser l'enregistrement + de routage pour dterminer un chemin vers une cible quand bien mme une approche plus + traditionnelle de Traceroute chouerait. Ou si vos paquets sont + rejetts par un pare-feu, vous pouvez spcifier une autre + route avec des options plus ou moins vagues de routage. + La facon la plus puissante de spcifier ces options IP est simplement + de passer ces valeurs en argument + . Faites prcder chaque nombre hxadcimal par + \x puis les deux chiffres. Vous pouvez rpter + certains charactres en les sparant par un asterisk suivit du + nombre de rptions. Par exemple, + \x01\x07\x04\x00*36\x01 est une chaine hxa + contenant 36 NUL bytes. + Nmap propose aussi un mechanisme de raccourcis pour spcifier + ces options. Donnez simplement la lettre R, + T, ou U pour demander + l'enregistrement de routage, de timestamp, ou les deux simultanement, + respectivement. Un routage strict ou plus vague peut tre spcifi + avec un L ou un S suivit d'un espace + et d'une liste spare d'espaces d'adresses IP. + Si vous souhaitez voir les options dans les paquets envoys et + recus, spcifiez . Pour plus + d'information et d'exemples de l'utilisation des options IP avec Nmap, voir + . + + + + + (Envoyer des paquets avec des sommes de contrle TCP/UDP erronnes) + + + Demande a Nmap d'utiliser une somme de contrle TCP ou UDP erronne pour + les paquets envoys aux htes cibles. Comme virtuellement toutes + les piles IP des htes rejettent ces paquets, toute rponse recue + doivent venir d'un pare-feu ou d'un IDS qui ne se proccuppe pas de + vrifier les sommes de contrle. Pour plus de dtails sur cette technique, voir + + + + + + (Rgle la valeur du champ IP de dure de vie (time-to-live)) + + + Rgle le champ IPv4 du time-to-live dans les paquets envoys + la valeur donne. + + + + + (Met les htes dans un ordre alatoire) + + + Indique Nmap de mlanger tous les groupes contenant jusqu' 8 096 htes + avant de les scanner. Ceci peut rendre les scans moins vidents + pour de nombreux systmes de surveillance rseau, spcialement si vous le combinez + des options de dlai lentes. Si vous + souhaitez mlanger des groupes de taille plus importante, augmentez la valeur + PING_GROUP_SZ dans nmap.h et recompilez. + Une autre solution serait de gnrer la liste des IP cibles + avec un scan de listage (list scan, ), le mlanger l'aide + d'un script Perl, puis fournir la liste complte Nmap avec + . + + + + + (Usurpation d'adresses MAC) + + + Demande Nmap d'utiliser l'adresse MAC spcifie pour l'ensemble des + trames en raw Ethernet qu'il envoie. Cette option implique + pour s'assurer que Nmap envoie vraiment + des paquets au niveau Ethernet. Le MAC donn peut prendre plusieurs formes. S'il s'agit seulement de la chane 0, Nmap choisit une adresse MAC totalement alatoire + pour la session. Si la chane est un nombre hexadcimal + (avec les paires de nombres ventuellement spares par les deux points), Nmap utilisera + ceci comme adresse MAC. Si moins de 12 chiffres sont spcifis, Nmap + remplit le reste avec des valeurs alatoires. Si l'argument + n'est ni 0 ni une chane hexadcimale, Nmap recherche dans sa base de donnes + nmap-mac-prefixes un nom de fournisseur contenant la chane en question + (non sensible la casse). Si une correspondance est trouve, Nmap utilise le numro + OUI du distributeur (un prfixe de 3 bytes) et utilise les 3 bytes restants + de faon alatoire. Des exemples de valeurs valides sont Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, 0020F2 et Cisco. + + + + + + Comptes rendus + Tout outil de scurit n'est vraiment utile qu'en fonction des + comptes rendus qu'il gnre. Des tests aussi complexes soient-ils et des algorithmes n'ont + finalement qu'une faible valeur s'ils ne sont pas prsents et organiss de faon comprhensible. + tant donn que les utilisateurs emploient Nmap et d'autres + Logiciels de diverses faons, il n'y a pas un format qui puisse convenir tout le monde. Nmap propose donc + plusieurs formats, y compris le mode interactif permettant d'tre directement intelligible + et le XML pour une meilleure portabilit entre logiciels (parsing). + Outre le fait de proposer diffrents formats de sortie, Nmap comporte + des options permettant aussi bien de contrler la verbosit des comptes rendus que + le dboggage. Les diffrents types de sorties peuvent tre envoys des comptes rendus normaliss ou + des fichiers spcifiques, dont le contenu peut s'agrmenter des scans successifs ou remplacer un contenu prcdent. + Ces fichiers de sortie peuvent aussi tre utiliss pour reprendre un scan temporairement suspendu. + Nmap rend les rsultats disponibles en 5 formats diffrents. + Le format par dfaut est appel interactive output. Il est envoy en sortie standard + (stdout). On trouve aussi le normal output, + qui est semblable interactive ceci prs qu'il + affiche moins d'informations de fonctionnement et d'alertes tant donn qu'il est plutt destin + tre analys la fin des scans au lieu de facon interactive. + La sortie au format XML est l'une des plus importante qui peut tre + converti en HTML. Elle est facilement traite par des programmes tiers comme les interfaces + graphiques pour Nmap, ou importe au sein de bases de donnes. + Les deux autres formats restants sont le simple grepable + output, qui inclus la plupart des informations concernant une cible dans une + seule ligne, et le sCRiPt KiDDi3 0utPUt pour les utilisateurs qui + se prennent au srieux |<-r4d. + Alors que le format interactif reprsente la sortie par dfaut et ne ncessite pas d'option + de ligne de commande particulire, les quatre autres options de format utilisent la mme + syntaxe. Ils prennent un argument qui reprsente le nom du fichier dans lequel + les rsultats devraient tre inscrits. Des formats multiples peuvent tre spcifis mais chaque + format ne devrait tre spcifi qu'une seule fois. Par exemple, vous pourriez souhaiter sauvegarder + une sortie de type normal (normal output) pour votre propre usage tout en sauvegardant un XML du mme scan + pour une analyse par un programme. Vous pouvez le faire l'aide des options + . Bien que ce chapitre utilise + des noms de fichier simples, notamment myscan.xml, des fins pratiques, + des noms plus explicites sont en gnral recommands. Le choix des noms relve des + prfrences personnelles, toutefois pour ma part, j'en utilise de longs + contenant la date du scan ainsi qu'un mot ou deux dcrivant le scan. Je les enregistre ensuite dans un rpertoire nomm selon la compagnie pour laquelle je suis en train d'effectuer le scan. + Mme si ces options sauvegardent les rsultats dans des fichiers, Nmap continue + fournir la sortie interactive en stdout comme d'habitude. Par exemple, la commande + nmap -oX myscan.xml target gnre un fichier XML intitul + myscan.xml tout en donnant la sortie standard avec le mme rsultat interactif qu'il aurait donn si l'option + n'avait pas t spcifie du tout. Vous pouvez changer cette procdure en entrant un tiret + en argument sur l'un des types de format. Ceci force Nmap dsactiver + la sortie interactive et d'inscrire la place les rsultats + dans le format que vous avez spcifi pour le flux de sortie standard. Par consquent, la + commande nmap -oX - target enverra seulement une sortie XML en + stdout. Les erreurs srieuses sont susceptibles d'tre inscrites dans le flux normal + d'erreur, le stderr. + Contrairement certains arguments de Nmap, l'espace entre le drapeau de l'option fichier + (comme ) et le nom de fichier ou le tiret est + obligatoire. Si vous l'omettez et entrez des arguments tels que + ou , une fonction de + compatibilit d'arrire-plan de Nmap forcera la cration de formats de type + normal format comme fichiers de sortie nomms + G- et Xscan.xml, + respectivement. + Nmap offre en outre l'option de contrler la verbosit du scan et d'ajouter les rsultats + les uns la suite des autres dans un mme fichier plutt que d'craser les rsultats prcdants. Toutes ces options sont + dcrites ci-dessous. + + Formats de Sortie sur Nmap + + + (sortie Normale) + + Demande que le format normal output soit appliqu + au fichier donn. Tel que dcrit ci-dessus, cette procdure + diffre lgrement d'une sortie de type interactive output. + + + + + (sortie XML) + + Demande que le format XML output soit + donn au fichier spcifi. Nmap contient une dfinition + de type de document (DTD) qui permet le traitement XML des rsultats + de Nmap. Bien que ce soit d'abord pens aux fins d'utilisation de programmation, + cette procdure peut aussi aider interprter la sortie XML + de Nmap. Le DTD dfinit les lments lgaux du format + et numre souvent les attributs et les valeurs qu'ils peuvent prendre. + La dernire version est toujours disponible sur . + Le XML offre un format stable facilement traitable + au moyen d'un logiciel. Des outils de traitement XML sont offerts gratuitement dans tous les grands + langages de programmation, y compris C/C++, Perl, Python et + Java. Des gens ont mme crit des outils spcifiques dans ces langages + destins au support de traitement des sorties de Nmap. + Notons comme exemples le Nmap::Scanner + et le Nmap::Parser en Perl + CPAN. Dans la plupart des cas o une application tierce + doit interagir avec Nmap, le XML est le format privilgi. + Les sorties XML font rfrence une feuille de style XSL qui peut tre + utilise dans le but de formater les rsultats au format HTML. La faon la plus simple + d'utiliser ceci est de charger la sortie XML dans un navigateur Web, comme Firefox ou IE. Par dfaut, cette dmarche ne pourra tre applique qu' partir dela machine + sur laquelle vous utilisez Nmap (ou une machine configure de faon + semblable) en raison du chemin systme vers nmap.xsl cod en dur. + Utilisez l'option ou pour une faon de + gnrer un fichier XML portable qui rendra un format HTML sur toute + machine connecte au Web. + + + + + (s0r713 ScRipT KIdd|3) + + Le format de sortie Script kiddie est similaire la sortie interactive, sauf qu'il est post-trait de faon mieux coller au style l33t HaXXorZ qui s'intresse + Nmap soit les lettres majuscules et le contenu unique de sa + prononciation. Les gens dnus d'humour devraient raliser que cette option + est surtout une moquerie envers les script kiddies avant de me + descendre en flammes en m'accusant de les aider. + + + + + (sortie Grepable) + + Ce format de sortie vit ses derniers instants de support parce qu'il devient dsuet. + Le format XML est bien plus puissant et presque aussi + pratique pour les utilisateurs expriments. Le XML est un standard pour lequel des douzaines + d'excellents outils de traitement sont disponibles alors que le format de sortie grepable est mon + propre bidouillage. Le XML est volutif afin de supporter les fonctions ultrieures de Nmap au rythme o elles sont disponibles alors que j'omets souvent ces fonctions pour les sorties grepables + par manque de place. + Toutefois, le format de sortie grepable reste toujours populaire. C'est un + format simple qui liste chaque hte sur une seule ligne et peut tre facilement + trait l'aide d'outils uniformiss sous UNIX, notamment grep, awk, cut, + sed, diff et Perl. Je l'utilise mme souvent pour certains tests + en ligne de commande. Trouver tous les htes ayant le port ssh ouvert ou tournant + sous Solaris ne prend qu'un simple grep pour identifier l'hte, + envoy sur un awk ou trait pour afficher le champ dsir. + Le format Grepable consiste en une suite de commentaires (des lignes commenant par un + dize (#) et des lignes cibles. Une ligne cible inclus une combinaison + de 6 champs tiquets, spars par des tabulations et suivis d'un sparatif. + Les champs sont Host, Ports, + Protocols, Ignored State, + OS, Seq Index, + IPID et Status. + Le plus important de ces champs est gnralement + Ports qui donne les dtails sur chaque port considr. + C'est une liste d'entres spares par une virgule. Chaque entre de port + reprsente un port considr et prend la forme de 7 sous-champs spars d'une barre oblique (/) . Ces sous-champs sont les suivants : Port + number, State, Protocol, + Owner, Service, SunRPC + info et Version info. + Comme pour le format XML, cette page-manuel ne permet pas de documenter + de faon exhaustive l'ensemble de ce format. Une vision plus dtaille + est disponible sur . + + + + + (sortie en tous formats) + + + votre convenance, vous pouvez spcifier pour stocker les rsultats + de scans en format normal, XML et grepable, et ce, en une seule fois. Ils sont + stocks dans basename.nmap, + basename.xml et + basename.gnmap, respectivement. + Comme pour la plupart des programmes, vous pouvez ajouter en prfixe au nom de fichier + un chemin d'accs, comme + ~/nmaplogs/foocorp/ sous UNIX ou + c:\hacking\sco sous Windows. + + + + + options de verbosit et dboggage + + + (Augmenter le niveau de verbosit) + + + Augmente le niveau de verbosit, forant Nmap + afficher plus d'informations sur le scan qu'il effectue. Les ports ouverts + sont indiqus au fur et mesure o ils sont trouvs ainsi qu'une valuation + du temps qui reste scanner si Nmap pense que cela prendra quelques minutes. + Utilisez cette option deux fois pour + encore plus de verbosit. L'utiliser plus de deux fois n'a aucun effet. + La plupart des changements modifient seulement la sortie interactive et certains + touchent aussi les sorties normales et les script kiddies. Les autres sorties + sont conues de faon traiter par une machine, c'est pourquoi Nmap + peut donner des dtails importants par dfaut dans ces formats + sans pour autant fatiguer un utilisateur humain. Toutefois, il y a quelques + modifications dans les autres modes pour lesquels les tailles de sorties peuvent tre rduites + substantiellement par omission de quelques dtails. Par exemple, une + ligne commente dans le format grepable qui fournit une liste de tous + les ports scanns n'est affiche que dans le mode verbeux parce que + cela peut s'avrer trs long. + + + + + (Augmenter ou rgler le niveau de dboggage) + + + Quand mme le mode verbeux ne donne pas assez d'informations pour vous, + le dboggage est l pour vous noyer sous encore plus de donnes! Comme avec + l'option de verbosit (), le dboggage est mis en place + avec un drapeau de ligne de commande () et le niveau de dboggage + peut tre augment en le spcifiant plusieurs fois. Autrement, vous pouvez dfinir + un niveau de dboggage en donnant un argument . Par + exemple, dfinit le niveau 9. C'est le plus haut niveau + et fournira des milliers de lignes moins que vous ne lanciez + un scan trs simple avec trs peu de ports et de cibles. + La sortie de deboggage est utile lorsqu'une procdure errone est souponne dans Nmap + ou si vous dsirez simplement savoir ce que fait Nmap et pourquoi. Comme cette + fonctionnalit est surtout faite pour les dveloppeurs, les lignes de dboggage ne sont pas toujours + tres explicites. Vous pouvez obtenir quelque chose comme : Timeout + vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 + rttvar: 14987 to: 100000. Si vous ne comprenez pas une ligne, vos seuls recours + sont de l'ignorer, la chercher dans le code source ou obtenir de l'aide + sur la liste de dveloppement (nmap-dev). Certaines sont quand mme assez explicites, mais + les messages deviennent de plus en plus obscures au fur et mesure o le niveau de dboggage est lev. + + + + + (Trace les paquets et les donnes envoys et reus) + + + Force Nmap afficher un rsum de chaque paquet envoy + ou reu. C'est souvent utilis pour le dboggage mais c'est + aussi une bonne faon pour les nouveaux utilisateurs de mieux comprendre + ce que Nmap fait en arrire-lan. Afin d'viter d'afficher des milliers de lignes, + vous pouvez spcifier un nombre limit + de ports scanner, notamment . Si vous ne vous proccupez que de + ce que fait le sous-systme de dtection de version, utilisez + plutt la place. + + + + + (Montre seulement les ports ouverts (ou potentiellement ouverts)) + + + Il arrive que vous ne soyez interress que par les ports sur lesquels vous pouvez effectivment vous connecter (tat open), et ne voulez pas de rsultats pollus par ceux qui sont closed, filtered, et closed|filtered . La personnalisation est en gnral faite aprs le scan en utilisant des outils comme grep, awk, ou Perl, mais cette fonctionnalit a t ajoute cause d'un grand nombre de demandes cet gard. Spcifiez pour voir seulement les ports open, open|filtered, et unfiltered. Ces trois tats sont traits pour ce qu'ils sont normalement, ce qui signifie que open|filtered et unfiltered peuvent tre regroups dans le comptage si il y en a un grand nombre. + + + + + (Journalise les erreurs/alertes dans un fichier en mode normal) + + + Les alertes et erreurs affiches par Nmap vont habituellement uniquement + sur l'cran (sortie interactive), laissant un eventuel fichier de sortie + qui aurait t spcifi en ordre. Mais quand vous souhaitez quand mme + voir ces messages dans le fichier de sortie que vous avez spcifi, + ajoutez cette option. C'est utile quand vous ne regardez pas + l'affichage interactif ou si vous essayez de debogger un + probleme. Le message apparait quand mme l'cran. + Ceci ne marchera pas pour la plupart des erreurs dues une ligne de commande + erronne, tant donn que Nmap n'aura pas encore ouvert + de fichier de sortie a ce stade. De plus, certains messages d'alerte/erreurs + utilisent un systme diffrent qui n'est pas encore support + par cette option. Une alternative cette option est + de rediriger l'affichage interactif (flux d'erreurs standard inclus) + vers un fichier. Tandis que la plupart des shells UNIX permettent ceci facilement, + cela peut s'avrer difficile sous Windows. + + + + + (Dresse la liste des interfaces et des routes) + + + Affiche la liste des interfaces et des routes systme telles que dtectes + par Nmap. C'est utile pour le dboggage li aux problmes de cheminement + ou de dtermination des interfaces (comme lorsque + Nmap traite une connexion PPP en tant qu'Ethernet). + + + + + Options de sortie diverses + + + (Ajouter au fichier plutt que de l'craser) + + + Lorsque vous spcifiez un fichier pour un format de sortie + comme ou , ce fichier + est cras par dfaut. Si vous prfrez garder le contenu + existant du fichier et rajouter les nouveaux rsultats, + spcifiez l'option . Tout + fichier de sortie spcifi dans cette configuration de session de Nmap + se verra agrment des nouveaux rsultats plutt qu'cras. Cela ne fonctionne + pas trs bien pour les donnes de scan au format XML () dont le + fichier rsultant ne sera pas vraiment correct et devra tre rectifi + la main. + + + + + (Reprendre un scan abandonn) + + + Certaines sessions importantes de Nmap peuvent prendre beaucoup de temps -- de + l'ordre de plusieurs jours. De tels scans ne sont pas toujours mens terme. + Des restrictions peuvent empcher Nmap d'tre utilis pendant + les heures de travail, soit parce que le rseau peut s'crouler, la machine + sur laquelle Nmap tourne peut subir une rinitialisation voulue ou non ou Nmap lui mme peut tomber en panne. L'administrateur qui utilise Nmap + peut l'annuler pour toute autre raison de toutes faons, en appuyant sur + ctrl-C. Recommencer tout le scan partir du + dbut peut tre indsirable. Heureusement, si le format normal () ou grepable () + a t conserv, l'utilisateur peut demander Nmap de reprendre le scan + sur la cible qu'il traitait au moment d'tre arrt. + Spcifiez simplement l'option avec le nom + du fichier de sortie normal/grepable en argument. Aucun autre argument n'est autoris + puisque Nmap va chercher dans le fichier de sortie en question sa + configuration prcdente. Appelez donc simplement Nmap de cette faon : + nmap --resume + logfilename + . Nmap ajoutera + les nouveaux rsultats aux donnes dj prsentes dans le fichier en question + lors de la prcdente excution. Le redmarrage n'est pas possible partir d'un format XML + parce que combiner les deux sessions dans un mme + fichier XML serait difficile. + + + + + (Dfini la feuille de style XSL pour transformer la sortie XML) + + + Nmap dispose d'une feuille de style XSL nomme + nmap.xsl afin de visionner ou transcrire la sortie + XML en HTML. La sortie XML comprend une directive xml-stylesheet + qui pointe sur nmap.xml + o il a t initialement install par Nmap (o dans le rpertoire + courant sous Windows). Chargez simplement la sortie XML de Nmap + dans un navigateur jour et il devrait retrouver + nmap.xsl depuis le systme de fichiers puis utilisez-le + pour obtenir le compte rendu des rsultats. Si vous prfrez utiliser une + feuille de style diffrente, spcifiez l en argument + . Vous devez donner le chemin ou l'adresse URL + complte. est une utilisation classique qui indique au navigateur de charger la dernire version de la feuille de style + de Insecure.Org. Cette procdure rend plus facile le visionnage des rsultats sur une machine qui ne + dispose pas de Nmap (et donc de + nmap.xsl) . Par consquent, l'adresse URL + est souvent plus utile toutefois le nmap.xsl local est utilis + par dfaut pour des raisons de confidentialit. + + + + + (Charge la feuille de style depuis Insecure.org) + + + Cette option est seulement un alias pour --stylesheet http://insecure.org/nmap/data/nmap.xsl. + + + + + (Ne pas dclarer de feuille de style XSL pour le XML) + + + Spcifiez cette option pour empcher Nmap d'associer toute feuille de style XSL + avec les sorties XML. La directive xml-stylesheet est + omise. + + + + + + Options diverses + Cette section dcrit quelques options plus ou moins importantes qui ne + trouvent pas vraiment leur place ailleurs. + + + + (Activer le scan en IPv6) + + + Depuis 2002, Nmap a propos le support IPv6 pour ses fonctionnalits + les plus populaires. En particulier les ping scan (TCP seulement), + connect() scan et dtection de version qui supportent l'IPv6. + La synthaxe de la commande est la mme qu'habituellement, sauf que vous prcisez + aussi l'option . Bien sr, vous devez utiliser la synthaxe IPv6 + si vous spcifiez une adresse plutt qu'un + nom d'hte. Une adresse doit ressembler + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + c'est pourquoi les noms d'htes sont recommands. Les rsultats de sortie ressemblent + ceux obtenus habituellement avec la notation IPv6 sur la ligne interesting + ports . + Bien qu'on ne puisse pas dire que l'IPv6 ait boulevers le monde, + son utilisation reste notable dans certains pays (particulirement en Asie). De plus, la plupart des systmes d'exploitation modernes le supportent. Pour utiliser Nmap avec + des IPv6, la source et la cible du scan doivent tre configures pour l'IPv6. + Si votre fournisseur d'accs Internet (comme dans la plupart des cas) ne + vous a pas allou d'adresse IPv6, des tunnels libres sont disponibles + et fonctionnent trs bien avec Nmap. L'un des meilleurs + est entretenu par BT Exact sur . J'en ai aussi utilis un + que Hurricane Electric fournit sur . Les tunnels 6to4 sont aussi une autre + approche libre et populaire. + + + + + (option de scan agressif) + + + Cette option active des options agressives supplmentaires avances. + Je n'ai pas vraiment dtermin ce que cela signifie jusqu' prsent. + Pour le moment, ceci active la dtection d'OS + () et le scan de version (). Davantage de fonctions peuvent + tre ajoutes dans le futur. L'ide est d'activer un panel + complet d'options de scan sans que les gens aient se rappeler + d'un grand nombre de drapeaux. Cette option ne fait qu'activer des options + sans aucun rglage d'options de dlai (comme ) ou + de verbosit () que vous pourriez par ailleurs souhaiter. + + + + + (Indique l'emplacement personnalis des fichiers de donnes pour Nmap) + + + Nmap obtient certaines informations pendant son fonctionnement depuis + les fichiers nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes et + nmap-os-fingerprints. Nmap, dans un premier temps, + recherche ces fichiers dans un rpertoire indiqu avec l'option + (si elle existe). Tout fichier non trouv + cet emplacement sera cherch dans l'emplacement spcifi + par la variable d'environnement NMAPDIR . Puis vient ~/.nmap pour + les UIDs vritables et proprement dits (systmes POSIX seulement) ou l'emplacement de + l'excutable Nmap (Win32 seulement), et enfin un emplacement comme + /usr/local/share/nmap ou /usr/share/nmap + . En dernier ressort, Nmap va chercher dans le rpertoire + courant. + + + + + (spcifier un fichier de services spcifique) + + + + Demande Nmap d'utiliser le fichier de services prcis plutot que le fichier nmap-services fournis. Utiliser cette option force aussi l'usage d'un scan rapide (). Voir la description de pour plus d'informations sur les fichiers de donnes de Nmap. + + + + + + (spcifier un fichier d'empreintes de services spcifique) + + + + Demande Nmap d'utiliser le fichier d'empreintes de services prcis plutot que le fichier nmap-services-probes fournis. Utiliser cette option force aussi l'usage d'un scan rapide (). Voir la description de pour plus d'informations sur les fichiers de donnes de Nmap. + + + + + + (Utiliser l'envoi par raw Ethernet) + + + Demande Nmap d'envoyer les paquets la couche raw Ethernet (liaison + donnes) plutt que sur la couche plus leve IP (rseau). Par + dfaut, Nmap choisit celui qui convient le mieux la plateforme sur laquelle + il tourne. Les raw sockets (couche IP) sont en gnral + plus efficaces sur les machines UNIX, alors que les trames Ethernet + frames sont obligatoires pour Windows depuis que Microsoft + a dsactiv le support des raw sockets. Nmap utilise toujours des paquets en raw IP + sous UNIX en dpit de cette option quand il n'y a pas d'autre choix + (par exemple, une connexion non Ethernet). + + + + + (Envoyer au niveau raw IP) + + + Demande Nmap d'envoyer les paquets par le biais des sockets raw IP plutt + que d'envoyer des trames de niveau infrieur en Ethernet. C'est + le complment de l'option discut + prcdement. + + + + + (Suppose que l'utilisateur a des privilges) + + + Dit Nmap de supposer simplement qu'il a les privilges suffisants + pour effectuer des envois en raw socket, intercepter des paquets et + des oprations similaires qui, habituellement, ncessitent des privilges root + sur les systmes UNIX. Par dfaut, Nmap quitte si de telles oprations + sont tentes mais que le geteuid() n'quivaut pas + zro. est utile avec les capacits des + noyaux Linux et des systmes similaires pouvant tre configurs + pour permettre des utilisateurs non privilgis d'accomplir des scans + avec des raw-packets. Assurez-vous de bien fournir cette option avant tout autre + pour les options qui ncessitent des privilges (SYN scan, dtection de systme d'exploitation, + etc.). La variable NMAP_PRIVILEGED peut tre utilise comme + quivalent alternatif . + + + + + (Suppose que l'utilisateur n'a pas les privilges d'utiliser les raw sockets) + + + Cette option est l'oppose de + . Elle prcise Nmap de faire comme si l' + utilisateur n'avait pas les privilgues de raw sockets et de sniffing. + C'est utile dans un environnement de tests, de deboggage, ou si les oprations en raw + sur le reseau ne sont pas disponibles pour une tierce raison. + La variable d'environnement NMAP_UNPRIVILEGED peut tre utilise comme + alternative + . + + + + + (Librer la mmoire avant de quitter) + + + Cette option n'est utile que dans le cadre du deboggage de fuites de mmoire. + Elle force Nmap a librer la mmoire alloue juste avant de + quitter de facon a reprer les vritables fuites de mmoire. + En temps normal Nmap ne fait pas ceci tant donn que l'OS le fait de toutes facons + la fin du processus. + + + + + (Dmarrer en mode interactif) + + + Dmarre Nmap en mode interactif, qui offre + un prompt interactif avec Nmap permettant le lancement facile de plusieurs + scans (que ce soit en synchronisation ou en arrire-plan). Cette procdure est utile pour les gens qui scannent partir de systmes multi-utilisateurs puisqu'ils souhaitent souvent tester leur + scurit sans que d'autre utilisateur sur le systme ne sache + prcisment quels systmes ils sont en train de scanner. Utilisez + pour activer ce mode puis entrez h pour obtenir + l'aide sur les commandes. Cette option est rarement utilise parce que de vrais shells + sont en gnral plus familiers et complets. Cette option + inclus un oprateur dit bang (!) pour l'excution des commandes de shell, + qui est une des raisons de ne pas installer Nmap en tant que setuid root. + + + + + ; (Affiche le numro de version) + + + Donne le numro de version de Nmap et quitte. + + + + + ; (Affiche le sommaire d'aide) + + + Affiche un petit cran d'aide avec les options les plus courantes + . Lancer Nmap sans aucun argument fait la mme chose. + + + + + + Interaction la vole + Au cours de l'excution de Nmap, toutes les touches presses sont + captures. Ceci permet d'interagir avec le programme + sans l'arrter et le relancer. Certaines touches spciales + changeront les options tandis que les autres touches afficheront un + message d'tat parlant du scan en cours. La convention est + que + les minuscules baissent le niveau + d'affichage et que + les majuscules l'augmentent. + + + + / + + + Augmente / Baisse la verbosit + + + + + / + + + Augmente / Baisse le niveau de dboggage + + + + + / + + + Active / Dsactive le traage des paquets + + + + + (aide) + + + Affiche un ecran d'aide durant l'execution. + + + + + N'importe quoi d'autre + + + Affiche un message d'tat qui se lit comme suit : + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + Exemples + Voici quelques exemples d'utilisation de Nmap, du plus simple + au un peu plus complexe et sotrique. De vritables + adresses IP et noms de domaine sont utiliss pour rendre les choses + plus concrtes. Vous devez les substituer avec + celles de votre propre rseau.. Bien que je ne crois pas + que scanner les prots d'autres rseaux soit ou devrait tre illgal, certains administrateurs de rseau + n'apprcient pas les scans non sollicits de leur rseau et peuvent + s'en plaindre. La meilleure approche est donc d'obtenir d'abord leur autorisation. + Pour des raisons de tests, vous avez l'autorisation de scanner l'hte + scanme.nmap.org. Cette permission inclus seulement + les scans avec Nmap et non pas l'essai d'exploits ou d'attaques de Denis de + Service. Afin de prserver la bande passante, veuillez ne lancer qu'une douzaine + de scans sur cet hte au maximum par jour. En cas d'abus de ce libre service + de cible de scan, il serait ferm et Nmap afficherait le message suivant : Failed to resolve given hostname/IP: + scanme.nmap.org. Ces permissions s'appliquent aussi l'hte + scanme2.nmap.org, + scanme3.nmap.org, et ainsi de suite, mme si ces htes + n'existent prsentement pas. + + nmap -v scanme.nmap.org + + Cette option scanne tous les ports rservs TCP sur la machine + scanme.nmap.org . L'option + active le mode verbeux. + + nmap -sS -O scanme.nmap.org/24 + + Lance un scan furtif (stealth SYN scan) contre chaque machine active parmi + les 255 machines du rseau de classe C sur lequel + Scanme rside. Il essaie aussi de dterminer le systme d'exploitation + sur chaque hte actif. Cette dmarche ncessite les privilges de root + puisqu'on utilise un SYN scan et une dtection d'OS. + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + Lance une recherche des htes et un scan TCP dans la premire moiti + de chacun des 255 sous-rseaux 8 bits dans l'espace d'adressage de classe B 198.116 + Cela permet de dterminer si les systmes font tourner sshd, DNS, + pop3d, imapd ou le port 4564. Pour chacun de ces ports qui sont ouverts, + la dtection de version est utilise pour dterminer quelle application est + actuellement lance. + + nmap -v -iR 100000 -P0 -p 80 + + Demande Nmap de choisir 100 000 htes de faon alatoire et de les scanner + dans le but de trouver les serveurs Web (port 80). L'numration des htes est dsactive avec + puisque envoyer en premier lieu quelques probes pour dterminer + si un hte est actif est inutile lorsque vous ne cherchez + tester qu'un port sur chaque hte. + + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Cette procdure scanne 4 096 adresses IP la recherche de serveurs Web (sans les pinguer + au pralable) et sauvegarde la sortie en format grepable et XML. + + host -l company.com | cut -d -f 4 | nmap -v -iL + - + + Effectue un transfert de zone DNS afin de trouver les htes au sein de company.com et + ensuite fournir les adresses IP Nmap. Les commandes ci-dessus concerne mon + GNU/Linux -- les autres systmes ont d'autres commandes pour effectuer les + transferts de zone. + + + Bogues + Comme son auteur, Nmap n'est pas parfait. Mais vous pouvez aider l'amliorer en envoyant les rapports de bogues ou mme en crivant des programmes de correction. Si Nmap + ne satisfait pas vos attentes, mettez-le d'abord jour en utilisant la dernire version + disponible sur . Si le problme persiste, + faites quelques recherches afin de dterminer s'il a dj t remarqu et + signal. Essayez pour cela de mettre l'erreur en argument sur Google + ou parcourez les archives de Nmap-dev sur . Lisez ce manuel en entier quoiqu'il en + soit. Si rien ne semble fonctionner, envoyez un rapport de bogue + nmap-dev@insecure.org. Veillez inclure tout ce que vous avez + appris au sujet de ce bogue ainsi que la version de Nmap concerne + et le systme d'exploitation que vous utilisez. + Les rapports de problmes et les questions sur l'utilisation de Nmap envoys + nmap-dev@insecure.org ont plus de chance de trouver une rponse que ceux + envoys Fyodor directement. + Les codes de programmes de correction destins rgler des bogues sont encore meilleurs que les rapports de bogues. + Les instructions de base pour crer des fichiers de programmes de correction avec vos modifications + sont disponibles sur . Les programmes de correction peuvent + tre envoys nmap-dev (recommand) ou Fyodor directement. + + + Auteur + Fyodor + fyodor@insecure.org + () + + Traduction franaise : + Romuald THION + romuald.thion@insa-lyon.fr + 4N9e Gutek + 4n9e@futurezone.biz + Relecture et corrections : Ghislaine Landry + g-landry@rogers.com + + Bien qu'un soin particulier ait t apport cette traduction, il est possible + que certaines erreurs s'y soient glisses. Le cas chant, n'hsitez pas communiquer avec les traducteurs. + La traduction ne remplace pas au texte original (version anglaise), tout particulirement en ce qui concerne les dispositions lgales. Une erreur d'interprtation dans cette traduction ne peut, en aucun cas, + se substituer ces dispositions. + Insecure.Com LLC n'assume aucune responsabilit en ce qui a trait aux erreurs ventuelles de traduction ou d'interprtation. + Des centaines de personnes ont apport de prcieuses contributions Nmap + au cours des annes. Celles-ci sont dtailles dans le fichier + CHANGELOG qui est distribu avec Nmap + mais aussi disponible sur . + + + Dispositions lgales + + Droits d'auteur et licence + Le Nmap Security + Scanner est sous droits d'auteur (C) 1996-2005 Insecure.Com LLC. Nmap est aussi une marque + dpose de Insecure.Com LLC. Ce programme est un logiciel libre; vous pouvez + le redistribuer ou le modifier selon les termes de la licence GNU General + Public License comme publie par la Free Software Foundation; Version + 2. Cela garantie vos droits d'utilisation, de modification et de redistribution de ce logiciel, et ce, sous certaines conditions. Si vous souhaitez inclure la technologie Nmap dans + un logiciel propritaire, nous nous rservons le droit de vendre d'autres licences + (communiquez avec sales@insecure.com). Beaucoup de distributeurs de + scanners de scurit ont dj acquis une licence pour les technologies Nmap, notamment la dcouverte d'hte, + le scan de ports, le dtection du systme d'exploitation et la dtection de service ou de version. + Notez que la licence GPL comporte d'importantes restrictions relativement aux + travaux drivs, bien qu'elle ne donne pas de dtails suffisants + quant la dfinition de ceux-ci. Afin d'viter toute incomprhension, nous considrons + une application comme constituant un travail driv dans le cadre + de cette licence au cas o elle correspondrait l'un de ces termes : + + + Intgre le code source de Nmap + + + Lis ou inclus les fichiers dposs de Nmap, comme + nmap-os-fingerprints ou + nmap-service-probes. + + + Excute Nmap et traite les rsultats (par opposition + une simple excution en systme essentiel ou en menu applicatif, qui ne fait qu'afficher les + sorties brutes de Nmap et, de ce fait, ne sont pas des travaux drivs.) + + + Intgre/Inclus/Concatne Nmap dans un installeur excutable + propritaire, comme ceux produits par + InstallShield. + + + Lie une librairie ou un programme excutable qui fait l'une des procdures ci-dessus. + + + Le terme Nmap doit tre pris comme incluant aussi toute + portion ou travail driv de Nmap. Cette liste n'est pas exhaustive; elle est simplement + conue de faon clarifier notre interprtation des travaux drivs au moyen de quelques exemples connus. + Ces restrictions s'appliquent seulement lorsque vous redistribuez Nmap. + Par exemple, rien ne vous empche d'crire et de vendre une interface graphique + propritaire pour Nmap. Distribuez-la seulement en entier + et assurez-vous de diriger les gensvers le lien de faon tlcharger Nmap. + Nous ne considrons pas ce document comme tant un ajout la licence + GPL, mais simplement une clarification de la faon dont nous interprtons les travaux + drivs qui s'appliquent notre produit Nmap sous licence GPL. Ceci est semblable + la faon dont Linus Torvalds a annonc son interprtation des travaux drivs qui s'appliquent aux modules du noyau Linux. Notre + interprtation fait seulement rfrence Nmap; nous ne parlons d'aucun + autre produit sous GPL. + Si vous avez des questions propos des restrictions de la licence GPL + et de l'utilisation de Nmap dans le cadre des travaux non-GPL, nous serions heureux de vous aider. Tel que + mentionn ci-dessus, nous offrons une autre licence afin d'intgrer Nmap + au sein d'applications propritaires. Ces contrats ont t vendus + de nombreux distributeurs du domaine de la scurit et comportent gnralement une licence + perptuelle tout en fournissant un support, des mises jour prioritaires et une aide au dveloppement constant de la technologie + Nmap. Veuillez envoyer un courriel sales@insecure.com pour obtenir plus d'informations. + Comme exception particulire la licence GPL, Insecure.Com LLC permet de lier le code de ce programme toute version de + la librairie OpenSSL, qui est distribue sous une licence identique celle + spcifie dans le fichier Copying.OpenSSL ci-inclus, et de distribuer les combinaisons de liens + incluant les deux. Vous devez observer le GNU GPL dans tous ses aspects + pour toute portion du code utilise autre que OpenSSL. Si vous modifiez + ce fichier, vous pouvez tendre cette exception votre version du fichier + mais vous n'tes toutefois pas oblig de le faire. + Si vous recevez ces fichiers avec une licence crite ou + un contrat tablissant les termes autres que ceux mentionns ci-dessus, cette autre + licence prend la prsance sur ces commentaires. + + + Licence Creative Commons pour cette documentation de Nmap + Ce guide de rfrence Nmap est dpos par 2005 Insecure.Com LLC. Il est ainsi sous licence 2.5 de la licence Creative Commons + Attribution License. Ceci vous permez de redistribuer et modifier ce travail comme bon vous semble, tant que vous citez la source originale. Autrement, vous pouvez considrer ce document comment tombant sous le coup de la mme licence que Nmap lui-mme. + + + Disponibilit du code source et contribution communautaire + La source est fournie avec ce programme car nous croyons que les utilisateurs + ont le droit de savoir exactement ce qu'un programme va faire avant + d'tre lanc. Cela vous permet aussi de vrifier ce logiciel relativement d'ventuelles vulnrabilits + (aucune n'a t trouve ce jour). + Le code source vous permet aussi d'utiliser Nmap sur de nouvelles plateformes, de rgler + des bogues et d'ajouter de nouvelles fonctionnalits. Vous tes fortement encourags prsenter + vos modifications fyodor@insecure.org dans le but de les intgrer dans la distribution principale. Lorsque vous envoyez ces changements + Fyodor ou l'une des listes de dveloppement d'Insecure.Org, + il est recommand que vous cdiez Fyodor et Insecure.Com LLC le droit illimit + et non exclusif de rutiliser, de modifier et de concder de nouveau une licence pour le code. Nmap sera toujours disponible en Open Source et ce, principalement en raison de l'impossibilit de concder de nouveau une licence pour le code, ce qui a occasionn des problmes dvastateurs + pour d'autres projets de dveloppement libres (comme KDE et NASM). Nous + concdons aussi occasionnellement une licence pour le code des tierces parties, tel que dcrit ci-dessus. Si vous souhaitez spcifier une condition de licence votre contribution, + indiquez-le simplement au moment de nous l'envoyer. + + + Pas de garanties + Ce programme est distribu dans l'espoir qu'il sera utile, + mais SANS AUCUNE GARANTIE; sans mme la garantie implicite de + VALEUR MARCHANDE ou DE FONCTIONNEMENT POUR UNE UTILISATION PARTICULIRE. Consultez la licence GNU + General Public License pour obtenir plus de dtails sur ou sur le fichier COPYING + inclus avec Nmap. + Il faut galement noter que Nmap est reconnu pour avoir occasionnellement fait tomber en panne + des applications mal crites, des piles TCP/IP, et mme des systmes + d'exploitation. Bien que ce soit extrmement rare, il est important de le garder en + tte. Nmap ne doit jamais tre lanc contre des systmes d'importance + critique moins que vous ne soyez prts en payer le prix. Nous acceptons ici que Nmap puisse faire tomber en panne vos systmes ou + rseaux et nous nous dgageons de toute responsabilit pour tout dommage ou problme que Nmap + pourrait causer. + + + Usage inappropri + De part le faible risque de tomber en panne et de quelques piratages lectroniques au moyen de Nmap aux fins de reconnaissance avant attaque des systmes, + certains administrateurs sont dsormais mcontents et peuvent se plaindre lorsque leur systme est scann. + C'est pourquoi il est souvent prfrable de demander d'abord la permission + avant d'effectuer le scan d'un rseau, et ce, aussi simple soit-il. + Nmap ne devrait jamais tre install avec des privilges spciaux + (par exemple, suid root) pour des raisons de scurit. + + + Logiciels Tierce Partie + Ce produit comporte un logiciel dvelopp par la Apache Software Foundation. Une + version modifie de la librairie de capture de paquets Libpcap de chez + tcpdump est distribue en accompagnement + de Nmap. La version Windows de Nmap emploie la version drive de Libpcap WinPcap library. Le support + des expressions rgulires est assur par la librairie PCRE , qui consiste en un logiciel open source + crit par Philip Hazel. Certaines fonctions rseau + utilisent la librairie rseau Libdnet + crite par Dug Song. Une version modifie + est distribue avec Nmap. Nmap peut ventuellement pointer sur l'outil de cryptographie OpenSSL cryptography toolkit pour + le support de dtection de version dans le cas du SSL. Tous les logiciels tierce partie + dcrits dans ce paragraphe peuvent tre de nouveau distribus sous les licences + de type BSD. + + + Classification et contrle des exportations depuis les tats-Unis (US Export Control Classification) + Contrle des exportations : Insecure.Com LLC pense que Nmap tombe sous + la juridiction de l'US ECCN (export control classification number), numro 5D992. Cette catgorie + est appele Information Security software not controlled + by 5D002, logiciel de scurit et d'informations non contrl par le chapitre 5D002. La seule restriction de cette classification + concerne l'anti-terrorisme qui s'applique la plupart des biens et des valeurs exports + vers des pays sensibles comme l'Iran et la Core du Nord. C'est pourquoi + l'exportation de Nmap ne requiert aucune licence particulire, permis, ou + autre autorisation gouvernementale. + + + +
diff --git a/docs/man-xlate/nmap-man-hr.xml b/docs/man-xlate/nmap-man-hr.xml new file mode 100644 index 000000000..d374f44ac --- /dev/null +++ b/docs/man-xlate/nmap-man-hr.xml @@ -0,0 +1,2580 @@ + + +
+ + Nmap vodič (Upute) + + + + nmap + 1 + + + nmap + Alat za istraživanje mreže i sigurnosni/port skener + + + + + nmap + + Tip skena + + + Opcije + + + specifikacija cilja + + + + + Opis + + Nmap (Network Mapper) je open source alat za istraživanje + mreže i sigurnosni auditing. Dizajniran je za brzo skeniranje velikih mreža, + ali radi jednako dobro i kad je u pitanju samo jedan host. Nmap koristi sirove + (raw) IP pakete na nov i originalan način da bi ustanovio koji hostovi su dostupni + na mreži, koji servisi (naziv aplikacije i verzija) su pokrenuti na tim hostovima, + o kojim operativnim sustavima (i verzijama) je riječ, koji tipovi paket filtera i + vatrozida se koriste, te mnogo drugih karakteristika. Iako je Nmap najčešće + korišten za sigurnosni auditing, mnogi sistemski i mrežni administratori pronašli + su u njemu koristan alat za rutinske zadatke poput sastavljanja popisa mrežnog inventara, + upravljanja vremenima nadogradnje servisa i nadgledanja uptime-a računala ili servisa. + + Rezultat Nmap pretraživanja je popis skeniranih meta s dodatnim informacijama + o svakoj od njih ovisno o korištenim parametrima. Ključna informacija je + tabela zanimljivih portova. U tabeli se nalati broj porta i protokol, + naziv servisa i stanje.Stanje je ili: + otvoreno, filtrirano, + zatvoreno ili nefiltrirano. + Otvoreno znači da na ciljanom računalu postoji + aplikacija koja sluša na tom portu i čeka na konekciju/pakete. + Filtrirano znači da između nas i ciljanog računala postoji + vatrozid, paket filter ili neki drugi mrežni uređaj koji blokira port, pa Nmap + ne može reći da li je port otvoren ili + zatvoren. + Zatvoreni portovi trenutno nemaju aplikacije koje slušaju na njima. + Portovi su klasificirani kao nefiltrirani u situacijama + kada odgovaraju na Nmap-ove upite, ali Nmap nije u mogućnosti ustanoviti da li su otvoreni ili zatvoreni. + Nmap vraća sljedeće kombinacije u izvještajima: + otvoren|filtriran i + zatvoren|filtriran kad ne može ustanoviti koje od dva stanja točnije + opisuje port. Port tabela može također sadržavati i informacije o verziji softvera, kada + je ta opcija upaljena kod skeniranja. Kad je zatraženo skeniranje IP protokola + (), Nmap vraća informacije o podržanim IP protokolima, a ne o portovima. + + + Uz navedenu tabelu portova, Nmap može dati i dodatne informacije o ciljanom računalu, + uključujući reverse DNS imena, pretopstavku o tome koji operativni sustav je s druge strane, + tipove uređaja i MAC adrese. + + Prikaz tipičnom Nmap skena je prikazan u: . + Jedan od Nmap argumenata korišten u navedenom primjeru je , + opcija za otkrivanje OS-a i njegove verzije, zatim za brže skeniranje, + te nakon toga dva hosta koje želimo skenirati. + +Ovako izgleda primjer Nmap skena + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Najnoviju verziju Nmap-a možete downloadati sa sljedećeg linka: +. Najnovija verzija man stranica (uputa) dostupna je na sljedećem linku: +. + + + + + Napomene o prijevodu + + Hrvatsku verziju Nmap vodiča je preveo Robert Petrunić s + originalne Engleske verije 2991. + Iako se nadam da će prijevod učiniti Nmap dostupniji ljudima Hrvatskog govornog područja, ne mogu garantirati da je + prijevod kompletan i up to date kao i originalna Engleska verzija. Projevod možete modificirati i redistribuirati + pod uvjetima Creative + Commons Attribution Licence. Ovo je prva verzija i najvjerovatnije ima dosta nekonzistentnih + prijevoda (riječi koje su na različitim mjestima prevedene drugačije), ali smisao prijevoda je i dalje ostao isti. + Nadam se da ću u idućim verzijama napisati više "književni" točan prijevod + + + + + Pregled opcija + +Sljedeći pregled opcija je ispisan kad pokrenete Nmap bez ikakvih parametara, +a posljednja verzija je uvijek dostupna na: +. +Pomaže ljudima zapamtiti najčešće opcije, ali nije zamjena za detaljne upute koje se nalaze u ovom manualu. +Neke manje korištene opcije čak se ni ne nalaze u pregledu opcija. + + +Upotreba: nmap [Tip(ovi) skeniranja] [Opcije] {ciljano računalo} +CILJANO RAČUNALO: + Možete upisati hostname (naziv računala), IP adrese, mreže (subnete) isl. + Primjer: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <naziv datoteke>: Naziv datoteke u kojoj se nalazi popis hostova/mreža + -iR <broj hostova>: Odaberi nasumične hostove + --exclude <host1[,host2][,host3],...>: Ne skeniraj navedene hostove/mreže + --excludefile <datoteka>: Ne skeniraj navedene hostove/mreže koji se nalaze u navedenoj datoteci +OTKRIVANJE HOSTOVA: + -sL: List Scan - samo navedi mete koje skeniraš + -sP: Ping Scan - samo ustanovi da li je host online i ne radi ništa više + -P0: Smatraj sve hostove online -- ne pokušavaj ustanoviti da li postoje. + -PS/PA/PU [lista_portova]: koristi TCP SYN/ACK ili UDP za otkrivanje hostova + -PE/PP/PM: ICMP echo, timestamp i netmask pokušaji skeniranja + -n/-R: Ne pokušavaj raditi DNS rezoluciju/uvijek koristi DNS rezoluciju [default: ponekad] +TEHNIKE SKENIRANJA: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon skenovi + -sN/sF/sX: TCP Null, FIN, and Xmas skenovi + --scanflags <flagovi>: Navedi TCP flagove pomoću kojih želiš skenirati + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +SPECIFIKACIJA PORTOVA I REDOSLJED SKENIRANJA: + -p <port ranges>: Skeniraj samo navedene portove + Primjer: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Brzo - Skeniraj samo portove navedene u nmap-services fileu + -r: Skeniraj portove po redu - ne randomiziraj +OTKRIVANJE SERVISA/VERZIJA: + -sV: Pokušaj na osnovu otvorenih portova saznati informacije o servisu/verziji + --version_light: Koristi najvjerovatnije skenove zbog ubrzane detekcije verzije + --version_all: Isprobaj sve vrste skenova za saznavanje verzije + --version_trace: Pokaži detaljnu aktivnost skeniranja verzije (za debugging) +DETEKCIJA OS-a: + -O: Uključi OS detekciju + --osscan_limit: Ograniči OS detekciju samo na one ciljeve koji obećavaju + --osscan_guess: Pogađaj OS malo agresivnije +TIMING I PERFORMANSE: + -T[0-6]: Podesi predložak za timing (veći broj je brže) + --min_hostgroup/max_hostgroup <msec>: Paralelno skeniraj hostove / veličina sken grupe + --min_parallelism/max_parallelism <msec>: Paraleliziraj sonde + --min_rtt_timeout/max_rtt_timeout/initial_rtt_timeout <msec>: Navedi vrijeme potrebno za povratak (engl. round trip time) sonde. + --host_timeout <msec>: Odustani od skeniranja ciljanog računala nakon navedenog vremena u milisekundama + --scan_delay/--max_scan_delay <msec>: Podesi pauzu između slanja upita +OBILAŽENJE FIREWALL-a/IDS-a I SPOOFING: + -f; --mtu <vrijednost>: fragmentiraj pakete (opcionalno sa zadanim MTU-om) + -D <mamac1,mamac2[,ME],...>: Sakrij skan korištenjem mamaca + -S <IP_Address>: Spoofaj ishodišnu (source) adresu + -e <iface>: Koristi navedeni interface (mrežni adapter) + -g/--source_port <broj_porta>: Koristi navedeni broj ishodišnog (source) porta + --data_length <broj>: Dodaj random podatke u poslane pakete + --ttl <vrijednost>: Podesi IP time-to-live polje + --spoof_mac <mac adresa/prefiks/naziv proizvođača>: Spoofaj svoju MAC adresu +ISPIS: + -oN/-oX/-oS/-oG <file>: Ispiši scan normalno, kao XML, s|<rIpt kIddi3, + i Grep format u navedeni file + -oA <osnovni_naziv>: Ispis u tri glavna formata istovremeno + -v: Povećaj verbose nivo (ako želite postići veći efekt, stavite opciju -vv) + -d[nivo]: Podesi ili povećaj debuging nivo (Ima smisla do brojke 9, više od toga ne) + --packet_trace: Pokaži sve poslane i primljene pakete + --iflist: Ispiši host interface i rute (za debuging) + --append_output: Dodaj ispis u postojeće datoteke - nemoj ih prepisati + --resume <naziv_datoteke>: Nastavi prekinuti scan + --stylesheet <putanja/URL>: XSL stylesheet za transformiranje XML generiranog dokumenta u HTML + --no_stylesheet: Spriječi povezivanje XSL stylesheet-a s XML ispisom +RAZNO: + -6: Omogući skeniranje IPv6 protokola + -A: Omogući prepoznavanje OS-a i verzije OS-a + --datadir <naziv_direktorija>: Navedi customizirani Nmap data file + --send_eth/--send_ip: šalji sirove (RAW) ethernet frame-ove ili IP pakete + --privileged: Pretpostavka da je korisnik koji je pokrenuo Nmap u potpunosti privilegiran (ima admin ovlasti) + -V: Ispiši verziju Nmap-a + -h: Ispiši ovaj help ekran +PRIMJERI: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + Odabir ciljanog računala + +Sve što unesete u komandnu liniju Nmap-a, a nije opcija ili argument opcije (dakle nije parametar samog +programa), tretira se kao ciljano računalo. Najjednostavniji slučaj je da unesete IP adrese ili naziv ciljanog +hosta. + +Ponekad želite skenirati čitavu mrežu hostova. +Za tu namjenu Nmap podržava CIDR adresiranje. Dakle, nakon IP adrese ili naziva računala, možete dodati +/numbits (broj bitova) koji se koriste kao mrežni ID. Npr. 192.168.10.0/24 će skenirati +256 hostova između 192.168.10.0 (binarno: 11000000 10101000 00001010 00000000) i +192.168.10.255 (binarno: 11000000 10101000 00001010 11111111) uključujući i +192.168.10.0 i 192.168.10.255. 192.168.10.40/24 će učiniti istu stvar. Ako smo pak odabrali scanme.nmap.org, a recimo +da je IP adresa tog hosta 205.217.153.62, scanme.nmap.org/16 bi skeniralo 65,536 IP adresa između 205.217.0.0 i +205.217.255.255. Najmanja dozvoljena vrijednost je 1 (što bi skeniralo gotovo cijeli internet), dok je najveća +dozvoljena vrijednost 32, što skenira samo jednog hosta. + +CIDR notacija je kratka, ali nije uvijek dovoljno fleksibilna. Npr. želite skenirati 192.168.0.0/16, ali želite +izbjeći sve IP adrese koje završavaju s .0 ili .255, jer su to mrežni ID i broadcast IP adresa u klasful adresiranju. +Nmap za tu situaciju podržava adresiranje na nivou okteta. Umjesto da navedete normalnu IP adresu, možete navesti +listu brojeva odvojenih zarezom (1,2,3) ili područja za svaki oktet (1-254). Npr. 192.168.0-255.1-254 će preskočiti +sve adrese u navedenom području koje završavaju na .0 i .255, tj. skenirat će sve IP adrese od 192.168.0.1 do +192.168.255.254, preskačući one IP adrese koje u zadnjem oktetu imaju 0 ili 255. Područja nisu limitirana na zadnji +oktet, recimo, 0-255.0-255.13.37 će skenirati SVE IP adrese koje završavaju na 13.37. Ovaj način skeniranja može biti +koristan za razna istraživanja i ispitivanja. + +IPv6 adrese mogu biti specificirane isključivo u potpunosti definirane (fully qualified) kao IP adrese ili +naziv hosta. CIDR i oktet područja nisu podržani za IPv6 jer se rijetko koriste. + +Nmap prihvaća navođenje više hostova u komandnoj liniji, a hostovi ne moraju biti istog tipa. Naredba +nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 će učiniti upravo ono što +očekujete od nje. + +Ciljevi skeniranja su obično navedeni u samoj komandnoj liniji, ali podržane su i sljedeće opcije: + + + + + (Iščitaj parametre iz liste) + + + Iščita informacije o ciljanom hostu iz + ulazne datoteke. Proslijediti Nmapu veliku količinu hostova iz komandne linije + izgleda nepregledno, ali to je ono što u većini slučajeva i želimo. Npr. iz DHCP servera ste izvukli popis + 10 000 trenutno iznajmljenih IP adresa i želite ih skenirati ili možda želite skenirate sve ip adrese + osim tih kako bi pronašli hostove koji imaju neautoriziranu statičku IP adresu. Da bi + to postigli, generirajte popis hostova koje želite skenirati u neku datoteku i proslijedite tu datoteku + Nmap-u kao argument opciji . U datoteci mogu biti unosi u bilo kojem formatu koji Nmap + podržava u samoj komandnoj liniji (IP adresa, naziv hosta, CIDR, IPv6, ili oktet nekog područja). Svaki + unos mora biti odvojen s jednim ili s više razmaka, tabom ili novim redom. Isto tako možete staviti minus + (-), ukoliko želite da Nmap iščita hostove iz standardnog unosa umjesto + iz navedene datoteke. + + + + + + (Nasumično odaberi ciljano računalo) + + + Za istraživače interneta i ostale koji žele odabrati ciljano računalo nasumično. Argument + broj hostova kaže Nmap-u koliko IP adresa da generira. Neželjene IP adrese, + poput privatnih, multicast ili nedodjeljenih IP adresnih područja su automatski izbačene. Argument + 0 može biti naveden za skeniranje koje nikad neće završiti. + Imajte na umu da neki mrežni administratori ne vole neautorizirano skeniranje i mogli bi se žaliti vašem + ISP-u, što bi pak moglo rezultirati zabranom pristupa internetu za vas. Koristitte ovu opciju na vlastitu + odgovornost. Ukoliko se pak, jednog kišnog popodneva, nađete u situaciji da ne znate što bi sa sobom, + iskušajte naredbu + nmap -sS -PS80 -iR 0 -p80 kako bi nasumično pronašli web servere za + browsanje. + + + + + + (isključi iz skeniranja hostove/mreže) + + + Navedite zarezom odvojenu listu hostova koje želite isključiti iz skena iako se nalaze u mrežnom + području koje ste specificirali. Popis koji proslijedite na ovaj način koristi normalnu Nmap sintaksu, pa + možete upisati naziv hosta, CIDR mrežne blokove, oktete rangeva isl. To može biti korisno u slučaju kad + mreža koju želite skenirati ima nedodirljive i kritične servere, sisteme za koje se zna da će odmah + reagirati na port sken, ili postoje podmreže koje administriraju drugi administratori i ne želite skenirati + njihov dio mreže. + + + + + + (Isključi iz skeniranja koristeći ulazni file) + + + Ova opcija nudi istu funkcionalnost kao i prije opisana opcija , s tim da + hostove koje ne želite skenirati ne navodite u komandnoj liniji, već unutar datoteke. Hostovi mogu biti + navedeni u datoteci (naziv_datoteke) koji kao delimiter koristi novi red, razmak + ili tab. + + + + + + + Postupak Pronalaženja hostova + + Jedan od prvih koraka kad je u pitanju sakupljanje informacija o mreži je smanjivanje (ponekad velike) + količine IP adresnih područja u popis aktivnih i zanimljivih hostova. Skeniranje svih portova za svaku adresu je + sporo i najčešće nepotrebno. Naravno, ono što nekog hosta čini zanimljivim uvelike ovisi o razlogu samog skena. + Mrežni administratori će možda biti zainteresirani samo za hostove koji imaju pokrenut određeni servis, dok će + sigurnosni auditori biti zainteresirani za svaki uređaj s IP adresom. Administratoru će možda biti dovoljno + korištenje ICMP pinga kako bi pronašao hostove na mreži, dok će vanjski penetration tester koristiti široki + spektar alata i nebrojene sonde u pokušaju da obiđe zabrane postavljene na vatrozidu. + + Budući da su potrebe korisnika kod pronalaženja hostova tako različite, Nmap nudi široki spektar opcija za + prilagođavanje korištenim tehnikama. Pronalaženje hostova (engl host discovery) se ponekad naziva Ping scan, ali + ide daleko dalje od običnog ICMP echo paketa povezanog sa sveprisutnim + ping alatom. Korisnici mogu preskočiti dio pinganja s list skenom + () ili isključivanjem pinganja () ili da pristupe mreži s kombinacijama + multi port TCP SYN/ACK, UDP i ICMP sondi. Namjena tih sondi je iznuđivanje odgovora koji dokazuje da je IP + adresa u stvari aktivna (korištena je od strane hosta ili mrežnog uređaja). Na većini mreža je samo jedan mali + postotak IP adresa aktivan. To je pogotovo točno za mreže blagoslovljene RFC1918 dokumentom (privatni adresni + prostor poput 10.0.0.0/8). Navedena mreža ima 16 miliona IP adresa, ali imao sam prilike vidjeti da je koriste + firme s manje od tisuću mašina. Postupak pronalaženja hostova može pronaći koja su to računala u tom moru + neaktivnih IP adresa. + + Ukoliko ne navedete nikakvu opciju Postupku pronalaženja hostova, Nmap šalje TCP ACK paket namjenjen portu + 80 i ICMP echo zahtijev na ciljano računalo. Izuzetak od ovog pravila je taj da je ARP sken korišten za ciljana + računala na lokalnoj ethernet mreži. Za neprivilegirane UNIX shell korisnike, Nmap šalje SYN paket umjesto ACK-a + korištenjem connect() sistemskog poziva. To je jednako opcijama + . Takav način pronalaženja hostova je obično dostatan kad su u pitanju lokalne mreže, ali + preporučen je malo potpuniji set sondi za istraživanje kod sigurnosnog auditinga. + + Opcija (koja odabire ping tipove) može biti kombinirana. Možete povećati šanse + provaljivanja vatrozida slanjem mnogo sondi koje koriste različite TCP portove/zastavice (engl. flags) i ICMP + kodove. Također imajte na umu da se po defaultu na lokalnoj mreži za otkrivanje hostova koristi ARP discovery + () čak i kad navedete druge opcije zbog toga jer je gotovo uvijek brži i + efikasniji. + + Sljedeće opcije upravljaju postupkom otkrivanja hostova. + + + + + (List Sken) + + List sken nije skeniranje hosta, već saznavanje nekih javno dostupnih informacija o njemu bez slanja + ijednog paketa prema tom hostu. List scan jednostavno ispiše svakog hosta kojeg smo specificirali i napravi + reverse DNS rezoluciju da bi saznao njegovo ime. Iznenađujuće je koliko korisnih informacija možete dobiti + ovim načinom "skeniranja". Npr. fw.chi.playboy.com je vatrozid Čikaškog + (Chichago) ureda firme Playboy Enterprises. Nmap na kraju navede i ukupan broj IP adresa koje pripadaju tom + hostu. List Sken je koristan u situacijama kada se želite uvjeriti da imate ispravne IP adrese koje želite + skenirati. Ukoliko List sken izbaci nazive domena koje ne poznajete bilo bi dobro provjeriti prije nego + pokrenete skeniranje, jer ne bi bilo dobro da počnete skenirati krive hostove ;-). + + Kako je ideja samo ispisati popis ciljanih hostova, ne možete kombinirati opcije za funkcionalnosti + višeg nivoa, poput skeniranja portova, detekcije OS-a, ping skeniranja isl. Ukoliko želite isključiti ping + skeniranje, a ipak koristiti funkcionalnosti višeg nivoa, pročitajte opis opcije. + + + + + + + (Ping Sken) + + + Ova opcija kaže Nmap-u da napravi samo ping sken (otkrivanje hostova) i da + ispiše hostove koji su odgovorili na skeniranje. Ne radi se nikakvo dodatno testiranje (poput port + skeniranja ili detekcije OS-a). To je način skeniranja koji je stupanj intruzivniji od list skena ali se + može koristiti u istu svrhu. Dozvoljava lagano "pretraživanje neprijateljskog teritorija" (engl. + reconnaissance), bez pretjeranog privlačenja pažnje, jer znati koliko hostova je stvarno "živo" na mreži + je važnija informacija za napadača ili sigurnosnog auditora, nego lista koju je izbacio list scans popisom + svih IP adresa i hostova koji postoje. + + Sistemski administratori također nalaze ovu opciju poprilično korisnom. Može se koristiti za + pronalaženje dostupnih računala na mreži ili koristiti kao alat za nadgledanje dostupnosti servera. Taj + način primjene se naziva ping sweep i mnogo je pouzdaniji od pinganja broadcast adrese zato jer mnogi + hostovi ne odgovaraju na broadcast upite. (Konkretno windows mašine ne odgovaraju na broadcast ping, ali + odgovaraju na druge tipove broadcast paketa). + + Po defaultu opcija šalje ICMP echo i TCP paket na port 80. Kad je pokrenuta od + strane neprivilegiranog korisnika (korisnika koji nije lokalni administrator), poslan je SYN paket na port + 80 (korištenjem API poziva connect() ). Kad privilegirani korisnik + pokušava skenirati hostve na lokalnoj mreži, koriste se ARP zahtjevi () osim ako nije + specificirana opcija . + Opciju možete kombinirati s bilo kojim tipom otkrivajućih (discovery) tipova + skeniranja (sve opcije osim opcije) kako bi postigli veću + fleksibilnost. Ukoliko se koristi bilo koji od tih tipova skeniranja i port broj, automatski su defaultne + postavke skeniranja premošćene (ACK i echo zahtjevi). Ukoliko su između hosta na kojem je pokrenut Nmap i + ciljanog hosta nalaze vatrozidi, preporuka je koristiti upravo te tehnike kako vatrozid ne bi filtrirao + upite ili odgovore na njih. + + + + + + + (Bez pinganja) + + + Ova opcija preskače fazu otkrivanja hostova. Ukliko ne koristite ovu opciju, Nmap pokušava ping + skeniranjem saznati koja računala su dostupna kako bi SAMO njih i skenirao. Ukoliko koristite ovu opciju + Nmap će skenirati svakog navedenog hosta bez obzira da li je dostupan ili ne, jer neće raditi provjeru. + Ukoliko odaberete kompletnu klasu B (/16 po CIDR notaciji) Nmap će skenirati svih 65536 hostova, bez obzira + da li su "živi" ili ne. Napomena: drugi karakter u ovoj opciji je NULA, a ne veliko slovo O. Ukoliko je na + hostu zatvoren ICMP protokol (što je slučaj kod 90% računala na internetu), a niste stavili + opciju, Nmap neće skenirati ta računala, dakle, ukoliko želite skenirati računala koja + ne odgovaraju na ICMP echo upit, a znate da postoje i da su "živi" stavite ovu opciju. + + + + + + (TCP SYN Ping) + + + Ova opcija šalje prazan TCP paket s upaljenim SYN flagom. Defaultni odredišni port je 80 (možete se + konfigurirati kod kompajliranja programa na način da promijenite DEFAULT_TCP_PROBE_PORT u + nmap.h biblioteci), no, možete navesti i neki drugi port kao + parametar. + Isto tako je moguće poslati zarezom odvojenu listu portova kao parametar ovoj opciji (npr. ). U tom će slučaju nmap poslati paket na svaki od navedenih portova + paralelno. + + SYN flag u paketu kaže ciljanom hostu da se želite spojiti na navedeni port/portove. Ukoliko je port + zatvoren, odgovor koji će Nmap dobiti od ciljanog hosta je RST (reset). Ukoliko je port otvoren, ciljano + računalo će poslati SYN/ACK paket, što je drugi korak u trostrukom rukovanju TCP protokola. Računalo na + kojem je pokrenut Nmap u tom trenutku prekida konekciju na način da pošalje RST paket (umjesto ACK paketa + koji bi završio trostruko rukovanje i uspostavio konekciju sa ciljanim hostom). RST paket je poslao kernel + računala na kojem je pokrenut Nmap, jer je dobio SYN/ACK paket koji nije očekivao. + + Nmap ne zanima da li je port otvoren ili zatvoren, RST ili SYN/ACK odgovor koji je dobio dovoljan su + odgovor da je računalo "živo". Bez obzira na to RST odgovor znači da je računalo tu i da je "živo", + dok SYN/ACK odgovor uz to znači i da računalo "sluša" na navedenom portu. + + Na UNIX mašinama samo privilegirani korisnik root može slati i + primati sirove (RAW) TCP pakete. Za neprivilegirane korisnike napravljen je obilazni put u kojem Nmap + automatski poziva connect() API na svaki navedeni port. To je postiglo efekt slanja SYN paketa na coljani + host i iniciran je poušaj ostvarivanja konekcije. Ukoliko connect() API vrati brzi odgovor uspješnog + spajanja ili ECONNREFUSED grešku, TCP stack na OS-u je dobio SYN/ACK ili RST od ciljanog hosta i host je + označen kao dostupan. Ukoliko konekcija "visi" dok ne istekne timeout, ciljani host je označen kao + nedostupan (ugašen). Navedeni obilazni put se koristi i kod IPv6 konekcija, je Nmap još nema implementiranu + izradu sirovih (RAW) paketa za IPv6 protokol. + + + + + + (TCP ACK Ping) + + TCP ACK ping je sličan SYN pingu. Razlika je, što je lako zaključiti iz samog naziva, u tome što se + umjsto SYN flaga upali ACK flag. Takav paket podrazumijeva da je konekcija već uspostavljena iako nije, + samim tim bi ciljani hostovi uvijek trebali odgovoriti s RST paketom, te na taj način potvrditi svoje + postojanje. + + + opcija koristi isti defaultni port kao i SYN scan (port 80) i isto kao + i SYN scan može primiti listu portova u istom formatu. Ukoliko neprivilegirani korisnik pokuša + pokrenuti Nmap s ovom opcijom ili je u pitanju IPv6 TCP konekcija, koristi se obilazni put opisan u TCP SYN + pingu. Ova opcija nije savršena, jer connect() u stvari šalje SYN pakete umjesto ACK paketa + + Razlog zašto koristiti i SYN i ACK sonde je radi povećavanja šansi za obilaženje vatrozida. + Mnogi administratori konfiguriraju rutere i ostale jednostavne vatrozide na način da zaustavljaju dolazeće + SYN pakete osim ako nisu namijenjeni nekim javnim servisima, poput weba ili mail servera. Takav način + podešavanja uređaja sprječava nedozovljene konekcije prema računalima tvrtke, ali omogućava neograničen + izlazni promet prema internetu. Ovakav pristup konekcija bez stanja (engl. stateless) oduzima malo resursa + na vatrozidima/ruterima i podržan je na gotovo svim hardverskim i softverskim filterima. Netfilter/ + iptables, poznati vatrozid na Linux operativnom sustavu nudi opciju kako bi mogli + implementirati ovakav pristup konekcija bez stanja (engl. stateless). Kod tako konfiguriranih vatrozida, + sonde SYN ping () će najvjerovatnije biti blokirane kad ih pošaljete na zatvorene + portove. No međutim, ACK sonde će bez problema prolaziti kroz njih. + + Drugi tip vatrozida podržava konekcije sa stanjem (engl. stateful) koji odbacuju sve neočekivane + pakete. Ova opcija se u početku koristila samo kod naprednijih vatrozid rješenja, ali je vremenom postala + rasprostranjenija. Linux vatrozid Netfilter/iptables podržava ovu opciju korištenjem opcije + , koja kategorizira pakete vezano uz stanje konekcije. Skeniranjem takvih sustava + veća je vjerovatnost da ćemo od SYN sonde dobiti nekakvu informaciju, nego od ACK, jer se ACK sonde koje + nemaju uspostavljenu konekciju tretiraju kao lažne i odbačeni su bez ikakvog odgovora. U slučaju dvojbe, + najbolje je poslati i SYN i ACK sonde naviođenjem opcija + i + . + + + + + + (UDP Ping) + + + Još jedna metoda detekcije hostova je i UDP ping. UDP ping šalje prazne UDP pakete (osim ako nije + definirana opcija + ) na navedene portove. Portlist opcija ima isti format kao + i prije obrađene opcije i . Ukoliko nije naveden niti jedan port, + defaultni je 31338. To se može promijeniti kod kompajliranja promjenom DEFAULT_UDP_PROBE_PORT u + nmap.h biblioteci. + Namjerno je odabran visoki nestandardni port, jer bi slanje paketa na otvorene UDP portove dalo neželjene + rezultate za ovu vrstu skena. + + Nakon što je ciljano računalo dobilo paket na zatvoreni port, trebalo bi odgovoriti ICMP paketom " + nedostupan port" (engl. port unreachable). Na osnovu toga Nmap može zaključiti da je ciljani host "živ". + Drugi tipovi ICMP grešaka, poput nedostupan host/mreža ili premašen TTL (engl. TTL exceeded) nagovještavaju + da je host ugašen ili nedostupan. Ukoliko nema nikakvog odgovora, Nmap također zaključi da je host ugašen/ + nedostupan. + Ukoliko je paket stigao na otvoreni UDP port, većina servisa će jednostavno ignorirati prazan UDP paket i + Nmap neće dobiti nikakav odgovor. Zbog toga je defaultni port 32338, jer je mala mogućnost da će neki + servis koristiti taj port. Postoje i neki servisi, poput chargen-a, koji će odgovoriti na prazan UDP paket + i na taj način otkriti Nmapu da je host "živ". + + Glavna prednost ovog tipa skeniranja je da obilazi vatrozide i paket filtere koji skeniraju samo + TCP promet. Npr. Linksys BEFW11S4 bežični (wireless) ruter na vanjskom mrežnom adapteru filtrira samo TCP + portove, a na UDP skenove odgovara s ICMP port nedostupan. + + + + + + + ; + ; + (ICMP tipovi pinganja) + + + Uz do sad navedene tipove skeniranja i otkrivanja hostova, Nmap može slati i standardne ICMP pakete + korištenjem klasičnog ping programa. Nmap šalje ICMP paket tipa + 8 (echo request) na ciljanu IP adresu očekujući odgovor tipa 0 (echo reply), ukoliko je host "živ". Na + štetu mrežnih istraživača, većina hostova i vatrozida na internetu blokira te pakete umjesto da na njih + odgovara kako je opisano u RFC 1122 + dokumentu. Zbog toga su ICMP skenovi rijetko ili gotovo nikad pouzdani kad se ciljani host nalazi na + internetu, ali za sistem administratore koji nadgledaju unutrašnje mreže, ovo je praktičan i + najjednostavniji pristup za skeniranje hostova. Opisani način skeniranja možete upaliti korištenjem + opcije. + + Bez obzira na to što je echo zahtijev standardni ICMP ping upit, Nmap se nije zaustavio na tome. Ako + pogledate ICMP standard (RFC 792) vidjet ćete + da je u njemu naveden i timestamp zahtijev, information zahtijev i zahtijev za adresnom maskom i to pod + kodovima 13,15 i 17. Iako je namjena tih upita saznati informacije poput adresne maske i trenutnog vremena, + vrlo ih je lako iskoristiti za otkrivanje hostova. Host koji odgovori je "živ". Nmap u trenutnoj verziji ne + podržava information zahtijev, jer se ne koristi često. RFC 1122 inzistira na tome da host NE BI + TREBAO implementirati taj ICMP tip poruka. Upite za timestamp i adresnu masku možete poslati s + i opcijama. Timestamp odgovor (ICMP kod 14) ili odgovor adresne + maske (kod 18) otkrivaju da je ciljani host "živ". Ta dva upita su korisni u slučajevima kad administratori + blokiraju echo zahtijev pakete, ali zaborave blokirati ostale ICMP pakete. + + + + + + (ARP Ping) + + + Jedan od najčešćih scenarija korištenja Nmap-a je skeniranje ethernet LAN-a. Na većini LAN-ova, + posebno na onima koji koriste privatne ip adrese definirane u RFC 1918 dokumentu je većina IP adresa u + stvari neiskorištena. Kad Nmap pokuša poslati sirovi IP paket poput ICMP echo zahtjeva, operativni sustav + mora ustanoviti MAC adresu računala koja pripada ciljanoj IP adresi, kako bi moglo adresirati ethernet + frame. To je obično sporo i problematično jer operativni sustavi nisu napisani s pretpostavkom da će u vrlo + kratkom vremenskom periodu morati poslati milione ARP zahtjeva prema nepostojećim hostovima. + + + ARP sken zadužuje Nmap i njegove optimizirane algoritme za ARP zahtjeve i ukoliko Nmap dobije + odgovor ne mora uopće pokretati IP bazirani ping, jer već zna da je računalo dostupno. Ovo čini ARP scan + mnogo bržim i pouzdanijim od IP baziranog skena, pa se defaultno koristi kod skeniranje hostova na + ethernetu za koje Nmap zaključi da su na lokalnoj mreži. Čak ako ste i naveli neke druge tipove pinga, + (poput + ili + ), Nmap će koristiti ARP sken za sve hostove koji su na istoj mreži. Ukoliko ne želite + koristiti ARP sken, navedite opciju + . + + + + + + + (Bez DNS rezolucije) + + + Ova opcija kaže Nmap-u da + nikad ne radi obrnutu DNS rezoluciju (engl. reverse DNS lookup) na aktivnim IP + adresama koje pronađe. Kako je obrnuta DNS rezolucija često spora, ova opcija ubrzava postupak. + + + + + + + (DNS rezolucija za sva ciljana računala) + + + Ova opcija kaže Nmap-u da + uvijek radi obrnutu rezoluciju ciljanih IP adresa. U normalnim okolnostima to se radi + samo kad je potvrđeno da računalo postoji. + + + + + + + (Koristi sistemski DNS rezolver) + + + Defaultno Nmap radi rezolving adresa slanjem upita direktno imenskim serverima (engl. name servers) + koji su podešeni na vašem računalu i čeka odgovore. Mnogo zahtjeva je poslano istovremeno (10 i više) kako + bi brže radilo. Ovu opciju navedite ukoliko želite koristiti sistemski rezolver (jedna po jedna IP adresa + pozivom sistemskog API poziva getnameinfo()). Ovo je sporije i rijetko je korisno osim ako u Nmap DNS kodu + postoji greška -- molim kontaktirajte nas u tom slučaju. Sistemski rezolver se uvijek koristi za IPv6 + skenove. + + + + + + + (Serveri koji će se koristiti za obrnute DNS upite) + + + U normalnim okolnostima, Nmap će pokušati pronaći vaše DNS servere iz resolv.conf datoteke (na + UNIX-u) ili iz registry baze podataka (na Win32). Naravno, postoji mogućnost da navedete servere po želji + korištenjem ove opcije. Ova opcija se ne koristi ako koristitite opciju + + ili IPv6 sken. Korištenje više DNS servera je obično brže nego samo jednog. + + + + + + + + Osnove skeniranja portova + + Bez obzira na to što je vremenom Nmap porastao gledano s funkcionalne strane, počeo je kao efikasan + port skener, te mu to i dalje ostaje osnovna namjena. Jednostavna naredba nmap + ciljani host skenira više od 1660 TCP portova na navedenom računalu. + Iako je većina port skenera grupirala portove u otvorene ili zatvorene, Nmap ima granularniji pristup, te + dijeli portove na: + otvorene, + zatvorene, + filtrirane, + nefiltriran, + otvorene|filtrirane i + zatvorene|filtrirane. + +Gore navedena stanja ne potiču od stvarnih stanja portova, već su opis onoga što Nmap u stvari vidi. Npr., +ukoliko Nmap-om skenirate neku mrežu, dok ste fizički spojeni na nju, Nmap bi mogao reći da je port 135 otvoren, dok +bi isti taj sken u slučaju da tu istu mrežu skenirate s interneta, najvjerovatnije rekao da je port +filtriran (nalazi se iza vatrozida ili paket filtera). + +Šest stanja portova kako ih Nmap prepoznaje + + otvoren + Aplikacija aktivno prihvaća TCP konekcije ili UDP pakete na navedenom portu. To je ujedno i cilj + skoro svakog skeniranja. Osobe koje se bave sigurnošću znaju da je svaki otvoreni port, potencijalno mjesto napada. + Napadači i penetration testeri žele iskoristiti otvorene portove, dok ih administratori pokušavaju zatvoriti ili + zaštititi vatrozidima, bez da zabrane pristup legitimnim korisnicima. Skeniranje otvorenih portova je zanimljivo + ne samo za sigurnosne skenove, već i u slučaju kad želite saznati koji servisi i aplikacije su dostupni na mreži. + + + zatvoren + + Zatvoreni port je dostupan (odgovorio je na Nmap-ov upit), ali na njemu ne sluša niti jedna + aplikacija. Zatvoreni port nam govori da se na toj IP adresi nalazi host koji je upaljen, koji najvjerovatnije nije + iza vatrozida ili paket filtera, a to nam može pomoći i i otkrivanju verzije OS-a. Kako su zatvoreni portovi + dostupni (nitko nam nije zabranio pristup do njih), isplati se kasnije ponoviti sken, jer možda će kasnije biti + otvoreni. Administratori se trude zabraniti pristup takvim portovima korištenjem vatrozida i paket filtera, u tom + bi slučaju port bio filtriran, a ne zatvoren (što je objašnjeno u nastavku). + + + filtriran + + Nmap ne može ustanoviti da li je port otvoren ili ne, jer neki uređaj (vatrozid, pravila na ruteru, + paket filter) blokira upite prema tom portu. Ti su portovi frustrirajući za hakere, jer ne daju gotovo nikakve + informacije. Ponekad odgovaraju s ICMP porukom o grešci poput tip 3 kod 13 (odredište je nedostupno - komunikacija + administrativno zabranjena), ali filteri koji samo odbace paket i ne daju nikakav odgovor na njegu su najčešći. + Zbog toga Nmap mora poslati upit više puta kako bi bio siguran da je paket odbačen zbog filtriranja, a ne zbog + mrežnog zagušenja te samim tim usporava skeniranje. + + nefiltriran + Ovo stanje znači da je port dostupan, ali Nmap ne može ustanoviti da li je otvoren ili zatvoren. + Samo ACK sken (koji se koristi za otkrivanje pravila na vatrozidu može vratiti nefiltriran kao odgovor. Skeniranje + nefiltriranih portova nekom drugom metodom (poput Windows skena, SYN skena ili FIN skena može dati odgovor na + pitanje da li je port otvoren ili zatvoren. + + + otvoren|filtriran + Nmap okarakterizira port ovim stanjem kada nije u mogućnosti ustanoviti da li je port otvoren ili + filtriran. To se dogodi u situacijama kada na upit ne dobije nikakav odgovor. Nedostatak odgovora može značiti da + je paket filter odbacio paket i/ili bilo kakav odgovor koji je taj paket inicirao. Samim tim Nmap nije siguran da + li je port otvoren ili filtriran. UDP, IP protokol, FIN Null i Xmas scan mogu klasificirati port ovim stanjem. + + + zatvoren|filtriran + U slučaju kad Nmap ne može ustanoviti da li je port zatvoren ili filtriran, okarakterizirat će ga + ovim stanjem. IPID Idle Scan je jedina sken metoda koja može vratiti ovakav rezultat. + + + + + + Tehnike skeniranja portova + +Kako nisam previše vičan popravcima na automobilu, mogu potrošiti sate i sate samo da nađem odgovarajući alat +(poput čekića, ljpljive trake, ključa isl.). Nakon što odustanem od smješnih pokušaja da nešto popravim i odvezem +auto kod stvarnog mehaničara, začuđen sam kako jednostavno i nadasve uspješno izvadi iz velike kutije s alatatom baš +onaj koji je potreban za uspješan popravak. Umjestnost skeniranja portova je slična. Stručnjak razumije mnoštvo +tehnika skeniranja i odabere baš onu (ili kombinaciju više tehnika) koja je odgovarajuća za određeni posao. Neiskusni +korisnisi i script kiddies (osobe koje koriste skripte koje je napisao netko drugi ne razumijevajući što i kako te +skripte rade), pokušavaju sve riješiti defaultnim SYN skanom. Kako je Nmap besplatan program, jedina prepreka između +Vas i masteriranja port skeninga je znanje. To je definitivno suprotno od automehaničarskog posla, u kojem recimo mož +ete znati da Vam treba zračni kompresor, ali to ne umanjuje činjenicu da ga trebate i kupiti. + + +Većina tipova skeniranja koje nmap podržava dostupni su privilegiranim korisnicima (morate biti ulogirani kao +administrator). To je zbog toga jer šalju sirove (RAW) pakete koji zahtjevaju root pristup u UNIX svijetu. Korištenje +administratorskog korisničkog accounta je preporučeno na windows operativnim sustavima, mada Nmap ponekad radi i s +neprivilegiranim korisnicima, ako je WinPCap prethodno instaliran na sustav i aktivan. Zahtjev za root privilegijama +je bila ozbiljna prepreka kad je Nmap prvi put pušten u javnost 1997. godine, jer je većina korisnika imala pristup +dijeljenim shell accountima. Sada je svijet drugačiji. Kompjutori su jeftiniji, veći broj ljudi ima stalni pristup +internetu, a desktop UNIX sustavi su dominantni (uključujući linux i MAC OS X). Windows verzija Nmap-a je također +dostupna, te je samim tim i Nmap dostupniji većem broju korisnika. Zbog svih tih razloga, sve je manja potreba +korisnika da pokreću Nmap logirani sa dijeljenim shell accountima. To je naravno super stvarm jer je Nmap pokrenut +pod accountom privilegiranog korisnika mnogo moćniji i fleksibilniji. + +Iako Nmap pokušava reproducirati ispravan rezultat svojih skenova, imajte na umu da su sve unutrašnje +komponente Nmap-a bazirane na paketima vraćenim od ciljanih računala (ili firewall uređaja ispred njih). Neki hostovi +mogu biti nepouzdani i podešeni na način da vrate pakete koji će zavarati Nmap i dati krivi rezultat. Još češći su +hostovi koji ne podržavaju RFC standard, te ne odgovaraju onako kako Nmap očekuje od njih. FIN, Null i Xmas skenovi +su pogotovo podložni tim problemima. Problemi poput gore navedenih su specifični za pojedine tipove skeniranja i o +tome se raspravlja u svakoj od tih tehnika skeniranja. + +Ovo poglavlje dokumentira hrpu tehnika skeniranja portova koje podržava Nmap. Samo jedna od spomenutih metoda +može biti korištena u jednom trenutku, osim UDP skena () koji može biti kombiniran s bilo kojom +od TCP sken matoda. Radi lakšeg pamćenja, opcije skeniranja portova su u obliku +, gdje je C vidljiv iz samog naziva sken +tipa i obično je to prvo slovo. Jedini izuzetak je FTP bounce scan (). Defaultno, Nmap radi SYN +scan iako će ga zamijeniti s Connect() skenom, ako korisnik nema odgovarajuće ovlasti slanja raw paketa (root pristup +na UNIX sustavima) ili ako je specificirana IPv6 kao ciljana IP adresa. Od svih navedenih tipova skenova u ovom +poglavlju, neprivilegirani korisnik može pokrenuti samo Connect() i FTP bounce scan. + + + + + (TCP SYN scan) + + +SYN scan je defaultni i najpopularniji način skeniranja i to zbog opravdanih razloga. Može ga se izvesti brzo, +može skenirati tisuće portova u sekundi na brzim mrežama koje nisu opterećene firewall uređajima koji utječu na +kretanje paketa. SYN scan je relativno neagresivan i nevidljiv, jer nikad ne završi TCP konekciju (ne uspostavi +trostruko rukovanje do kraja). Također je jednako efikasan na svim implementacijama TCP stacka, jer ne ovisi o +specifičnim platformama kao što je to slučaj kod Nmap-ovog Fin/Null/Xmas, Maimon i Idle skena. Također je u +mogućnosti čisto i pouzdano razlučiti između otvorenog, +zatvorenog i filtriranog stanja porta. + +Tehnika SYN scana se najčešće naziva poluotvoreno skeniranje, jer nikad ne uspostavite potpunu TCP konekciju. +Naime, pošaljete SYN paket, kao što bi ga poslali u slučaju da želite uspostaviti stvarnu TCP konekciju i čekate na +odgovor. Ako kao odgovor dobijete SYN/ACK, znači da postoji aplikacija koja sluša na tom portu (port je otvoren), dok +RST (reset) znači da ne postoji aplikacija koja sluša na tom portu (port je zatvoren). Ukoliko i nakon nekoliko +ponovnih slanja upita nema nikakvog odgovorar, port je okarakteriziran kao filtriran. Port je također označen kao +filtriran ako kao odgovor dođe ICMP unreachable error (ICMP nedostupan - tip 3, kodovi 1, 2, 3, 9, 10 ili 13). + + + + + + + (TCP connect() scan) + + +TCP Connect() scan je defaultni TCP tip skeniranja ukoliko je SYN scan nedostupan. To se događa u slučajevima +kad korisnik nema privilegiju slanja raw paketa ili kad je skenirani host na IPv6 mreži. Umjesto da šalje raw pakete, +kao što to radi većina drugih tipova skeniranja, Nmap zatraži operativni sustav da uspostavi konekciju s ciljanim +računalom na poru kojiželimo skenirati, na način da pošalje connect() sistemski +poziv. To je isti sistemski poziv koji koriste web preglednici, P2P klijenti i većina drugih mrežnih aplikacija kad ž +ele uspostaviti konekciju. Dio je programskog unosa poznatog kao Berkeley Sockets API. Umjesto da iščitava raw pakete +Nmap koristi navedeni API kako bi dobio statusne informacije svake pokušane konekcije. + +Ukoliko je SYN scan dostupan, obično je i bolji odabir. Naime, Nmap ima puno manje kontrole nad connect() API pozivom, nego nad raw paketima, te je samim tim Nap manje efikasan. Sistemski +poziv napravi potpunu konekciju na otvorene portove ciljanog računala umjesto da napravi reset kao što je slučaj kod +SYN skena. Tim postupkom ne samo da gubimo više vremena kako bi saznali da li su portovi otvoreni ili ne, nego +postoji i veća vjerovatnost dsa će host zapisati u log pokušaj spajanja. Činjenica je da će svaki IDS sustav logirati +i SYN i Connect scan, ali isto tako je činjenica da većina računala nema IDS sustav. Većina servisa na UNIX-oidima će +dodati zapis u syslog i (ponekad) kriptičnu poruku o grešci, kad se Nmap spoji i odmah odspoji bez slanja podataka. +Jadno napisani servisi se skrše kad se to dogodi, mada je to stvarno rijetkost. Administrator koji vidi hrpu pokušaja +spajanja u logovima koji su svi inicirani s jednog hosta, odmah će znati da je netko skenirao portove Connect() +metodom. + + + + + + + (UDP skenovi) + + +Iako većina popularnih servisa na internetu korisiti TCP protokol, UDP servisi su isto tako široko zastupljeni. DNS, SNMP i DHCP (registrirani portovi 53, 161/162 i +67/68) su tri najpoznatija. Zbog toga što je UDP skeniranje mnogo sporije i teže za izvesti nego TCP, neki sigurnosni +auditori, ignoriraju UDP portove. To je velika pogreška, jer su exploitabilni UDP servisi česta pojava i napadači ih +sigurno neće ignorirati. Srećom, Nmap može pomoći u istraživanju UDP portova. + +UDP scan aktivirate naredbom . Može biti kombinirana s TCP skenom poput SYN skena (), kako bi oba protokola bili provjereni "jednim udarcem". + +UDP scan radi na način da pošalje prazan UDP header (bez podataka) na svaki ciljani port. Ukoliko je vraćen +ICMP port unreachable (ICMP nedostupan port) i to tip 3 kod 3, onda je port +zatvoren. Druge ICMP greške (tip 3, kodovi 1, 2, 9, 10 ili 13) označavaju port kao +filtriran.Povremeno će servis odgovriti s UDP paketom, dokazujući da je port +otvoren. Ukoliko nakon nekoliko retransmisija nema nikakvog odgovora, port je +okarakteriziran kao otvoren|filtriran. To znači da bi port mogao biti otvoren ili +možda paket filteri blokiraju promet prema njemu. Version scan () može pomoći da se ustanovi koji +portovi su stvarno otvoreni, a koji su filtrirani. + +Veliki izaziv kod skeniranja UDP portova je napraviti ti brzo. Otvoreni i filtrirani portovi rijetko pošalju +ikakav odgovor, ostavljajući Nmap da napravi time out, te nakon toga ponovno pošalje paket u slučaju da je prethodni +iz bilo kojeg razloga bio izgubljen. Zatvoreni portovi su često još veći problem. Oni najčešće pošalju kao odgovor +ICMP port unreacheble grešku. No, za razliku od RST paketa koje pošalju zatvoreni portovi na TCP protokolu kao odgovr +na SYN ili Connect() scan, mnogi hostovi ograničavaju ICMP port urnreachable poruku po defaultu. Linnux i Solaris su +jako striktni vezano za to. Tako npr. Linux 2.4.20 kernel ograničava destination unreachable poruku na jednu po +sekundi (u net/ipv4/icmp.c biblioteci).. + +Nmap pokušava ustanoviti da li je to slučaj i smanjuje brzinu skeniranja veano uz to, kako bi spriječio zaguš +ivanje nekorisnim paketima koje će ciljano računalo tako i tako tiho odbaciti. Nažalost, spomenuti limit koji je +postavljen kod linuxa, znači da će skeniranje svih 65536 portova trajati više od 18 sati. Ideja ubrzavanja UDP skena +je da se paralelno skenira više hostova, na način da se najprije skleniraju najpopularniji portovi na brz način, +skenirajući iza firewall-a i koristeći kako bi se izbjegli spori hostovi. + + + + + + + ; ; (TCP Null, FIN i Xmas skenovi) + + +Ova tri tipa skenova (moguće ih je postići i više korištenjem opcije opisane u +sljedećoj sekciji) iskorištavaju rupu u standardu TCP RFC +, kako bi razlučili koji port je otvoren, a koji +zatvoren. Na strani 65 piše: Ukoliko je stanje odredišnog porta ZATVORENO ... dolazeći segment koji +ne sadrži RST prouzročuje da RST bude poslan kao odgovor. Na idućoj stranici se raspravlja o paketima +poslanim na otovorene portove bez upaljenih SYN, RST ili ACK bitova i kaže da: najvjerovatnije se nećete naći +u takovoj situaciji, ali ako se nađete, jednostavno odbacite paket. + +Kod skeniranja sistema koji su kompatibilni s tim RFC tekstom, svaki paket koji u sebi ima upaljene bitove SYN, +RST ili ACK rezzultirat će vraćenim RST paketom ako je port zatvoren, a neće dati nikakav odgovor, ako je port +otvoren. Dok god nije upaljen niti jedan od tih bitova, bilo koja kombinacija druga tri bita (FIN, PSH i URG) je u +redu. Nmap to iskorištava s tri dolje navedena tipa skeniranja: + + + Null scan () + Ne uključuje niti jedan od bitova (TCP oznaka zaglavlja je 0) + + FIN scan () + Uključuje samo TCP FIN bit + + Xmas scan () + Uključuje FIN, PSH i URG flagove, "osvjetljavajući" paket kao božićno drvce. (op. prev. Xmas=Božić + + + +Sva tri tipa skeniranja su potpuno ista što se ponašanja tiče, samo što su im upaljene različite TCP oznake u +paketima. Ukoliko je kao odgovor dobiven RST paket, port se smatra zatvorenim, dok +situacija u kojoj nema odgovora, smatra da je port otvoren|filtriran. Port je +označen kao filtriran, ako je odgovor na scan ICMP unreachable greška (tip 3, +kodovi 1, 2, 3, 9, 10 ili 13). + +Glavna prednost ovih tipova skeniranja je ta da mogu "proviriti" kroz neke ne stateful firewall uređaje i paket +filtering rutere. Druga prednost im je ta da su još više nevidljivi od SYN skena. No, nemojte se u to pouzdavati, jer +većina modernih IDS sustava može biti konfigurirana da ih prepozna. Veliki nedostatak je da ne podržavaju svi sistemi +RFC 793 do zadnjeg slova, pa tako većina sustava odgovara RST paketom bez obzira na to da li je port otvoren ili +nije. Kod takvih sustava su svi portovi koje Nmap skenira okarakterizirani kao zatvoreni +. Većina operativnih sustava koji se tako ponašaju su Microsoft Windows, većina Cisco uređaja, BSDI i IBM +OS/400. No, ovaj tip skeniranja radi na većini UNIX sustava. Dodatan nedostatak ovih tipova skenova je taj što ne +mogu razlikovati otvorene portove od nekih filtriranih +, te kao odgovor dobijete otvoren|filtriran, pa si vi mislite... + + + + + + + (TCP ACK scan) + + +Ovaj tip skeniranja razlikuje se od ostalih do sad opisanih po tome što nikad ne otkrije otvorene ili čak otvorene|filtrirane portove. Namjena mu je +mapirati pravila firewall-a, tj. da zaključi da li je firewall stateful, te koji su portovi filtrirani. + +Kad je u pitanju ACK scan, onda je upaljena samo ACK zastavica (flag) (osim ako koristite ). Kad skenirate nefiltrirane hostove, otvoreni i +zatvoreni portovi će vratiti RST paket. Nmap ih u tom slučaju označi kao nefiltrirane, što znači da su dostupni ACK paketima, ali nije definirano da li su otvoreni ili zatvoreni. Portovi koji ne odgovaraju na +upite ili pošalju određene ICMP greške (tip 3, kod 1, 2, 3, 9, 10 ili 13) su označeni kao +filtrirani. + + + + + + + (TCP Window scan) + + +Window scan je sličan ACK scanu, samo što exploatira implamentacijske detalje operativnih sustava kako bi +razlučio otvorene portove od zatvorenih, umjesto da uvijek ispiše nefiltriran kad +dobije RST kao odgovor. To radi na način da pregleda TCP Window polje RST paketa koji je dobio. Na nekim sustavima +otovreni portovi koriste pozitivnu veličinu prozora (čak i za RST pakete), dok zatvoreni portovi imaju prozor +veličine 0. Dakle, umjesto da uvijek označi port kao nefiltriran kad dobije RST +kao odgovor, Window scan označi portove kao otvorene ili +zatvorene, ovisno o tome da li je veličina prozora pozitivna ili 0. + +Ovaj način skeniranja se pouzdaje u implementacijske detalje nekih operativnih sustava, tako da mu ne morate +uvijek vjerovati. Sistemi koji su "otporni" na ovaj način skeniranja obično će vratiti sve portove kao +zatvorene. Naravno isto tako je moguće da računal stvarno nema otovrenih portova. +Ukoliko je većina portova zatvorena, ali ima onih koji su označeni kao +filtrirani, (npr. češće korišteni portovi poput 22, 25, 53) , sustav je podložan +ovom načinu skeniranja i rezultat je najvjerovatnije ispravan. Ukoliko pokrenete sken koji vam vrati 1000 zatvorenih +portova i 3 otvorena ili filtrirana porta, najvjerovatnije su ta 3 porta uistinu i otvorena. + + + + + + + (TCP Maimon scan) + + +Maimon scan je dobio naziv po osobi koja ga je otkrila - Uriel Maimon. Tehniku skeniranja je opisao u časopisu Phrack broj 49 (Studeni 1996). Nmap je izdan 2 godine kasnije i omogućavao je tu tehniku skeniranja. Tehnika je ista kao i Null, Xmas i FIN scan, osim što je paket koji se šalje FIN/ACK. Po RFC dokumentu 793 (TCP), treba odgovoriti RST paketom, bez obzira da li je port otvoren ili zatvoren. No, Uriel je primjetio da većina BSD sistema jednostavno odbaci paket ako je port otvoren. + + + + + + + + (Custom TCP scan) + + +Napredni Nmap korisnici nisu vezani uz poznate tipove skenova. opcija dozvoljava +da dizajnirate vlastiti tip skeniranja, navodeći bilo koju kombinaciju TCP zastavica (flagova). Neka važi kreativni +sokovi teku, dok izbjegavate otkrivanje svojih radnji od strane IDS sustava čiji su autori samo prošli kroz Nmap +opcije i dodali pravila koja prepoznaju navedene tipove skeniranja. + + argument može biti brojčana vrijednost poput 9 (PSH i FIN), ali korištenje +simboličnih imena je jednostavnije. Jednostavno izmješajte zajedno bilo koju kombinaciju zastavica (flagova) +URG, ACK, +PSH, RST, +SYN i FIN. +Npr. postavlja sve zastavice, ali nije pretjerano koristan za +skeniranje. Redosljed navođenja zastavica je nebitan. + +Uz navođenje željenih zastavica, možete navesti i bazni TCP tip skeniranja (poput ili +), što će objasniti Nmap-u kako da interpretira odgovore. Npr. SYN scan tretira paket na koji +nije dobio odgovor kao filtriran port, dok ga FIN scan tretira kao +otvoren|filtriran. Nmap će se ponašati isto kao što se ponaša kod specificiranog +baznog skena, osim što će koristiti zastavice koje ste naveli. Ukoliko ne navedete bazni tip skeniranja, koristit će +se SYN scan. + + + + + + + (Idlescan) + + + + Ova napredna metoda skeniranja omogućava slijepo skeniranje ciljanog računala (niti jedan paket nije + poslan na ciljano računalo s vaše stvarne IP adrese).Umjesto toga koristite zombie host računalo i + predvidljiv IP fragmentation ID na njemu kako bi dobili informaciju o tome koji su portovi otvoreni na + ciljanom računalu. IDS sustavi će pokazati da scan dolazi sa zombie mašine kojju ste specificirali kod + pokretanja ovog tipa skeniranja (zombie mora biti upaljen i mora zadovoljavati neke kriterije). Ovaj način + skeniranja je prekompleksan da bi ga ovdje opisali u potpunosti, pa sam napisao i postao informativni + članak sa svim detaljima na . + + Osim što je nevjerovatno nevidljiv (zbog načina na koji radi) ovaj tip skeniranja omogućava mapiranje + IP baziranih pravila između računala. Ispis portova pokazuje otvorene portove kako ih vidi zombi + računalo. Dakle, možete koristiti više zombie računala za skeniranje ciljanog računala. + + Možete staviti dvotočku i broj porta iza nje, kako bi na tom portu provjerili da li su IPID promjene + predvidljive. Ukoliko to ne navedete, Nmap će koristiti standardni port za TCP pinganje (80). + + + + + + + (IP protocol scan) + + +IP protokol scan Vam omogućava da provjerite koji IP protokoli (TCP, ICMP, IGMP isl.) su podržani na ciljanim +mašinama. Tehnički gledano, to i nije port scan jer prolazi kroz brojeve IP protokola, a ne kroz brojeve TCP i UDP +portova. No ipak koristi opciju , kako bi odabrao skenirane brojeve IP protokola, ispisuje +rezultate u normalnoj tabeli kao i kod skeniranja portova, pa čak koristi i isti engine za skeniranje kao i kod +skeniranja portova. Kad sve to uzmemo u obzir - ova metoda skeniranja je dovoljno slična skeniranju portova, pa je +stoga i uključena u ovo poglavlje. + +Osim što je koristan sam po sebi, protokol scan pokazuje i snagu open source softvera. Iako je temeljna metoda +vrlo jednostavna, nisam je mislio uključiti u Nmap, niti sam dobio zahtjev za tom funkcionalnošću, sve dok u ljeto +2000, Gerhard Rieger nije razvio ideju, napisao izvanredan patch koji to implementira u Nmap i posalo na nmap-hakers +listu. Uključio sam taj patch u Nmap i pustio novu verziju već drugi dan. Jako malo komercijalnog softvera ima +korisnike koji su toliki entuzijasti da bi razvili vlastita poboljšanja za pojedine produkte! + +Protokol scan radi vrlo slično kao i UDP scan. Umjesto da prolazi kroz brojeve portova UDP paketa, šalje IP +pakete i prolazi kroz 8 bitnio polje samog IP protokola. Headeri (zaglavlja) su obično prazni i ne sadrže nikakve +podatke, pa čak niti ispravni header za određeni protokol. Izuzeci od tog pravila su TCP, UDP i ICMP protokol. Za te +protokole je uključen ispravan protokol header (zaglavlje), jer neki sustavi u suprotonom ne žele poslati paket, tako +da Nmap već ima funkcije za kreiranje ispravnih headera. Umjesto da čeka ICMP unreachable poruku, protokol scan traži +ICMP protoKol unreachable poruku. Ukoliko Nmap dobije bilo kakav odgovor u bilo kojem protokolu +od ciljanog računala, Nmap označi taj protokol kao oOtvoren. ICMP protocol +unreachable greška (tip 3, kod 2) označi protokol kao Zatvoren. Sve ostale ICMP +poruke (tip 3, kod 1, 3, 9, 10 i 13) označe protokol kao filtriran (iako je to +istovremeno dokaz da je ICMP protokol otvoren). Ukoliko ne dođe nikakav odgovor +nakon ponovnih pokušaja slanja, protokol je označen kao otvoren|filtriran. + + + + + + + + + (FTP bounce scan) + + +Zanimljiva funkcionalnost FTP protokola (RFC 959) +je podrška za tzv. proxy ftp konekcije. To omogućuje korisniku da se spoji na jedan FTP server, te nakon toga zatraži +da fileovi budu poslani na neki drugi FTP server. Ta funkcionalnost je sazrijela za napade na mnogo nivoa, tako da je +većina servera prestala pružati podršku za to. Jedan od napada koji je izvediv je taj da omogućava napadaču natjerati +FTP server da skenira druge FTP servera u potrazi za otvorenim portovima. Jednostavno zatražite od FTP servera da poš +alje datoteku na svaki od portova koji vas zanima na ciljanom računalu. Poruka o grešci koju ćete dobiti će vam raći +da li je port otvoren ili nije. To je ujedno i dobar način obilaženja firewall-a (vatrozida), jer su mnogi FTP +serveri smješteni tamo gdje imaju veći pristup unutrašnjim računalima, nego bilo koje računalo s interneta. Nmap +podržava FTP bounce scan s opcijom . Prima parametar u sljedećem obliku: +username: +password@server:port. +Server je naziv ili IP adresa ranjivog FTP servera. Kao i kod normalnog URL-a, možete +zanemariti username:password, te ćete se u tom slučaju spojiti +kao anonymous user i koriste se sljedeći parametri anonymous password:-wwwuser@. Broj porta i dvotočka ispred njega također mogu biti zanemarini, a u tom slučaju +ćete se spojiti na standardni FTP port (21). + +1997., kad je Nmap lansiran, ova ranjivost je bila široko rasprostranjena, ali do sad je uglavnom "pokrpana" na većini računala. Ipak, još uvijek postoji ranjivi serveri, pa nije loše pokušati i ovu opciju kad sve oostale zataje. Ukoliko je obilaženje vatrozida vaš cilj, skenirajte ciljanu mrežu za otvorenim portom 21 (ili bilo koji ftp servis, ako skenirate sve portove s otkrivanjem verzije programa - version detection), te nakon toga pokušajte ftp bounce scan. Nmap će vam reći da li je host ranjiv ili nije. Ukoliko samo pokušavate sakriti tragove, ne biste trebali (u stvari ne biste smjeli) skenirati samo hostove na ciljanoj mreži. No, prije nego nasumično počnete skenirati za ranjivim ftp serverima na internetu, imajte na umu da većina sysadmina neće cijeniti što im "iskorištavate" servere na taj način + + + + + + + + Specifikacija portova i redosljed skeniranja + + Uz sve do sad nabrojane metode skeniranja, Nmap nudi opcije pomoću kojih možete specificirati koje portove + želite skenirati, da li će skeniranje portova biti nasumično ili sekvencionalno. Defaultno Nmap skenira sve + portove od 0 do 1024 (uključujući i njih) kao i sve portove iznad 1024 koji su navedeni u + nmap-services datoteci. + + + + + (Skeniraj samo navedene portove) + + + + Pomoću ove opcije možete odabrati koje portove ćete skenirati i na taj način obići defaultne + postavke. Možete unijeti pojedinačne brojeve i/ili niz brojeva odvojenih minusom (npr. 1-1023).Ukoliko ž + elite skenirati sve portove možete napisati samo parametar i Nmap će skenirati sve + portove od 1-65535. Port 0 je moguće skenirati jedino ako ga navedete. Kad je u pitanju IP protokol scan + (), opcija -p definira koji protokol želite skenirati (od 0-255). + + Kad skenirate i TCP i UDP portove zajedno, možete navesti identifikator protokola na način da prije + brojeva portova stavite identifikator T: za TCP porove ili U: za UDP + portove. Parametar vrijedi sve dok ne navedete neki drugi. Npr. možete napisati + . Na taj bi način skenirali UDP portove 53, 111 i 137, + kao i TCP portove 21-25, 80, 139 i 8080. Imajte na umu da morate navesti parametar i + bar jedan TCP tip skeniranja (kao npr. , ili + ) kako bi mogli istovremeno skenirati i TCP i UDP portove. Ukoliko niste naveli + identifikator protokola, navedeni portovi će biti skenirani i po TCP i po UDP protokolu. + + + + + + + (brzi scan (s ograničenim portovima)) + + + + Ova opcija kaže Nmapu da skenira samo portove navedene u nmap-services + datoteci, koja dolazi s Nmap-om. (ili protokol datoteke kad je u pitanju opcija ) To je mnogo brže nego skeniranje svih 65535 portova. Kako navedeni popis ima preko 1200 TCP + portova, razlika u brzini između ove opcije i defaultnog TCP scana (koji ima oko 1650 portova) nije + dramatična. Razlika može biti osjetno velika ako koristite svoju nmap-services + datoteku koristeći opciju + + + + + + (Ne miješaj portove) + + + Defaultno, Nmap nasumično odabire potove koje skenira (osim nekih standardnih portova koji su + stavljeni na početak zbog efikasnosti). To "miješanje" portova je u normalnim situacijama poželjno, ali + pomoću ove opcije možete skenirati portove baš onim redosljedom kojim ste ih naveli. + + + + + + + Prepoznavanje servisa i njihovih verzija + + Skenirajte neko računalo pomoću Nmap-a i mogao bi vam reći da su portovi 25/tcp, 80/tcp i 53/tcp otvoreni. + Koristeći nmap-services bazu podataka u kojoj se nalazi preko 2200 poznatih + servisa, Nmap će vam reći da su na navedenim portzovima najvjerovatnije mail server (SMTP), web server (HTTP) i + name server (DNS). To je u većini slučajeva ispravno, većina servera koji slušaju na portu 25 su uistinu mail + serveri, ali nemojte biti 100% sigurni u to, jer postoje ljudi koji pokreću servise na "čudnim" portovima. + + + Ako je Nmap ipak u pravu i server o kojem je riječ ima pokrenut SMTP, HTTP i DNS server, to ipak nije pretjerano + mnogo informacija. Ukoiko radite pregled ranjivosti (vulnerability assessment) ili samo jednostavan inventar mrež + nih servisa na računalima u firmi, činjenica je da trebate mnogo više informacija od gore navedenih. Želite znati + koje verzije mail, HTTP i DNS servera su pokrenute na tom računalu. Kad imate "pri ruci" ispravnu verziju + serverske komponente nije teško ustanoviti koje ranjivosti dotični server ima. Otkrivanje verzije vam pomaže u + dobivanju tih informacija. + + + Nakon što ste otkrili koji TCP i/ili UDP portovi su otvoreni korištenjem neke od do sad opisanih tehnika, + otkrivanje verzije ispituje te portove ne bi li otkrilo što je u stvari na tim portovima, tj. koja aplikacija je + otvorila dotičpne portove. nmap-service-probes baza podataka sadži upite za + ispitivanje raznih servisa i prepoznavanje na osnovu odgovora koje dobije. Nmap pokušava ustanoviti protokol na + kojem radi servis (npr. ftp, ssh, telnet, http), naziv aplikacije (npr. ISC Bind, Apache, httpd, Solaris telnetd) + , verziju, naziv hosta, tip uređaja (npr. printer, ruter), porodicu iz koje dolazi OS (npr. Windows, Linux) i + ponekad neke detalje poput toga da li je otvoren X server, verziju protokola koju koristi SSH ili KaZaA + korisničko ime. Naravno, većina servisa ne daje sve te informacije. Ukoliko je Nmap kompajliran s podrškom za + OpenSSL protokol, spojit će se na SSL servere kako bi ustanovio servise koji se nalaze iznad enkripcijskog sloja. + Ako su otkriveni RPC servisi, Nmap RCP istraživač () je automatski uključen kako bi otkrio + koji program se nalazi iz RPC-a i koja mu je verzija. Neki UDP portovi su označeni s + otvoren|filtriran, ako UDP scan nije mogao odrediti da li je port otvoren ili filtriran. Otkrivanje + verzije će pokušati dobiti odgovor s tih portova (isto kao što to radi i kod otvorenih portova), te će + promijeniti njihovo stanje u otvoren ako uspije dobiti odgovor. TCP portovi koji su okarakterizirani kao otvoreni|filtrirani, tretirani su na isti način. Imajte na umu da opcija + omogućije otkrivanje verzije uz ostale stvari koje podržava. Dokument koji objašnjava rad, + korištenje i mijenjanje ovog dijela programa je dostupan na linku: + . + + + Kad Nmap dobije odgovr od servisa, a ne može ga usporediti s ni jednim zapisom u svojoj bazi podataka, ispisat će scepijalni "fingerprint" i URL linka na koji ga možete poslati ukoliko ste sigurni u to što se nalazi na tom portu. Molim vas da odvojite nekoliko minuta svog vremena kako bi poslali te informacije, jer će kasnije nekom drugom biti od velike koristi. Zahvaljujući upravo takvom načinu prikupljanaj informacija, Nmap ima preko 3000 zapisa koji odgovaraju (prepoznavaju) preko 350 protokola, poput smtp-a, ftp-a, http-a, itd.. + + Otkrivanje verzije se uključuje i njime se upravlja korištenjem sljedećih opcija: + + + + + + + (Otkrivanje verzije) + + + Uključuje otkrivanje verzije, kao što je opisano gore. Kao zamjenu, možete koristiti opciju + da bi istovremeno uključili OS detekciju i otkrivanje verzije servisa. + + + + + + + + (koristi sve portove u otkrivanju verzije servisa) + + + Nmap-ovo otkrivanje verzije servisa preskače port 9100, jer neki printeri jednostavno isprintaju sve + što se pošalje na taj port, što rezultira s hrpom stranica na kojima su HTTP GET zahtjevi, binarni SSL + zahtjevi isl. Ukoliko ipak želite koristiti i takve portove, možete to napraviti na način da maknete + Exclude naredbu u nmap-service-probes + datoteci ili jednostavno uključite opciju , koja će ignorirati + Exclude naredbu u nmap-services-probes. + + + + + + (podesite intenzitet otkrivanja verzije servisa) + + + + Kad radite scan otkrivanja verzije (), Nmap šalje seriju upita od kojih je svakom + dodijeljen broj od 1 do 9. Oni upiti koji imaju niže brojeve u efikasni kod većine često korištenih + servisa, dok su oni s višim brojevima rijetko korisni. Nivo nntenziteta skeniranja određuje koji upiti će + biti korišteni. Što je veći broj, to je veća vjerovatnost da će servis biti ispravno identificiran. No, + takvi skenovi traju duže. Intenzitet mora biti između 0 i 9. Preddefinirana vrijednost je 7. Ukoliko je + upit registriran u nmap-service-probes ports + naredbi, bit će isproban bez obzira na nivo intenziteta. To garantira da će DNS upiti uvijek + biti odrađeni na portu 53, SSL na portu 443 itd. + + + + + + + (omogući "lagani" mod) + + + To je jednostavniji način pozivanja opcije . Lagani mod ubrzava + skeniranje, ali je samim tim i manja vjerovatnost da će identificirati servis. + + + + + + (isprobaj sve upite) + + + Zamjena za opciju . Isprobat će sve upite u bazi podataka + + + + + + + (prati sve što se događa tijekom skena) + + + Nmap ispiše opširne debug informacije o tome što trenutno radi opcija otkrivanja verzije servisa. To + je dio onoga što ćete dobiti opcijom . + + + + + + (RPC scan) + + Ova metoda radi u sprezi s različitim port scan metodama Nmap-a. Uzme sve TCP/UDP portove koji su + identificirani kao otvoreni i preplavi ih sa SunRPC NULL naredbama pokušavajući ustanoviti da li su RPC + portovi i ako jesu za koje programe rade. Stoga možete efikasno dobiti iste informacije kao i s naredbom + rpcinfo -p, čak i kad je ciljani portmapper iza firewall-a (ili zaštićen + TCP omotačima). Mamci trenutno NE rade s RPC skenom. To je automatski uključeno kao dio skeniranja verzije + servisa (). Budući da otkrivanje verzije servisa samo po sebi već ima uključenu ovu + opciju, se rijetko koristi. + + + + + + + + + Otkrivanje OS-a + + Jedna od najpoznatijih odlika Nmapa je otkrivanje OS-a na ciljanom računalu korištenjem TCP/IP stack + otiska (engl. fingerprint). Nmap šalje mnoštvo TCP i UDP paketa na udaljeno računalo i istražuje svaki bit + vraćenih paketa. Nakon što je učinio hrpu testova poput TCP ISN sampling, podrška i redosljed TCP opcija, IPID + sampling i provjeru veličine inicijalnog TCP prozora, Nmap uspoređuje rezultate s + nmap-os-fingerprints bazom podataka s više od 1500 poznatih OS otisaka (engl fingerprint), te ispiše + detalje o OS-u ukoliko ga je uspio "pogoditi". Svaki otisak sadrži neformatirani tekstualni opis OS-a i + klasifikaciju u koju ulazi naziv izdavača (npr. Sun), OS (npr. Solaris), generacija OS-a (npr. 10) i tip uređaja + (općenite namjene, ruter, switch, igraća konzola isl.). + + Ukoliko Nmap nije u stanju odrediti koji OS je pokrenut na ciljanom računalu, a uvjeti su dobri (npr. + postoji barem jedan otvoreni port na računalu), Nmap će vam ponuditi URL link preko kojeg možete poslati otisak + ukoliko ste sigurni u to koji OS se nalazi na tom računalu. Na taj način pomažete u nastojanjima da Nmap nauči + raspoznati što je moguće više sistema i samim tim postane precizniji u pogađanju. + + Otkrivanje OS-a omogućava još neke dodatne testove koji koriste informacije prikupljene tijekom procesa + pogađanja. Jedan od tih dodatnih testova je i vrijeme od kad je upaljeno računalo (uptime), koji koristi TCP + timestamp opciju (RFC 1323) kako bi pogodio kad je računalo zadnji put resetirano.To je prikazano samo za ona + računala koja daju tu informaciju. Drugi test je predvidljivost TCP sekvenci. Taj test mjeri koliko je teško + uspostaviti lažiranu TCP vezu s udaljenim računalom. To je korisno ukoliko želite iskoristiti povjerenje bazirano + na ishodišnoj IP adresi (recimo kod rlogin-a, vatrozida, filtera itd.) ili u situacijama kada želite sakriti + svoje tragove. Ovaj način prikrivanja se danas rijetko koristi, no još uvijek postoji velika količina računala + koja su ranjiva. Stvarni broj "težine" je baziran na statističkom skupljanju podataka i varira. Obično je bolje + koristiti klasifikaciju poput popriličan izazov i toliko jednostavno da je smiješno + . Ovakakv način izvještavanja dobit ćete u normalnom ispisu kad uključite verbose opciju (). + Kad je verbose opcija uključena zajedno s , onda kao rezultat dobijete i izvještaj generiranja + IPID sekvence. Većina računala je u tzv. inkrementalnoj klasi, što znači da sa svakim poslanim + paketom uvećaju ID polje IP zaglavlja. To ih čini ranjivima na nekoliko naprednih načina sakupljanja informacija + i napade zavaravanja (engl. spoofing). + + Dokument u kojem je opisano kako radi, kako se koristi i kako se može prilagoditi otkrivanje verzije, + dostupan je u podosta jezika na linku: + . + + Otkrivanje OS-a se uključuje i upravlja sa sljedećim opcijama + + + + + (Uključi otkrivanje OS-a) + + + Ova opcije uključi otkrivanje OS-a kako je opisano u prethodnom odlomku. Isto tak omožete koristiti + opciju da istovremeno uključite otkrivanje OS-a i verzije + + + + + + (ograniči otkrivanje OS-a samo na ciljeve koji obećavaju) + + + Otkrivanje OS-a je mnogo učinkovitije ako postoji bar jedan otvoren i zatvoren port. Ukoliko + uključite ovu opciju, Nmap neće niti pokušati raditi otkrivanje OS-a na hostovima koji nisu zadovoljili + ovaj kriterij. To vam može uštedjeti mnogo vremena, pogotovo kod skeniranja s opcijom + kad koristite mnogo ciljanih računala. Ovu opciju možete koristiti samo su kombinaciji s opcijama + ili . + + + + + + ; (probaj pogoditi OS na osnovu rezultata) + + + Ukoliko Nmap nije našao idealan rezultat, ponekad ponudi najbliži rezultat koji bi mogao biti. + Ukoliko odaberete neku od ovih opcija, Nmap će pogađati agresivnije. + + + + + + + + + Vrijeme odaziva i performanse + Jedan od najviših prioriteta tijekom razvijanja Nmap-a su performase. Defaultni scan + (nmaphostname) nekog računala na lokalnoj mreži + traje petinu sekunde. To je manje od vremena koje vam je potrebno za treptaj oka, ali naravno kad skenirate 10 + ili 100 tisuća hostova postane osjetno. Uz to, neki tipovi skenova, poput UDP skeniranja i otkrivanja verzijemogu + to vrijeme poprilično produžiti. Isto tako skeniranje mogu usporiti i neke konfiguracije vatrozida, pogptovo + limitiranje količine odgovora u jedinici vremena.Iako Nmap koristi paralalno izvršavanje skenova kako bi ih + dodatno ubrzao, sam korisnik ima potpunu kontrolu nad time. Napredni korisnici pažljivo kombiniraju Nmap naredbe + kako bi dobili samo informacije koje im trebaju poštivajući vremenske termine koje su si zadali. + + Tehnike za ubrzavanje skeniranja sastoje se od toga da izbacite nepotrebne testove i naravno da nadogradite + Nmap na posljednju verziju (poboljšanja performansi se konstantno rade). Optimiziranje vremena odziva (engl. + Timing) takođem može utjecati na brzinu skeniranja. Opcije slijede: + + + + + + ; + (Podešava veličinu grupe paralelnih skenova) + +Nmap ima mogućnost skeniranja više hostova paralelno. To radi na način da podijeli adresni prostor ciljanih +računala u grupe i onda skenira grupu po grupu. U principu ispada da su veće grupe učinkovitije. Nedostatak je taj š +to rezultati ne mogu biti prikazani dok cijela grupa nije odskenirana do kraja. Dakle, ako je Nmap krenuo skenirati +grupu od 50 računala, korisnik nrćr vidjeti nikakve rezultate (osim onih koje ispisuje opcija -v) dok svih 50 hostova +nije odskenirano. + + +Defaultno Nmap radi kompromis. Počinje s grupom od 5 hostova, tako da se prvi rezultati brzo pojave na ekranu, a +nakon toga poveća veličinu grupe na 1024. Točan broj ovisi o uključenim opcijama. Zbog povećane efikasnosti Nmap +koristi veće grupe za UDP skenove, a manje za TCP skenove. + + +Kad definirate maksimalnu veličinu grupe pomoću opcije , Nmap je neće nikad +premašiti. Ukoliko pak specificirate minimalnu veličinu grupe s , Nmap će pokušati +zadržati veličinu grupe iznad tog nivoa. Naravno, ukoliko broj hostova koji su ostali za skeniranje bude manji od +minimalne grupa Nmap će normalno odraditi svoj posao. Obje opcije možete koristiti istovremeno kako bi veličinu grupe +zadržali u željenim okvirima, ali to je rijetko potrebno. + +Primarna upotrenba ovih opcija je navođenje što veće minimalne veličine grupe kako bi skenovi brže odradili +svoj posao. Najčeđći odabir je 256, kako bi skeniranje mreže išlo u odsječcima C klase. Za skenove u kojima se +skenira mnogo portova, povećanje tog broja iznad 256 će rijetko pomoći. Ukoliko pak skenirate samo nekoliko portova, +veličina grupe od 2048 ili više, može biti od pomoći. + + + + + + + ; + (Podesi paralelizam) + + +Ove opcije upravljaju brojem sondi (engl. probe) koje mogu biti poslane po grupi hostova. Koriste se za +skeniranje portova i otkrivanje hostova. Defaultno Nmap svaki put izračuna idealni paralelizam vezano uz mrežne +performanse, a mijenja ga tijekom skena, ovisno o ujetima. Ukoliko dolazi do odbačenih paketa, Nmap uspori tj. šalje +manje sondi. Broj sondi polako raste ako mreža daje naznaku da može prihvatiti više od trenutnog broja. Ove opcije +postavljaju minimalnu i maksimalnu granicu. Defaultno paralelizam može pasti na 1 ako je mreža nepouzdana ili narasti +na nekoliko stotina, ako imamo idealne uvjete. + +Najčešći način upotrebe je da se podesi na broj veći od 1 kako bi se ubrzalo +skeniranje sporijih hostova i mreža. To je ujedno i riskantna opcija, jer ako podesite prevelik broj, utjecat ćete na +točnost skena. Isto tako, ukolik opodesite ovu opciju, sprječavate Nmap da dinamički upravlja paralelizmom vezano uz +stvarne uvjete na mreži. Broj 10 ima smisla, ali osobno podešavam tu vrijednost kad nemam ništa drugo na +rapolaganju. + +Opcija stavite na 1 ukoliko želite spriječiti Nmap da koristi paralelizam, +tj. želite da šalje samo jednu po jednu sondu.To može biti korisno u kombinaciji s opcijom (objasnit ćemo je kasnije), mada ta opcija sama po sebi služi svrsi dovoljno dobro. + + + + + + + , + , + (Podesi vrijeme trajanja sondi) + + +Nmap pazi na vrijeme isteka da bi mogao ustanoviti koliko dugo će čekati na odgovor sonde prije nego odustane +ili ponovno pokuša poslati istu sondu. To se izračunava na osnovu prethodnih sondi i vremenskog odaziva koji su +imale. Ukoliko se mrežno kašnjenje pokaže značajnim i promjenjivim, vrijeme isteka može narasti i na nekoliko +sekundi. Također počinje na konzervativnom (visokom) nivou i takvo će ostati u slučaju da Nmap skenira hostove koji +ne odgovaraju. + +Ove opcije primaju vrijednost u milisekundama, ali vi možete navesti vrijeme u sekundama, minutama ili satima +na način da stavite opciju s, m ili +h. Navođenje nižeg i + od defaultnog može osjetno skratiti vrijeme potrebno za skeniranje. To je +posebno vidljivo kod () skenova i skenova prema jako filtriranim mrežama. Ipak, nemojte biti +preagresivni, jer vam u tom slučaju skeniranje može i dulje potrajati, jer će Nmap ponovno slati sonde, a odgovr na +prethodne je možda na putu nazad. + +Ukoliko su svi hostovi na lokalnoj mreži, 100ms je razumna vrijednost za +_timeout. Ukoliko postoje ruteri između Nmapa i hostova, najprije pingajte hosta s ICMP ping alatom ili s naprednijim +alatom poput Hping2 koji ima veće mogućnosti proći kroz vatrozid. Pogledajte koja je srednja vrijednost vremena +portebnog da se paket vrati za 10-tak paketa. Tu vrijednost pomnožite s 2 za i +s 3 ili 4 za . Osobno ne postavljam maksimalni rtt ispod 100ms, bez obzira na +vrijednosti koje dobijem pinganjem, niti stavljam više od 1000ms. + + je rijetko korištena opcija koja može biti korisna kod jako nepouzdanih mrež +a na kojima su čak i Nmap-ove defaultne postavke preagresivne. Kako Nmap spušta vrijeme isteka na minimum tek kad +zaključi da je mreža pouzdana, ovo bi trebalo prijeviti kao bug na nmap-dev mailing listu. + + + + + + + + (Navedi maksimalni broj ponovnih slanja sondi) + + + +Kad Nmap ne dobije odgovor na sondu koja skenira port, to može značiti da je port filtriran ili to da je sonda +ili odgovor na nju izgubljen na mreži. Isto tako je moguće da ciljani host ima podešenu granicu na količinu paketa na +koje odgovara, pa je samo privremeno blokiran odgovor. Kako bi bio siuguran o čemiu je riječ, Nmap ponovno šalje +sonde na koje nije dobio odgovor. Ukoliko ustanovi da je mreža nepouzdana, može se dogoditi da pošalje sondu još +mnogo puta prije nego odustane. Ovo je opcija koja daje točnije rezultate, ali isto tako i usporava postupak +skeniranja. Kad je brzina skeniranja ključna, možete koristiti ovu opciju kako bi ograničili broj ponovnih slanja +sondi. Čak možete navesti i kako bi u potunosti spriječili ponovno slanje, makar je +to rijetko preporučljivo. + + +Defaultna postavka (bez predloška) je 10 ponovnih slanja. Ukoliko se mreža pokaže pouzdanom +i ciljani hostovi ne ograničavaju skeniranje, Nmap će napraviti samo jedno ponovno slanje. Gledano iz tog kuta, na +većinu ciljanih računala ne utječe ako stavite na nizak broj poput 3. To je vrijednost +koja može mnogostruko ubrzati skeniranje sporih hostova (onih koji ne dozvoljavaju mnogo port skenova s jedne IP +adrese, nego ih jednostavno blokiraju). Istina je da obično izgubite neke informacija ako Nmap prerano odustane od +hosta, ali i to je bolje nego ostaviti da istekne i izgibiti sve informacije o +ciljanom hostu. + + + + + + + + (odustani od skeniranja sporih hostova) + + + +Skeniranje nekih hostova jednostavno traje jako dugo. To može biti zbog lošeg mrežnog +hardvera ili softvera, ograničavanju količine paketa ili restriktivnih vatrozida. Nekoliko posto sporih hostova, mogu +pojesti većinu vremena koje je potrebno za skeniranje. Ponekad je najbolje odustati od skeniranja +takvih hostova kako bi stvar brže završila. To možete napraviti navođenjem parametra +s brojem milisekundi koliko ste voljni čekati odgovor. Možete staviti i s, +m ili h kako bi naveli sekunde, minute i sate. +Osobno obično stavim 30m kako bih se osigurao da Nmap ne troši više od 30m vremena +po hostu. Imajte na umu da će Nmap za to vrijeme skenirati i ostale hostove, tako da to nije u potpunosti izgubljeno +vrijeme. Host koji je dosegao vrijeme isteka je preskočen i z anjega nije ispisan nikakav rezultat poput port tabele, +OS detekcije ili detekcije verzija. + + + + + + + + ; + (podesi stanke između sondi) + + +Ova opcija prisiljava Nmap da pričeka barem navedeno vrijeme u milisekundama prije nego pošalje iduću sondu +prema tom hostu. Kao i kod većine drugih opcija koje imaju veze s vremenom, možete navesti +s, m ili h da bi definirali kašnjenje +u sekundama, minutama ili satima. To je itekako korisno kod računala koja imaju upaljen "rate limiting". Solaris +računala (između ostalih) će na UDP sken sonde odgovarati samo s jednom ICMP porukom po sekundi. Ako Nmap šalje UDP +pakete češće od 1 sekunde, ti su paketa jednostavno uludo bačeni. Opcija od +1s će zadržati Nmap u sporom tempu. Nmap pokušava ustanoviti koji je "rate limit" +podešen na jostu i prilagođava sken ovisno o tome, ali neće škoditi ako ga unaprijed definirate za hostove za koje +ste sigurni da će se tako ponašati. + + +Kad Nmap podesi sken shodno tome, dolazi do dramatičnog usporavanja. opcija +definira najveće kašnjanje koje će Nmap dozvoliti. Ukoliko podesite ovu opciju na premalu vrijednost, doći će do +uzaludnog (prečestog) slanja paketa i samim tim promašenih otvorenih portova ako ciljani host ima uključen +rate limiting. + + +Još jedno način korištenja opcije je da se izbjegnu intrusion detection i +intrusion prevention (IDS/IPS) sustavi, koji su bazirani na zadanoj vrijednosti (engl. treshold). + + + + + + + + (Podesite predložak za vremenske postavke) + + + +Iako su do sad navedene opcije snažne i efikasne, većini ljudi su nerazumljive i zbunjujuće. Uz to, odabrati +prave vrijednosti ponekad može potrajati duže od skena koji želite optimizirati. Zbog toga Vam Nmap nudi +jednostavniji pristup, korištenjem 6 preddefiniranih predložaka. Možete ih navesti korištenjem +opcije s brojevima od 0-5 ili njihovim imenima.Nazivi predložaka su: paranoidno (engl. paranoid) (0), skriven (engl. +sneaky) (1), pristojan (eng. polite) (2), normalan (engl. normal) (3), agresivan (engl. aggressive) (4) i lud (engl. +insane) (5). Prva dva su za obilaženje IDS sustava. Predložak pristojan usporava skeniranje kako bi što je moguće +manje opteretio mrežne resurse i računalo koje skenirate. Normalni mod je defaultna postavka i postavljanje opcije + zapravo ne uvodi nikakve promjene. Agresivni mod ubrzava skeniranje pod pretpostavkom da ste na +poprilično brzoj i pouzdanoj mreži. Na kraju "ludi" mod pretpostavlja da ste na posebno brzoj mreži i da ste spremni +žrtvovati točnost rezultata kako bi dobili na brzini. + + +Navedeni predlošci omogućavaju korisnicima da navedu koliko agresivni žele biti, ostavljajući Nmap-u da odabere +točne vrijednosti. Predlošci također rade neka manja podešavanja brzine za koja trenutno ne postoje drugi načini. +Npr. sprječava da dinamičko kašnjenje skeniranja prijeđe 10ms za TCP portove, dok + drži tu vrijednost na 5ms. Predlođke možete kombinirati s finijim kontrolama, sve dok je +template naveden prvi inače će vrijednosti iz predloška nadjačati one koje ste naveli. Predlažem korisštenje opcije + kod skeniranja modernih i pouzdanih mreža. Ostavite tu opciju na početku komandne linije čak i +kad koristite neke finije naredbe kako bi imali koristi od dodatnih optimizacija koje predložak donosi. + +Ukoliko ste na pristojnoj broadband ili eternet konekciji, predlažem korištenje opcije . +Neki ljudi vole , mada je preagresoivan za moj ukus. Isto tako ljudi ponekad stave + misleći da je manja vjerovatnost da će tako srušiti host ili se inače smatraju pristojnima. No +oni u stvari ne razumiju koliko je opcije u stvari spora. Ovaj način skeniranja može +potrajati i do 10 puta duže nego defaultni.Padovi računala i problemi s bandwithom su rijetki s korištenjem defaultne +opcije , pa je normalno preporučam opreznim skenerima.Izbjegavanje otkrivanja verzije je u svakom +slučaju efikasnije u pokušaju rješevanja tih problema nego igranje s vremenima odaziva. + +Iako su opcije i korisne u izbjegavanju otkrivanja od strane IDS +sustava, skeniranje tisuću portova će trajati jaaaako dugo. Kod takcih skenova je možda bolje direktno navesti +vremena odaziva nego se pouzdati u preddefinirane vrijednosti opcija i . + + +Glavni efekt korištenja opcije je taj da su skenovi serijski (skenira se port po port) i +nakon odskeniranog porta čeka 5 minuta prije nego će poslati iduću sondu. i + su slični s tim da čeka 15 sekundi između sondi, dok čeka +0.4 sekunde između sondi. je defaultna postavka koja uključuje paralilizam (skenirano je više +portova istovremeno). Opcije je isto kao i , te podešava maksimalno TCP kašnjenje na 10ms. Opcija je isto kao i kao i postavljanje maksimalnog TCP sken kaš +njenja na 5ms. + + + + + + + + Izbjegavanje i zavaravanje vatrozida i IDS-a + +Mnogo pionira interneta zu zamislili globalnu otvorenu mrežu univerzalnog adresnog prostora u kojoj je +dozvoljeno spajanje bilo koja dva čvora. To bi omogućilo hostovima da šalju i primaju informacije jedan od drugog. +Ljudi bi mogli pristupiti svim svojim sustavima s posla i mijenjati postavke grijanja i hlađenja, pa čak i +otključavati vrata gostima koji su uranili.Ta verzija univerzalne povezanosti je ugušena nedovoljnim adresnim +prostorom i ponajviše iz sigurnosnih razloga. U ranim 90-tima, firme su počele uvoditi vatrozide s primarnom namjenom +da smanje mogućnosti povezivanja koje su postojale. Ogromne mreže su ofgrađene od nefiltriranog interneta korištenjem +aplikacijskih proxy-a, NAT uređajai paket filtera. Otvoreno kolanje informacija predalo je tron kontroliranim +komunikacijskim kanalima i sadržajem koji je njima prolazio. + +Mrežne barijere poput vatrozida mogu otežati mapiranje mreže, a vremenom neće biti ništa lakše, jer ugušiti +lagodno istraživanje mreže je primarni cilj većine uređaja. No ipak, Nmap nudi mnogo mogućnosti kako bi nam pomogao u +razumijevanju tih kompleksnih mreža i kako bi provjerio da li filteri uistinu rade onako kako smo zamislili. Čak +podržava mehanizme za obilaženje loše implementiranih mjera zaštite. Jedna od najboljeh metoda pomoću koje ćete +razumjeti postavke svoje mrežne sigurnosti je pokušaj da je obiđete. Pokušajte se postaviti u mentalni sklop napadača +i iskoristite tehnike iz ovog poglavlja protiv svojih mreža. Pokrenite FTP bounce sken, idle sken, napad +fragmentacijom ili pokušajte tunelirati kroz svoj proxy server. + +Uz to što brane mrežnu aktivnost, firme sve više nadgledaju promet sa sustavima za otkrivanje upada (engl. +intrusion detection system) IDS. Većina poznatijih IDS sustava dolaze s podešenim pravilima koja mogu prepoznati Nmap +skenove, jer ponekad je sken u stvari prethodnik napada. Većina tih sustava je nedavno prerasla u sustave za zaštitu +od upada (engl. intrusion prevention system) IPS koji aktivno blokiraju promet koji ocjene kao +zloćudan. Na štetu mrežnih administratora i proizvođača IDS sustava, pouzdano ustanoviti što je zloćudno, a što nije +samo analizom paketa je teško. Napadači koji imaju strpljenja i sposobnosti obično mogu uz pomoć nekin Nmap-ovih +opcija proći nezapaženo od IDS sustava. U međuvremenu admnistratori se moraju boriti s velikom količinom lažnih +uzbuna, gdje je normalna mrežna aktivnost pogrešno dijagnosticirana i možda čak blokirana od IPS sustava. + +Ponekad ljudi predlažu da Nmap ne bi trebao nuditi mogućnosti za obilaženjem vatrozida i provlašenja pored +IDS-a. Tvrde da će te mogućnosti biti korištene od strane napadača isto kao i od strane administratora. Problem u +ovoj logici je taj što će metode tako i tako biti dostupne napadačima koji će koristiti neki fdrugi alat ili sami +doprogramirati funkcionalnost u Nmap, dok bi administratori imali puno teži posao u sprješavanju upada na svoje +sustave. Postavljanje samo modernih, zakrpanih FTP servera je mnogo učinkovitija obrana od sprječavanja distribucije +alata koji mogu napraviti FTP bounce napad. + + +Ne postoji čarobni metak (ili Nmap opcija) za otkrivanje i potkopavanje vatrozida i IDS sustava. Za to je +potrebna vještina i iskustvo. Tutorial je nešto što ne spada u ovaj dokument, koji samo navodi opcije i opisuje što +one mogu. + + + + + + (fragmentiraj pakete); + (koristi navedeni MTU) + + + + opcija prisiljava pokrenuti sken (uključujući i ping sken) da koristi male + fragmente IP paketa. Ideja se sastoji od toga da zaglavlje TCP paketa prelomi na više paketa kako bi paket + filterima, IDS-ovima i drugim dosadnjakovićima bilo teže otkriti što radite. Budite pažljivi s tim! Neki + programi imaju problema u radu s takvim malim paketima. Jedan stari sniffer imenom Sniffit, je automatski + pukao kad bi primio prvi fragment. Nakon što navedete ovu opciju jednom, Nmap podijeli pakete u 8 bytova + ili manje. Tako će 20 bytno TCP zaglavlje biti podijeljeno u 3 paketa, dva po 8 bytova i jedan od 4. Imajte + na umu da svaki od tih paketa koje smo prelomili dobiva novo zaglavlje, koje nema nikakve veze s + originalnim. Navedite još jednom i Nmap će koristiti 16 bytova po fragmentu (smanjujući + broj fragmenata). Isto tako možete definirati bilo koju željenu veličinu korištenjem --mtu opcije. Ukoliko + koristite opciju nemojte koristiti i opciju. Fragment mora biti + višekratnik broja 8. Iako fragmenti neće proći pored paet filtera i vatrozida koji skupljaju se fragmente + kako bi vidjeli što je u originalnom paketu, popout opcije CONFIG_IP_ALWAYS_DEFRAG u linux jezgri + operativnog sustava, činjenica je da si neke mreže ne mogu dozvoliti udar na performanse koji ta opcija + ima, pa je stoga na njima isključena. Drugi pak sustavi ne mogu imati upaljnu tu opciju, jer fragmenti mogu + doći u njihovu mrežu drugom rutom. Neki sustavi defragmentiraju izlazne pakete u samoj jezgri, poput linuxa + koji ima iptables s upaljenim modulom praćenja konekcije. Pokrenite sken dok je upaljen snifer poput + ethereal-a kako bi se osigurali da su odlazni paketi fragmentirani. Ukoliko vaš OS radi probleme (kao što + smo naveli malo prije kod linuxa i iptables-a), pokušajte slati sirove eternet frame-ove opcijom . + + + + + + + (sakrij sken pomoću mamaca) + + + Ovaj način skeniranja učini to da na hostu koji skenirate izgleda kao da ga skeniraju i sustavi koje + ste stavili u mamce. Tako će IDS navesti 5- port skenova s jedne IP adrese i tako za sve mamce koje ste + naveli i za vas. Samim tim neće znati tko je stvarno skenirao mrežu, a tko je bio nevina žrtva (mamac). Ovo + može biti eliminirano traženjem ruterskog puta (engl. router path tracing), odbacivanja odgovora (engl. + response-dropping) i nekim drugim aktivnim mehanizmima, ali je ipak efikasna tehnika za sakrivanj IP + adrese. + + Odvojite svaki host mamac sa zarezimaa možete opcionalno navesti i + ME (što predstavlja vašu IP adresu), kako bi bila pozicionirana baš na + onom mjestu u skeniranju na kojem je želite. Ako postavite ME na 6. + mjesto ili kasnije, neki uobičajeni detektori port skenova (poput alata "scanlogd" firme Solar Designer's) + uopće neće pokazati Vašu IP adresu. Ukoliko ne kkoristite ME opciju, + Nmap će staviti vašu IP adresu na proizvoljno mjesto. + + + Imajte na umu da hostovi koje navodite kao mamce moraju biti upaljeni, jer ćete inače slučajno + napasti host koji skenirate Syn flood napadom. Isto tako poprilično je lako ustanoviti tko vas skenira ako + samo jedan host od navedenih uistinu postoji na mreži. Možete koristiti IP adrese umjesto imena (kako vas + mamci ne bi vidjeli u svojim name server logovima). + + Mamci se koriste u inicijalnom ping skenu (korištenjem ICMP, SYN, ACK ili bilo kojeg drugog načina) + kao i za trajanja stvarnog skena portova. Mamci se također koriste i kod udaljenog otkrivanja operativnog + sustava (). Mamci NE rade s otkrivanjem verzije ili TCP connect() skena. + + Činjenica je da će korištenje previše mamaca usporiti skeniranje i potencijalno ga učiniti manje + točnim. Isto tako, neki ISP-ovi će filtrirati lažirane pakete, ali većina ih ne zabranjuje. + + + + + + (Lažiraj ishodišnu adresu) + + + U nekim situacijama Nmap neće moći ustanoviti vašu ishodišnu IP adresu (Nmap će vam reći ako dođe do + toga). U tom slučaju koristite opciju s IP adresom mrežnog adaptera preko kojeg želite + poslati paket. + + Još jedna mogućnost korištenja ove opcije je lažirati sken kako bi ciljano računalo mislilo da ga + skenira netko drugi. Zamislite firmu koju konstantno skenira konkurencija! + opcija j eobično potrebna za ovu namjenu i je također + preporučeno. + + + + + + + (koristi navedenu mrežnu karticu) + + + Ova opcija kaže Nmap-u koju mrežnu karticu da koristi za slanje i primanje paketa. Nmap bi to trebao + otkriti automatski, a sam će vam reći ako to ne uspije. + + + + + + + (Lažiraj broj ishodišnog porta) + + + +Iznenađujuće česta greška je samo vjerovanje prometu koji dolazi s određenog porta. Jednostavno je shvatiti +odakle to dolazi. Administrator podesi novi novcati vatrozid i najednom je obasut pritužbama korisnika kako su im +aplikacije prestale raditi. Čak štoviše, možda je prestao raditi i DNS, jer UDP DNS odgovori s vanjskih servera više +ne mogu ući u mrežu. FTP je još jedan dobar primjer. Kod aktivnih FTP prijenosa, FTP pokuša uspostaviti vezu nazad +prema klijentu da bi poslao zatraženu datoteku. + +Postoje sigurna rješenja tih problema, često u obliku proxy-a na aplikacijskom nivou ili modula na vatrozidu +koji parsaju protokol. Nažalost postoje i lakša, manje sigurna rješenja. Vidjevši da DNS odgovori dolaze s porta 53 i +aktivni FTP s porta 20, mnogi su administratori pali u zamku jednostavno dozvoljavajući ulazni promet s tih portova. +Obično pretpostavljaju da napadači neće uočiti i iskoristiti takve rupe u vatrozidu. U nekim slučajevima +administratori smatraju to rješenje kao privremenu zakrpu, dok ne implementiraju bolje rješenje, a onda zaborave na +to. + +U te zamke ne padaju samo preopterećeni mrežni administratori. Mnogo uređaja je isporučeno s takvim nesigurnim +pravilima. Čak je i Microsoft bio kriv. IPSec filter koji dolazi s Windows 2000 i s WIndows XP OS-om ima implicitno +pravilo koje dozvoljava sav TCP i UDP promet s porta 88 (Kerberos). Još jedan dobro poznati primjer je ZOne Alarm +osobni vatrozid, koji je do verzije 2.1.25 dozvoljavao bilo koje dolazne UDP pakete sa ishodišnog porta 53 (DNS) i 67 +(DHCP). + +Nmap nudi opcije i (iste su) kako bi iskoristili ovakve +slabosti. Jednostavno navedite broj porta i Nmap će ga koristiti kao ishodišni port gdje je to moguće. Nmap mora +koristiti različite portove kako bi neki testovi otkrivanja OS-a radili ispravno,a DNS zahtjevi ignoriraju opciju +, jer se kod toga Nmap oslanja na sistemske biblioteke. Većina TCP skenova uključujući +i SYN sken podržava ove opcije u potpunosti isto kao i UDP sken. + + + + + + + (Dodaj proizvoljne podatke na pakete koje šalješ) + + + U normalnim situacijama Nmap šalje minimalističke pakete koji se sastoje samo od zaglavlja. Tako da + su Nmap-ovi TCP paketu u načelu veličine 40 bytova, a ICMP paketi 28 bytova. Ova opcija kaže Nmap-u da doda + određenu količinu proizvoljnih bytova u paket koji šalje. Paketi koje koristi otkrivanje OS-a + () nisu zahvaćeni ovom opcijom, dok većina ping skenova i portskenova je. To usporava + skeniranje, ali ga isto tako čini manje sumnjivim. + + + + + + (Podesi polje IP time-to-live) + + + Podešava polje time-to-live i IPv4 paketima na zadanu vrijednost. + + + + + + (Proizvoljno poredaj hostove koje skeniraš) + + + Ova opcija kaže Nmap-u da pomiješa svaku grupu od 8096 hostova prije nego ih počne skenirati. To može + učiniti skeniranje manje očitim za većinu sustava za nadgledanje mreže, pogotovo kad ovu opciju kombinirate + sa sporim vremenima kašnjenja (engl. timing options). Ukoliko želite pomiješati veće grupe, povećajte + PING_GROUP_SZ u nmap.h biblioteci i ponovno kompajlirajte Nmap. + Alternativno rješenje je da kreirate listu ciljanih IP adresa s list skenom (), pomiješate je s perl skriptom i onda dodate tu listu + Nmap-u s opcijom . + + + + + + (Lažiraj MAC adresu) + + + + Ova opcija zatraži Nmap da koristi navedenu MAC adresu za sve ethernet frame-ove koje pošalje. Ova + opcija podrazumijeva opciju kako bi osigurala da Nmap uistinu šalje pakete na + nivou etherneta. MAC adresa može imati nekoliko formata. Ukoliko je string 0, Nmap će sam + odabrtati proizvoljnu MAC adresu za trajanje sesije. Ukoliko je zadani string sačinjen od parnog broja hex + znamenaka (gdje su parovi opcionalno odvojenih dvotočkom), Nmap će korisiti tu MAC adresu. Ako je upisano + manje od 12 znamenaka, Nmap će ostatak nadopuniti s proizvoljnim vrijednostima. Ako nije navedena 0 niti + hex string, Nmap pregleda datoteku nmap-mac-prefixes tražeći naziv + proivođača koji sadrži navedeni string (case sensitive). Ako se nešto poklopi, Nmap koristi OUI (3 bytni + prefix) proizvođača, a ostatak dopuni proizvoljno. Ispravni argumenti su npr. + Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, + 0020F2, and Cisco. + + + + + + + (Šalji pakete s lažnim TCP/UDP checksumom) + + + + Ova opcija traži od Nmap-a da koristi neispravne TCP i UDP checksume za pakete koje šalje na ciljano + računalo. Kako skoro svaki IP stack odbacuje takve pakete, svaki odgovor koji dobijete najvjerovatnie + dolazi od vatrozida ili IDS sustava koji nisu provjeravali checksum. Za više detalja o ovoj tehnici, + pogledajte: . + + + + + + + + + Izvještaji + + Svaki sigurnosni alat je koristan onoliko koliko dobar izvještaj ponudi. Kompleksni testovi i algoritmi su + od malo koristi ako njihov rezultat nije predstavljen na organiziran i razumljiv način. Obzirom na različite + načine korištenja Nmap-a od strane ljudi i drugih programa, jedan format ne može zadovoljiti sve, tako da Nmap + nudi više formata izvještaja, uključujući interaktivni mod koji direktno možete pročitati i XML kako bi ga + kasnije mogli pregledavati i analizirati drugi automatizirani alati. + +Uz to što nudi različite formate izvještaja, Nmap nudi opcije za upravljanje količinom prikazanih informacija, +kao i poruke za debugiranje. Izvještaji mogu biti standardni (na ekran op prev.) ili spremljeni u datoteke, u koje +Nmap može dodavati podatke ili ih prepisati. Datoteke u koje se spremaju rezultati taskođer mogu biti korištene za +prekinute skenove koje ste nastavili. + +Nmap nam nudi izvještaje u 5 različitih formata. Defaultni se zove interaktivni izvješ +taj i poslan je na standardni izlaz (sdtout) (zaslon računala, op. prev.). Također postoji i +normalni izvještaj koji je sličan interaktivnom +s tim da prikazuje manje informacija i upozorenja, jer je predviđen za kasniju analizu, a ne trenutnu.. + +XML izvještaj je jedan od najbitnijih, jer ga lako možete konvertirati u HTML, može lako biti pregledavan +pomoću programa poput Nmap-ovog grafičkog korisničkog sučelja, te može biti importiran u bazu podataka. + +Dva preostala tipa izvještaja su jednostavni grepabilni izvještaj koji +uključuje većinu informacija o hostu u jednoj liniji i sCRiPt KiDDi3 Izvj3št4j za +korisnike koji se smatraju |<-r4d. + +Dok je interaktivni izvještaj defaultni i nema komandnolinijskih opcija, preostale 4 opcije koriste istu +sintaksu. Mogu preuzeti jedan parametar, a to je naziv datoteke u koji će biti pohranjeni rezultati. Možete navesti +više različitih formata, ali svaki od njih smijete navesesti samo jednom. Npr. želite gledati normalni izvještaj za +sebe, dok istovremeno želite razultate pohraniti i u XML datoteku, za kasniju programsku analizu. To možete postići +opcijama . Iako su u ovom poglavlju korištena imena poput +myscan.xml zbog jasnoće, preporučeno je korištenje određenijih i jasnijih imena. +Imena koja ćete odabrati ovise o vašim željama i navikama, mada osobno koristim dugačka imena u kojima se nalazi +datum skeniranjai nekoliko riječi koje opisuju što je u stvari skenirano, a sve to pohranim u direktorij nazvan +imenom tvrtke koju skeniram. + +Iako navedene opcije spremaju rezultat u datoteke, Nmap i dalje ispisuje interaktivni izvještaj na zaslon +računala. Npr. naredba nmap -oX myscan.xml target sprema rezultate skena u XML +datoteku imenom myscan.xml i također ispisuje na zaslon računala ono što bi +ispisao da opcija nije bila navedena. Ovo možete promijeniti dodajući znak "-" (minus op. prev.) +kao parametar jednom od tipova izvještaja, što će prisiliti Nmap da deaktivira interaktivni izvještaj i umjesto njega +na stdout pošalje format koji ste naveli. Tako će naredba nmap -oX - target +posalti samo XML na stdout. Ozbiljne greške će i dalje biti ispisane na normalni tok grešaka - stderr. + +Za razliku od nekih Nmap-ovih opcija, razmak između opcije za naziv log datoteke (poput ) i +naziva datoteke ili znamka minus je obavezan. Ukoliko ga izostavite, npr. napišete + ili , Nmap će napraviti datoteke normalnog formata + imenom G- i Xscan.xml. + +Nmap također nudi i opcije za upravljanje količinom prikazanih informacija i opcije da doda podatke u postojeću +datoteku , a ne da je prepiše. Sve navedene opcije opisane su u daljnjem tekstu: + +Formati Nmap-ovih izvještaja + + + (Normalni izvještaj) + + Zahtjeva da normalni izvještaj bude spremljen u navedeno ime. Kao + što je opisano gore u tekstu, to se malo razlikuje od interactivnog izvještaja + . + + + + + + (XML izvještaj) + + + XML izvještaj će biti pohranjen u navedenu datoteku. Nmap ima i + definiciju tipa dokumenta (engl Document Type Definition) kratica: DTD koja dozvoljava XML parserima da + provjere Nmap-ov XML izvještaj. Iako je primarno namijenjeno za programsko korištenje, može pomoći i + ljudima da interpretiraju Nmap-ov XML izvještaj. DTD definira ispravne elemente formata i često navodi + atribute i vrijednosti koje mogu poprimiti. Najsvježija verija je uvijek dostupna na: + . + + XML nudi stabilan format koji je lako čitljiv od strane programa. Besplatni XML parseri su dostupni + za većinu kompjutorskih jezika, uključujući C/C++, Perl, Python i Java-u. Čak postoje i poveznice za većinu + tih jezika koje omogućuju direktno interpretiranje Nmap-ovih izvještaja. Primjeri su: + Nmap::Scanner + i Nmap::Parser u Perlu i CPAN-u. U većini slučajeva kad neka + ozbiljnija aplikacija komunicira s Nmap-om, XML je željeni format. + + XML izvještaj se poziva na XSL stilove, koji mogu biti korišteni za formatiranje rezultata u HTML. + Najjednostavniji način je da jednostavno učitate XML izvještaj u web preglednik poput firefox-a ili IE-a. + Defaultno će to raditi samo na računalu nakojem ste pokrenuli nmap (ili na računalu koje je slično + konfigurirano), jer je nmap.xsl hardkodiran. Koristite opciju + ili + kako bi kreirali prenosive XML datoteke koje prikazuju podatke u HTML-u na + bilo kojem računalu spojenom na web. + + + + + + + (ScRipT KIdd|3 izvještaj) + + Script kiddie izvještaj je poput interaktivnog s tim d je naknadno obrađen kako bi bolje odgovarao l33t + HaXXorZ koji je prije pazio na Nmap zbog njegovog konstantnog pisanja velikih slova i spelinga. Osobe koje ne + razumiju humor (prije nego me počnu napadati), trebale bi shvatiti da ova opcija tu da bi ismijavala script + kiddie-je, a ne da bi im pomagala. + + + + + + (Grepabilni izvještaj) + + +Ovaj format zvještaja je obrađen zadnji jer nije previše popularan. XML je mnogo moćniji i odgovara većini +iskusnih korisnika. XML je format za koji postoji hrpa izvrsnih parsera, dok je grepabilni izvještaj moj osobni mali +hack. XML je proširiv i podržava nove stvari koje budu ugrađene u Nmap, dok je to često ispušteno u grepabilnom +izvještaju, jer nema mjesta za njih. + +No ipak, grepabilni izvještaj je poprilično popularan. To je jednostavni format koji prikazuje svakog hosta na +jednoj liniji i može ga se lako pretraživati standardnim UNIX alatima, poput grep-a, awk-a, cut-a, sed-a, diff-a i +Perl-a. Čak ga i ja koristim za jednokratne testove iz komandne linije. Pronaći sve hostove koji imaju otvoren ssh +port ili se na njima vrti Solaris je vrlo lako pomoću grep naredbe, a to pak može biti poslano awk ili cut naredbi da +bi se prikazala željena polja. + +Grepabilni izvještaj sastoji se od komentara (linija koje počinju s pound znakom (#)) i ciljanih linija. +Ciljana linija sadrži kombinaciju od 6 imenovanih polja, odvojenih tabovima i iza njih dolazi dvotočka. Polja su: +Host, Ports, +Protocols, Ignored State, +OS, Seq Index, +IPID, and Status. + +Najvažnije od tih polja je obično Ports, koje daje datalje o svakom +zanimljivom portu. To je zarezom odvojena lista portova. Svaki zapis o portu predstavlja jedan zanimljivi port i ima +oblik sedam podpolja odvojenih slash znakom (/). Podpolja su: +Port number, +State, Protocol, +Owner, Service, +SunRPC info, and Version info. + + +Kao i kod XML formata, više informacija možete naći na sljedećem linku: +. + + + + + + (Izvještaj u svim formatima) + Radi jednostavnosti, možete navesti opciju , kako bi spremili rezultate u normalnom, XML i grepabilnom + formatu odjednom. spremljeni su u datoteke imanom basename.nmap, + basename.xml i basename.gnmap. Kao i kod većine programa možete + staviti prefiks ispred naziva datoteke kako bi je spremili u željeni direktorij, kao npr. + ~/nmaplogs/foocorp/ na UNIX-u ili + c:\hacking\sco na Windows platformi. + + + + + + Opcije za prikaz količine informacija i debugiranje + + + (povećaj količinu prikazanih informacija) + + + Povećava nivo količine prikazanih informacija, te Nmap prikazuje više informacija o tekućem sken + procesu. Otvoreni portovi su prikazani odmah čim su otkrivani i Nmap prikazuje procjenu koliko vremena mu + treba za završetak posla ako procijeni da će sken trajati više od nekoliko minuta. Ukoliko želite još više + informacija, upišite ga dvaput. Korištenje -v opcije više od dva puta nema nikakav učinak. + + Većina promjena koje se dobiju korištenjem ove opcije utječu na normalni i script kiddie izvještaj. + Ostali izvještaji su namijenjeni za automatiziranu obradu, pa Nmap u njima može navesti dodatne informacije + bez suvišnog opterećivanja korisnika. Ipak, postoji nekoliko promjena u ostalim modovima gdje veličinu + izvještaja možete osjetno smanjiti ne navodeći neke detalje. Npr. komentirana linija u gerepabilnom + formatu, koja daje listu svih skeniranih portova isprintana je samo u verose modu, jer može biti poprilično + velika. + + + + + + + (povećaj ili podesi nivo debugiranja) + + + +Čak i kad verbose mod ne daje dovoljno informacija, debuging Vam stoji na raspolaganju, kako bi vas preplavio s +još više podataka! Kao i kod opcje verbose (), uključujete ga s opcijom (), a +sam nivo debugiranja možete povećati navođenjem opcije više puta. Čak možete navesti nivo debugiranja i navođenjem +brojke nakon opcije (). Npr. () podešava nivo debugiranja 9. To je najviši +mogući nivo i kao rezultat će dazi tisuće linija osim ako ste pokrenuli jako jednostavan sken s par ciljeva i +portova. + +Debuging izvještaj je koristan kad sumnjate da u Nmap-u postoji greška ili ako ste jednostavno zbunjeni oko +toga što Nmap radi i zašto. Kako je ova opcija najviše namjenjena developerima, debug linije nisu uvijek samoobjaš +njavajuće. Možete dobiti nešto poput: Timeout vals: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Ukoliko ne razumijete liniju, jedini smjer kojim možete nastaviti je da je +ignorirate, potražite u izvornom kodu programa ili zatražite pomoć na razvojnoj listi (nmap-dev). Neke linije su +samoobjašnjavajuće, ali poruke postaju sve čudnije što je nivo debugiranja veći. + + + + + + + (Prati pakete i podatke koji su poslani/primljeni) + + + Nmap ispiše informaciju o svakom poslanom i primljenom paketu. Ovo se najčešće koristi za + debugiranje, ali je isto tako dobar način za nove korisnike da saznaju što Nmap radi ispod haube. Kako bi + izbjegli ispisivanje tisuća linija, odaberite ograničeni broj portova koje skenirate, npr. + . Ako Vas pak zanima samo što radi podsustav otkrivanja verzije, radije koristite + opciju . + + + + + + (Izlista mrežne adaptere i rute) + + + Ispiše popis mrežnih adaptera i ruta kako ih vidi Nmap. To je korisno u debugiranju problema s + rutanjem ili krivog prepoznavanja uređaja (kao kad recimo Nmap tretira PPP konekciju kao ethernet). + + + + + + Ostale opcije izvještaja + + + + (Dodaj rezultate u postojeći file umjesto da ih prepišeš) + + + Kad navedete naziv datoteke nakon opcija poput ili , + datoteka istog imena je prepisan aako postoji. Ukoliko želite zadržati sadržaj postojeće datoteke i u + njega dodati nove rezultate, navedite opciju. Svie navedene datoteke u + tom pokretanju Nmap-a će biti sačuvane i u njoh će biti dodani novi podaci. To ne radi dobro s XML + datotekama (), jer tako dobivena datoteka neće biti ispravna dok je ručno ne + prepravite. + + + + + + (Nastavi prekinut sken) + + + + Neka temeljita Nmap skeniranja mogu potrajati i danima. Takvi skenovi ne uspiju uvijek odraditi posao + do kraja. Zabrane mogu spriječiti Nmap da radi tijekom radnih sati, mreža može pasti, računalo na kojem je + pokrenut Nmap može biti resetirano (planski ili neplanski) ili se čak sam Nmap može srušiti. Čak i osoba + koja je pokrenula Nmap sken može biti ta koja će ga prekinuti korištenjem tipaka + ctrl-C. Ponovno pokretanje cijelog skena nije isplativo. Na sreću, ukoliko + ste spremali normalne () ili grepabilne () logove, možete zatraž + iti Nmap da nastavi skeniranje tamo gdje je stalo. Jednostavno navedite opciju i + proslijedite naziv datoteke normalnom ili grepabilnom načinu skeniranja. Nisu dozvoljeni nikakvi drugi + argumenti, jer će Nmap pretražiti postojeću datoteku i koristiti iste opcije koje je koristio i prije. + jednostavno pozovite Nmap: + nmap --resumelogfilename. Nmap će dodati nove + rezultate u postojeću datoteku. Nastavljanje ne podržava XML izvještaje, jer bi spajanje dvije datoteke u + jednu ispravnu bilo prekomplicirano. + + + + + + (Podesi XSL stil za transformiranje XML izvještaja) + + + + Nmap dolazi s XSL stilom nazvanim nmap.xsl koji je namijenjen za + gledanje ili prevođenje XML izvještaja u HTML. XML izvještaj sadrži + xml-stylesheet naredbu koja pokazuje na nmap.xml datoteku + gdje je inicijalno instalitrana od Nmap-a (ili u trenutni direktorij u kojem je pokrenut Nmap kad je u + pitanju Windows OS). Jednostavno otvorite Nmap-ov XML izvještaj u neki noviji web preglednik i on bi trebao + dohvatiti nmap.xsl i iskoristiti ga za prikaz rezultata. Ukoliko ž + elite koristiti neki drugi stil, navedite ga kao argument opciji . Morate + navesti kompletnu putanju do njega ili URL. Npr. --stylesheet . Ova naredba kaže pregledniku da učita zadnju verziju + stila s isecure.org. Opcija čini isto to bez potrebe pretjeranog pisanja i + pamćenja linka. Učitavanje XSL stila sa stranica insecure.org omogućava gledanje rezultata na jednostavniji + način čak i računalima koja nemaju instaliran Nmap (a samim tim i + nmap.xsl). Tako da je URL najčešće i korisniji, no, nmap.xsl-a koji se + nalazi na datotečnom sustavu koristi se ukoliko želite imati više privatnosti. + + + + + + (Učitaj stil sa stranice Insecure.Org) + + + Ovo je jednostavno kratica za . + + + + + + (Izbaci deklaraciju stila iz XML-a) + + + Ukoliko ne želite da Nmap poveže XSL stil s XML-om, odaberite ovu opciju. U tom slučaju se ne koristi + naredba xml-stylesheet + + + + + + + + + + Razne opcije + Ovo poglavlje opisuje neke važne (i neke ne toliko važne) opcije koje jednostavno ne spadaju nigdje + drugdje. + + + + + (Uključi skeniranje IPv6 protokola) + + + + Od 2002. godine, Nmap nudi i podršku za IPv6 svojih najpopularnijih svojstava. Točnije, ping scan ( + samo TCP), connect() scan i otkrivanje verzije podržavaju IPv6. Sintaksa je jednaka osim što dodate opciju + . Naravno, morate koristiti IPv6 sintaksu IP adrese ako navedete IP Adresu,a ne naziv + hosta. Adresa može izgledati kao 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + pa je stoga preporučeno korištenje host imena. Izvještaj izgleda isto osim što je na liniji + zanimljivih portova IPv6 IP adresa. + + Iako IPv6 nije pregazila svijet ipak se poprilično koristi u nekim zemljama (osobito Azijskim), a i + većina modernih OS-ova ima ugrađenu podršku. Da bi mogli koristiti Nmap s IPv6 protokolom i ciljano + računalo i vaše računalo moraju biti podešeni za korištenje IPv6. Ukoliko vaš ISP (poput većine drugih) ne + dodjeljuje IPv6 IP adrese, postoje oni koji nude besplatno IPv6 tuneliranje, što poprilično dobro radi s + Nmap-om. Jedan od boljih davatelja takvih usluga je BT Exact + . Također sam koristio i usluge tvrtke Hurricane Electric + . 6to4 tuneli su još jedan popularan besplatan pristup. + + + + + + (opcija agresivnog skeniranja) + + + OVa opcija omogućuje dodatne napredne i agresivne opcije. Još uvijek nisam u potpunosti odlučio na š + to će se sve odnositi. Trenutno ova opcija omogućuje OS detekciju () i skeniranje + verzije (). U budućnosti mogu biti dodane nove mogućnosti. Poanta je u tome da se + ljudima omogući pristojan set scan opcija bez potrebe za pamćenjem velikog broja zastavica (engl. flag). + Ova opcija samo uključuje navedene stvari bez podešavanja vremena odaziva (engl. timing) (poput + ) ili verbose opcija () kojU najvjerovatnije također želite + navesti. + + + + + + (Navedi korisnički definiranu lokaciju Nmap-ovih datoteka) + + + Nmap dohvaća neke podatke tijekom izvršavanja programa iz datoteka: + nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes, and + nmap-os-fingerprints. Najprije ih traži u direktoriju navedenom u + opciji (ako postoji). Sve datoteke koje se ne nalaze u navedenom direktoriju + potražit će u direktoriju navedenom u NMAPDIR varijabli. Nakon toga je na redu + ~/.nmap za stvarne i efektivne UID-e (samo kod POSIX sustava) ili + lokacija Nmap izvršne datoteke (samo kod Win32 sustava), te na kraju u kompajliranoj lokaciji poput + /usr/local/share/nmap ili + /usr/share/nmap. Kao posljednju đansu, Nmap će potražiti u tekućem + direktoriju. + + + + + + (koristi sirove (raw) pakete za slanje preko etherneta) + + + Zatraži Nmap da šalje pakete na sirovom (raw) ethernet (data link) sloju umjesto na višem IP (mrež + nom) sloju. Defaultno, Nmap odabire koja je opcija bolja za platformu na kojoj je pokrenut. Sirove utičnice + (engl. raw sockets) (IP sloj) su obično najefikasnije na UNIX mašinama, dok su ethernet frame-ovi obavezni + na Windows OS-u (IP sloj), jer je Microsoft izbacio podršku za sirove utičnice. Nmap ipak koristi sirove IP + pakete na UNIX-u, bez obzira na ovu opciju, ako nema drugog izbora (recimo kad ste na mreži koja nije + ethernet). + + + + + + + (Šalji na sirovom (raw) IP sloju) + + + Zatraži Nmap da šalje pakete preko sirovih IP utičnica umjesto preko nižih ethernet okvira ( + engl.frame). To je dodatak opciji objašnjenoj malo prije. + + + + + + (Pretpostavka da je korisnik u potpunosti privilegiran (op. prev. + administrator sustava)) + + + Kaže Nmap-u da jednostavno pretpostavi kako je dovoljno privilegiran da može koristiti sirove + utičnice (engl. raw sockets), snifati pakete i slične radnje koje na UNIX sustavima zahtjevaju root prava. + Defaultno, Nmap prekida rad, ako su takve radnje zatražene od njega, ali getuid() nije nula (op. prev. + korisnik nema ta prava). opcija je korisna na onim sustavima koji omogućuju + neprivilegiranim korisnicima korištenje sirovih paketa (poput Linux kernela isl.). Obavezno navedite ovu + opciju prije bilo koje druge koja zahtijeva privilegije (poput SYN scan-a, OS detekcije isl.). Alternativa + ovoj opciji je NMAP_PRIVILEGED varijabla. + + + + + + (Startaj u interaktivnom modu) + + + Starta Nmap u interaktivnom modu, što omogućava lako pokretanje više skenova (sinhrono ili u + pozadini). Ovo je korisno za korisnike koji skeniraju s multikorisničkih sustava, jer često žele testirati + sigurnost, bez da dozvole svima ostalima koji su ulogirani na sustav da vide što i koga oni skeniraju. + Koristite --interactive opciju kako bi aktivirali ovaj mod, te nakon toga pritisnite + h za pomoć. Ovo se rijetko koristi, jer su shell-ovi obično poznatiji i + imaju dovoljno mogućnosti. Ova opcija uključuje bang (!) operator za izvršavanje shell naredbi, što je + jedan od glavnih razloga zašto ne bi trebalo instalirati Nmap sa setuid = root (op. prev. Ako instalirate + Nmap sa setuid=root, svatko tko ga pokrene, moći će napraviti na sustavu što god hoće, jer može iz Nmap-a + pokrenuti bilo koju naredbu s root pravima). + + + + + + (Za pokretanje Nmap-a iz nekog drugog programa) + + + Ovu opciju možete navesti kad je Nmap pokrenut od strane neke druge aplikacije. Trenutno je jedina + razlika u tome što je Runtime interaction (opisano u poglavlju nazvanom + ) isključeno. Bez obzira na zbunjujuće slično ime, ova + opcija nije jednostavna suprotnost opciji. + + + + + + ; (Ispiši broj verzije) + + + Ispiše broj verzije Nmap-a i prekine izvršavanje programa + + + + + + ; (Ispiši sumarnu help stranicu) + + + Ispiše kratki help ekran s najčešće korištenim mokandama i zastavicama. Pokretanje Nmap-a bez ijednog + argumenta napravi isto to. + + + + + + + + Interakcija za vrijeme izvršavanja + + Ova opcija je za sad nedostupna na Windows OS-u + + Tijekom izvršavanja Nmap-a sve tipke koje pritisnete su uhvaćene. To omogućvava interakciju s programom bez + da ga zaustavljate u radu. Određene specijalne tipke će mijenjati opcije, dok će druge ispisati statusne poruke + koje vas obavještavaju o tekućem skenu. Konvencija je takva da mala slova povećavaju + količinu ispisa, dok velika slova smanjuju količinu ispisa. Ova funkcionalnost može biti + isključena navođenjem opcije. + + + + / + + + Povećaj / smanji količinu prikazanih informacija + + + + + / + + + povećaj / smanji nivo debugiranja + + + + + / + + + Uključi / isključi praćenje paketa + + + + + Bilo što drugo + + + Ispiše statusnu poruku poput sljedeće: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining) + + + + + + + Primjeri + Ovdje su neki primjeri korištenja Nmap-a i to od jednostavnih i rutinskih do malo manje kompleksnih i + ezoteričnih. Korištene su neke stvarne IP adrese i domene kako bi stvar bila malo konkretnija. Umjesto njih + trebali bi staviti adrese/domene iz svoje mreže.. Iako osobno ne smatram da je skeniranje + tuđih mreža iligelano i da bi trebalo biti, neki mrežni administratori ne vole nedozvoljeno skeniranje njihovih + mreža i mogli bi se žaliti. Dobiti dozvolu prije samog čina je u svakom slučaju ispravan postupak. + + Za testiranje imate dozvolu skenirati host scanme.nmap.org. Dozvola + vrijedi samo za skeniranje korištenjem Nmap-a i ne vrijedi za testiranje exploita i DOS (denial of Service) + napada. Kako ne bi preopteretili mrežu, molim Vas da ne skenirate više od 12-tak portova dnevno. Ukoliko će ovaj + host biti napadan na bilo koji način, uklonit ću ga s NET-a i Nmap će javiti grešku + Failed to resolve given hostname/IP: + scanme.nmap.org. Ova dozvola vrijedi i za hostove + scanme2.nmap.org, + scanme3.nmap.org itd., iako navedeni hostovi za sad ne postoje. + + + nmap -v scanme.nmap.org + + Ova naredba skenira sve rezervirane TCP portove na računalu + scanme.nmap.org. Opcija uključuje verbose mod.. + + nmap -sS -O scanme.nmap.org/24 + + Pokreće skriveni (engl. stealth) SYN scan prema svakom računalu koje je upaljeno od njih 255 mogućih na + mreži class C na kojoj se nalazi scanme host. Također pokuša ustanoviti koji OS je pokrenut na + svakom od otkrivnih (upaljenih) hostova. Ovo zahtijeva root prava zbog SYN scan-a i OS detekcije. + + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Pokreće enumeraciju hostova i TCP scan na prvoj polovici svakog od 255 mogućih 8 bitnih subneta u mrežnog + ID-a 192.168 klase B adresnog prostora. Scan provjerava da li je na ciljanim računalima pokrenut sshd, DNS, + pop3d, imapd i/ili port 4564. Za svaki od navedenih portova koji su otvoreni, pokrenuto je i otkrivanje verzije, + kak obi se ustanovilo koja aplikacija je otvorila taj port. + + + nmap -v -iR 100000 -P0 -p 80 + + + Ova naredba zatraži Nmap da nasumično odabere 100 000 hostova i skenira ih u potrazi za web serverom (port + 80). Enumeracija hostova je isključena opcijom , jer slanje nekoliko sondi kako bi se + ustanovilo da li je host upaljen ili ne kad se skenira samo jedan port je ionako nepotrebno. + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Skenira 4096 IP adresa za web serverom (bez prethodnog pinganja) i sprema izvještaj u grepabilnom iXML + formatu. + + + + + Greške + + Poput svog autora niti Nmap nije savršen, no Vi možete pomoći slanjem prijava o greškama, pa čak i pišući + patcheve. Ukoliko se Nmap ne ponaša onako kako očekujete od njega, najprije ga nadogradite na najnoviju verziju + dostupnu na + . Ukoliko je problem i dalje tu, istražite da li je već + otkriven i prijavljen. Pokušajte "zaguglati" poruku o grešci ili otiđite na Nmap-dev arhive na + . Također pročitajte i kompletan manual. Ukoliko ništa od toga ne + pomogne, pošaljite izvještaj o grešci na nmap-dev@insecure.org. Molim Vas napišite sve što ste do + tad otkrili o problemu, te koju verziju Nmap- imate i koju verziju OS-a imate. Izvještaji o prijavljenim + problemima i upiti o korištenju Nmap-a koji su poslani na nmap-dev@insecure.org imaju više šansi da budu + odgovoreni nego oni poslani direktno Fyodor-u. + + Patchevi za otklanjanje bugova su još i bolji od samih prijava. Osnovne upute za kreiranje patch datoteka s + promjenama su dostupne na . Patchevi mogu biti + poslani na nmap-dev (što je preporučeno) ili direktno Fyodoru. + + + + Author + Fyodor + fyodor@insecure.org + () + + + Stotine ljudi su doprinjeli u stvaranju Nmap-a tijekom godina. To je navedeno u + CHANGELOG datoteci koja je distribuirana s Nmap-om, a dostupna je i na + sljedećem linku: . + + + + + Pravne smjernice + + + Nmap Copyright i licenciranje + +Nmap sigurnosni skener je (C) 1996-2005 Insecure.Com LLC. Nmap je također reigistered trademark Insecure.Com +LLC. Program je besplatan;možete ga redistribuirati a/ili modificirati pod uvjetima GNU General Public License kako +je objavljeno od strane Free Software Fondacije;Verzija 2. To vam garantira pravo korištenja, modificiranja i +redistribuiranja ovog softvera pod određenim uvjetima. Ukoliko želite inkorporirati Nmap tehnologiju u svoj softver, +možda ćemo vam prodati dodatne licence (kontaktirajte sales@insecure.com). Mnogi proizvođači +sigurnosnih skenera već imaju licencu Nmap tehnologije poput otkrivanja hostova, skeniranja portova, OS detekcije i +otkrivanja servisa/verzije. + +Imajte na umu da GPL postavlja važna ograničenja na derivirana djela, ali ne daje detaljne +definicije istih. Kako bi se izbjegli nesporazumi, za potrebe ove licence, mi smatramo da aplikacija sadrži +derivirano djelo, ako čini bilo što od navedenog: + + +Uključuje izvorni kod iz Nmap-a +Čita ili sadrži Nmap datoteke koje imaju copyright, poput +nmap-os-fingerprints ili +nmap-service-probes. + + + +Pokreće Nmap i čita njegove rezultate (za razliku od tipičnih shell ili izvršnih meni aplikacija, koje +jednostavno ispišu sirovi Nmap izvještaj i time nisu derivirana djela). +Integrira/sadrži/agregira Nmap u neki izvršni instaler, poput onog napravljenog od strane +InstallShield-a. +Linka na biblioteku (dll, op. prev.) ili izvršu datoteku koja radi bilo što od gore navedenog. + + + +Naziv Nmap je također uključen u to. Ova lista nije eksluzivna, ali je navedena kako bi +pojasnila našu interpretaciju deriviranih djela s najčešćim primjerima. Zabrane se primjenjuju samo u slučaju da +uistinu redistribuirate i Nmap. Npr. mišta vas ne sprječava da napišete i prodate front-end za Nmap. Distribuirajte +front end i usmjerite ljude na kako bi preuzeli Nmap. + +Ne smatramo da su to dodatne zabrane povrh GPL-a, nego samo pojašnjenja toga kako mi interpretiramo +derivirano djelo jer se primjenjuje na naš produkt pod GPL licencom. To je slično načinu na koji je Linus +Torvalds objavio svoju interpretaciju deriviranog djela i kako se to odnosi na module linux kernela. +Naša interpretacija se odnosi samo na Nmap - ne govorimo o nijednom drugom produktu licenciranom po GPL-u. + +Ukoliko imate bilo kakvo pitanje o GPL licenciranju i restrikcijama kod korištenja Nmap-a u ne GPL djelima, +rado ćemo Vam pomoći. Kao što je gore navedeno, također nudimo i alternativne licence za integriranje Nmapa u neke +druge aplikacije i uređaje. Takvi ugovori su prodani mnogim sigurnosnim izdavačima i generalno sadrže stalnu licencu +kao i uslugu prioritetne podrške, a uz to financijski pomažu kontinuirani razvoj Nmap tehnologije. Molimo Vas da poš +aljete mail na sales@insecure.com za daljne informacije. + +Kao posebno izuzeće od GPL uvjeta, Insecure.Com LLC daje dozvolu za povezivanje koda ovog programa s bilo kojom +verzijom OpenSSL biblioteke koja je distribuirana pod sličnom licencom kao i s licencom koja se nalazi u datoteci +Copying.OpenSSL i distribuirati povezanu kombinaciju oba programa. Morate poštivati GNU GPL na svim područjima za +bilo koji kod koji nije OpenSSL. Ukoliko modificirate navedenu datoteku možete proširiti to izuzeće i na svoju +verziju programa, ali niste obavezni to napraviti. + +Ukoliko dobijete navedene datoteke s pismenom licencom ili ugovorom koji navodi drukčije uvjete od navedenih gore, onda je ta alternativna licenca jača i preuzima primat. + + + + Creative Commons licenca za ove upute + Nmap referentne upute su (C) 2005 Insecure.Com LLC. Time su stavljene pod verziju 2.5 + Creative Commons + Attribution License. To Vam omogućuje da redistribuirate, modificirate tekst po želji, dok god navodite + druge izvore koji su radili na njemu. Osim toga, možete tretirati ovaj dokument kao da spada pod istu licencu kao i + Nmap (obajšnjeno prije). + + + + Dostupnost izvornog koda i doprinos zajednici (engl. comunity) + +Izvorni kod je dostupan s programom zato jer vjerujemo da korisnik ima pravo znati što uistinu program radi +prije nego će ga pokrenuti. To Vam isto tako omogućava provjeru softvera na sigurnosne rupe (do sad nije pronađena +niti jedna). + +Izvorni Vam kod isto tako omogućava prijenos Nmap-a na nove platforme, popravljanje grešaka i dodavanje novih +mogućnosti. Potaknuti ste da promjene pošaljete na fyodor@insecure.org kako bi eventualno bile +inkorporirane u buduće verzije glavne distribucije. Slanjem promjena Fyodoru ili nekom na Insecure.Org mailing listi +developera, podrazumijeva se da Fyodoru i Insecure.Org-u dajete puna prava na korištenje, modificiranje i +relicenciranje koda. Nmap će uvijek biti dostupan kao open source, ali to je bitno jer je nemogućnost relicenciranja +koda stvorila ogromne probleme nekim drugim besplatnim softverskim projektima (poput KDE-a i NASM-a). Također +povremeno relicenciramo kod drugim tvrtkama kako je navedeno gore. Ukoliko želite definirati posebne licenčne uvjete +za svoj doprinos, navedite to odmah kad ih pošaljete. + + +Nema garancije + +Program je distribuiran u nadi da će bit koristan, ali BEZ IKAKVE GARANCIJE; čak i bez pretopstavljene +garancije na PRIHVATLJIVU KVALITETU ili SPOSOBNOST ZA ODREĐENE ZADAĆE. Pogledajte GNU General Public License za više +detalja na ili u COPYING datoteci uključenoj s Nmap +distribucijom. + +Treba uzeti u obzir da je Nmap povremeno srušio loše napisane aplikacije, TCP/IP stackove, pa čak i operativne +sustave. Iako je to ekstremno rijetko, važno je za znati. Nmap nikad ne bi trebalo pokrenuti na kritičnim +sustavima osim ako ste spremni prihvatiti da sustav neko vrijeme ne radi. Ovdje potvrđujemo da Nmap može +srušiti vaš sustav ili mrežu i ograđujemo se od bilo kakve odgovornosti za bilo kakvu štetu ili problem prouzročen od +Nmap-a. + + +Neispravno korištenje +Zbog male mogućnosti pada sustava i zbog toga što neki crno šeširaši vole koristiti Nmap za prikupljanje +informacija, postoje administratori koji se uznemire i mogu se žaliti kad primjete da im je mreža skenirana. Stoga je +uvijek preporučeno zatražiti dozvolu prije nego započnete i lagani scan mreže. + +Nmap nikad ne bi trebao biti instaliran sa specijalnim privilegijama (npr. suid root) iz sigurnosnih razloga. + + +Softver drugih tvrtki +Ovaj produkt sadrži softver razvijen od +Apache Software Fondacije. Modificirana verzija +Libpcap prijenosne paket capture biblioteke je distribuirana zajedno s +Nmap-om. Windows verzija Nmap-a koristi obradu libpcap-a - +WinPcap. Podrška za regularne izraze je dana od +PCRE biblioteke koja je open source softver. Napisao ga je Philip Hazel. +Neke funkcije sirovog netvorkinga koriste +Libdnet mrežnu biblioteku koju je napisao Dug Song. Modificirana +verzija je distribuirana s Nmap-om. Nmap se opcionalno može povezati s +OpenSSL kriptografskim alatima za podršku detekcije SSL verzije. Sav +gore navedeni softver se slobodno redistribuira pod softverskom licencom po BSD-u. + + +Klasifikacija kontrole izvoza u US-u. +Klasifikacija kontrole izvoza u US-u: Insecure.Com LLC vjeruje da Nmap spada pod US ECCN (export control +clasification number - klasifikacijski broj kontrole izvoza) 5D992. Ta se kategorija zove Softver +informacijske sigurnosti koji nije kontroliran ECCN-om 5D002. Jedina zabrana te klasifikacije je AT (anti +terorizam), koja se primjenjuje na gotovo svu robu i zabranjuje izvoz hrpi lažljivih zemalja, poput Iran-a i Sjeverne +Koreje (op. prev. iliti onih s kojima Ameri nisu dobri). Tako da Nmap ne zahtijeva nikakvu posebnu licencu, dozvolu +ili bilo kakvu drugu autorizaciju američke vlade. + + + + + +
diff --git a/docs/man-xlate/nmap-man-hu.xml b/docs/man-xlate/nmap-man-hu.xml new file mode 100644 index 000000000..0db99b760 --- /dev/null +++ b/docs/man-xlate/nmap-man-hu.xml @@ -0,0 +1,3884 @@ + + +
+ + Nmap Referencia Útmutató (Kézikönyv) + + + + nmap + 1 + + + nmap + Hálózat feltérképező és biztonsági/kapu letapogató eszköz + + + + + nmap + + Letapogatási típus + + + Beállítások + + + cél meghatározása + + + + + Leírás + + Ez a dokumentum az Nmap legfrissebb változatának leírása, mely a + vagy a + címekről tölthető le. + Mielőtt egy paraméter hibás működését jeleznéd, kérlek győződj meg arról, hogy + a legfrissebb változatot használod-e. + + Az Nmap (Network Mapper) egy hálózatfelderítésre és biztonsági + ellenőrzésre használható, nyílt forráskódú eszköz. Nagy hálózatok gyors + feltérképezésére tervezték, ennek ellenére jól használható egyetlen számítógép + ellenőrzésére is. Az Nmap egy új módon használja a nyers IP csomagokat annak + kiderítésére, hogy mely számítógépek érhetők el a hálózaton, ezek a számítógépek + milyen szolgáltatásokat (alkalmazás neve és változata) kínálnak fel, milyen + operációs rendszert futtatnak (és annak melyik változatát), milyen csomagszűrőt/tűzfalat + használnak, valamint számtalan egyéb jellemzőre. Noha az Nmap programot általában + biztonsági ellenőrzésekre használják, sok hálózati rendszergazda hasznosnak + fogja találni a napi rutinfeladatokban is, mint például a hálózati leltár + elkészítésében, a szolgáltatások frissítésének ütemezésében, vagy egy + számítógép/szolgáltatás üzemidejének meghatározásában. + + Az Nmap kimenete egy lista a vizsgált célpontokról, mindegyikről + kiegészítő információkkal, melyek részletessége a beállított paraméterektől + függ. Ezek közül az információk közül a legfontosabb az érdekes kapuk + táblázata. Ez a táblázat tartalmazza a kapuszámot és a protokollt, + a szolgáltatás nevét és az állapotot. Az állapot lehet + nyitott (open), szűrt (filtered), + zárt (closed), vagy nem szűrt (unfiltered). + A nyitott (open) azt jelenti, hogy a célállomáson egy alkalmazás ezen + a kapun kapcsolódásra/csomagokra vár. A szűrt (filtered) + azt jelenti, hogy egy tűzfal, szűrő vagy egyéb hálózati akadály lezárja a + kaput, így az Nmap nem tudja megmondani, hogy ez nyitott (open) + vagy zárt (closed). + A zárt (closed) kapukon nincs várakozó + alkalmazás, ennek ellenére ezek bármikor nyitva lehetnek. + A kapuk akkor kerülnek a szűretlen (unfiltered) + kategóriába, ha válaszolnak ugyan az Nmap próbáira, de az Nmap nem tudja + meghatározni, hogy nyitottak (open) vagy zártak (closed). Az Nmap a + nyitott|szűrt (open|filtered) és a + zárt|szűrt (closed|filtered) kombinációt + használja, amikor nem tudja meghatározni, hogy a kapu melyik állapotban van. + A kaputáblázat tartalmazhatja a figyelő program nevét és változatszámát is, + amennyiben a paraméterek között kérte ennek felderítését. Amikor IP protokoll + ellenőrzést kér (), az Nmap a kapuk listája helyett a + támogatott IP protokollokról közöl információt. + + Az érdekes kapuk táblázatának kiegészítéseként az Nmap további információkat + tud szolgáltatni a célállomásról, beleértve a fordított DNS neveket, + feltételezéseket az operációs rendszerről, az eszközök típusa és a MAC címek. + + Az feliratú ábrán egy tipikus Nmap + letapogatás látható. Ebben a példában csak a paramétert + használtuk az operációs rendszer és a szolgáltatások érzékelésére, a parancsfájl (script) + alapú ellenőrzésre és az útvonal feltárására; a paramétert + a gyorsabb végrehajtásra; végül pedig a két célállomás nevét. + +Egy jellegzetes Nmap letapogatás + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://nmap.org ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Az Nmap legújabb változata a címről tölthető le. A legfrissebb kézikönyv +a címről tölthető le. + + + + + Megjegyzés a fordításhoz + + Az Nmap Referencia Útmutató jelen magyar változatát Mlatilik Zsolt készítette + a 6184-es eredeti angol változat + alapján drmac68@freemail.hu. A fordítást annak reményében készítettem, + hogy megkönnyítse a magyar nyelvű felhasználók számára a program használatát. + Nem tudom garantálni, hogy ez a leírás olyan teljes vagy naprakész, mint az eredeti + angol változat. Ez a fordítás a Creative + Commons Attribution License alapján szabadon módosítható és terjeszthető. + + + Paraméter összefoglaló + +Ez az összefoglaló akkor jelenik meg, amikor az Nmap programot +paraméterek nélkül indítjuk el. A legfrissebb változata a + címen érhető el. +Ez a lista segít emlékezni a legáltalánosabb paraméterekre, de nem helyettesíti +az útmutatóban található részletes dokumentációt. Néhány rejtett paraméter szintén +nem található meg ebben a listában. + + + + +Nmap 4.53 ( http://nmap.org ) +Használat: nmap [Letapogatási típus(ok)] [Paraméterek] {Célpont meghatározások} +CÉLPONT MEGHATÁROZÁSOK: + Átadhatók állomásnevek, IP címek, hálózatok, stb. + Pl.: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <fájlnév>: A cél állomásnevek/hálózatok listája + -iR <állomások száma>: Véletlen célpontok kiválasztása + --exclude <állomás1[,állomás2][,állomás3],...>: Állomások/hálózatok kihagyása + --excludefile <fájlnév>: A kivételek listája +ÁLLOMÁS FELDERÍTÉSE: + -sL: Lista letapogatás - egyszerűen kilistázza a letapogatni kívánt célpontokat + -sP: Visszhang letapogatás - meghatározza, hogy egy állomás elérhető-e a hálózaton + -PN: Minden állomást elérhetőnek tekint -- átugorja az állomás felderítését + -PS/PA/PU [kapulista]: TCP SYN/ACK or UDP felderítés a megadott kapukon + -PE/PP/PM: Felderítési próbák ICMP visszhang, időbélyeg és alhálózati maszk kéréssel + -PO [protocol lista]: IP protokoll visszhang + -n/-R: Soha nem végez DNS feloldást/Mindig végez DNS feloldást [alapérték: esetenként] + --dns-servers <kiszolg1[,kiszolg2],...>: Saját DNS kiszolgáló megadása + --system-dns: Az operációs rendszer DNS felodóját használja +LETAPOGATÁSI TÍPUSOK: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon letapogatás + -sU: UDP letapogatás + -sN/sF/sX: TCP Null, FIN, and Xmas letapogatások + --scanflags <jelzőbitek>: A TCP jelzőbitek testreszabása + -sI <zombi állomás[:probakapu]>: Üresjárati letapogatás + -sO: IP protokoll letapogatás + -b <FTP átjátszó állomás>: FTP ugráló letapogatás + --traceroute: Útvonal követése minden állomáshoz + --reason: Megjeleníti az okot, amiért egy kapu egy adott állapotban van +KAPU MEGHATÁROZÁS ÉS LETAPOGATÁSI SORREND: + -p <kaputartomány(ok)>: Csak a megadott kapuk letapogatása + Pl.: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Gyors mód - Az alapértelmezettnél kevesebb kapu letapogatása + -r: Kapuk letapogatása sorrendben - nem véletlenszerűen + --top-ports <szám>: Csak a <szám> darab leggyakoribb kapu letapogatása + --port-ratio <arány>: Az <arány>-nál gyakoribb kapuk letapogatása +SZOLGÁLTATÁS/VÁLTOZAT ÉRZÉKELÉS: + -sV: A nyitott kapuk próbája a szolgáltatás/változat információ meghatározására + --version-intensity <szint>: Beállítás 0 (enyhe) és 9 (az összes proba lefuttatása) között lehetséges + --version-light: Csak a legvalószínűbb próbák lefuttatása (2-es intenzitás) + --version-all: Minden egyes próba lefuttatása (9-es intenzitás) + --version-trace: A letapogatási műveletek részletes megjelenítése (hibakereséshez) +PARANCSFÁJL ALAPÚ LETAPOGATÁS: + -sC: megfelel a --script=safe paraméternek,tolakodó + --script=<Lua parancsfájlok>: A <Lua parancsfájlok paraméter> mappák, + parancsfájlok és parancsfájl kategóriák vesszővel elválasztott listája + --script-args=<n1=v1,[n2=v2,...]>: paraméterek átadása a parancsfájl(ok)nak + --script-trace: Az összes elküldött és fogadott adat megjelenítése + --script-updatedb: A parancsfájl adatbázis frissítése. +OPERÁCIÓS RENDSZER FELDERÍTÉSE: + -O: Engedélyezi az operációs rendszer felderítését + --osscan-limit: Az operációs rendszer felderítését csak az ígéretes célpontokra korlátozza + --osscan-guess: Agresszívebb operációs rendszer felderítés +IDŐZÍTÉS ÉS TELJESÍTMÉNY: + Azoknál a paramétereknél, ahol <idő> meghatározás szerepel, az alapértelmezett + egység a milliszekundum, kivéve ha az értékhez hozzáfűzi az 's' (másodperc), + 'm' (perc), vagy 'h' (óra) módosítót (pl. 30m). + -T[0-5]: Időzítési sablon megadása (a nagyobb érték a gyorsabb) + --min-hostgroup/max-hostgroup <méret>: A párhuzamosan letapogatható állomások csoportmérete + --min-parallelism/max-parallelism <szám>: A párhuzamosan végezhető próbák száma + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Az egyes próbák + időzítésének beállítása. + --max-retries <próbák>: Limitálja a kapuletapogatások ismétlését. + --host-timeout <idő>: Ennyi idő után abbahagyja az állomás letapogatását + --scan-delay/--max-scan-delay <idő>: Az egyes próbák közti idő beállítása +TŰZFAL/BEHATOLÁS ÉRZÉKELŐ MEGKERÜLÉS ÉS BECSAPÁS: + -f; --mtu <érték>: csomagok tördelése (vagy küldés a megadott MTU értékkel) + -D <csali1,csali2[,ME],...>: A letapogatás leplezése csalikkal + -S <IP cím>: Forráscím hamisítása + -e <csatoló>: Megadott hálózati csatoló használata + -g/--source-port <kapuszám>: Megadott kapuszám használata + --data-length <szám>: Véletleszerű adat hozzáfűzése az elküldött csomagokhoz + --ip-options <paraméterek>: Csomagok küldése meghatározott IP paraméterekkel + --ttl <érték>: Az IP csomag time-to-live értékének beállítása + --spoof-mac <mac cím/előtag/gyártó neve>: A saját MAC cím hamisítása + --badsum: Csomagok küldése hamis TCP/UDP ellenőrző összeggel +KIMENET: + -oN/-oX/-oS/-oG <fájlnév>: A letapogatás eredményének mentése fájlba normál, + XML, s|<rIpt kIddi3, vagy grepelhető formátumban, a megadott fájlnévvel. + -oA <bázisnév>: Mentés fájlba a három főbb formátumban egyszerre + -v: Bőbeszédű üzemmód beállítása (kétszer használva még több információt ad) + -d[szint]: Hibakeresési szint beállítása vagy növelése (maximum 9-ig értelmes) + --open: Csak a nyitott (vagy valószínűleg nyitott) kapukat mutatja + --packet-trace: Az összes elküldött és fogadott csomagot megjeleníti + --iflist: Megjeleníti az állomás hálózati csatolóit és az útvonalakat (hibakereséshez) + --log-errors: Hibák/figyelmeztetések rögzítése normál formátumú kimenő fájlba + --append-output: Felülírás helyett hozzáfűzi az eredményeket a létező kimeneti fájlhoz + --resume <fájlnév>: Megszakított letapogatás folytatása + --stylesheet <útvonal/URL>: XSL stíluslap az XML kimenet HTML formátumúra alakításához + --webxml: Referencia stíluslap az Insecure.Org weboldalról a hordozhatóbb XML dokumentumokért + --no-stylesheet: Nem rendel XSL stíluslapot az XML kimenethez +VEGYES: + -6: Engedélyezi az IPv6 letapogatást + -A: Engedélyezi az operációs rendszer és a változat érzékelését, a parancsfájl alapú + letapogatást és az útvonalkövetést + --datadir <mappanév>: Saját Nmap adatfájl helyének megadása + --send-eth/--send-ip: Adatküldés nyers ethernet keretek vagy IP csomagok használatával + --privileged: Feltételezi, hogy a felhasználó teljes jogosultsági szinttel rendelkezik + --unprivileged: Feltételezi, hogy a felhasználónak nincs jogosultsága nyers socketek használatára + -V: Az Nmap változat kiírása + -h: Ennek a rövid összefoglalónak a megjelenítése. +PÉLDÁK: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +NÉZD MEG A MAN OLDALAKAT A TOVÁBBI PARAMÉTEREKHEZ, LEÍRÁSOKHOZ ÉS PÉLDÁKHOZ + + + + + + + + + A célpont meghatározása + +Az Nmap parancssorban mindent, ami nem paraméter (vagy paraméter kiegészítés) +célpont meghatározásként értelmez. Célpont meghatározása legegyszerűbben +IP cím vagy állomásnév megadásával lehetséges. + +Néha szükség lehet szomszédos állomások teljes hálózatának letapogatására. +Ennek érdekében az Nmap támogatja a CIDR stílusú címzést. Hozzáfűzheti a CIDR addressing +/numbits paramétert az IP címhez vagy az állomásnévhez +és az Nmap letapogat minden IP címet, mely a numbits +paraméter alapján a megadott IP címmel vagy állomással egy alhálózaton található. +Például a 192.168.10.0/24 címzéssel letapogatható a 192.168.10.0 (bináris: 11000000 10101000 +00001010 00000000) és a 192.168.10.255 (bináris: 11000000 10101000 +00001010 11111111) címek közötti 256 állomás. +A 192.168.10.40/24 címzést szintén ugyanezt az eredményt adja. Megadva a +scanme.nmap.org állomást az IP címe 205.217.153.62. Így a scanme.nmap.org/16 +címzéssel 65,536 IP cím tapogatható le a 205.217.0.0 és a 205.217.255.255 címek +között. A legkisebb megadható érték a /1, mellyel az Internet fele tapogatható le. +A legnagyobb megadható érték a 32, mellyel a megadott állomás vagy IP cím tapogatható +le, mivel itt a címbitek rögzítettek. + +A CIDR jelölés rövid, de nem eléggé rugalmas minden esetben. Például szeretné +letapogatni a 192.168.0.0/16 címtartományt, de szeretné kihagyni a 0-ra és 255-re +végződő IP címeket, mivel ezek általában üzenetszórási címek. Az Nmap ezt az +úgynevezett oktett tartomány címzésen keresztül biztosítja. Ahelyett, hogy hagyományos +IP címeket adna meg, megadhat vesszővel elválasztott számsorozatot vagy tartományt +minden egyes oktettben. Például a 192.168.0-255.1-254 címzéssel átugorhat minden +olyan IP címet, melynek utolsó oktettje 0-ra vagy 255-re végződik. A tartományok +nem korlátozódnak kizárólag az utolsó oktettre: a 0-255.0-255.13.37 címzéssel a +teljes Internet címtérből letapogathatja azokat az állomásokat, melyeknek IP címük +13.37 -re végződik. Az ilyen nagy terjedelmű mintavétel hasznos lehet Internetes +kutatásoknál és felméréseknél. + +Az IPv6 címek kizárólag teljes alakjukban vagy állomásnév alakban adhatóak +meg. CIDR címzés és oktett tartományok nem támogatottak az IPv6 címzésnél, mivel +ezek itt ritkán hasznosak. + +Az Nmap a parancssorban többféle célpont meghatározást elfogad és ezeknek +nem kell azonosaknak lenniük. Az nmap +scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 parancs erre mutat egy példát. + +Bár a célpontok meghatározása általában a parancssorban történik, a következő paraméterek szintén használhatóak a célpontok megadására: + + + + + (Bemenet listából) + -iL + + + A célpontok kiválasztása a fájlnév + által meghatározott fájlból. Nagyobb mennyiségű célpont megadása a + parancssorban eléggé kényelmetlen, de mindennapos feladat. Például az Ön + DHCP kiszolgálója nyilvántart 10,000 aktuális klienst, melyeket Ön mind + le akar tapogatni. Vagy például le akarja tapogatni a teljes IP tartományt, + kivéve a nyilvántartott címeket, hogy megtalálja + azokat az állomásokat, amelyek érvénytelen statikus IP címet használnak. + Egyszerűen generálja le a letapogatni kívánt állomások listáját és + adja át a fájlnevet a paraméteren keresztül az Nmap + részére. A bejegyzések minden olyan formátumban szerepelhetnek, melyet az + Nmap a parancssorán keresztül is elfogad (IP cím, állomásnév, CIDR, IPv6 + vagy oktett tartomány). A bejegyzések elválasztására használhat a szóköz, + a tabulátor, vagy írhat minden bejegyzést új sorba. Ha fájlnévként az + elválasztójelet (-) adja meg, akkor az Nmap + a célpontok adatait a standard bemenetről veszi át. + + + + + + (Véletlen célpontok kiválasztása) + -iR + + + A teljes Internetet felölelő megfigyeléseknél és más kutatásoknál + szükség lehet véletlenszerű célpontok kiválasztására. Az állomások száma + paraméterrel meghatározhatja, hogy az Nmap hány IP címet generáljon. + A nemkívánatos IP címek - privát, többesküldéses vagy ki nem osztott tartományok - + automatikusan kikerülnek a listából. Ha a 0 + paramétert adja meg, akkor a címek generálása a végtelenségig folytatódik. + Vegye figyelembe, hogy néhány rendszergazdát zavarja, ha a hálózatát + felhatalmazás nélkül vizsgálja és panasszal élhet. Így ezt a paramétert + kizárólag saját felelősségére használja. Ha egy esős délutánon unatkozik, + próbálja ki ezt a parancsot: nmap -sS -PS80 -iR 0 -p80. + Így véletlenszerűen keresgélhet eddig ismeretlen webkiszolgálók után. + + + + + + (Állomások/hálózatok kihagyása) + --exclude + + + Azoknak a célpontoknak a vesszővel elválasztott listája, melyeket + ki akar hagyni a letapogatásból, még ha tagjai is a megadott hálózati + tartománynak. Az átadott lista a megszokott Nmap szintaxist követi, + tehát szerepelhet benne állomásnév, CIDR tartomány, oktett tartomány stb. + Ez akkor lehet hasznos, ha a letapogatni kívánt hálózat olyan kritikus + kiszolgálókat vagy rendszereket tartalmaz, melyek nem várt módon reagálnak + a kapuletapogatásra, illetve ha a letapogatni kívánt hálózat egy részét + más valaki üzemelteti. + + + + + + (A kivételek listája) + --excludefile + + + Ez ugyanazt a funkciót valósítja meg, mint az + paraméter, csak a kivételeket nem a parancssorban adja át, hanem a + fájlnév által meghatározott fájlban. A fájl + formátumára ugyanazok érvényesek, mint a célpontokat tartalmazó fájlra. + + + + + + + Állomás felderítése + + Bármilyen hálózati felderítési feladat legelső lépése, hogy a (sokszor) + hatalmas IP tartományt leszűkítsük egy olyan listára, mely csak az aktív vagy + érdekes állomásokat tartalmazza. Minden IP cím minden egyes kapujának letapogatása + lassú és általában szükségtelen is. Természetesen hogy mi tesz egy állomást + érdekessé, az nagymértékben függ a letapogatás céljától. Rendszergazdák + érdeklődhetnek csak egy bizonyos szolgáltatást futtató állomások után, míg egy + biztonsági ellenőrzésnél érdekes lehet minden berendezés, amelynek IP címe van. + Egy rendszergazdának elegendő lehet egy ICMP visszhang alapú letapogatás, + hogy felderítse a hálózatán lévő állomásokat, míg egy behatolási teszt során + próbák ezreinek különféle csoportjait is be kell vetni egy tűzfal korlátozásainak + megkerülésére. + + Mivel a felderítési igények teljesen különbözőek, ezért az Nmap a + használt technikák testreszabásához rengeteg lehetőséget kínál. Az állomás + felderítést sokan egyszerűen csak PING letapogatásnak hívják, pedig ez sokkal + több, mint egyszerű ICMP visszhang kérés küldése (erre kiválóan alkalmasa a + széles körben elterjedt ping eszköz. + A felhasználók teljesen kihagyhatják a visszahang kérést a lista alapú + letapogatással (), a visszhang tiltásával () + vagy a hálózathoz kötött, több kapura kiterjedő TCP SYN/ACK, UDP, és ICMP próbák + tetszőleges kombinációjával. Ezeknek a próbáknak a célja olyan válaszok kérése, + melyek megmutatják, hogy egy adott IP cím aktív-e (használja-e valamely állomás, + vagy hálózati eszköz). A legtöbb hálózaton egy megadott időben az IP címeknek + csak egy kis része aktív. Ez különösen igaz az RFC1918 által meghatározott + privát címekre, mint például a 10.0.0.0/8 hálózat. Ebbe a hálózatba 16 millió + IP cím tartozik, mégis a legtöbbször olyan vállalatok használják, melyeknek + nincs 1000-nél több gépük. Az állomás felderítéssel ezek az elszórt gépek + megtalálhatók az IP címek tengerében. + + Ha nincs megadva állomás felderítési paraméter, az Nmap + minden egyes célpont felé elküld egy TCP ACK csomagot a 80-as + kapura, valamint elküld egy ICMP visszhang kérést is. Kivételt + képez, ha egy helyi ethernet hálózaton végez ARP letapogatást. + Ha nem rendszergazdaként futtatja a programoz, akkor az ACK + helyett egy SYN csomag kerül elküldésre a + connect() rendszerhíváson + keresztül. Ezek az alapértékek ugyanazok, mintha a + paramétereket használta volna. A helyi + hálózatokon ezek az állomásfelderítési próbák általában elegendőek, + azonban egy biztonsági ellenőrzés során javasolt egy sokkal + átfogóbb felderítést végezni. + + A paraméterek (melyekkel a visszhang típusok + adhatók meg) kombinálhatóak. Egy szigorú tűzfalon való átjutás esélyét + növelheti, ha többféle próbát indít el különböző TCP kapukra, különféle + jelzőbeállításokkal és ICMP kódokkal. Figyeljen arra, hogy a helyi ethernet + hálózaton lévő célpontok esetén akkor is végrehajtódik egy ARP felderítés + (), ha megad más paramétert, mivel + ez szinte minden esetben gyorsabb és sokkal hatékonyabb. + + Alaphelyzeben az Nmap elvégez egy állomás felderítést és ezután kezdi + el az élő állomásoikon a kapuk letapogatását. Ez akkor is igaz, ha egy nem + alapértelmezett állomás felderítési módot határozott meg, mint például az + UDP próbák (). Olvassa el a paraméter + leírását, ha további információkra kiváncsi arról, hogyan hajthat végre + csak állomás felderítést. Használja a + paramétert, ha ki akarja hagyni az állomás felderítési lépést és egyből a + célpontok kapuletapogatására akar lépni. A következő paraméterekkel + vezérelheti az állomások felderítését: + + + + + + (Lista Letapogatás) + -sL + Lista letapogatás + + + A lista letapogatás az állomás felderítés legprimitívebb módja. + Egyszerűen kilistázza a megadott hálózat(ok)on található állomásokat anélkül, + hogy bármilyen adatcsomagot küldene. Alaphelyzeben az Nmap még ekkor is + elvégez egy fordított DNS lekérdezést azért, hogy megkapja az állomások + neveit. Gyakran meglepően sok információval szolgálhat egy egyszerű + állomásnév is. Például az fw.chi egy + vállalat Chicagoban lévő tűzfalának a neve. A lista végén az Nmap megadja az + IP címek számát is. A lista letapogatással könnyen ellenőrizhető, hogy + a célba vett állomásokhoz a megfeleő IP címek állnak-e rendelkezésre. + Ha az állomás esetleg ismeretlen tartománynevet ad vissza, érdemes + további ellenőrzést is elvégezni, nehogy véletlenül más hálózatot + tapogasson le. + + Mivel az alapötlet az, hogy egyszerűen nyomtassunk egy listát + a célpontokról, ezért a magasabb szintű funkciók, mint például a + kapuletapogatás, az operációs rendszer érzékelése vagy a visszhang + letapogatás nem kombinálható ezzel a funkcióval. Ha szeretné letiltani + a visszhang letapogatást mialatt magasabb szintű funkciókat használ, + olvassa el a paraméter leírását. + + + + + + (Visszhang Letapogatás) + + Ezzel a paraméterrel arra utasítja az Nmap programot, hogy + kizárólag-sPvisszhang letapogatás + visszhang letapogatást (állomás felderítést) hajtson végre, majd nyomtasson + egy listát azokról az állomásokról, amelyek válaszoltak a letapogatásra. + Semmilyen további teszt (mint például kapuletapogatás, vagy operációs + rendszer felderítése) nem kerül végrehajtásra. Ez a lépés némileg tolakodóbb, + mint a lista letapogatás és gyakran ugyanolyan céllal használják. Ez + lehetőséget biztosít a célhálózat finom felderítésére anélkül, hogy + túlságosan felkeltené a figyelmet. Egy támadó számára sokkal hasznosabb + azt tudni, hogy hány élő állomás van a célhálózatban, mint a lista letapogatás + által visszaadott állomásneveknevek és IP címek halmaza. + + A rendszergazdák szintén hasznosnak fogják találni ezt a + paramétert. Egyszerűen felderíthető vele a hálózatban elérhető állomások + száma vagy ellenőrizhető egy kiszolgáló elérhetősége. Gyakran nevezik + ezt a funkciót visszhang pásztázásnak is és sokkal megbízhatóbb, mint + az üzenetszórási címre küldött viszhang kérés, mivel sok állomás nem + válaszol az üzenetszórási címre küldött kérésre. + + Az paraméter alapesetben egy ICMP visszhang + kérést küld, valamint egy TCP csomagot a 80-as kapura. Ha a parancsot + nem rendszergazdaként adjuk ki, csak egy SYN csomag kerül elküldésre + (a connect() rendszerhívásonkeresztül) + a célállomás 80-as kapujára. Ha rendszergazdaként a helyi hálózaton + próbál állomásokat letapogatni, akkor egy ARP kérés () + kerül elküldésres, hacsak nem adja meg a + paramétert. A nagyobb rugalmasság érdekében az + paraméter kombinálható bármelyik felderítési próbával ( + paraméterek, kivéve a paramétert). Ha ezeket a + próbatípusokat használja, akkor az alapértelemzett próbák (ACK csomag + és visszhang kérés) kimaradnak. Ha az Nmap programot futtató gép és a + célállomás között szigorú szabályokkal működő tűzfal találhat, akkor + ezeknek a fejlett technikáknak az alkalmazása mindenképpen ajánlott. + Máskülönben kimaradhatnak állomások, ha a tűzfal eldobálja a próbákat, + vagy a célállomások válaszait. + + + + + + + + (Nincs visszhang) + -PN + + + Ezzel a paraméterrel az Nmap állomás felderítési lépése teljesen + elhagyható. Normál esetben az Nmap ezt a lépést használja az aktív + állomások meghatározására a további letapogatás előtt. Alapesetben az Nmap + az erőteljesebb próbákat (kapuk letapogatása, változat érzékelés, operációs + rebdszer érzékelése) csak azokon az állomásokon hajtja végre, amelyeket + aktívnak érzékelt. Ha a paraméterrel letiltja a + felderítési funkciót, az Nmap valamennyi megadott + célpont IP címén végrehajtja a kért letapogatási műveleteket. Tehát ha + egy B osztályú címtartományt adott meg célpontként (/16), akkor mind a + 65,536 IP cím letapogatásra kerül. Csakúgy, mint a lista letapogatásnál, + a megfelelő állomás felderítési lépés kimarad, viszont a célpontok listájának + kinyomtatása és a kilépés helyett az Nmap folytatja a kért műveletek + végrehajtását és feltételezi, hogy valamennyi célpont aktív. A helyi + ethernet hálózaton lévő gépeken az ARP letapogatás ekkor is végrehajtásra + kerül (hacsak a paramétert meg nem adja), + mivel a további letapogatásokhoz az Nmap-nek szüksége van a MAC címre. + Ennek a paraméternek a régi meghatározása a volt, + de átnevezésre került, hogy megakadályozható legyen a protokoll visszhang + paraméterével való keveredése. + + + + + + (TCP SYN visszhang) + -PS + SYN visszhang + + + + Ez a paraméter egy beállított SYN zászlójú üres TCP csomagot küld + a célpont felé. Az alapértelmezett célkapu a 80-as (ez fordítási időben + megváltoztatható az nmap.h) fájlban + a DEFAULT_TCP_PROBE_PORT_SPEC paraméterrel. Futásidőben is megadható más + célkapu paraméterként. A szintaxis ugyanaz, mint a + paraméternél, kivéve hogy a kaputípus megadása - mint például a T: - + nem engedélyezett. Néhány példa: és + . Figyeljen arra, hogy a + paraméter és a kapulista között nem lehet szóköz. + Ha több kaput is megadott, a próbák párhuzamosan kerülnek végrehajtásra. + + A beállított SYN zászló azt sugallja a célpontnak, hogy Ön kapcsolatot + kíván kezdeményezni. Normál helyzetben a célkapu zárva lesz és a célpont egy + RST (reset) csomagot küld vissza. Ha a kapu nyitva van, a célpont végrehajtja + a 3 lépéses kapcsolatfelépítés második lépését és egy SYN/ACK TCP csomagot + küld vissza. Ezután az Nmap-et futtató állomás egy RST csomag küldésével + lebontja az éppen felépülő kapcsolatot ahelyett, hogy egy ACK csomag + küldésével teljesen felépítené a kapcsolatot. Az RST csomagot nem az Nmap + küldi, hanem a programot futtató állomás rendszermagja, válaszul a + nem várt SYN/ACK csomagra. + + Az Nmap nem foglalkozik azzal, hogy a kapu nyitott vagy zárt. + Mind az RST mind a SYN/ACK válasz azt jelzi, hogy a célállomás elérhető + és válaszol. + + Unix rendszereken kizárólag a kiemelt root + felhasználó képes nyers TCP csomagok küldésre és fogadására. Normál + felhasználók esetén egy kerülő megoldást alkalmazunk a connect() + rendszerhívás használatakor, minden egyes kapu esetén. Ennek során egy + kapcsolat felépítését kezdeményező SYN csomagot küldünk a célpont felé. + Ha a connect() sikeresen vagy az ECONNREFUSED hibával tér vissza, akkor + az alsóbb TCP verem vagy SYN/ACK vagy RST csomagot fogadott. Ilyenkor + a célállomás elérhetőnek lesz jelölve. Ha a kapcsolódási kísérlet az + időzítés lejártáig függőben marad, a célállomás elérhetetlenként lesz + jelölve. Ugyanez a kerülőút kerül alkalmazásra az IPv6 kapcsolatok esetén + is, mivel jelenleg az Nmap nem rendelkezik nyers IPv6 csomagok összeállításának + képességével. + + + + + + + (TCP ACK Visszhang) + -PA + ACK visszhang + + + A TCP ACK visszhang próba meglehetősen hasonlít az előzőekben tárgyalt + SYN visszhang próbához. A különbség annyi, hogy a SYN zászló helyett az + ACK zászló a beállított állapotú. Az ACK csomag jelzi, hogy a csomagot + küldő fél készen áll az adatok fogadására a felépített kapcsolaton keresztül. + Azonban jelen esetben nincs ilyen létező kapcsolat. A célállomások ilyenkor + szinte minden esetben egy RST csomagot küldenek, felfedvén ezzel a jelenlétüket. + + + A paraméter a SYN próbához hasonlóan ugyanazt + az alapértelmezett kaput használja és ugyanolyan formátumban adható át + neki más célkapuk listája is. Ha nem kiemelt felhasználó próbálja használni + ezt a funkciót, vagy a célpont IPv6 formátumú, akkor az előzőekben már + tárgyalt kerülőút kerül alkalmazásra. Azonban jelen esetben ez nem + tökéletes, mivel a connect() valójában SYN csomagot küld, nem ACK csomagot. + + Azért található meg mind a SYN, mind az ACK próba, hogy a lehető + legjobban megnöveljük az esélyét a tűzfalak megkerülésének. A legtöbb + rendszergazda úgy állítja be az útválasztóit és más egyszerű tűzfalait, + hogy a nyilvános szolgáltatások felé tartó forgalom (pl. céges web- vagy + levelező kiszolgáló) kivételével minden bejövő SYN csomagot dobjon el. + Ez megakadályozza a bejövő forgalmat a céges hálózatba, viszont a felhasználók + részére zavartalan kimenő forgalmat biztosít az Internet felé. Ez a + nem-állapottartó megközelítés kevesebb erőforrást igényel a tűzfalakon/útválasztókon + és széles körben támogatott. A Linux Netfilter/iptables tűzfalprogramja + a paraméteren keresztül valósítja meg ezt a nem-állapottartó + működést. Az ilyen állapot nélküli tűzfalszabályok a SYN visszhang próbákat + () nagy valószínűséggel elutasítják, ha azok zárt + kaput céloznak. Ilyenkor az ACK próba sikeresen vágja át magát ezeken a + szabályokon. + + Más általánosan használt tűzfalak állapottartó szabályok használatával + utasítják el a nem várt csomagokat. Kezdetben ez a jellemző csak a felső + kategóriás tűzfalakban volt megtalálható, de az utóbbi években egyre inkább + elterjed az alsóbb kategóriákban is. A Linux Netfilter/iptables rendszere + a paraméteren keresztül valósítja ezt meg, melyben + a csomagokat a kapcsolat állapota alapján kategorizálja. Az ilyen rendszerek + ellen a SYN próbák hatásosabbak, mivel a nem várt ACK csomagokat hamisnak + tekintik és eldobják. Ezt a zavart úgy lehet elhárítani, ha mind a + SYN, mind ACK próbát végrehajtjuk a és + paraméterek megadásával. + + + + + + (UDP Visszhang) + -PU + UDP visszhang + + + + Egy újabb állomás felderítési módszer az UDP visszhang próba, + mely során egy üres (hacsak nem adja meg a + paramétert) UDP csomagot küldünk a megadott kapu felé. A kapulista formátuma + megegyezik az előző pontokban tárgyalt és + paraméterekével. Ha nem adunk meg kaput, akkor + alapértelmezettként a 31338-as kapu kerül használatra. Ez fordítási időben + megváltoztatható az nmap.h állomány + DEFAULT_UDP_PROBE_PORT_SPEC paraméterén keresztül. Ennél a letapogatásnál + nem kifejezetten jó, ha egy nyitott kapuval próbálkozunk, ezért választunk + egy magas számú, nagy valószínűséggel nem használt kaput. + + Ha a célponton egy zárt kaput tapogatunk le az UDP próbával, a + célállomásból kicsalhatunk egy kapu nem elérhető (port unreachable) ICMP + válaszcsomagot. Ez jelzi az Nmap-nek, hogy a célpont él és elérhető. + Bármilyen más ICMP hibaüzenet (pl. állomás/hálózat nem elérhető, TTL + élettartam lejárt) azt jelzi, hogy a célállomás nem érhető el. A válasz + hiányát szintén így értelmezi a program. Ha nyitott kaput érünk el, a + legtöbb szolgáltatás figyelmen kívül hagyja az üres csomagot és nem küld + vissza semmilyen választ. Ezért használjuk alapértelmezésként a 31338-as + kaput, melyet nagy valószínűséggel nem használ semmi. Néhány szolgáltatás, + mint például a chargen válaszol az üres csomagokra is, mely így szintén + azt jelzi, hogy a célpont elérhető. + + A legfőbb előnye ennek a letapogatásnak, hogy megkerüli azokat a + szűrőket és útválasztókat, melyek kizárólag a TCP forgalmat figyelik. + Például a program készítőjének volt egy Linksys BEFW11S4 vezeték nélküli + útválasztója, mely a külső csatolóján az összes TCP kaput szűrte. Azonban + az UDP próbák ellen védtelen volt. + + + + + + + ; + ; + (ICMP Visszhang Típusok) + -PE + -PP + -PM + ICMP visszhang + + + + Az előzőekben tárgyalt szokatlan TCP és UDP állomás felderítési + típusok mellett az Nmap képes a széles körben elterjedt + ping program által használt + csomagok küldésére is. Az Nmap egy 8-as típusú (visszhang kérés) ICMP + csomagot küld a cél IP címre és egy 0-ás típusú (visszhang válasz) csomagot + vár vissza az elérhető állomásoktól. A hálózati felderítők bánatára + a legtöbb állomás és tűzfal blokkolja ezeket a csomagokat ahelyett, hogy + az RFC + 1122 leírás szerint válaszolna rájuk. Emiatt a kizárólag ICMP + alapú letapogatások ritkán adnak megbízható eredményt ismeretlen célpontok + felderítésekor. Azonban belső hálózatokat felügyelő rendszergazdák + számára praktikus és hasznos eszköz lehet. Használja a + paramétert a visszhang kérés engedélyezésére. + + Noha a visszhang kérés a szabványos ICMP kérés, az Nmap ennél tovább + megy. Az ICMP szabvány (RFC + 792) emellett meghatároz még időbélyeg kérést (13-as kód), + információ kérést (15-ös kód) és címmaszk kérést (17-es kód) is. Noha + látszólag ezek a kérések arra szolgálnak, hogy információkat szerezzünk + (például címmaszk vagy időbélyeg), de emellett könnyen használhatóak + állomások felderítésére is. Amelyik rendszer válaszol az élő és elérhető. + Az Nmap jelenleg nem támogatja az információ kérés csomagot, mivel ezt + nem támogatják széles körben. Az RFC 1122 ragaszkodik ahhoz, hogy + az állomásoknak nem kellene támogatniuk ezeket az üzeneteket. + Az időbélyeg és a címmaszk kérések a és a + paramétereken keresztül küldhetőek el. Az időbélyeg válasz (14-es ICMP kód) + vagy a címmaszk válasz (18-as kód) elárulja, hogy az állomás elérhető. + Ezek a kérések különösen akkor válnak értékessé, ha a rendszergazda + letiltotta a visszhang kéréseket, miközben elfelejtett, hogy más ICMP + kérések is használhatóak erre a célra. + + + + + + + (IP Protokoll Visszhang) + -PO + IP Protokoll visszhang + + + + Egy másik állomás federítési módszer az IPProto visszhang, amely + az IP fejléc protokoll mezőjében megadott típusú IP csomagokat küld el. + A protokoll lista ugyanolyan formátumú, mint az előzőekben tárgyal TCP + és UDP felderítési paramétereknél használ kapulista. Ha nincs megadva + protokoll, akkor alapértelmezettként ICMP (1-es protokoll), IGMP (2-es protokoll + és IP-in-IP (4-es protokoll) csomagok lesznek elküldve. Az alapértelmezett + protokollok fordítási időben adhatók meg az nmap.h + állomány DEFAULT_PROTO_PROBE_PORT_SPEC változójában. Figyeljen arra, hogy + az ICMP, IGMP, TCP (6-os protokoll és UDP (17-es protokoll) protokollok + esetén a csomagok további fejlécekkel kerülnek elküldésre, míg más + protokolloknál az IP fejléc mögött más adat nem kerül elküldésre (kivéve, + ha a paramétert is megadta). + + Ez a felderítési metódus kétféle választ vár. Vagy az elküldött + protokollnak megfelelő válasz érkezik, vagy egy 'Protocol Unreachable' + ICMP üzenet, mely szerint az állomás nem támogatja az adott protokollt + (mellyel el is árulta a létezését). + + + + + + (ARP Visszhang) + -PR + ARP visszhang + + + + Az Nmap egyik leggyakoribb használata a helyi ethernet hálózat + letapogatása. A legtöbb helyi hálózaton, különösen melyek az áldott + RFC1918 alapú privát címtartományt használják, az IP címek legnagyobb + része általában nincs használatban. Amikor az Nmap nyers IP csomagot + próbál küldeni (például egy ICMP visszhang kérést), az operációs + rendszernek meg kell határoznia a célpont IP címe alapján a hardvercímet + (ARP) azért, hogy az ethernet keretet megfelelően tudja címezni. Ez + gyakran lassú és problémás, mivel az operációs rendszereket nem úgy + tervezik, hogy rövid ídő alatt több millió ARP kérést küldjenek el + elérhetetlen állomások felé. + + Az ARP letapogatásnál az ARP kéréseket az Nmap program kifinomult + algoritmusára bízzuk. Ha itt válasz érkezik, akkor már nem szükséges + az IP alapú visszhang kérésekkel foglalkozni, mivel a célpont elérhető. + Ezért az ARP letapogatás sokkal gyorsabb és megbízhatóbb, mint az IP + alapú letapogatások. Ezért ezt a letapogatást az Nmap alaphelyzetben + elvégzi, ha úgy érzékeli, hogy a célpont a helyi ethernet hálózaton + található. A helyi hálózaton az Nmap még akkor is az ARP letapogatást + fogja végrehajtani, ha más visszhang alapú letapogatást adtunk meg + (mint például a vagy a ). Ha + egyáltalán nem kívánja használni az ARP letapogatást, adja meg a + paramétert. + + + + + + + (Útvonal nyomkövetése az állomáshoz) + --traceroute + Útvonal nyomkövetése az állomáshoz + + + + +Az útvonal nyomkövetése a letapogatás után történik meg, a letapogatás eredményének +figyelembe vételével. A nyomkövetéshez a célponton elérhető kapuk és protokollok +közül azok lesznek felhasználva, melyekkel a célpont nagy valószínűséggel elérhető. +A nyomkövetés a kapcsolódási letapogatás (connect (-sT)) és az üresjárati letapogatás +(idle (-sI)) kivételével minden letapogatási típussal működőképes. Minden +nyomkövetés az Nmap dinamikus időzítési modelljét használja és párhuzamosan kérül +végrehajtásra. + + + +A nyomkövetéskor a csomagokat alacsony élettartam (time-to-live (TTL)) értékkel +küldjük el, hogy az útvonalon lévő közbenső állomásokból az Időzítés letelt (Time +Exceeded) ICMP hibaüzenetet tudjunk kicsalni. Alapesetben a nyomkövetésnél TTL=1 +értékkel kezdünk és addig növeljük a TTL értékét, amíg el nem érjük a célállomást. +Az Nmap nyomkövetése magas TTL értékkel indít és egészen nuuláig csökken. A visszafelé +történő kereséssel és egy ügyes gyorstároló algoritmussal az Nmap felgyorsítja a +több állomáson keresztül végzett nyomkövetést. Átlagban az Nmap 5-10 csomaggal +kevesebbet küld el állomásonként, de ez nagyban függ a hálózat állapotától. Ha +csak egy alhálózat letapogatása történik (pl. 192.168.0.0/24), az Nmap a legtöbb +állomáshoz valószínűleg csak egy csomagot küld. + + + + + + + (Állomás- és kapuállapot oka) + --reason + Állomás- és kapuállapot oka + + + + +Megjeleníti, hogy az egyes állomások és kapuk miért lettek a megadott állapotúnak +jelölve. Ez a paraméter megjeleníti annak a csomagnak a típusát, amely az állomás +vagy kapu állapotát meghatározta. Például egy RST +csomag egy zárt kapuról vagy egy visszhang válasz egy működő állomásról. Az Nmap +által szolgáltatott információk a letapogatás vagy a visszhang típusától függenek. +A SYN letapogatás és a SYN visszhang ( és ) +eredményei például nagyon részletesek, míg a TCP kapcsolódási letapogatás és +visszhang () eredményei korlátozottak a connect +rendszerhívás megvalósítása miatt. Ezt a jellemzőt a hibakeresési paraméter +() automatikusan engedélyezi. Az eredmények egy XML fájlban +tárolódnak akkor is, ha ezt a paramétert nem adja meg. + + + + + + + + (Nincs DNS feloldás) + -n + + + + Utasítja az Nmap programot, hogy soha ne + végezzen fordított DNS feloldást az aktívnak talált IP címeken. Mivel a + DNS még az Nmap beépített párhuzamos DNS feloldójával is lassú lehet, + ennek a paraméternek a megadása felgyorsíthatja a letapogatást. + + + + + + (DNS feloldás minden célpontra) + -R + + + Utasítja az Nmap programot, hogy mindig végezzen + fordított DNS feloldást a célpontok IP címeire. Normál helyzetben csak + az elérhető (online) állomásokon történik fordított DNS feloldás. + + + + + + (Használja a rendszer DNS feloldóját) + --system-dns + + + + Alaphelyzetben az Nmap a névfeloldást maga végzi úgy, hogy a + rendszeren beállított névkiszolgáló felé közvetlenül küldi el a kéréseket + és vár a válaszra. A teljesítmény javítása érdekében több kérés kerül + elküldésre párhuzamosan (gyakran többszáz). A rendszer DNS feloldójának + használatához adja meg ezt a paramétert (egyszerre egy IP a getnameinfo() + rendszerhíváson keresztül). Ez sokkal lassabb és ritkán hasznos, kivéve + ha valamilyen hibát talál az Nmap párhuzamos feloldójában (kérjük jelezze, + ha így van). Az IPv6 letapogatásokhoz mindig a rendszer feloldóját + használja a program. + + + + + + (A fordított DNS feloldáshoz használt kiszolgálók) + --dns-servers + + + + Alaphelyzetben az Nmap a DNS kiszolgálók adatait a resolv.conf + fájlból (UNIX) vagy a regisztrációs adatbázisból (Windows) próbálja meg + kinyerni. Ezzel a paraméterrel Ön más kiszolgálókat is megadhat. A program + nem veszi figyelembe ezt a paramétert, ha a + paramétert használja, vagy IPv6 letapogatást hajt végre. Több DNS + kiszolgáló használat gyakran felgyorsítja a feloldást, különösen ha a + célpont IP tartományának meghatalmazott kiszolgálóját használja. Ezzel + a paraméterrel fokozható a rejtőzködés is, mivel a kérések tküldhetők + több rekurzív DNS kiszolgálón is. + + Szintén hasznos lehet ez a paraméter a magánhálózatok letapogatásakor. + Néha csak néhány névkiszolgáló ad vissza megfelelő fordított DNS információkat + és nem mindig tudhatja, hogy ezek hol vannak. Letapogathatja a hálózatot + az 53-as kapura keresve (esetleg változat érzékeléssel együtt), ezután + kipróbálhatja a lista alapú letapogatást () egyesével + megadva a névkiszolgálókat a paraméterben + addig, amíg meg nem találja a megfelelőt. + + + + + + + + + Kapuletapogatási alapok + + Bár az Nmap funkciói folyamatosan bővültek az évek folyamán, + kezdetben még csak egy hatékony kapuletapogató volt és ez is maradt + a fő funkciója. Az egyszerű nmap + célpont parancs kiadásával több, + mint 1660 TCP kaput tapogathatunk le a célpont + gépen. Míg a legtöbb kapuletapogató hagyományosan csak nyitott vagy + zárt csoportba sorolja a kapukat, az Nmap sokkal finomabban dolgozik. + A kapukat hat csoportba sorolja: nyitott, + zárt, szűrt, + szűretlen, + nyitott|szűrt, vagy + zárt|szűrt. + +Ezek nem a kapu valódi állapotát jelzik, hanem azt, hogy az Nmap hogyan látja +őket. Például a célponttal egyező hálózatból induló Nmap letapogatás mutathatja a +135/tcp kaput nyitottnak, míg ugyanabban az időben, ugyanolyan paraméterekkel az +Internet felől a letapogatás mutathatja a kaput szűrt állapotúnak. + +Az Nmap által felimert hat kapuállapot + + nyitott + Egy alkalmazás ezen a kapun aktívan fogadja a TCP kapcsolatokat + vagy az UDP csomagokat. A kapuletapogatás elsődleges célja ezeknek a felderítése. + Biztonság-tudatos emberek tudják, hogy minden nyitott kapu sugárút egy támadáshoz. + A támadók és a tesztelők szeretnék kihasználni ezeket a nyitott kapukat, míg a + rendszergazdák megpróbálják lezárni, vagy tűzfallal védeni őket anélkül, hogy + a jogosult felhasználókat akadályoznák a használatban. A nyitott kapuk nem csak + biztonsági szempontból lehetnek érdekesek, mivel valamilyen hálózaton keresztül + elérhető szolgáltatást mutatnak. + + zárt + + Egy zárt kapu elérhető (fogadja az Nmap próbacsomagjait és + válaszol rájuk), de nem fut rajta semmilyen alkalmazás. Segítséget nyújtanak + annak meghatározásában, hogy az IP címhez tartozó állomás működik (állomás felderítés, + vagy visszhang letapogatás), valamint felhasználhatók az operációs rendszer + meghatározására is. Mivel a zárt kapuk elérhetők, érdemes lehet őket később + ismét letapogatni, hátha menet közben nyitottá válnak. A rendszergazdáknak + érdemes figyelni arra, hogy az ilyen kapukat tűzfallal blokkolják. Ezután ezek + a kapuk szűrt állapotot fognak mutatni, ahogy azt a következő rész is mutatja. + + szűrt + + Az Nmap nem tudja meghatározni, hogy a kapu nyitott-e, mert egy + csomagszűrő megakadályozza, hogy a próbák eljussanak a kapuig. A szűrés történhet + külön tűzfallal, útválasztó szabályokkal vagy az állomásra telepített tűzfal + programmal. Ezek a kapuk zavarják a támadókat, mivel nagyon kevés információt + közölnek. Néhány esetben visszaküldhetnek ICMP hibaüzeneteket (pl. ICMP 3-as típus + 13-as kód: a célpont nem érhető el, a kommunikáció tiltott), de a legáltalánosabb, + hogy a szűrők egyszerűen eldobálják a próbacsomagokat. Ez arra készteti az Nmap + programot, hogy néhányszor újra megpróbálja a kapcsolódást, hogy kiszűrhetőek + legyenek a hálózati hiba miatti csomagvesztések. Ez viszont drámai módon lelassítja + a letapogatást. + + szűretlen + A szűretlen állapot azt jelenti, hogy a kapu elérhető, de az + Nmap nem tudja meghatározni, hogy zárt vagy nyitott. Csak a tűzfal szabályok + feltérképezésére használt ACK letapogatás sorolja a kapukat ebbe a csoportba. + A szűretlen kapuk ismételt letapogatása más módszerekkel (pl. Window, SYN vagy + FIN letapogatás) segíthet a kapu állapotának pontosabb meghatározásában. + + nyitott|szűrt + Az Nmap akkor sorolja a kapukat ebbe a csoportba, ha nem tudja + meghatározni, hogy nyitott vagy szűrt. Ez olyan letapogatási típusoknál fordul elő, + amelynél a nyitott kapu nem ad választ. A válasz hiánya jelentheti azt is, hogy egy + csomagszűrő eldobta a próbacsomagot vagy a visszaadott választ. Így az Nmap nem + tudja bioztosan meghatározni, hogy a kapu nyitott vagy szűrt. Az UDP, az IP protokoll, + a FIN, a Null és az Xmas letapogatás minősíti így a kapukat. + + zárt|szűrt + Ezt az állapotot akkor adja vissza az Nmap, amikor nem tudja meghatározni, + hogy a kapu zárt vagy szűrt állapotú. Csak az IP ID üresjárati letapogatásnál + használt. + + + + + Kapuletapogatási technikák + +Mint kezdő autószerelő, több órás küzdelmet folytattam azért, hogy a +munkához szükséges legelemibb szerszámok (kalapács, ragasztószalag, csavarkulcs stb.) +kéznél legyenek. Miután szánalmas kudarcot vallottam, elvontattam a tragacsomat +egy igazi szerelőhöz. Ő szintén sokáig kotorászott egy óriási szerszámos ládában +de végül előhúzta a megfelelő ketyerét, amivel aztán könnyedén elvégezte a munkát. +A kapuletapogatás művészete is hasonló. A szakértők ismerik a letapogatási technikák +százait és minden feladathoz a megfelelőt (vagy több kombinációját) használják. +Másfelől viszont a gyakorlatlan felhasználók és a szkriptkölykök minden feladathoz +az alap SYN letapogatást használják. Mivel az Nmap ingyenesen elérhető, így a +mesteri letapogatás egyetlen határa a tudás. Így természetesen legyőzi az +autóipart, ahol már annak a meghatározásához is elég sok szaktudás kell, hogy +miféle szerszámra lesz szükség. Ráadásul ezt még meg is kell venni egy rakás +pénzért. + +A legtöbb letapogatási technikát kizárólag kiemelt felhasználók érik el. +Ez azért van, mert ezek a technikák nyers csomagok küldésével dolgoznak, melyhez +rendszergazdai hozzáférés szükséges. Windows rendszereken is ajánlatos rendszergazda +szintű felhasználóként használni a programot még akkor is, ha a WinPcap programkönyvtár +elérhető az operációs rendszerhez. A rendszergazda szintű használat az Nmap 1997-es +megjelenésekor egy komoly korlátozás volt, mivel akkoriban a legtöbb felhasználónak +csak korlátozott parancshéj hozzáférése volt. Ma már más a helyzet. A számítógépek +olcsóbbak, sokkal több ember kapcsolódik folyamatosan az Internetre és az asztali +Unix rendszerek (mint például a Linux és a Mac OS X) is jobban elterjedtek. +Ma már elérhető az Nmap Windows környezetben is, így még több gépen használható. +Mindezeknek köszönhetően egyre kevesebb helyen kell az Nmap programot korlátozott +parancshéj alatt futtani. Ez jó dolog, mivel a kiemelt felhasználóknak nyújtott +szolgáltatások teszik a programot erőteljessé és rugalmassá. + +Bár az Nmap a lehető legpontosabb eredményre törekszik, nem szabad megfeledkezni +arról, hogy minden eredménye a célállomás (vagy egy előtte lévő tűzfal) által +visszaküldött csomagokon alapul. Ezek lehetnek megbízhatatlan állomások, melyek +szándékosan megtévesztő válaszokat küldenek. Meglehetősen elterjedtek az olyan +állomások, melyek az Nmap próbáira nem úgy válaszolnak, ahogyan azt az RFC szabványok +meghatározzák. A FIN, NULL és Xmas letapogatások különösen érzékenyek az ilyen +problémákra. Ezek a problémák erősen kötődnek egyes letapogatási típusokhoz, így +a megfelelő letapogatások leírásainál részletesen is foglalkozunk velük. + +Ebben a szakaszban található az Nmap által támogatott tucatnyi letapogatási +technika leírása. Egyszerre csak egyféle technika használható. Kivételt képez az +UDP letapogatás (), mely bármelyik TCP letapogatással kombinálható. +A letapogatások típusának megadása a következő formátumban lehetséges: , +ahol a C a letapogatás nevének egy kiemelt betűje, +általában az első. Az egyetlen kivétel a sokak által utált FTP ugráló letapogatás +(). Alapértelmezetten az Nmap egy SYN letapogatást hajt végre. +Kivétel, ha a felhasználónak nincs megfelelő jogosultsága nyers csomagok küldésére, +vagy a célpont címe IPv6 formátumú. Ilyenkor a hagyományos connect() letapogatás +történik. Az ebben a szakaszban felsorolt letapogatásokat csak kiemelt felhasználók +hajthatják végre. Normál felhasználók csak a connect() és az FTP ugráló letapogatásra +jogosultak. + + + + + (TCP SYN letapogatás) + -sS + SYN letapogatás + + + +A SYN letapogatás az alapértelmezett és a legelterjedtebb letapogatás, nem +véletlenül. Gyorsan végrehajtható, gyors hálózatokon másodpercenként több ezer kapu +lepróbálható anélkül, hogy tolakodó tűzfalak zavarnák a folyamatot. A SYN letapogatás +eléggé diszkrét és rejtett, mivel sosem fejeződik be a TCP kapcsolat felépítése. +Bármelyik megfelelő TCP veremmel működik, ellentétben a FIN/NULL/Xmas, a Maimon +vagy az üresjárati letapogatással, melyek erősen függnek az egyes operációs rendszerek +egyedi veremkialakításától. Szintén előnyös, hogy tisztán megkülönböztethetők +a nyitott, zárt +és szűrt kapuállapotok. + +Ezt a technikát gyakran nevezik félig nyitott letapogatásnak is, mivel sosem +jön létre egy teljes TCP kapcsolat. Egy SYN csomag elküldésével szimuláljuk egy +kapcsolat felépítését és várunk a válaszra. A SYN/ACK válasz jelzi, hogy a kapu +fogadja a kapcsolódást (nyitott), az RST (reset) pedig azt, hogy nem. Ha néhány +ismétlés után sem érkezik válasz, a kapu szűrt állapotúként lesz jelölve. Szintén ezt +a jelölést kapja, ha egy ICMP nem elérhető hibaüzenet (kód 3, típus 1, 2, 3, 9, 10 vagy 13) +érkezik. + + + + + + + (TCP connect letapogatás) + -sT + connect() letapogatás + + +Ha a SYN letapogatás nem érhető el, akkor a TCP connect() letapogatás válik +alapértelmezetté. Ez akkor történik meg, ha a felhasználónak nincs jogosultsága +nyers adatcsomagokkal dolgozni, vagy ha a célpont IPv6 címet használ. A nyers csomagok +használata helyett az Nmap átadja a célpont címét és a célkapu számát az operációs +rendszernek, hogy az építse fel a kapcsolatot a connect() +rendszerhívás segítségével. Ugyanezt a magas szintű rendszerhívást használják a +böngészők, a P2P kliensek és más hálózati alkalmazások is a kapcsolatok felépítéséhez. +Ez része a Berkeley Sockets API néven ismert programozási felületnek. Az Nmap ilyenkor +a nyers válaszcsomagok beolvasása helyett ezt a felületet használja az egyes kapcsolatok +állapotának lekérdezésére. + +Ha a SYN letapogatás elérhető, általában jobb azt választani. Az Nmap sokkal +jobban kézben tudja tartani a nyers csomagokat, mint a magasabb szintű connect() +rendszerhívást. A SYN letapogatás félig nyitott kapcsolataival ellentétben a rendszerhívás +teljesen felépíti a kapcsolatot a célponttal. Ez nem csak tovább tart, de több +adatcsomagra is van szükség ugyanannyi információ megszerzéséhez. Ráadásula célpont +naplózhatja is a kapcsolódást. Egy rendes behatolás érzékelő még jelezhet is, +bár a legtöbb gépen nincs ilyen riasztórendszer. Az átlagos Unix rendszereken a +legtöbb szolgáltatás bejegyzést készit a rendszernaplóba a kapcsolatról, amit +ráadásként még kiegészíthet egy hibaüzenettel is, ha a kapcsolatot adatküldés nélkül +azonnal megszakítjuk. Néhány szánalmas szolgáltatás ilyenkor összeomlik, bár ez +nem túl jellemző. Ha egy rendszergazda rengeteg, azonos helyről érkező kapcsolódást +lát a rendszernaplóban, azonnal tudni fogja, hogy connect() letapogatás áldozata lett. + + + + + + + (UDP letapogatások) +-sU +UDP letapogatás + + + +Bár a legismertebb Internetes szolgáltatások a TCP protokollt használják, +azért az UDP alapú +szolgáltatások is széles körben elterjedtek. A három legismertebb a DNS, az SNMP +és a DHCP (a használt kapuk: 53, 161/162 és 67/68). Mivel az UDP letapogatás általában +lassabb és sokkal bonyolultabb, mint a TCP, néhány biztonsági felülvizsgáló nem +is figyel ezekre a kapukra. Ez nagy hiba, mivel eléggé elterjedtek a kihasználható +UDP alapú szolgáltatások és a támadók bizonyosan nem hagyják figyelmen kívül ezeket. +Szerencsére az Nmap segít leltárba foglalni az UDP kapukat is. + +Az UDP letapogatás az paraméterrel indítható. Kombinálható +valamilyen TCP letapogatással, mint például a SYN letapogatás (), +így egyidőben mindkét protokoll ellenőrizhető. + +Az UDP letapogatás úgy működik, hogy egy üres (adat nélküli) UDP fejlécet +küldünk minden egyes célkapura. Ha ICMP "Kapu nem elérhető" hiba (3-as típus, 3-as kód) +érkezik vissza, a kapu zárt. Más típusú ICMP +"nem elérhető" hibák esetén (1, 2, 9, 10 vagy 13) a kapu szűrt. +Alkalmanként egy szolgáltatás valamilyen UDP csomagot küldhet vissza, ezzel jelezve, +hogy a kapu nyitott. Ha néhány megismételt próba +után sem érkezik válasz, a kapu jelölése nyitott|szűrt. +Ez azt jelenti, hogy a kapu lehet nyitott, vagy egy csomagszűrő blokkolja az átvitelt. +A szolgáltatások verzióletapogatása () segíthet elkülöníteni +a ténylegesen nyitott kapukat a szűrt kapuktól. + +Az UDP letapogatás legnagyobb kihívása a gyors végrehajtás. A nyitott és a +szűrt kapuk ritkán küldenek vissza valamilyen választ, arra kényszerítve az Nmap +programot, hogy az időzítés lejártáig várakozzon, majd megismételje a próbát azt +feltételezve, hogy a próba vagy a válasz elveszett. A zárt kapuk gyakran még nagyobb +problémát jelentenek. Ezek általában egy ICMP "Kapu nem elérhető" hibaüzenetet +küldenek vissza. De az RST csomagokkal ellentétben, melyeket a zárt TCP kapuk +küldenek vissza válaszként a SYN vagy a connect() letapogatásra, a legtöbb állomás +alapból korlátozza az elküldhető ICMP "Kapu nem elérhető" oüzenetek mennyiségét. +A Linux és a Solaris operációs rendszerek különösen szigorúak ebből a szempontból. +Például a Linux 2.4.20-as rendszermagja a "Célállomás nem elérhető" üzenetekből +csak másodpercenként egyet enged elküldeni (a net/ipv4/icmp.c fájlban). + + +Az Nmap észleli ezt a korlátozást és képes eléggé lelassítani a próbákat, +hogy megelőzze a hálózat elárasztását olyan haszontalan csomagokkal, melyeket a +célállomás úgyis eldobna. Sajnos a Linux stílusú, egy csomag/másodperc korlátozás +miatt a teljes 65536 UDP port letapogatása több,mint 18 óráig tart. Néhány ötlettel +felgyorsítható az UDP letapogatás: több állomás letapogatása párhuzamosan, a +legáltalánosabb kapuk letapogatása először, letapogatás tűzfalon belülről és a +lassú állomások átugrása a paraméter megadásával. + + + + + + + ; ; (TCP NULL, FIN és Xmas letapogatás) +-sN +-sF +-sX +NULL letapogatás +FIN letapogatás +Xmas letapogatás + + + +Az Nmap ennek a három letapogatásnak a segítségével (a +paraméter segítségével még több lehet, erről bővebben a következő szakaszban) +kiaknázza azt a hajszálnyi rést, mely a TCP RFC +leírásban található és így tesz különbséget a nyitott +és a zárt kapuk között. A 65-dik oldalon ez áll: +ha a célkapu ZÁRT .... egy RST bitet nem tartalmazó bejövő csomagra válaszként +egy RST csomagot kell küldeni. A következő oldalon azt tárgyalja, hogy +egy nyitott kapura SYN, RST vagy ACK bit nélküli csomag valószínűtlen, +hogy érkezne, de ha mégis ez történne, a csomagot el kell dobni. + +Ha olyan rendszereket tapogatunk le, amelyek megfelelnek ennek az RFC leírásnak, +akkor bármilyen olyan próbacsomag, amely nem tartalmazza a SYN, ACK vagy RST bitet +egy RST választ fog kiváltani, ha a célkapu zárt és nem vált ki választ, ha a +célkapu nyitott. Amíg ez a három bit nem szerepel, a másik három bit (FIN, PSH, URG) +tetszőleges kombinációja használható. Az Nmap ezt három letapogatási típussal +használja ki: + + + NULL letapogatás () + Nem állít be egyetlen bitet sem (a TCP zászlók értéke 0) + + FIN letapogatás () + Csak a TCP FIN bitet állítja be. + + Xmas letapogatás () + Beállítja a FIN, PSH és URG zászlókat, így a csomag olyan lesz, + mint a karácsonyfa. + + +Mindhárom letapogatás ugyanúgy viselkedik, az egyetlen különbség a próbacsomagban +beállított zászlók között van. Ha válaszként RST csomag érkezik, a kapu besorolása +zárt lesz, míg ha nem érkezik válasz, a besorolás +nyitott|szűrt. Ha válaszként ICMP "nem elérhető" +(kód 3, típus 1, 2, 3, 9, 10 vagy 13) hiba érkezik, a kapu jelölése +szűrt lesz. + +Ezeknek a letapogatásoknak a legnagyobb előnye, hogy könnyen átcsúsznak +egyes nem-állapottartó tűzfalakon és csomagszűrő útválasztókon. Másik előnyük, hogy +némileg rejtettebbek, mint a hagyományok SYN letapogatás. Azért sokat ne várjunk - +a legtöbb modern behatolásérzékelő (IDS) képes észlelni ezt a fajta letapogatást. +Nagy hátrány, hogy nem minden rendszer követi szigorúan az RFC 793 előírásait. +Számos rendszer RST csomagot küld vissza ezekre a letapogatásokra a kapu állapotától +függetlenül. Emiatt az összes kapu zárt jelölést +kap. A jelentősebb operációs rendszerek, melyek így tesznek: a Microsoft Windows, +több CISCO eszköz, a BSDI és az IBM OS/400. Ennek ellenére a legtöbb Unix alapú +operációs rendszer ellen használhatók ezek a letapogatások. Másik hátránya ezeknek +a letapogatásoknak, hogy nemképesek különbséget tenni a nyitott +és a szűrt kapuk között, így ezek a kapuk a +nyitott|szűrtjelölést kapják. + + + + + + + (TCP ACK letapogatás) + -sA + ACK letapogatás + + + +Ez a letapogatás teljesen eltér az előzőekben tárgyaltaktól, mivel sosem +határozza meg a nyitott (vagy a +nyitott|szűrt) kapukat. Arra használható, hogy +kikémleljük egy tűzfal szabályrendszerét, meghatározva hogy állapottartó vagy sem +és hogy mely kapukat szűri. + +Az ACK letapogatás során olyan csomagokat küldünk a célpont felé, melynek +csak az ACK zászlóját állítjuk be (kivéve, ha a paramétert +is használjuk). Szűrés nélküli rendszereknél mind a nyitott, +mind a zárt kapuk RST csomagot küldenek vissza +erre a próbára. Az Nmap ezeket a kapukat szűretlen +jelzéssel látja el, így jelölve, hogy az ACK csomag eléri a kaput, de annak +nyitott vagy zárt +állapota nincs meghatározva. Azok a kapuk, melyek nem válaszolnak, vagy bizonyos +ICMP hibaüzenetet (kód 3, típus 1, 2, 3, 9, 10 vagy 13) küldenek vissza, +szűrt jelölést kapnak. + + + + + + + (TCP Window letapogatás) +-sW +Window letapogatás + + + +A Window letapogatás megegyezik az ACK letapogatással. Az egyetlen különbség, +hogy kihasználja egyes rendszerek TCP megvalósításának jellegzetességét, így téve +különbséget a nyitott és a zárt kapuk között, ahelyett hogy minden visszakapott +RST csomag esetén a kaput szűretlennek jelölne. +Ezt úgy éri el, hogy megvizsgálja a visszaküldött RST csomag Window szakaszát. +Néhány rendszernél a nyitott kapu esetén a Window értéke pozitív, míg zárt kapunál +nulla. Így pozitív Window érték esetén a kapu nyitott, +míg nulla Window érték esetén a kapu zárt jelölést +kap. + +Ez a letapogatás az interneten található rendszerek egy kis részének jellegzetességén +alapul, így nem tekinthető teljesen megbízhatónak. Azoknál a rendszereknél, melyek nem +így működnek az összes kapu zárt állapotot fog +jelezni. Természetesen lehetséges, hogy a célpontnak nincs egyetlen nyitott kapuja sem. +Ha a legtöbb letapogatott kapu zárt, de néhány +elterjedt kapu (például a 22, 25, 53) szűrt +állapotú, a rendszer legalábbis gyanús. Alkalmanként a rendszerek teljesen ellentétesen +viselkednek. Ha a letapogatás 1000 nyitott és 3 zárt vagy szűrt kaput jelez, akkor +valószínűleg pont az a 3 kapu a nyitott. + + + + + + + (TCP Maimon letapogatás) +-sM +Maimon letapogatás + + + +A Maimon letapogatás a felfedezője, Uriel Maimon után kapta a nevét. Ő a +technikát a Phrack Magazine 49-es számában írta le (1996 November). Az Nmap, mely +két számmal később jelent meg, szintén ismeri ezt a technikát. Az eljárás ugyanaz, +mint a NULL, FIN és Xmas letapogatásnál, csak itt FIN/ACK csomagot küldünk el. +Az RFC 793 (TCP) szerint egy ilyen csomag beérkezésekor mind a nyitott, mind a zárt +kapunka RST csomagot kell küldenie válaszként. Uriel észrevette, hogy sok BSD alapú +rendszer nyitott kapuk esetén egyszerűen eldobja ezeket a csomagokat. + + + + + + + (Testreszabott TCP letapogatás) + --scanflags + + + +Az igazán képzett Nmap felhasználóknak nem kell magukat a programba beépített +letapogatási típusokra korlátozniuk. A paraméterrel +saját letapogatási típusokat tervezhetnek, tetszőleges TCP zászlók használatával. +Engedje szabadon a fantáziáját, hogy kitérhessen az olyan behatolásérzékelő rendszerek elől, +amelyek gyártói csak átlapozták az Nmap leírását a szabályok megadásakor! + +A paraméterezése történhet számmal (például 9 +(PSH and FIN)) is, de a szimbolikus nevek használata sokkal könnyebb. Csak keverje +össze az URG, ACK, +PSH, RST, +SYN és FIN +zászlókat tetszőleges kombinációban. Például a beállítja az összes zászlót, bár ez nem túl hasznos. +A zászlók megadásának sorrendje nem lényeges. + +A kívánt zászlók megadása mellet megadhatja a TCP letapogatás típusát is +(például vagy ). Ezzel az alaptípussal +meghatározhatja, hogy az Nmap hogyan értelmezze a válaszokat. Például a SYN letapogatásnál +ha nem érkezik válasz, akkor a kapu állapota szűrt, +míg a FIN letapogatásnál ugyanez nyitott|szűrt +állapotot jelez. Az Nmap ugyanúgy viselkedik, mint az alap letapogatásnál, csak +a próbacsomagban a megadott zászlókat fogja használni az alap letapogatás zászlói +helyett. Ha nem ad meg alaptípust, a SYN letapogatást fogja használni. + + + + + + + (Üresjárati letapogatás) + -sI + Üresjárati letapogatás + + + + + Ez a fejlett eljárás egy igazi vakon végzett TCP letapogatást hajt + végre a célállomáson (ez azt jelenti, hogy a saját IP címéről semmilyen + csomag nem lesz elküldve a célállomásra). Ehelyett kihasználjuk azt, hogy + a zombi gépen megjósolható az IP töredezettségmező sorszámgenerátorának + következő értéke és ezzel az oldaltámadással szerzünk információt a célgépen + lévő nyitott kapukról. A behatolásérzékelő rendszerek úgy látják majd, + hogy a letapogatás a zombi állomás felől érkezett (melynek élőnek kell + lennie és meg kell felelnie bizonyos követelményeknek). Ez az elbűvölő + letapogatás túl bonyolult ahhoz, hogy ebben a leírásban részletesen is + foglalkozhassunk vele, ezért írtam egy részletes leírást róla, mely a + címen olvasható. + + Amellett, hogy különösen rejtett, ezzel a letapogatással kihasználható + a gépek közötti, IP alapú bizalmi viszony. A nyitott kapuk ebben az + esetben a zombi gép nézőpontjából láthatóak nyitottnak. + Megpróbálhat letapogatni egy célállomást több olyan zombi használatával, + melyekről sejthető, hogy a célpont megbízhatónak tekinti (útválasztó + vagy csomagszűrő szabályok alapján). + + A zombigép nevéhez kettősponttal elválasztva hozzáadhat egy kapuszámot + is, ha le akarja tesztelni az IP ID változásait a zombigépen. Egyébként + az Nmap a TCP visszhang próbakapuját (80) fogja használni. + + + + + + + (IP protokoll letapogatás) + -sO + Protokoll letapogatás + + + +Az IP protokoll letapogatással meghatározható, hogy a célállomás mely IP +protokollokat (TCP, ICMP, IGMP stb.) támogatja. Technikai szempontból ez nem igazán +kapuletapogatás, mivel a TCP és UDP kapuszámok helyett az IP protokoll számokon +megy végig. Ugyanúgy a paramétert használja, csak itt a kapu +száma helyett a protokoll számát kell megadni, az eredményeket ugyanolyan formátumban +adja vissza, mint a kapuletapogatások és ugyanazt a letapogató motort használja, +mint a kapuletapogatás. gy elég közel áll a kapuletapogatáshoz, hogy ide tartozzon. + +Amellett, hogy magában is hasznos, a protokoll letapogatáson látszik a nyílt +forráskódú programok igazi ereje. Bár az alapötlet meglehetősen egyszerű, nem gondoltam, +hogy bele kéne vennem a programba és nem is érkezett ilyen kérés felém. Aztán +2000 nyarán Gerhard Rieger fejében megfogalmazódott az ötlet, készített egy nagyszerű +kiegészítést, melyben megvalósította a letapogatást és elküldte az nmap-hackers +levelezőlistára. n beillesztettem az Nmap forrásfájába és másnap kiadtam egy új +változatot a programból. Csak kevés kereskedelmi programnak vannak olyan lelkes +felhasználói, akik megterveznék és tadnák a saját fejlesztéseiket! + +A protokoll letapogatás az UDP letapogatáshoz hasonlóan működik. Ahelyett, +hogy a kapuszámokat váltogatná az UDP csomagban, IP fejléceket küldözget, melyben +a 8 bites protokollmező változtatja. A fejlécek általában üresek, nem tartalmaznak +adatot és egyáltalán nem felelnek meg a tesztelt protokollnak. Három kivétel van: +A TCP, az UDP és az ICMP. Ezekhez a protokollokhoz létezik a megfelelő fejléc, +mert egyrészt a legtöbb rendszer nem hajlandó egyébként elküldeni a csomagot, másrészt +az Nmap rendelkezik az összeállításukhoz szükséges tudással. Ahelyett, hogy az +ICMP "kapu nem elérhető" üzenetre várakozna, a protokoll letapogatás az ICMP +protokoll nem elérhető üzenetre vár. Ha az Nmap bármelyik +protokollnál bármilyen választ kap, akkor a protokoll nyitott +jelölést kap. Ha egy ICMP "protokoll nem elérhető" hiba érkezik (típus 3, kód 2), +akkor a protokoll zárt jelölést kap. Más ICMP +hibaüzenetek (típus 3, kód 1, 3, 9, 10 vagy 13) esetén a protokoll szűrt +jelölést kap (bár ez azt bizonyítja, hogy ugyanakkor az ICMP protokoll +nyitott). Ha néhány ismétlés után sem érkezik +válasz, akkor a protokoll nyitott|szűrt jelölést kap. + + + + + + + + + (FTP ugráló letapogatás) + -b + FTP ugráló letapogatás + + + +Az FTP protokoll egy érdekes lehetősége (RFC 959) +az úgynevezett megbízott (proxy) FTP kapcsolat. Ez lehetővé teszi a felhasználónak, +hogy csatlakozzon egy FTP kiszolgálóhoz, majd utasítsa a kiszolgálót, hogy fájlokat +küldjön egy harmadik kiszolgálónak. Ez a lehetőség olyan sok visszaélésre alkalmas, +hogy a legtöbb kiszolgáló nem is támogatja. Az egyik visszaélési lehetőség, hogy +az FTP kiszolgálót kapuletapogatásra lehet használni egy harmadik állomás ellen. +Egyszerűen arra kell utasítani az FTP kiszolgálót, hogy küldjön el egy fájlt a +célállomás minden egyes érdekes kapujára. A hibaüzenetek jelzik, hogy a kapu nyitott, +vagy zárt. Ez egy jó módszer a tűzfalak megkerülésére, mivel a szervezetek FTP +kiszolgálói általában a tűzfalakon belül vannak, hogy a többi állomásnak szabad +hozzáférése legyen a fájlokhoz. Az Nmap a paraméteren keresztül +támogatja az FTP ugráló letapogatást, melynek formátuma a következő: +felhasználói név:jelszó@kiszolgáló:kapu. +A kiszolgáló a kihasználni kívánt FTP kiszolgáló neve, +vagy IP címe. Csakúgy, mint egy hagyományos URL-nél, itt is elhagyható a +felhasználói név:jelszó páros, +ha a névtelen bejelentkezés engedélyezett (felhasználó: anonymous +jelszó:-wwwuser@). Szintén elhaygható a kapu +megadása (a bevezető kettősponttal együtt), ilyenkor az alapértelmezett FTP kaput (21) +használja a program a kiszolgálón. + +Ez a sérülékenység az Nmap 1997-es megjelenésekor széles körben elterjedt volt, +de mára már nagyrészt javították. Ennek ellenére még mindig találhatók sérülékeny +FTP kiszolgálók, tehát megéri kipróbálni, ha már minden más kudarcot vallott. Ha +egy tűzfal megkerülése a cél, tapogassa le a célhálózatot nyitott 21-es kaput után +kutatva (vagy bármilyen FTP szolgáltatás után, ha az összes kaput vizsgálja változat +ellenőrzésse), azután próbálja meg az ugráló letapogatást ezek használatával. Az Nmap +megadja, hogy az állomás sérülékeny-e ebből a szempontból. Ha csak a nyomait szeretné +eltakarni, akkor nem szükséges kizárólag a célhálózatban lévő gépekre korlátoznia +magát. Mielőtt nekiállna sérülékeny FTP kiszolgálókat keresni az Interneten, jegyezze +meg, hogy a rendszergazdák nem szeretik, ha a kiszolgálóikat ilyen célból próbálják +kihasználni. + + + + + + + + Kapu meghatározás és Letapogatási sorrend + + Az előzőekben leírt letapogatási eljárások mellett az Nmap lehetőséget + biztosít arra, hogy meghatározza a letapogatni kívánt kapukat és a letapogatás + sorrendjét (véletlenszerűen vagy sorban). Alapesetben az Nmap letapogatja az + első 1024 kaput, valamint az nmap-services + fájlban felsorolt kapukat és protokollokat. + + + + + (Csak a megadott kapu letapogatása) + -p + + + + + Ezzel a paraméterrel megadhatja a letapogatni kívánt kapukat, így + felülbírálhatja az alapértelmezést. Megadhatók egyedi kapuk és kaputartományok + kötőjellel elválasztva (pl. 1-1023). A tartomány kezdő- és/vagy záróértéke + kimaradhat, ilyenkor az Nmap az 1-et vagy a 65535-öt fogja használni. + Tehát a paraméterben megadható az is, hogy a letapogatás + az 1-65535 intervalumban történjen meg. A nullás kapu letapogatása is + lehetséges, amennyiben külön megadja. Ha az IP protokoll letapogatást + használja (), akkor ez a paraméter a letapogatni + kívánt protokoll számát adja meg (0-255). + + Ha mind a TCP, mind az UDP kapukat letapogatja, külön megadhatja + a protokollt a kapuszám előtti T: vagy + U: minősítővel. A minősítő hatása + addig tart, amíg másikat nem ad meg. Például a paraméter megadásával letapogatja + az 53,111 és 137 UDP kapukat, majd a listán szereplő megfelelő TCP kapukat. + Ha UDP és TCP letapogatást is akar végezni, meg kell adnia a + paramétert és még legalább egy TCP letapogatás típusát (például + , , or + ). Ha nem ad meg protokoll minősítőt, a kapuszámok + minden protokoll listába bekerülnek. + + + helyettesítő karakter + A kapuk megadhatók azzal a nevükkel is, amellyel az nmap-services + fájlban szerepelnek. A elnevezésekben használható mind a *, mind a ? + helyettesítő karakter. Például ha le akarja tapogatni az FTP szolgáltatást, + valamint az összes olyan kaput, melynek szolgáltatásneve http-vel kezdődik, + adja meg a paramétert. Vigyázzon a parancsértelmezők + kiterjesztéseire és tegye idézőjelbe a utáni + kifejezést, ha bizonytalan. + + A kaputartományok bezárhatók szögletes zárójlebe. Ekkor a megadott + tartományból csak azokat a kapukat tapogatja le, melyek szerepelnek az + nmap-services fájlban. Például a + megadásával letapogathatja az + nmap-services fájlban lévő összes kaput + 1024-el bezárólag. Vigyázzon a parancsértelmezők kiterjesztéseire és + tegye idézőjelbe a utáni kifejezést, ha bizonytalan. + + + + + + (Gyors letapogatás (kevesebb kapuval) ) + -F + + + Arra utasítja a programot, hogy csak az nmap-services + fájlban (mely a program része) felsorolt kapukat tapogassa le (vagy a + protokollokat, ha az paramétert adja meg). Ez sokkal + gyorsabb, mintha a célpont mind a 65535 kapuját letapogatnánk. Mivel ez + a lista több, mint 1200 kaput tartalmaz, ezért az alapértelmezett TCP + letapogatáshoz képest (1650-nél több kapu) nem sokkal gyorsabb. Akkor + tapasztalhat jelentős sebesség növekedést, ha elkészíti saját, testreszabott + nmap-services fájlját a + vagy a paraméterekkel. + + + + + + (Ne keverje a kapukat) + -r + + + Alaphelyzetben az Nmap véletlenszerűen tapogatja le a kapukat + (kivéve néhány elterjedten használt kaput, melyet előre vesz a sorban). + Ez a keverés normál esetben kívánatos, de szükség esetén a + paraméter használatával sorrendben is letapogathatja a kapukat. + + + + + + + + + Szolgáltatás és változat érzékelés<indexterm significance="normal"><primary>változat letapogatás</primary></indexterm> + + + Állítsa rá az Nmap programot egy távoli állomásra és megtudhatja, hogy + a 25/tcp, 80/tcp és az 53/udp kapuk nyitottak. Az nmap-services + adatbázisa alapján kb. 2200 jól ismert szolgáltatás azonosítható, így az előbb + felsorolt kapuk valószínűleg egy levelező- (SMTP), web- (HTTP) és névkiszolgálóra (DNS) + utalnak. Ez a lekérdezés általában pontos - az esetek jelentős részében a + levelezőkiszolgálók a 25-ös TCP kapun figyelnek. Ennek ellenére nem lehet csak + erre alapozni a következtetéseinket! Az emberek gyakran futtatnak megszokott + szolgáltatásokat furcsa kapukon. + + Még ha az Nmap helyesen is következtet és a fent említett kiszolgálók + valóban SMTP, HTTP és DNS kiszolgálók, ez akkor sem túl so információ. Ha a + cége vagy az ügyfelei részére felmérést készít a sebezhetőségekről (vagy csak + egy egyszerű hálózati leltárt készít), szüksége lehet a működő levelező- és a DNS + kiszolgáló típusára és változatszámára. A pontos változatszám ismeretében sokkal + könnyebb meghatározni, hogy az adott kiszolgáló mely sérülékenységekre érzékeny. + A változat érzékelés segít kideríteni ezt az információt. + + + Miután valamelyik letapogatási módszer felderítette az elérhető TCP és + UDP kapukat, a változat érzékelő kivallatja azokat a rajtuk futó alkalmazásokról. + Az nmap-service-probes adatbázis számos + próbát és válaszkifejezést tartalmaz a szolgáltatások azonosításához. Az Nmap + megpróbálja meghatároznia szolgáltatás protokollját (pl. FTP, SSH, telnet, http), + Az alkalmazás nevét (pl. ISC BIND, Apache httpd, Solaris telnetd), a szolgáltatás + változatszámát, az állomás nevét, az eszköz típusát (pl. nyomtató, útválasztó), + az operációs rendszer családját (pl. Windows, Linux) és néhány kiegészítő + részletet (pl. fut-e kapcsolatra váró X kiszolgáló, az SSH milyen protokollverziót + használ, vagy a KaZaA felhasználói név). Természetesen a legtöbb szolgáltatás + nem adja ki az összes információt. Ha az Nmap programot SSL támogatással fordították, + akkor kapcsolódik az SSL kiszolgálókhoz, hogy meghatározza a titkosítási réteg + mögött található szolgáltatást. Ha RPC szolgáltatást talált, a program RPC + "darálója" () automatikusan megpróbálja kideríteni az + RPC program típusát és változatát. Néhány UDP kapu nyitott|szűrt + állapotban maradhat egy UDP letapogatás után, mivel a program nem tudja pontosan + meghatározni az állapotát. A változat érzékelő megpróbál választ kicsalni ezekből + a kapukból (csakúgy, mint a nyitott kapukból) és siker esetén nyitottra változtatja + a kapu állapotát. A nyitott|szűrt TCP kapukat + hasonló módon kezeli. Jegyezze meg, hogy az Nmap paramétere + más dolgok mellett a változat érzékelést is engedélyezi. A változat érzékelés + működéséről, használatáról és paraméterezéséről a + címen talál részletes leírást. + + Ha az Nmap kap ugyan választ egy szolgáltatástól, de az adatbázis alapján + nem tudja azonosítani, kinyomtat egy különleges ujjlenyomatot és egy URL-t. + Ha biztos abban, hogy milyen szolgáltatás fut az adott kapun, a megadott címen + az ujjlenyomat segítségével megadhatja a szolgáltatás típusát. Szánjon erre pár + percet, hogy mindenki élvezhesse az Ön felfedezésének eredményét. Ezeknek az + adatoknak köszönhetően az Nmap kb. 3000 mintát ismer több, mint 350 protokollhoz. + + A változat érzékelés a következő paraméterekkel engedélyezhető + és vezérelhető: + + + + + + + (Változat érzékelés) + -sV + + + + Engedélyezi a változat érzékelést az előbbiekben leírt módon. + Emellett használhatja még a paramétert is, mely a + változat érzékelés mellett más dolgokat is engedélyez. + + + + + + + (Ne hagyjon ki egy kaput sem a változat + érzékelésből) + --allports + + + + Alapesetben az Nmap változat érzékelője átugorja a 9100/TCP kaput, + mivel néhány nyomtató mindent kinyomtat, ami erre a kapura érkezik. Ez + több oldal kinyomtatott http vagy SSL munkamenet kéréshez vezethet. Ez a + viselkedés megváltoztatható, ha átírja vagy eltávolítja az Exclude + irányelvet az nmap-service-probes + fájlban, vagy ha megadja az paramétert, amellyel + teljesen felülbírálhatja az Exclude + irányelveket. + + + + + + (Beállítja a változat + érzékelés erősségi szintjét) + --version-intensity + + + + + Amikor változat érzékelést hajt végre (), az + Nmap egy sor próbát hajt végre, melyek mindegyikéhez egy-egy gyakoriság + érték van rendelve 1 és 9 között. Az alacsonyabb számú próbák jól használhatók + az általánosan használt szolgáltatások széles skálája ellen, míg a magasabb + számúak ritkábban hasznosak. Ezzel a paraméterrel megadhatja, hogy mely + próbák legyenek végrehajtva. Minél magasabb a szám, annál valószínűbb, + hogy a szolgáltatás azonosítása pontosan sikerül. Azonban jó tudni, hogy + a magasabb intenzitás hosszabb végrehajtást is jelent. A szintnek 0 és 9 + közé kell esnie, az alapérték 7. Ha egy próba az nmap-service-probes + fájlban egy kapuhoz van rendelve a ports + irányelv alatt, akkor ezt a próbát az intenzitás beállításától függetlenül + végrehajtja a program. Ezzel biztosítható, hogy a nyitott 53-as kapukon + mindig lefutnak a DNS próbák és a 443-as kapukon az SSl próbák stb. + + + + + + + (Tapintatos mód engedélyezése) + --version-light + + + + Ez egy kényelmesebb megnevezése a + paraméternek. Ezzel a móddal + a változat érzékelés felgyorsítható, de a szolgáltatások azonosítása is + bizonytalanabbá válik. + + + + + + (Minden próba végrehajtása) + --version-all + + + + A paraméter helyettesítése, + mellyel minden kapun minde próbát elvégez a program. + + + + + + (A változat érzékelés nyomkövetése) + --version-trace + + + Ennek a paraméternek a hatására az Nmap bőséges hibakeresési információt + nyomtat ki az éppen futó változat érzékelési próbáról. Ez egy részhalmaza + a paraméter által visszaadott információknak. + + + + + + (RPC letapogatás) + --sR + + + Ez az eljárás az Nmap legtöbb kapuletapogatási eljárásával + együtt dolgozik. Veszi az összes nyitva talált TCP/UDP kaput és + elárasztja őket a SunRPC program NULL parancsaival hogy meghatározza, + melyek az RPC kapuk és milyen programot futtatnak. Így pontosan + ugyanazokat az információkat szerezheti meg, melyeket az + rpcinfo -p paranccsal, még akkor is + ha a célpont tűzfal mögött van (vagy TCP burkoló védi). Az RPC letapogatáshoz + jelenleg nem használhatók csalétkek. Ez a letapogatás automatikusan + lezajlik, ha a változat érzékelést () engedélyezi. + Mivel a változat érzékelés tartalmazza ezt a letapogatást és sokkal + átfogóbb eredményt ad, ezért a paraméterre ritkán + van szükség. + + + + + + + + + Operációs rendszer érzékelése<indexterm significance="normal"><primary>Operációs rendszer érzékelése</primary></indexterm> + + Az Nmap egyik legjobban ismert tulajdonsága az operációs rendszerek + távoli felismerése a TCP/IP verem ujjlenyomata alapján. Az Nmap egy sor TCP + és UDP csomagot küld a célpont felé és gyakorlatilag a válaszok minden egyes + bitjét kielemzi. Tesztek tucatjainak végrehajtása után - mint például a TCP + ISN mintavételezés, a támogatott TCP beállítások, az IP ID mintavételezés + és a kezdeti ablakméret ellenőrzése - az Nmap összehasonlítja az eredményeket + az nmap-os-db adatbázisban tárolt több, + mint 800 ismert ujjlenyomattal és egyezés esetén kiírja az adott operációs + rendszer részleteit. Minden ujjlenyomathoz tartozik egy kötetlen formátumú + szöveges leírás az operációs rendszerről és egy besorolás, mely megadja a + gyártó nevét (pl. SUN), az alap operációs rendszert (pl. Solaris), az operációs + rendszer genercióját (pl. 10) és az eszköz típusát (általános célú, útválasztó, + kapcsoló, játékkonzol stb.). + + Ha az Nmap nem tudja kitalálni az operációs rendszer típusát és a + feltételek jók (pl. található legalább egy nyitott és egy zárt kapu), az Nmap + megad egy webcímet, ahová elküdheti az ujjlenyomatot az operációs rendszer + típusával, feltéve ha biztos benne. Ezzel hozzájárulhat az ismert operációs + rendszerek adatbázisának bővítéséhez és segíthet az Nmap programot még pontosabbá + tenni mindenki számára. + + Az operációs rendszer érzékelésének során számos olyan adatot is + felhasznál a program, melyeket más folyamatok során már begyűjtött. Az egyik + az üzemidő felmérése, mely a TCP időbélyeg paramétert használja (RFC 1323) + annak kiderítésére, hogy az eszközt mikor indították újra legutoljára. Ez csak + azoknál az eszközöknél működik, melyek kiadják ezt az információt. A másik + a TCP sorszám megjósolhatóságának osztályozása. Ez azt méri, hogy mennyire + nehéz hamisított TCP kapcsolatot felépíteni a célponttal. Ez hasznos lehet + a forrás IP cím alapú bizalmi kapcsolatokat (távoli bejelentkezés, tűzfalak, + szűrők stb.) kihasználó támadások esetén a támadás valódi forrásának az + elrejtésében. Ezeket a megtévesztéseket ma már ritkán használják, de elég sok + rendszer sérülékeny velük szemben. Az aktuális bonyolultsági szám egy + statisztikai mintavételezés alapján alakul ki és változhat. Általában jobb + az angol nyelvű szöveges osztályozást használni, mint például a + méltó kihívás (worthy challenge) vagy az egyszerűen vicc (trivial joke). + EZek csak a bőbeszédű () üzemmód normál kimenetén jelennek + meg. Ha a bőbeszédű üzemmódot a paraméter mellett használja, + az IP ID sorszám előállításról is jelentést kap. A legtöbb eszköz a + növekményes (incremental) osztályba tartozik, ami azt jelenti, + hogy minden egyes elküldött csomagnál növelik az IP fejléc ID mezőjének értékét. + Ez sebezhetővé teszi őket néhány fejlett információ gyűjtési és megtévesztési + támadással szemben. + + Az operációs rendszer érzékelésének működésével, használatával és + testreszabásával kapcsolatban a + címen talál egy leírást. + + Az operációs rendszer érzékelése és vezérlése a következő paraméterekkel + lehetséges: + + + + + (Operációs rendszer érzékelésének engedélyezése) + -O + + + + + Engedélyezi az operációs rendszer érzékelését a fentiekben leírt + módon. Választhatja a paramétert is, mellyel az + operációs rendszer érzékelése mellett néhány más dolgot is elvégezhet. + + + + + + + (Az operációs rendszer érzékelését + csak az ígéretes állomásokra korlátozza) + --osscan-limit + + + + Az operációs rendszer érzékelése sokkal hatékonyabb, ha legalább + egy nyitott és egy zárt TCP kapu található. Ennek a paraméternek a + hatására az Nmap csak azokon a célpontokon hajtja végre az operációs + rendszer érzékelését, amelyek megfelelnek ennek a kritériumnak. Ezzel + rengeteg idő megtakarítható, különösen ha letapogatást + hajt végre sok célponton. Ennek csak akkor van jelentősége, ha a + vagy a paraméterrel engedélyezte + az operációs rendszer érzékelését. + + + + + + ; (Eredmények találgatása) + --osscan-guess + + + + Ha az Nmap nem talál pontosan egyező operációs rendszert, esetenként + felkínálhat lehetséges közelítő eredményeket. Alaphelyzetben ennek a + közelítő eredménynek nagyon közelinek kell lennie. Ezeknek a paramétereknek + a hatására az Nmap sokkal agreszívebben próbálja kitalálni az operációs + rendszer típusát. Az Nmap ezután is jelzi, ha nem talált tökéletes + egyezést és minden találgatás mellé megadja a valószínűséget is + (százalékosan). + + + + + + (Maximális próbálkozások száma) + --max-os-tries + + + + + Amikor az Nmap operációs rendszer érzékelést végez egy célponton + és nem talál tökéletes egyezést, általában ismét tesz egy próbát. + Alaphelyzet az Nmap ötször próbálkozik, ha a feltételek jók az ujjlenyomat + ellenőrzéshez és kétszer, ha nem jók. Ha alacsonyabb + értéket ad meg (pl. 1), felgyorsíthatja + a folyamatot, de elmulaszthat egy olyan próbát, ami esetleg pontosan + azonosíthatja az operációs rendszert. Emellett egy magasabb érték + több próbát tesz lehetővé, ha a feltételek kedvezőek. Ez ritkán hasznos, + kivéve ha az adatbázis bővítése céljából szeretne pontosabb ujjlenyomatot + előállítani. + + + + + + + + Nmap parancsfájl motor (Nmap Scripting Engine (NSE))<indexterm significance="normal"><primary>NSE</primary></indexterm> + + Az Nmap parancsfájl motor (NSE) egyesíti az Nmap hatékony hálózatkezelését + a Lua könnyűsúlyú parancsnyelv + sokoldalúságával, így kínálva számtalan lehetőséget. A + címen bőséges dokumentációt talál az NSE-ről (beleértve a programozói + felületet is). Az NSE célja, hogy hatékony környezetet biztosítson az + Nmap képességeinek kiterjesztéséhez és a felhasználók számára egyszerűbbé + tegye testreszabott tesztek létrehozását. Az NSE felhasználási területei: + + + Kiterjesztett változat érzékelés (kategória + version) — Bár az Nmap rendelkezik egy saját + szolgáltatás- és változatérzékelő rendszerrel, mely hatékonyságában és működési + körében páratlan, egy bonyolultabb próbákat igénylő szolgáltatás felderítésekor + ez az erő nem használható ki. Például a Skype-Protocol 2-es változatának + azonosításához két független próbacsomagot kell elküldeni, melyre a beépített + rendszer nem képes. Egy egyszerű NSE parancsfájl végre tudja hajtani ezt a feladatot + és frissíteni tudja a kapukhoz tartozó szolgáltatások információit. + + + Károkozó érzékelés (kategóriák + malware és backdoors) + - Mind a támadók, mind a féregprogramok gyakran hagynak maguk után hátsó + bejáratokat - például a levélszemetek küldői gyakran használnak szokatlan kapukon + működő SMTP kiszolgálókat a leveleik továbbítására, vagy a betörők egyfajta + FTP kiszolgálót használva próbálnak meg hozzáférni kritikus adatokhoz. Pár sor + Lua kóddal ezek a rések könnyen felderíthetők. + + Sebezhetőség érzékelés (kategória + vulnerability)- Az NSE képességeinek kihasználásával + könnyen azonosíthat olyan veszélyeket, mint például az alapértelmezett jelszavak, + vagy az SMTP kiszolgálók levél-átjátszási képessége tetszőleges tartományokból. + + + + Hálózati felderítés és Információgyújtés + (kategóriák safe, intrusive és + discovery) — Egyrészt a parancsnyelv és + a hatékony aszinkron hálózati programfelület, másrészt a korábbi letapogatások + során begyűjtött információk segítségével az NSE lehetőséget nyújt ara, hogy + a célgépen futó szolgáltatásokhoz ügyfélprogramokat készítsen. Ezekkel az ügyfelekkel + olyan információkat is begyűjthet, mint például az elérhető NFS/SMB/RPC megosztások, + egy IRC hálózaton lévő csatornák vagy az éppen bejelentkezett felhasználók száma. + + + + A különböző felhasználási formák miatt és a megfelelő parancsfájl kiválasztásának + leegyszerűsítése érdekében minden parancsfájl tartalmaz egy mezőt, mellyel a + fenti kategóriák bármelyikébe (akár több kategóriába is) besorolható. A kategóriák + és parancsfájlok kapcsolatának nyilvántartására egy script.db + nevű fájl is telepítésre kerül a parancsfájlok mellett. Így például ha egy + gépről szeretné megállapítani, hogy fertőzött-e valamilyen féregprogrammal, az + Nmap által biztosított egyik parancsfájl segítségével és az nmap --script=malware [célpont] + parancs lefuttatásával ezt könnyen kiderítheti. A version + kategóriába sorolt parancsfájlok mindig lefutnak, beleértve a parancsfájl letapogatás + kiválasztását is. A script.db fájl maga + is egy Lua parancsfájl és a paraméteren + keresztül frissíthető. + + + Minden NSE parancsfájl egy darab Lua kód, mely két szakaszból áll: egy teszt, + hogy az adott parancsfájl lefuttatható-e egy megadott állomáson vagy kapun + (ezek neve hostrule vagy portrule) + és egy action szakasz, mely akkor fut le, + ha az előző teszt visszatérési értéke igaz. A parancsfájlok az Nmap által + korábban összegyűjtött legtöbb információhoz hozzáférnek. Ezek minden állomásnál + az IP cím, az állomás neve (ha elérhető) és az operációs rendszer. Ha a parancsfájl + célja egy kapu, akkor hozzáfér a kapu számához, a protokollhoz (tcp, + udp vagy ssl), + a kapu mögött futó szolgáltatás nevéhez és feltételesen a változat érzékeléssel + megszerzett információkhoz. Az NSE parancsfájlok hagyományosan rendelkeznek + egy nse kiterjesztéssel. Bár jelenleg nem + szükséges követnie ezt a szokást, ez a jövőben változhat. Az Nmap figyelmeztetni + fogja, ha egy fájlnak más a kiterjesztése. Az NSE-ről további bőséges dokumentációt + találhat (beleértve a programozói felület leírását) a + címen. + + + + + + + -sC + + + + + + végrehajt egy parancsfájl alapú letapogatást az alap paransfájl + készlettel (egyenértékű a + paraméterrel + + + + + --script + + +Lefuttat egy parancsfájl alapú letapogatást (mint az ) a kiválasztott parancsfájlokkal. + A paraméterek lehetnek parancsfájl kategóriák, meghatározott parancsfájlok, parancsfájlokat tartalmazó + könyvtárak, melyek a célpont ellen lesznek kipróbálva. Az Nmap a paramétereket először kategóriáknak próbálja + értelmezni, azután fájloknak vagy könyvtáraknak. Abszolút útvonalak használata egyértelmű, a relatív útvonalak + keresési sorrendje az első találatig: --datadir/; +$(NMAPDIR)/; +~user/nmap/ (Windows alatt nem); +NMAPDATADIR/ vagy +./. Ezen könyvtárak mindegyikében a scripts/ +alkönyvtár is ki lesz próbálva. Az all paraméter megadásával az Nmap adatbázisában lévő +valamennyi parancsfájl végrehajtódik. + + +Ha egy megadott könyvtárat megtalál, az Nmap betölti az összes NSE parancsfájlt +(minden nse kiterjesztésű fájlt) a könyvtárból. +A fájloknak nse kiterjesztéssel kell rendelkezniük. +Az Nmap a parancsfájlok keresésekor nem vizsgálja meg az alkönyvtárakat. Ha egyedi +fájlnevet adott meg, akkor nem kötelező a fájlnak nse +kiterjesztéssel rendelkeznie. + + +Alaphelyzetben az Nmap parancsfájlok az Nmap adatkönyvtárának scripts +alkönyvtárában találhatóak. A scripts/script.db +adatbázisban tárolt paranscfájlok indexeltek. Az adatbázis tartalmazza az összes +kategóriához tartozó összes parancsfájlt. Egy parancsfájl több kategóriához is +tartozhat. + + + + + + --script-args + + +Paramétereket adhat át az NSE parancsfájloknak. A paraméterek név=érték +párokban kerülnek át a parancsfájlokhoz. Az átadott paraméterek egy Lua táblázatban +lesznek tárolva és feldolgozva, melyhez valamennyi parancsfájl hozzáfér. A nevek +karakterláncként lesznek kezelve (melyeknek alfanumerikus értékeknek kell lenniük) +és a paraméter táblában kulcsként lesznek +használva. Az értékek lehetnek karakterláncok vagy maguk is táblázatok +(‘{’ és ‘}’ +közé zárva. Az altáblázatok segítségével egyes parancsfájloknál felülbírálhatók +a paraméterek (mondjuk ha minden parancsfájlhoz más felhasználói név/jelszó +párost akar használni). Például átadhatók a következő, vesszővel elválasztott +paraméterek: user=bar,password=foo, és +anonFTP={password=nobody@foobar.com}. Ha egy +parancsfájl paramétereit felül akarja bírálni, használja az altáblázat indexelésére +a parancsfájl azonosítóját (id), mivel a +parancsfájlok csak így szerezhetnek tudomást a különleges paramétereikről. + + + + + + + + --script-trace + + + + Ez a paraméter ugyanazt teszi, mint a , + csak egy ISO szinttel feljebb. Ha megadja ezt a aparamétert, akkor az + összes, parancsfájl által generált kimenő és bejövő forgalom nyomtatásra + kerül. A megjelenített információ tartalmazza a kommunikációs protokollt, + a forrást, a célt és az átvitt adatot. Ha az átvitt adatok több, mint + 5%-a nem nyomtatható, akkor a kimenet hexadecimális alakban jelenik meg. + + + + + + --script-updatedb + + + + + Frissíti a parancsfájl adatbázist, mely a kategória-cimkék és a + fájlnevek közti kapcsolatokat tárolja. Az adatbázis egy Lua + parancsfájl, mely akkor lesz értelmezve, amikor a + paraméterben megadott kategóriák közül ki kell választani a + szükséges parancsfájl készletet. Akkor kell lefutatni, amikor + megváltozik egy parancsfájl kategória + mezője, ha új parancsfájlokat adott hozzá a készlethez, vagy + ha eltávolított néhány parancsfájlt a scripts/ + könyvtárból. + + + + + + + + + Időzítés és teljesítmény + Az Nmap fejlesztésének legfontosabb szempontja a teljesítmény. Egy + alapértelmezett letapogatás (nmap +gépnév) egy helyi hálózaton lévő gépen +nagyjából 0.2 másodpercig tart. Ez épp egy pislogásnyi idő, amely azonban egyre nő, +ahogy növekszik a célpontként meghatározott gépek száma. Továbbá bizonyos letapogatási +formák, mint például az UDP letapogatás, vagy a változat érzékelés számottevően +megnövelik a letapogatás időtartamát. Ugyanilyen hatása van bizonyos tűzfal +beállításoknak, különösen ha korlátozták az egységnyi idő alatt kibocsátható +válaszok számát. Bár az Nmap ezeknek a letapogatásoknak a felgyorsítására sok +párhuzamosítást és fejlett eljárásokat használ, a felhasználó alapjaiban befolyásolhatja +az Nmap működését. Szakértő felhasználók gondosan összeállított Nmap parancsokkal +rövid idő alatt megszerezhetik a számukra fontos információkat. + + A letapogatási idő csökkenthetők a nem kritikus tesztek elhagyásával és + az Nmap legfrissebb változatának telepítésével (gyakran történnek teljesítményt + növelő változtatások). Számottevő javulás érhető el az időzítési paraméterek + helyes megválasztásával is. Ezek a paraméterek az alábbiakban találhatóak. + +Néhány paraméternél használható a time +kiegészítés is. Alaphelyzetben ez milliszekundumban értendő, de az érték után írt +'s’, ‘m’ vagy ‘h’ karakterekkel megadhat másodperces, perces vagy órás időtartamot +is. Például a paraméternek átadott 900000, +900s és 15m +értékek mind ugyanazt jelentik. + + + + + + ; + (A párhuzamosan letapogatható állomások száma) + --min-hostgroup + --max-hostgroup + + +Az Nmap képes kapuletapogatást és változat érzékelést végezni egyszerre +több állomáson is. Az Nmap ezt úgy csinálja, hogy az IP tartományt csoportokra +osztja és egyszerre tapogat le egy csoportot. Általában a nagyobb csoportok +hatékonyabbak. A hátránya, hogy az egyes állomásokhoz tartozó eredmények csak +akkor érhetők el, ha végetért a teljes csoport letapogatása. Tehát ha az Nmap +50-es csoportmérettel lett elindítva, a felhasználó addig nem kap semmilyen eredményt +(kivéve a bőbeszédű üzemmód frissítési információit), amíg az első 50 állomás +letapogatása el nem készült. + +Ennek a konfliktusnak a feloldására az Nmap egy kompromisszumos megoldást +használ. Kezdésként csak egy 5 elemből álló csoportot hoz létre, így az első eredmények +gyorsan megérkeznek. Ezután a csoportméretet folyamatosan növeli, akár 1024-ig. +A kezdeti csoportméret pontos értéke a megadott paraméterektől függ. A hatékonyabb +működés érdekében az Nmap nagyobb csoportokat hoz létre az UDP letapogatásoknál, +illetve a csak néhány TCP kaput érintő letapogatásoknál. + +Ha a paraméterben megadta a maximális +csoportméretet, az Nmap ezt nem fogja túllépni. Ha megadja a +paramétert, az Nmap megpróbálja a csoportméretet efölött tartani. Az Nmap kialakíthat +kisebb csoportot is a megadottnál, ha nem áll rendelkezésre elegendő állomás a +megadott minimális csoportméret létrehozásához. Megadható mindkét határérték is, +hogy a csoportméret egy meghatározott sávban maradjon, de erre ritkán van szükség. + +Ezeknek a paramétereknek nincs hatásuk a letapogatásnak abban a részében, +mikor még csak az állomások felderítése történik. Ebbe beletartozik az egyszerű +visszhang letapogatás is(). Az állomások felderítése mindig nagy +csoportokban történik a sebesség és a pontosság növelésének érdekében. + +Ezeknek a paramétereknek az elsődleges haszna egy megfelelő méretű minimális +csoprt létrehozása, így a teljes letapogatás gyorsabban lefut. Egy megszokott +választás a 256-os csoport, így egy hálózat C osztályú blokkokban tapogatható le. +Sok kaput tartalmazó letapogatásnál ezt a számot nem célszerű túllépni. Ha a letapogatás +csak néhány kapura korlátozódik, a csoportméret akár 2048-ig (vagy tovább) is +növelhető. + + + + + + + ; + (Párhuzamos próbák beállítása) + --min-parallelism + --max-parallelism + + + +Ezekkel a paraméterekkel meghatározható, hogy az állomások egy csoportja +felé párhuzamosan hány próba küldhető. Ez a kapuk letapogatására és az állomások +felderítésér egyaránt vonatkozik. Alapesetben az Nmap a hálózat teljesítménye +alapján kiszámítja az ideális - de folyton változó - párhuzamosság mértékét. Ha +az átvitel során csomagvesztés alakul ki, az Nmap lassít és kevesebb próbát küld +ki. Az ideális próbaszám a hálózat minőségének javulása alapján lassan emelkedik. +Ezekkel a paraméterekkel egy minimum és egy maximum határt szabhat ezeknek az +értékeknek. Ha a hálózat megbízhatatlannak bizonyul, a párhuzamosság értéke akár +1-re is csökkenhet, míg tökéletes feltételek esetén a párszázas értéket is elérheti. + +A legáltalánosabb felhasználás, mikor a +értékét egynél magasabbra állítják, hogy felgyorsítsák a gyengébb teljesítményű +állomások vagy hálózatok letapogatását. Ezzel a paraméterrel eléggé kockázatos +játszani, mert egy túl magas érték ronthatja a pontosságot. Ennek a paraméternek +az állításával korlátozzuk az Nmap azon képességét, hogy a hálózat paraméterei +alapján dinamikusan szabályozza a párhuzamos működést. A 10-es érték elég jó lehet, +de érdemesebb ezt a paramétert csak a legvégső esetben beállítani. + +A paraméter szintén beállítható 1-re, +ezzel megakadályozható, hogy az Nmap egyszerre egynél több próbát küldjön a célpont +felé. Ez jól használható a paraméterrel együtt +(lásd később), bár ez utóbbi önmagában is jól használható. + + + + + + + , + , + (Próbák érvényességi ideje) + --min-rtt-timeout + --max-rtt-timeout + --initial-rtt-timeout + + + +Az Nmap kezel egy futó időzítőt annak meghatározására, hogy mennyi ideig +várjon egy próba esetén a válaszra, mielőtt feladná vagy újra megpróbálná. Ennek +a kiszámítása azok alapján történik, hogy az előző próbákra mennyi idő alatt érkezett +válasz. Ha a hálózati késleltetés jelentős és folyton változik, ez az érték akár +néhány másodpercre is nőhet. Az érték indulhat egy magasabb szintről is és egy +nem válaszoló állomás esetén ezen a szinten is marad. + + +Az alapértelmezettnél alacsonyabb és + érték jelentősen lerövidíti a letapogatás +idejét. Ez különösen igaz a visszhang nélküli () letapogatásoknál +és az erős tűzfallal védett hálózatoknál. Azonban nem szabad túl agresszíven gondolkodni. +Túl alacsony értéknél a letapogatási idő meg is nőhet, mivel a próbák ideje lejár +és ismétlésre kerülnek, mialatt az előző próbákra adott válaszok még úton vannak +visszafelé. + +Ha az összes állomás egy helyi hálózaton található, 100 milliszekundum + érték eléggé agresszív. Ha menet közben útválasztó +is található, érdemesebb először az ICMP ping eszközzel, vagy más csomagösszeállító +programmal (például hping2) letesztelni a hálózat minőségét. Válassza ki 10 +csomagból a leghosszabb válaszidejűt. Az +értéke lehet ennek a duplája, a pedig a három- +vagy négyszerese. A maximum RTT értékét általában nem érdemes 100 milliszekundumnál +kisebbre és 1 másodpercnél nagyobbra választani. + +A egy ritkán használt paraméter, de hasznos +lehet, ha a hálózat annyira megbízhatatlan, hogy az Nmap alapértékei is túl +agresszívnek bizonyulnak. + + + + + + + + (Hányszor küldje újra + egy kapura a letapogatási próbát) + --max-retries + + + + +Ha az Nmap nem kap választ aegy letapogatási próbára, ez jelentheti azt, +hogy a kaput tűzfallal szűrik, vagy a válasz elveszett a hálózatban. De jelentheti +azt is, hogy a kapu forgalma limitált és átmenetileg nem tud válaszolni. Így az Nmap +ismét elküldi a próbát. Ha az Nmap gyenge hálózati teljesítményt érzékel, ezt +többször is megismételheti mielőtt feladná a próbálkozást. Bár ez javítja a pontosságot, +de egyben elnyújtja a letapogatás idejét is. Ha a teljesítmény fontos szempont, +a letapogatás felgyorsítható az újrapróbálkozások számának korlátozásával. Megadhat +akár értéket is, hogy megakadályozza az újrapróbálkozást, +azonban ez ritkán ajánlott. + +Az alapérték (ha nem használ sablont) 10 ismétlés. Ha +a hálózat megbízható és a célállomás forgalmát nem szabályozták, az Nmap általában csak +egyszer ismétli meg a próbát. Így a legtöbb célpont letapogatására nincs hatással, +ha a értékét például 3-ra csökkenti. Ilyen alacsony +értékek csak a lassú (korlátozott) célállomások letapogatását gyorsítják fel. +Mivel adatokat veszíthet azzal, ha az Nmap korábban feladja egy kapu letapogatását, +ezért hasznosabb a paraméter időzítésének lejártát +megvárni és elveszteni a célponttal kapcsolatos valamennyi adatot, mint hiányos +adatokkal dolgozni. + + + + + + + (Lassú célpontoknál + ennyi idő után feladja a próbálkozást) + --host-timeout + + + + +Néhány állomás letapogatása hosszú idő vesz igénybe. +Ezt okozhatja gyenge vagy megbízhatatlan hálózati eszköz vagy program, a forgalom +szabályozása, vagy egy szigorú szabályokkal rendelkező tűzfal. A letapogatott állomások +leglassabb néhány százaléka emésztheti fel a letapogatási idő nagyrészét. Néha +jobb csökkenteni az időveszteséget és átugrani az ilyen célpontokat már az elején. +Adja meg a paraméterben azt a maximális időt, +amennyit hajlandó egy-egy állomás válaszára várni. Hasznos lehet a 30m +beállítás, így az Nmap nem tölt fél óránál többet egy állomás vizsgálatával. Mivel +ezalatt az Nmap más állomásokat is vizsgálni tud, ezért ez a fél óra nem tekinthető +teljes veszteségnek. Ha egy állomásnak lejárt az időzítése, az Nmap kihagyja a +listából. Nen készül kapulista, nincs operációs rendszer felderítés és változat +érzékelés sem. + + + + + + + ; + (A próbák közti késleltetés) + --scan-delay + --max-scan-delay + + + +Ezzel a paraméterrel utasíthatja az Nmap programot, hogy a célpont felé +küldendő próbák között a megadott időtartamot várjon. Ez különösen hasznos olyan +célpontok esetében, amelyeknek forgalma szabályozott. A Solaris állomások (sok +mással egyetemben) például az UDP letapogatási próbákra másodpercenként csak egy +ICMP választ küldenek. Minden további elküldött próba csak veszteség. A +értékének 1s-os beállításával az Nmap lelassítható +erre a sebességre. Az Nmap megpróbálja érzékelni a forgalomszabályzást és pontosan +beállítani a próbák közti késleltetést, azonban nem okoz gondot az érték kézzel +történő megadása sem. + +Amikor az Nmap növeli a próbák közti késleltetést, hogy megbirkózzon a +forgalomszabályzással, a letapogatás drámaian lelassul. A +paraméterrel megadhatja a két próba közti legnagyobb megengedett késleltetést. +Ha ezt az értéket túl alacsonyra választja, az feleslegesen újraküldött csomagokat +generál, ami egy szigorú forgalomkorlátozással működő állomásnál kihagyott kapukhoz +vezethet. + +A paraméter másik felhasználása a küszöbérték +figyelés alapján működő behatolás érzékelő és megelőző rendszerek (IDS/IPS) megtévesztése. + + + + + + + --defeat-rst-ratelimit + + +Sok állomás hosszú késleltetésű forgalomszabályzást használ a kiküldhető +ICMP hibaüzenetek (például kapu nem elérhető) mennyiségének korlátozására. Néhány +rendszer ugyanilyen korlátozásokat használ az RST (reset) csomagok esetébenis. Ez +drámaian lelassítja az Nmap működését, mivel megpróbál alkalmazkodni ehhez a +korlátozáshoz. A paraméterrel utasíthatja +az Nmap programot, hogy hagyja figyelmen kívül az ilyen korlátozásokat (például +a SYN letapogatásnál, mely a nem válaszoló kapukat nem nyitott +állapotúként kezeli). + +Ennek a paraméternek a használata csökkenti a pontosságot, hiszen néhány kapu +elérhetetlennek bizonyul, mivel az Nmap nem vár eléggé sokáig a korlátozott RST +válaszra. Egy SYN letapogatásnál a válasz nélküli kapuk jelölése szűrt +lesz ahelyett, hogy az RST csomag megvárásával zárt +jelölést kapna. Ez a paraméter hasznos lehet akkor, ha csak a nyitott kapuk érdekesek +és nem kell különbséget tenni a zárt és a +szűrt kapuk között. + + + + + + + (Időzítési sablon) + --T + + + + +Bár az előzőekben tárgyalt időzítési paraméterek eléggé hatékonyak és +eredményesek, de néhány felhasználó túl bonyolultnak találhatja őket. Ráadásul +a megfelelő értékek kiválasztása gyakran hosszabb idő igényel, mint az optimalizálni +kívánt letapogatási művelet maga. Az Nmap felkínál egy egyszerűbb megközelítést is +hat időzítési sablon segítségével. Ezeket megadhatja a paraméterrel +és a számukkal (0–5) vagy a nevükkel. A sablonok nevei: (), + (), +(), (), +() és (). Az +első kettő a behatolásérzékelők megtévesztésére szolgál. Az udvarias mód lassú +letapogatást végez kevesebb sávszélességet, valamint a célállomáson kevesebb +erőforrást használva. A normál mód az alapértelmezett, így a +paraméter megadása semmilyen változást nem idéz elő. Az agresszív mód felgyorsítja +a letapogatást azt feltételezve, hogy gyors és megbízható hálózatot használ. +Végül az őrült mód azt feltételezi, hogy egy különösen gyors hálózatot használ és +a sebesség érdekében hajlandó feláldozni valamennyit a pontosságból. + +Ezekkel a sablonokkal megadható, hogy a letapogatás mennyire legyen agresszív, +de meghagyja a lehetőséget az Nmap programnak, hogy az időzítéseket maga álltsa be. +A sablonok ezen kívül elvégeznek néhány olyan sebesség beállítást, melyek önálló +paraméterként jelenleg nem adhatók meg. Például a paraméter +megakadályozza, hogy a dinamikusan változó letapogatásikésleltetés a TCP kapukon +meghaladja a 10 milliszekundumot, míg a paraméter ugyanezt +az értéket 5 milliszekundumra korlátozza. A sablonok mellett továbbra is használhatóak +az egyedi időzítési paraméterek és ezek minden esetben felülbírálják a sablonokban +beállított alapértékeket. Modern és megbízható hálózatok letapogatása esetén ajánlott +a paraméter használata. Tartsa meg ezt a paramétert még akkor +is, ha egyedi időzítési paramétereket használ, így kihasználhatja a sablonban lévő +kisebb extra optimalizációt is. + +Ha tisztességes szélessávú vagy ethernet kapcsolatot használ, javasolt a + paraméter állandó használata. Néhányan szeretik használni a + paramétert, ám ez sok esetben túl agresszív lehet. Vannak akik +a paramétert szeretik használni, mert azt gondolják, hogy így +kisebb valószínűséggel döntik romba a célpontot, vagy mert magukat általában udvarias +embernek gondolják. Ők azonban gyakran nem veszik észre, hogy a +valójában milyen lassú. Ez a letapogatás tízszer hosszabb is lehet, mint egy +alapértelemeztt. Az alapértelmezett időzítésnél () ritkán +fordulnak elő összeomlások vagy sávszélesség problémák, ezért vatoss letapogatásnál +célszerű ezt használni. Ezeknek a problémáknak a csökkentésére sokkal alkalmasabb +a változat érzékelés elhagyása, mint az időzítési paraméterek állítgatása. + +Bár a és paraméterek hasznosak +a behatolásérzékelők megtévesztésére, de sok célgép vagy kapu esetén a letapogatási +idő különösen elnyújtják. Ilyen hosszú letapogatások esetén hasznosabb az időzítési +paraméterek kézzel történő beállítása, mint a és +paraméterekhez tartozó konzerv értékek használata. + +A fő működési elve a letapogatások sorbaállítása, így +egyszerre csak egy kaput tapogat le és a minden próba után vár 5 percet. A + és beállításai hasonlóak, de a próbák +között csak 15 másodpercet, illetve 0.4 másodpercet várnak. A +az Nmap alapértelmezett beállítása, mely már használja a párhuzamos működést is. +A paraméter megfelel a beállításoknak és a TCP letapogatási +késleltetést 0.01 másodpercre állítja. A megfelel a + beállításoknak +és a TCP letapogatási késleltetést 5 milliszekundumra állítja. + + + + + + + + Tűzfal/IDS megkerülés és becsapás + +Az Internet úttörőinek szeme előtt egy teljesen nyitott hálózat lebegett, +egy univerzális IP címtartománnyal, melyben bárki bárkivel kapcsolatot létesíthet. +Itt bármely állomás információt kérhet és adhat bármely állomásnak. Az emberek +a munkahelyükről is elérhetik az otthoni rendszereiket, beállíthatják a légkondicionálót, +vagy kinyithatják az ajtó egy korán érkezett vendég előtt. Azonban a címtartomány +szűkössége és bizonyos biztonsági megfontolások miatt ennek a látomásnak a megvalósítása +nehézkessé vált. Az 1990-es évek elején a cégek tűzfalakat kezdtek telepíteni azzal +a kifejezett szándékkal hogy az információ szabad áramlását akadályozzák. Nagyméretű +hálózatokat kerítettek le az Internetről alkalmazás szűrőkkel, hálózati címfordítókkal +és csomagszűrőkkel. Az információ szabad áramát szigorúan szabályozott csatornákba +kényszerítették. + +A hálózati akadályok, mint például a tűzfalak nagymértékben megnehezítik egy +hálózat felderítését. Nehezebbé teszik a hétköznapi hálózati felderítést, mivel +éppen ebbőlk a célból tervezik őket. Mindezek ellenére az Nmap számos lehetőséget +kínál az ilyen komplex hálózatok megértéséhez és a szűrők működésének ellenőrzéséhez. +Arra is lehetőséget biztosít, hogy bizonyos gyengén kivitelezett védelmeket meg +tudjunk kerülni. Az egyik legjobb módszer a saját hálózat viselkedésének megértésére, +ha megpróbálja legyőzni azt. Helyezze magát a támadó szemszögébe és próbáljon ki +néhány technikát ebből a fejezetből a saját hálózata ellen. Indítson el egy FTP +ugráló letapogatást, egy üresjárati letapogatást, csomagtöredék alapú támadást vagy +próbáljon alagutat létrehozni egy saját proxy kiszolgálón keresztül. + +Hogy tovább korlátozzák a hálózati aktivitást, a társaságok egyre gyakrabban +ellenőrzik a hálózati forgalmat behatolásérzékelő rendszerekkel (IDS). Az összes +nagyobb ilyen rendszer olyan szabálykészlettel érkezik, mely képes érzékelni az +Nmap letapogatásait, mivel az ilyen letapogatások általában egy közelgő támadás +előjelei. A legtöbb ilyen terméket azóta átalakították behatolás megelőző +rendszerré (IPS), mivel képesek blokkolni a gyanúsnak ítélt forgalmat. A hálózati +rendszergazdák és az IDS rendszerek szállítóinak nagy bánata, hogy a csomagok +egyszerű analizálásával nagyon nehéz felismerni a rossz szándékot. A kellő türelemmel +és szakértelemmel rendelkező támadók az Nmap egyes paramétereinek a segítségével +könnyen megkerülhetik az IDS rendszereket. Ezalatt a rendszergazdáknak meg kell +küzdeniük a rengeteg téves jelzéssel, ahol az ártatlan forgalom könnyen válthat ki +riasztást vagy okozhatja a forgalom blokkolását. + +Időnként emberek azt javasolják, hogy az Nmap ne biztosítson lehetőséget +a tűzfalak megkerülésére, vagy az IDS rendszerek megtévesztésére. Azzal érvelnek, +hogy ezeket sokkal inkább fogja egy támadó rossz szándékkal használni, mint egy +rendszergazda a biztonság növelésére. Ezzel a logikával az a probléma, hogy a +támadók akkor is ezeket a módszereket fogják használni, legfeljebb más eszközt +fognak használni, vagy maguk írják bele azokat az Nmap programba. Eközben a +rendszergazdák egyre nehezebben fogják tudni ellátni a munkájukat. Sokkal jobb +védekezés egy modern, folyamatosan javított FTP kiszolgálót használni, mint egy +FTP ugráló letapogatást megvalósító program terjesztését megakadályozni. + + +Nincs varázsfegyver (vagy Nmap paraméter) a tűzfalak és IDS rendszerek +felismerésére és érzékelésére. Ehhez tudás és tapasztalat szükséges. Egy ilyen +témájú oktatóanyag meghaladja ennek a leírásnak a kereteit, így csak a kapcsolódó +paraméterek felsorolására és működésük rövid leírására szorítkozunk. + + + + + (csomagok tördelése); + (a megadott MTU érték használata) + -f + --mtu + + + + Az paraméter használatakor a megadott letapogatást + (beleértve a visszhang letapogatást is) az Nmap apróra tördelt IP csomagokkal + hajtja végre. Az alapötlet az, hogy osszuk el a TCP fejlécet több csomagra, + így nehezítve meg a csomagszűrők, behatolás érzékelők és más zavaró eszközök + dolgát a tevékenységünk felismerésében. Azonban legyen óvatos! Néhány + programnak gondot jelent az ilyen apró csomagok kezelése. A jó öreg + Sniffit szaglászóprogram az első töredék vételekor azonnal szegmentációs + hibát okoz. Ha egyszer adja meg ezt a paramétert, az Nmap 8 bájtos vagy + kisebb darabokra tördeli a csomagokat az IP fejléc után. Így egy 20 bájtos + TCP fejlécet 3 csomagra oszt fel, 2 csomag 8 bájtot, egy csomag pedig + a maradék 4 bájtot fog szállítani. Természetesen minden darab tartalmaz + egy IP fejlécet is. Ha ismét megadja az paramétert, + akkor 16 bájtos töredékeket fog használni (csökkentve a töredékek számát). + De megadhat saját eltolási értéket is az paraméter + használatával. Ne használja egyszerre az és az + paramétert. Az eltolás értékének mindig oszthatónak + kell lennie nyolccal. Míg egyes csomagszűrőkön és tűzfalakon nem csúsznak + át a töredezett csomagok (ilyen például a Linux rendszermag bekapcsolt + CONFIG_IP_ALWAYS_DEFRAG paramétere, mely sorba állítja a töredékeket), + addig egyes eszközök nem engedhetik meg ezt a teljesítmény csökkenést, + így tiltják ezt a lehetőséget. Ismét más rendszerek azért nem engedélyezik + ezt, mert a töredékek más-más útvonalon érkezhetnek a hálózatba. Néhány + forrásrendszer a rendszermagon belül állítja össze a kimenő csomagtöredékeket. + Erre példa a Linux iptables kapcsolatkövetési modulja. Hogy biztos lehessen + abban, hogy a kimenő csomagok töredezettek, futtasson a letapogatással + együtt egy szaglászót is, mint például a Wireshark. + Ha az ön operációs rendszer ilyen problémákat okoz, próbálja ki a + paramétert, így kikerülheti az IP réteget + és nyers ethernet kereteket küldhet el. + + + + + + + (Letapogatás álcázása csalikkal) + -D + + + Végrehajt egy letapogatást csalik használatával, így a célpont + azt érzékeli, hogy a csaliként megadott állomások is letapogatással + próbálkoznak. Így az IDS rendszere egyidőben 5-10 letapogatást is érzékel, + de nem tudja eldönteni, melyik a valós IP cím és melyik az ártatlan csali. + Bár ezek legyőzhetőek útválasztón keresztüli nyomkövetéssel, a válasz + eldobásával és más aktív eljárásokkal, de általánosságban ez egy jó + mödszer a saját IP cím elrejtésére. + + A csalikat listáját vesszővel kell elválasztani. Kiegészítésként + használhatja a ME paramétert a csalik + listájában, amely a saját IP címét jelenti. Ha a ME + paramétert a hatodik vagy későbbi pozícióban használja, a legtöbb + letapogatás érzékelő (mint például a Solaris Scanlogd) valószínűleg + egyáltalán nem fogja megjeleníteni az IP címét. Ha nem használja a + ME paramétert, az Nmap véletlen pozícióba + teszi az IP címét. Használhatja az RND paramétert, így véletlenszerű, + nem fenntartott IP címeket generálhat, vagy az RND:<szám> paramétert, + így a <szám>-nak megfelelő mennyiségű IP címet kap. + Jegyezze meg, hogy a megadott csaliknak élő állomásoknak kell + lenniük, különben véletlenül SYN elárasztásnak teheti ki a célpontokat. + Ráadásul eléggé könnyű kitalálni a támadó kilétét, ha az IP címek közül + csak egy él a hálózaton. Célszerűbb nevek helyett IP címeket használni + (így a csalik hálózatában lévő névszerverek naplóiban nem jelenik meg + az Ön IP címe). + + A program a csalikat mind a kezdeti visszhang letapogatásnál (az + ICMP, SYN, ACK vagy bármi más használatakor) mind a későbbi kapuletapogatásoknál + használja. Szintén használja a csalikat a távoli ooperációs rendszer + felderítésekor (). Nem használ csalikat a változat + érzékeléskor és a TCP kapcsolódási letapogatásnál. + + Nem érdemes túl sok csalit használni, mivel lelassíthatja a + letapogatást és ronthatja a pontosságot. Ezen kívül néhány szolgáltató + kiszűri a hamisított csomagokat, bár a legtöbb nem foglalkozik velük + egyáltalán. + + + + + + (Hamis forráscím) + -S + + + + Néhány esetben az Nmap nem tudja meghatározni az Ön forráscímét + (ilyenkor az Nmap figyelmeztető üzenetet küld). Ilyenkor az + paraméter után adja meg annak a hálózati illesztőnek az IP címét, amelyen + keresztül a csomagokat küldeni szeretné. + + Ennek a paraméternek egy másik lehetséges használata, hogy amikor + a célponttal elhiteti, hogy valaki más próbálja + meg letapogatni. Képzelje el, amikor egy cég azt látja, hogy egy + versenytársa próbálja meg letapogatni! Az ilyen használathoz általában + szükség van az és a paraméterek + használatára is. Jegyezze meg, hogy ilyenkor semmilyen választ nem fog + kapni (azok a hamisított feladóhoz továbbítódnak), így az Nmap sem tud + használható jelentést készíteni. + + + + + + + (Megadott illesztő használata) + -e + + + + Megadja, hogy az Nmap melyik illesztőt használja a csomagok + küldésére és fogadására. Az Nmap ezt automatikusan is képes érzékelni, + de meg is adhatja, ha ez nem történik meg. + + + + + + + (A forráskapu számának hamisítása) + --source-port + --g + + + +Az egyik meglepően elterjedt hiba, hogy a forráskapu alapján bíznak meg +egyes hálózati forgalmakban. Könnyű megérteni, miért is van ez így. Egy rendszergazda +szeretne beállítani egy új, csillogó tűzfalat. Azonban a beüzemelés után a felhasználók +elárasztják a panaszaikkal, mivel a programjaik többé nem működnek. Különösen +a névfeloldással lehetnek problémák, mivel a külső hálózatból érkező UDP DNS +válaszok többé nem tudnak belépni a belső hálózatba. Az FTP egy másik szokványos +példa. Aktív FTP átviteleknél a kiszolgáló megpróbál visszafelé felépíteni egy +kapcsolatot az ügyfél által kért fájl átviteléhez. + +Ezekre a problémákra léteznek biztonságos megoldások, akár alkalmazásszűrők, +akár protokoll feldolgozó tűzfalmodulok formájában. Sajnos vannak könnyebb, de kevésbé +biztonságos megoldások is. Felismervén, hogy a DNS válaszok az 53-as kapuról, az +aktív FTP kapcsolatok pedig a 20-as kapuról érkeznek, a legtöbb rendszergazda +beleesik abba a csapdába, hogy egyszerűen engedélyezi ezekről a kapukról a bejövő +forgalmat. Gyakran azt feltételezik, hogy a támadók nem ismerik fel és nem használják +ki ezeket a réseket. Máskor úgy gondolják, hogy ez csak ideiglenes lesz, amíg egy +biztonságosabb megoldást nem találnak. Aztán elfelejtkeznek róla. + +Ám nemcsak a túlterhelt rendszergazdák esnek ebbe a csapdába. Számos termék +érkezik ilyen gyenge szabályokkal. Különösen a Microsoft bűnös ebben a körben. +A Windows 2000 és Windows XP rendszerekkel szállított IPsec szűrő tartalamaz egy +hallgatólagos szabályt, mely beenged minden TCP és UDP forgalmat, mely a 88-as +forráskapuról érkezik (Kerberos). Egy másik, jól ismert eset volt a Zone Alarm +személyi tűzfalakban a 2.1.25-ös változatig meglévő hiba, mely beengedett minden +UDP forgalmat az 53-as (DNS) vagy a 67-es (DHCP) forráskapukról. + +Ezeknek a hibáknak a kihasználásához az Nmap a és a + paramétereket biztosítja (ezek egyenértékűek). +Csak adja meg kapu számát és amennyiben lehetséges, az Nmap ezzel a forráskapuval +fogja elküldeni a próbákat. Bizonyos operációs rendszer érzékelési tesztekhez az +Nmap más kaput fog használni a helyes működéshez. A DNS kérések végrehajtásakor +a beállításait nem veszi figyelembe, mivel ezeknek +a kéréseknek a kezelését az Nmap a rendszer könyvtárain keresztül végzi. A legtöbb +TCP letapogatás, beleértve a SYN letapogatást, valamint az UDP letapogatás teljes +mértékben támogatja ezt a paramétert. + + + + + + + (Véletlen adatok + hozzáfűzése az elküldött csomagokhoz) + --data-length + + + Normális esetben az Nmap csak minimális méretű csomagokat küld, + melyek csak a fejlécet tartalmazzák. Így a TCP csomagjai általában csak + 40, az ICMP visszhang kérései pedig csak 28 bájt hosszúak. Ennek a + paraméternek a hatására az Nmap a megadott számú véletlen bájtot fűz + hozzá a legtöbb elküdött csomaghoz. Az operációs rendszer érzékelésének + () próbacsomagjait ez nem érinti, mivel a pontosság + miatt itt állandó próbákra van szükség. A legtöbb visszhang és kapuletapogató + csomag azonban támogatja ezt a paramétert. Ez egy kicsit lelassítja a + letapogatást, viszont kevésbé lesz feltűnő. + + + + + + + (Csomagok küldése + megadott IP paraméterekkel) + --ip-options + + + Az IP protokoll + leírása felkínál pár paramétert, melyek a csomagok fejlécében használhatók. + Nem úgy, mint a széles körben használt TCP paraméterek, az IP paraméterek + ritkán láthatók praktikus és biztonsági megfontolások miatt. Valójában az + Interneten lévő legtöbb útválasztó blokkolja a veszélyes paramétereket, mint + például a forrás nyomkövetést. Néhány esetben a paraméterek hasznosak lehetnek + a célpont felé vezető útvonal felderítésében és manipulálásában. Például + felhasználhatja az útvonal rögzítése paramétert a célponthoz vezető útvonal + felderítéséhez még akkor is, ha a hagyományos traceroute nem jár sikerrel. + Vagy ha a csomagokat bizonyos tűzfalak eldobják, megadhat egy másik útvonalat + a szigorú és a laza útválasztás paraméterekkel. + + Az IP paraméterek megadásának leghatásosabb módja ha az + után beírja az értékeket. A hexadecimális értékeket mindig \x + karakterrek kezdje, majd következik két szám. Bizonyos karaktereket ismételhet + is, ha a karakter után egy csillagot ír, majd megadja az ismétlések számát. + Például a \x01\x07\x04\x00*36\x01 egy olyan + hexadecimális karaktersorozat, mely 36 darab NULL bájtot tartalmaz. + + Az Nmap a paraméterek megadásának egy rövidebb módját is felkínálja. + Az R, T + és U paraméterekkel az útvonal rögzítését, + az időbélyeg rögzítését, vagy mindkettőt kérheti. A laza vagy a szigorú + útvonalkövetést az L vagy az S + paraméter és az IP címek szóközzel elválasztott listájának megadásával + kérhet. + + Ha szeretné nyomon követni az elküdött és a beérkezett csomagokban + lévő beállításokat, adja meg a paramétert. + Ha további információkra és példákra kíváncsi az Nmap programban használható + IP paraméterekkel kapcsolatban, látogasson el a + címre. + + + + + + + + (A time-to-live mező beállítása) + --ttl + + + + Beállítja az IPv4 csomag time-to-live mezőjét a megadott értékre. + + + + + + (Összekeveri a célpontok sorrendjét) + --randomize-hosts + + + + Utasítja az Nmap programot, hogy a letapogatás előtt keverje össze + a célpontok csoportjának sorrendjét (maximum 16384 gép). Ez a letapogatást + kevésbé nyilvánvalóvá teszi a legtöbb hálózati megfigyelő rendszer számára, + különösen ha egy lassú időzítéssel is kombinálja. Ha nagyobb csoportot + szeretne megkeverni, állítsa be a PING_GROUP_SZ paramétert az nmap.h + fájlban és fordítsa le újra a programot. Egy másik megoldás lehet, ha + a célpontok címeit egy lista letapogatással szedi össze (), megkeveri azokat egy Perl + parancsfájllal, majd ezt a listát adja át az Nmap programnak az + paraméterrel. + + + + + + (MAC cím hamisítása) + --spoof-mac + + + + Arra utasítja az Nmap programot, hogy az összes elküldött ethernet + kerethez a megadott MAC címet használja. Ehhez a paraméterhez automatikusan + hozzáadódik a paraméter is, így biztosítva, + hogy az Nmap valójában ethernet-szintű csomagokat küldjön. A MAC cím + több formátumban is megadható. Ha a megadott paraméter egy egyszerű + 0, az Nmap egy teljesen véletlen MAC címet választ arra + munkamenetre. Ha a megadott karakterlánc páros számú hexadecimális számból + áll (a párok elválaszthatók kettősponttal), az Nmap ezt a MAC címet fogja + használni. Ha kevesebb, mint 12 számjegyet adott meg, az Nmap a fennmaradó + részt véletlen értékekkel tölti fel. Ha a megadott érték nem 0 vagy + hexadecimális karakterlánc, az Nmap elvégez egy keresést az nmap-mac-prefixes + fájlban, hogy található-e a megadott karakterlánccal megegyező nevű + gyártó (ez érzékeny a nagy- és kisbetűkre). Ha talál egyezést, az Nmap + a gyártó OUI mezőjét fogja használni (3 bájtos előtag), a fennmaradó 3 + bájtot pedig véletlen értékekkel tölti fel. Példák az érvényes + paraméterre: Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, + 0020F2 és Cisco. + + + + + + + (Csomagok küldése hamis TCP/UDP ellenőrző összeggel) + --badsum + + + + + Az Nmap a csomagokat hamis TCP vagy UDP ellenőrző összeggel fogja + elküldeni a célpont felé. Mivel elméletileg minden állomás IP verme az + ilyen csomagokat helyesen eldobja, ezért bármilyen válasz tűzfalra vagy + IDS rendszerre utal, melyek nem foglalkoznak az ellenőrző összeg + vizsgálatával. További részletek erről a technikáról a + címen. + + + + + + + + + Kimenet + + Bármely biztonsági eszköz csak annyira hasznos, amennyire az általa + generált kimenet használható. A bonyolult tesztek és eljárások keveset érnek, + ha az eredményt nem áttekinthető és érhető módon szolgáltatják. Az Nmap programot + annyiféle módon használják emberek és más programok is, hogy egyféle kimeneti + formátum nem lenne megfelelő mindenkinek. Így az Nmap többféle formátumot + kínál, beleértve az emberek számára hasznos interaktív módot és a programok + által könnyen feldolgozható XML-t. + +A különböző kimeneti formátumok mellett az Nmap néhány paraméterrel lehetővé +teszi mind a kimenet, mind a hibakeresési információk bőbeszédűségének beállítását. +A kimenti adatok mind a szabványos kimenetre, mind egy megadott nevű fájlba kerülhetnek. +Az Nmap képes a fájlhoz hozzáfűzni, vagy felülírni azt. A kimeneti fájlok alkalmasak +még megszakított letapogatások folytatására is. + +Az Nmap kimenete öt különféle formátumban érhető el. Az alapértelmezett +elnevezése az interaktív kimenet amely a szabványos +kimenetre kerül (stdout). Létezik még egy normál kimenet +is, mely csak annyiban különbözik az interaktívtól, +hogy kevesebb futásidejű üzenetet és figyelmeztetést jelenít meg, mivel feltételezi, +hogy az adatok elemzésére csak a letapogatás befejezése után kerül sor, nem pedig +folyamatosan. + +Az XML kimenet az egyik legfontosabb kimeneti típus, mivel átalakítható HTML +dokumentummá, könnyen feldolgozható más programmal (mint például az Nmap grafikus +felülete) és adatbázisba is importálható. + +A fennmaradó két kimeneti típus közül az egyik az egyszerű +grep által feldolgozható kimenet, mely a legtöbb +információt jeleníti meg az állomásról egy sorban, a másik a sCRiPt KiDDi3 0utPUt +azoknak, akik úgy gondolnak magukra, mint |<-r4d. + +Míg az alapértelmezett interaktív kimenetnek nincs parancssori kapcsolója, +a többi négy formátum ugyanazt a szintaktikát használja. Egyetlen paraméterük van, +az eredményt tároló fájl neve. Több formátum is megadható egyszerre, de minden +formátum csak egyszer használható. Például ha szeretné később átnézni a normál +kimenet eredményét és egyben szeretné programmal is feldolgozni, akkor használhatja +az paramétert. Bár ebben a fejezetben +az egyszerűség kedvéért rövid fájlneveket használunk (például myscan.xml), +általában ajánlott hosszabb, jelentéssel bíró neveket használni. A nevek kiválasztásakor +figyeljünk a személyes igényekre, használhatunk dátumot, vagy egy-két szavas rövid +leírást a munka típusáról. + +Bár ezekkel a paraméterekkel az eredményeket fájlba menthetjük, az Nmap ettől +függetlenül az interaktív kimenetet megjeleníti a szabvány kimeneten. Például az +nmap -oX myscan.xml célpont parancs az XML kimenetet a +myscan.xml fájlba írja és egyben megjeleníti +azt az interaktív kimenetet is, amely az paraméter megadása +nélkül is megjelent volna. Ez a viselkedés megváltoztatható, ha a kimeneti formátum +után egy kötőjelet ad meg paraméterként. Ilyenkor az Nmap kikapcsolja az interaktív +kimenetet és ehelyett a szabványos kimeneti adatfolyamba írja a kívánt kimeneti +formátumú adatokat. Így az nmap -oX - célpont +parancs csak a stdout eszközre küldi el az XML kimenetet. A komoly hibákat továbbra +is a normál hibakimenetre, a stderr eszközre írja. + +Az Nmap más paramétereitől eltérően a naplófájl paraméterjelzője (mint az +) és a fájlnév vagy kötőjel között kötelező szóközt hagyni. +Ha ezt elhagyja és például az vagy az +formátumban adja meg a paramétert, akkor kompatibilitási okoból egy normál formátumú +kimeneti fájl jön létre G- és Xscan.xml +nevekkel. + +Ezek közül a paraméterek közül mindegyik támogatja a fájlnevek +strftime()-szerű átalakítását. A +%H, %M, +%S, %m, +%d, %y és +%Y megadása pontosan azt jelenti, mint az +strftime() függvényben. A %T +ugyanazt jelenti, mint a %H%M%S, a %R +ugyanazt jelenti, mint a %H%M és a %D +ugyanazt jelenti, mint a %m%d%y. ha a % +jelet bármilyen más karakter követi, akkor azt a karaktert egyszerűen tovább adja +(például a %% egy százalékjelet ad tovább). +Így az paraméter megadása egy XML fájlt hoz +létre scan-144840-121307.xml névvel. + +Az Nmap lehetőséget biztosít a letapogatás részletességének beállítására, +valamint arra, hogy az eredményeket hozzáfűzze egy meglévő fájlhoz ahelyett, hogy +felülírná. A paraméterek leírása az alábbiakban található. + +Nmap kimeneti formátumok + + + (normál kimenet) + -oN + + + Ezzel a kéréssel a normál kimenet + a megadott nevű fájlba lesz átirányítva. Ahogy a fentiekben olvashatta, + ez egy kicsit különbözik az interaktív kimenettől. + + + + + + (XML kimenet) + -oX + + + + Ezzel a kéréssel az XML kimenet + a megadott nevű fájlba lesz átirányítva. Az Nmap a fájlhoz hozzáfűz egy + dokumentum típusmeghatározást si (DTD), így az XML feldolgozók ellenőrizhetik + az Nmap XML kimenetét. Bár ez elsősorban programbeli felhasználásra + készült, de segítséget nyújt az embereknek is az Nmap XML kimenetének + értelmezésében. A DTD leírja a formátum érvényes elemeit és gyakran + felsorolja a tulajdonságokat és azok értékeit is. A legfrissebb változat + mindig megtalálható a + címen. + + XML egy stabil formátumot kínál, mely programból könnyen + feldolgozható. Ingyenes XML feldolgozók az összes nagyobb programozási + nyelvhez elérhetők, beleértve a C/C++, Perl, Python és Java nyelveket. + Az Nmap kimenetének feldolgozására és működésének vezérlésére a legtöbb + nyelvhez már készültek kapcsolódó munkák. Perl CPAN példák találhatók a + Nmap::Scanner + és a Nmap::Parser címeken. + A legtöbb esetben az XML az előnyben részesített formátum. + + Az XML kimenet hivatkozik egy XSL stíluslapra, melynek segítségével + az eredmények HTML formátumra alakíthatók. Ezt a legegyszerűbben úgy + használhatja, hogy az XML kimenetet betölti egy böngészőbe. Alapesetben + ez csak azon a gépen működik, amelyen az Nmap fut (vagy egy hasonlóan + beálított gépen), mivel az nmap.xsl + elérési útvonala bele van drótozva a programba. A + vagy a paraméterek megadásával olyan hordozható + XML fájlt hozhat létre, mely bármely Internetre kötött gépen megjeleníthető + HTML formátumban. + + + + + + + (Szkriptkölyök kimenet) + -oS + + + A szkriptkölyök kimenet olyan, mint az interaktív kimenet, csak még átmegy + egy végső feldolgozáson. Így jobban passzol az olyan hekkerek lelkivilágához, + akik előzőleg lenézték az Nmap egységes helyesírását és a nagybetűk használatát. + Gyenge humorérzékűek úgy gondolhatják, hogy ez a paraméter nevetségessé akarja + tenni a szkriptkölyköket ahelyett, hogy segítené őket. + + + + + + (grep által feldolgozható kimenet) + -oG + + + +Ez a kimenti formátum maradt a végére, mivel ez egy elavult formátum. Az XML +sokkal használhatóbb és tapasztalat felhasználók számára majdnem olyan kényelmes is. +Az XML egy szabvány, melyet feldolgozó programok százai támogatnak, míg a greppel +feldolgozható kimenet csak egy egyszerű barkácsolás. Az XML könnyen bővíthető az +új Nmap tulajdonságok támogatásához, míg ezek a bővítések a helyhiány miatt gyakran +kimaradnak a greppel feldolgozható kimentből. + +Mindezek ellenére a greppel feldolgozható kimenet még mindig nagyon népszerű. +Egyszerű formátumú, mely minden egyes célpont adatait egyetlen sorban adja vissza, +egyszerűen kereshető és feldolgozható olyan alap Unix eszközökkel, mint a grep, +awk, cut, sed, diff, vagy egy Perl parancsfájl. Emellett használható még egyszeri +tesztek parancssorból történő elvégzésére. Az összes nyitott SSH kapujú, vagy +Solaris operációs rendszert futtató állomás megtalálásához elég egy egyszerű greppel +feldolgozható kimenet, melyet az awk vagy a cut programba átirányítva kinyomtatható +a kívánt információ. + +A greppel feldolgozható kimenet megjegyzésekből (#-tel kezdődő sorok) és a +célpont soraiból áll. A célpont sora 6 címzett mezőt tartalmaz, tabulátorral +elválasztva, kettősponttal a végén. A mezők nevei: Állomás (Host), +Kapuk (Ports), Protokollok (Protocols), +Mellőzött állapot (Ignored State), +Operációs rendszer (OS), +Sorozatszám (Seq Index), IP ID +és Állapot (Status). + +Ezek közül a mezők közül általábana legfontosabb a Ports, +mely információkat tartalmaz az összes érdekes kapuról. Ez egy vesszővel elválasztott +lista. Minden egyes bejegyzés egy-egy kaput jelent és hét almezőt tartalmaz perjellel +(/) elválasztva. Az almezők nevei: Kapuszám (Port number), +Állapot (State), Protokoll (Protocol), +Tulajdonos (Owner), Szolgáltatás (Service), +SunRPC info és Változat (Version info). + +Csakúgy, mint az XML kimenet esetében, ez a leírás ennek a kimenetnek sem +tartalmazza a teljes leírását. Az Nmap greppel feldolgozható kimenetének részletes +leírása a címen található. + + + + + + (Minden kimeneti formátum használata) + -oA + + + Kényelemből használhatja az + paramétert, ha a kimenetet egyszerre akarja normál, XML és greppel + feldolgozható formátumban. Ezek az alapnév.nmap, + az alapnév.xml és az alapnév.gnmap + fájlokban tárolódnak. Mint minden programban, itt is megadhatja a fájlok + tárolásának teljes útvonalát, mint például ~/nmaplogs/foocorp/ + Unix vagy c:\hacking\sco Windows + rendszereknél. + + + + + + Részletezés és hibakeresési paraméterek + + + (Növeli az adatok részletességét) + -v + + + + Ha növeli a részletességi szintet, az Nmap több információt jelenít + meg a folyamatban lévő letapogatásról. A nyitott kapu a megtalálásuk + sorrendjében jelennek meg. Ha az Nmap úgy érzékeli, hogy a letapogatás + pár percnél többet fog igénybe venni, akkor megjelenít egy várható befejezési + időpontot is. Ha még részletesebb információkra kiváncsi, használja + kétszer a paramétert. + + A legtöbb változás csak az interaktív kimenetet érinti és csak + néhány van hatással a normál és a szkriptkölyök kimenetre. A többi kimenet + gépi feldolgozásra készült, így ezekben az Nmap alaphelyzetben is részletes + információkat jelenít meg. Ennek ellenére van pár változás ezekben a + módokban, mivel néhány részlet elhagyása jelentősen csökkenti a kimenet + méretét. Például a greppel feldolgozható kimenetben a megjegyzések csak + a részletes módban jelennek meg, mivel ezek eléggé hosszúak lehetnek. + + + + + + + (Növeli vagy beállítja a hibakeresés szintjét) + -d + + + + +Ha a részletes üzemmód nem ad visza elegendő információt, a hibakeresési +mód képes elárasztani adatokkal! Csakúgy, mint a részletes üzemmód (), +a hibakeresési üzemmód is egy parancssori kapcsolóval aktivizálható (), +melynek szintje a kapcsoló többszóri megadásával növelhető. Emellett a hibakeresés +szintjét a paraméternek átadott értékkek is beállíthatja. +Például a 9-es szintet állít be. Ez a legmagasabb beállítható +szint és - hacsak nem egy egyszerű letapogatás futtat - több száz sornyi információt +fog kinyomtatni. + +A hibakeresési kimenet hasznos lehet, ha valamilyen hibát gyanít az Nmap +program működésében, vagy egyszerűen csak szeretné megérteni, hogy mit és miért +csinál az Nmap. Mivel ez a funkció elsősorban fejlesztőknek készült, ezért a legtöbb +megjelenő információ nem is értelmezhető könnyen. Kaphat például egy ilyen kimenetet: +Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Ha nem ért egy sort egyszerűen figyelmen +kívül hagyhatja, megnézheti a program forráskódjában vagy segítséget kérhet a +fejlesztői levelező listán (nmap-dev). Néhány sor könnyen érthető, de a hibakeresési +szint növekedésével az üzenetek egyre homályosabbá válnak. + + + + + + + (Az elküldött és fogadott csomagok és adatok követése) + --packet-trace + + + + Az Nmap minden elküldött és fogadott csomagról összegzést készít. + Ezt a legtöbbször csak hibakeresésre használják, de hasznos lehet olyanoknak + is, akik szeretnék megérteni, hogy mi történik a színfalak mögött. Hogy + elkerülhető legyen sorok százainak a megjelenítése, érdemes korlátozni + a letapogatni kívánt kapuk számát például a + paraméter megadásával. Ha csak a változat érzékelés részleteire kiváncsi, + használja a paramétert. + + + + + + (Csak a nyitott (vagy valószínűleg nyitott) kapukat mutatja) + --open + + + + + +Néha csak azok a kapuk érdekesek, amelyekhez kapcsolódni lehet (nyitott) +és nincs szükség agyonzsúfolni a kimenetet a zárt, +szűrt és zárt|szűrt +kapukkal. A kimenet testreszabása általában a letapogatás után történik a +grep, awk +vagy Perl használatával, de a rengeteg +kérés hatására ez a lehetőség is bekerült a programba. Az +megadásával csak a nyitott, nyitott|szűrt +és a szűretlen állapotú kapuk kerülnek a kimenetre. +Ezeknek a kapuknak a kezelése ugyanúgy történik, mint normál esetben, így a +nyitott|szűrt és a szűretlen +kapuk csak egy számként jelennek meg, ha túl sok van belőlük. + + + + + + + + (Illesztők és útvonalak listázása) + --iflist + + Megjeleníti az Nmap által érzékelt illesztőket és rendszerútvonalakat. + Ez hasznos lehet az útválasztási problémák hibakeresésében vagy az eszközök + hibás kezelésekor (például az Nmap egy PPP kapcsolatot ethernet kapcsolatnak + érzékel). + + + + (A hibák/figyelmeztetések rögzítése a normál módú kimenti fájlba) + --log-errors + + + + Az nmap által kiírt hibák és figyelmeztetések általában csak a + képernyőn (interaktív kimenet) jelnnek meg, a normál formátumú kimenti + fájlt érintetlenül hagyva. Ha szeretné ezeket az üzeneteket a normál + kimenti fájlban is látni, adja meg ezt a paramétert. Ez hasznos lehet + akkor, ha nem figyeli az interaktív kimenetet vagy valamilyen hibát + próbál megtalálni. Az üzenetek az interaktív kimeneten ezután is megjelennek. + Ez a paraméter nem működik azokkal a hibákkal, melyek a hibásan megadott + parancssori kapcsolókkal függnek össze, mivel az Nmap ilyenkor még nem + készítette elő a kimenti fájlt. Ráadásként néhány NMap hiba/figyelmeztetés + más rendszert használ és nem támogatja ezt a paramétert. Ennek a paraméternek + az alternatívája lehet az interaktív kimenet (beleértve a szabvány + hibakimenetet) átirányítása egy fájlba. Míg a legtöbb Unix parancshéj + ezt könnyen lehetővé teszi, Windows alatt ez egy kissé bonyolult lehet. + + + + + + Vegyes kimeneti paraméterek + + + + (Felülírás helyett hozzáfűzés a kimenti fájlhoz) + --append-output + + + + Ha megad egy fájlnevet egy kimeneti paraméterhez (mint például + az vagy az ), akkor a program + alapértelmezettként felülírja a meglévő fájlt. Ha szeretné megtartani + a fájl tartalmát és hozzáfűzni az új eredményeket, adja meg az + paramétert. Így futtatva az Nmap programot + az összes megadott fájlhoz hozzáfűzi az új eredményeket a felülírás + helyett. Ez az XML kimenettel () nem működik jól + együtt, így ez - a fájl kézzel történő javításáig - feldolgozási problémát + okozhat. + + + + + + (Megszakított letapogatás folytatása) + --resume + + + + + Néhány kiterjedt NMap letapogatás nagyon hosszú időt vehet igénybe + - néha napokig tarthat. Néhány letapogatás nem mindig fut le a befejezésig. + Bizonyos korlátozások megakadályozhatják, hogy az Nmap munkaidő alatt + fusson, leállhat a hálózat, az Nmap programot futtató gép elszenvedhet + egy nem várt újraindítást, de maga az Nmap is összeomolhat. Az Nmap + futását a rendszergazda is megszakíthatja a ctrl-C + lenyomásával. A teljes letapogatás újraindítása a kezdetektől nem éppen + egy kívánt állapot. Szerencsére ha a normál () vagy + a greppel feldolgozható () naplófájl megmaradt, a + felhasználó utasíthatja az Nmap programot, hogy folytassa a letapogatást + a megszakítás pontjánál. Egyszerűen adja meg a + kapcsolót és a normál/greppel feldolgozható kimeneti fájl nevét. Más + paraméter nem adható meg, mivel az Nmap a kimeneti fájl feldolgozásával + visszaállítja az eredeti paramétereket. Egyszerűen írja be az + nmap --resume + fájlnév parancsot. Az Nmap az új + adatokat hozzáfűzi az előző futtatás során megadott fájlhoz. Az XML + kimeneti formátumnál a folytatás nem támogatott, mivel a két futtatás + eredményének egy fájlba történő összevonása eléggé bonyolult lehet. + + + + + + (XSL stíluslap beállítása az XML kimenet átalakításhoz) + --stylesheet + + + + Az XML fájlok megtekintéséhez és átalakításához HTML formátumra az + Nmap rendelkezik egy saját XSL stíluslappal nmap.xsl + néven. Az XML kimenet tartalmaz egy xml-stylesheet + irányelvet, mely az Nmap programmal eredetileg telepített nmap.xml + fájlra hivatkozik (Windowson az aktuális munkakönyvtárra). Egyszerűen + töltse be az XML kimenetet egy modern webböngészőbe és az automatikusan + betölti az nmap.xsl fájlt és + megjeleníti az eredményeket. Ha más stíluslapot akar használni, adja + meg azt a kapcsoló után. A teljes útvonalat + vagy címet meg kell adnia. Egy megszokott hivatkozás a . Ez arra utasítja a böngészőt, + hogy az Insecure.org címről töltse be a legfrissebb stíluslapot. A + paraméterrel ugyanezt a hatást érheti el, csak + kevesebbet kell gépelni és megjegyezni. Az Insecure.org címről letöltött + stíluslap segítségével olyan gépen is megtekintheti az eredményeket, melyen + nincs telepítve az Nmap (és így az nmap.xsl sem). + Gyakran a cím megadása sokkal hasznosabb, de biztonsági okokból az + alapértelmezett a helyi fájlrendszeren lévő nmap.xsl + használata. + + + + + + (Stíluslap betöltése az Insecure.Org oldalról) + --webxml + + + + Ez egy kényelmesebb megvalósítása a + kapcsolónak. + + + + + + (Kihagyja az XSL stíluslap meghatározását az XML fájlból) + --no_stylesheet + + + + Megakadályozza, hogy az Nmap az XML kimeneti fájlban stíluslap + bejegyzést hozzon létre. Kimarad az xml-stylesheet + irányelv. + + + + + + + + + + Vegyes paraméterek + Ebben a szakaszban néhány olyan fontos (és kevésbé fontos) paraméter + leírása található, melyek nem igazán illenek más fejezetekbe. + + + + + (IPv6 letapogatás engedélyezése) + -6 + IPv6 + + + + 2002 óta az Nmap legnépszerűbb tulajdonsága az IPv6 támogatás. + A visszhang letapogatás (csak TCP), a kapcsolódási letapogatás és a + változat érzékelés támogatott IPv6 formátumban is. A parancs leírása + megegyezik az általánossal, a különbség annyi, hogy a + kapcsolót is meg kell adnia. Természetesen IPv6 formátumú címet kell megadnia, + ha nem állomásnevet akar használni. Egy cím például így nézhet ki: + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + tehát javasolt inkább az állomásnév használata. A kimenet ugyanúgy néz + ki, mint általában, az egyetlen különbség az érdekes kapuknál + látható IPv6 cím. + + Bár az IPv6 nem terjedt el viharos gyorsasággal a világban, egyes + országokban (általában Ázsiában) egyre inkább ezt használják és a legtöbb + modern operációs rendszer támogatja. Ha az Nmap programot IPv6 támogatással + akarja használni, akkor mind a forrás- mind a célgépnek IPv6 beállítást + kell használnia. Ha az Ön szolgáltatója (mint a legtöbb általában) nem + biztosít Önnek IPv6 címet, igénybe vehet ingyenes alagút szolgáltatókat, + melyek kiválóan működnek együtt az Nmap programmal. Az egyik legjobb + ezek közül a BT Exact . + Szintén jól használható még a Hurricane Electric nevű szolgáltató + . Szintén népszerűek az + Ipv6-ról Ipv4-re alagutat biztosító szolgáltatók is. + + + + + + (Agresszív letapogatási paraméterek) + -A + + + + Ez a paraméter további agresszív és fejlett tulajdonságokat engedélyez. + Jelenleg engedélyezi az operációs rendszer érzékelést (), + a változat érzékelést (), a parancsfájl alapú letapogatást + () és az útvonalkövetést (). + A jövőben további funkciók is bekerülhetnek a körbe. A cél az, hogy a + felhasználók számára egy átfogó letapogatási készletet biztosítson anélkül, + hogy rengeteg paramétert kelljen megjegyezni. Ez a paraméter csak a + tulajdonságokat engedélyezi. Nincs hatással az időzítési paraméterekre + (mint a ) vagy a részletességi paraméterekre (), + melyeket külön be kell állítani. + + + + + + (Saját Nmap adatfájl helyének megadása) + --datadir + + + + Az Nmap futás közben az alábbi fájlokból szerez be speciális + információkat: nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes és + nmap-os-db. Ha ezek közül bármelyik + fájlnak külön megadja az elérhetőséggét (a + vagy a paraméterrel), akkor ezt a fájlt ezen + a helyen fogja keresni. Ezután az NMap ezeket a fájlokat a + paraméterben megadott könyvtárban fogja keresni (ha megadta). Azokat a + fájlokat, melyeket ott nem talál meg, az NMAPDIR környezeti változóban + megadott könyvtárban fogja keresni. Ezután következik az ~/.nmap + fájl (csak POSIX rendszereknél) vagy az Nmap futtatható állomány helye + (csak Win32 rendszereknél), majd a fordításnál megadott helyek, mint + például az /usr/local/share/nmap + vagy az /usr/share/nmap. Legvégső + próbaként az Nmap körülnéz az aktuális könyvtárban. + + + + + + (Saját szolgáltatásfájl megadása) + --servicedb + + + + Arra utasítja az Nmap programot, hogy a megadott szolgáltatásfájlt + használja a programmal szállított nmap-services + fájl helyett. Ennek a paraméternek a használata gyors letapogatást + () eredményez. További információkért nézze meg a + paraméter leírását. + + + + + + (Saját szolgáltatás próbafájl megadása) + --versiondb + + + + Arra utasítja az Nmap programot, hogy a megadott szolgáltatás + próbafájlt használja a programmal szállított nmap-service-probes + fájl helyett. További információkért nézze meg a + paraméter leírását. + + + + + + (Nyers ethernet keretek küldése) + --send-eth + + + + Arra utasítja az Nmap programot, hogy a csomagokat az ethernet + (adatkapcsolati) rétegen keresztül küldje a magasabb IP (hálózati) réteg + helyett. Alaphelyzetben a Nmap a futattó környezethez legjobban illeszkedő + megoldást választja. Unix rendszereken általában a nyers csatolók (IP réteg) + adják a leghatékonyabb eredményt, míg a Windows rendszereknél szükség + van az ethernet keretekre, mivel a Microsoft tiltja a nyers csatolók + használatának támogatását. Unix rendszereken az Nmap ennek a paraméternek + a megadása ellenére is a nyers IP csomagokat fogja használni, ha nem + talál más választási lehetőséget (például nincs ethernet kapcsolat). + + + + + + + (Küldés az IP rétegen keresztül) + --send-ip + + + + Arra utasítja az Nmap programot, hogy a csomagokat IP csatolókon + keresztül küldje az alacsonyabb szintű ethernet keretek helyett. Ez az + előzőekben tárgyalt paraméter kiegészítője. + + + + + + (Feltételezi, hogy a felhasználó teljes jogosultsággal rendelkezik) + --privileged + + + + Az Nmap feltételezi, hogy a felhasználó elegendő jogosultsággal + rendelkezik olyan műveletek elvégzéséhez, mint az adatküldés nyers csatolókon + keresztül, csomagok fürkészése és más olyan műveletek, melyek általában + rendszergazdai jogosultságokat igényelnek a Unix rendszereken. Alapesetben + az Nmap kilép, ha ilyen műveletre utasítják és a geteuid() függvény nem + nullát ad vissza. A paraméter jól használható + a Linux rendszermag képességeivel és olyan rendszerekkel, amelyek lehetővé + teszik, hogy alacsonyabb jogosultságú felhasználók nyers csomagokat küldjenek. + Figyeljen arra, hogy ezt a paramétert még a jogosultságot igénylő műveletek + (SYN letapogatás, operációs rendszer érzékelés stb.) paraméterei előtt + meg kell adnia. A paraméterrel egyenértékű + az NMAP_PRIVILEGED környezeti változó beállítása. + + + + + + (Feltételezi, hogy a felhasználónak nincs elegendő jogosultsága) + --unprivileged + + + + + Ez a paraméter ellentéte. Az Nmap + úgy kezeli a felhasználót, mint akinek nincs jogosultsága nyers csatolók + használatára és csomagok kifürkészésére. Hasznos lehet tesztelésnél, + hibakeresésnél vagy amikor az operációs rendszer nyers hálózati funkciói + sérültek. Az paraméterrel egyenértékű + az NMAP_UNPRIVILEGED környezeti változó beállítása. + + + + + + + + (Kilépés előtt felszabadítja a memóriát) + --release-memory + + + + Ez a paraméter csak a memóriaszivárgási hibák keresésekor hasznos. + Arra utasítja az Nmap programot, hogy a kilépés előtt szabadítsa fel a + lefoglalt memóriát, így a memóriaszivárgás könnyen felderíthető. Normál + helyzetben az Nmap átugorja ezt, mivel a program leállításakor az operációs + rendszert ezt amúgy is végrehajtja. + + + + + + + (Indítás interaktív módban) + --interactive + + + + Interaktív módban indítja el az Nmap programot, mely így egy készenléti + jelet ad vissza. Így könnyen indíthatók párhuzamos letapogatások (akár + szinkronban, akár a háttérben). Ez olyan felhasználóknak hasznos, akik + többfelhasználós rendszerben akarják letesztelni a biztonságukat és + nem akarják a többi felhasználó tudomására hozni, hogy mely rendszert + vizsgálják. Használja az paramétert az + üzzemód bekapcsolásához, majd nyomja le a h + billentyűt a súgó megjelenítéséhez. Ezt a paramétert ritkán használják, + mivel egy megfelelő parancshéj általában sokkal kényelmesebb és több + funkcióval rendelkezik. Ennél a paraméternél használható a felkiáltójel + (!) operátor, mellyel héjparancsokat lehet végrehajtani. Ez az egyik + legfőbb érv, hogy miért nem szabad az Nmap programot setuid beállítással + telepíteni. + + + + + + ; (Programváltozat megjelenítése) + -V + --version + + + Megjeleníti az Nmap program változatszámát és kilép. + + + + + + ; (Súgólap megjelenítése) + -h + --help + + + Megjelenít egy rövid súgót a leggyakrabban használt parancsokról + és paraméterekről. Ugyanezt a képernyőt kapja, ha az Nmap parancsot + paraméterek nélkül futtatja le. + + + + + + + + Futásidejű kapcsolat<indexterm significance="normal"><primary>futásidejű kapcsolat</primary></indexterm> + + Az Nmap program futása alatt minden billentyű lenyomása rögzítésre kerül. + Így kapcsolat létesíthető a programmal anélkül, hogy le kellene állítani majd + újraindítani azt. Bizonyos billentyűkkel módosíthat egyes paramétereket, míg + a többi billentyű lenyomásával egy állapotjelentés jelenik meg az éppen futó + letapogatásról. ltalános szabály, hogy a kisbetűk növelik + a megjelenített információ mennyiségét, míg a nagybetűk csökkentik + azt. Segítségért használja a ‘?’ billentyűt. + + + + / + + + Növeli / csökkenti a megjelenített információk mennyiségét + + + + + / + + + Növeli / csökkenti a hibakeresési adatok mennyiségét + + + + + / + + + Bekapcsolja / kikapcsolja a csomagok nyomkövetését + + + + + + + + Megjeleníti a futásidejű súgót + + + + + Bármely más billentyű + + + Megjelenít egy hasonló állapotjelentést: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Példák + Ebben a fejezetben néhány példa következik az Nmap használatára, az + egyszerűbb rutinfeladatoktól a bonyolultabb, beavatottabbak számára valókig. + Néhány IP cím és tartománynév azért került be a példákba, hogy a dolgok eléggé + konkrétak legyenek. Ezeket helyettesítse olyan IP címekkel és nevekkel, melyek + a saját hálózatából származnak. A program készítői nem + hiszik, hogy a kapuletapogatás valójában illegális vagy illegális lehet. Ennek + ellenére néhány rendszergazda nem veszi szívesen a kéretlen letapogatásokat + és panaszt emelhet. A legjobb előzetesen megszerezni a szükséges engedélyeket. + + Tesztelési célból kipróbálhatja a scanme.nmap.org + állomást. Ez az engedély kizárólag az Nmap programmal történő letapogatásra + vonatkozik és nem terjed ki ártó kódok kipróbálására vagy szolgáltatásmegtagadási + (DOS) támadások végrehajtására. A hálózat kapacításának megőrzése érdekében + kérjük, hogy ne indítson napi néhány tucatnál több letapogatást. Ha valaki + visszaélne ezzel az ingyenes tesztelési lehetőséggel, a tulajdonosok leállítják + a rendszert és az Nmap a következő hibaüzenettel fog visszatérni: + Failed to resolve given hostname/IP:scanme.nmap.org. + Ugyanezek az engedélyek vonatkoznak a scanme2.nmap.org, + scanme3.nmap.org és a további állomásokra is, + bár ezek jelenleg még nem üzemelnek. + + + nmap -v scanme.nmap.org + + Ezzel a paranccsal letapogatható az összes foglalt TCP kapu a + scanme.nmap.org állomáson. A + paraméter engedélyezi a bőbeszédű üzemmódot. + + nmap -sS -O scanme.nmap.org/24 + + Elindít egy lopakodó SYN letapogatást minden olyan állomáson, mely a + Scanme állomás C osztályú címterében található és elérhető. + Emelett megpróbálja kideríteni, hogy az elérhető állomások milyen operációs + rendszert futtatnak. A SYN letapogatás és az operációs rendszer felderítése + miatt ennek a parancsnak a futtatásához rendszergazdai jogosultságok szükségesek. + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Felderíti az állomásokat a 198.116-os B osztályú hálózat mind a 255 + 8 bites alhálózatának alsó felében és végrehajt rajtuk egy TCP letapogatást. + Ellenőrzi, hogy a rendszereken fut-e SSH, DNS, POP3 vagy IMAP szolgáltatás a + szabványos kapukon, illetve fut-e bármilyen szolgáltatás a 4564-os kapun. Ha + bármely kapu nyitva található, egy változat érzékeléssel meghatározzuk az + azon futó alkalmazás típusát. + + + nmap -v -iR 100000 -PN -p 80 + + + Arra utasítja az Nmap programot, hogy válasszon ki véletlenszerűen + 100 000 állomást és keressen rajtuk webkiszolgálót (80-as kapu). Az állomások + felderítését a paraméterrel kikapcsoljuk, mivel egy kapu + letapogatásakor felesleges először néhány próbával kideríteni, hogy az állomás + elérhető-e. + + + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Visszhang próbák nélkül letapogat 4096 IP címet webkiszolgáló után kutatva, + a kimenetet pedig elmenti greppel feldolgozható és XML formátumban. + + + + + Hibák + + Akárcsak a program készítője, az Nmap sem tökéletes. De segíthet jobbá + tenni, ha elküldi a felfedezett hibák leírását, vagy javítást készít hozzájuk. + Ha az Nmap nem az elvárásai szerint működik, először mindig szerezze be a legfrissebb + változatot a címről. Ha a probléma továbbra + is fennáll, nézzen utána, hogy felfedezték-e már mások is. Keressen rá a + Google-ban a hibaüzenetre vagy böngéssze át az Nmap fejlesztői listát a + címen. Olvassa végig ezt a leírást + is. Ha nem talál semmit, küldjön egy hibajelentést az nmap-dev@insecure.org + címre. Írjon le mindent, amit a hibával kapcsolatban tapasztalt. Adja meg + pontosan a használt Nmap változatot és a futtató operációs rendszer változatát + is. Az nmap-dev@insecure.org címre küldött hibajelzések és az Nmap használatával + kapcsolatos kérdések valószínűleg gyorsabban megválaszolásra kerülnek, mintha + azokat közvetlenül a program készítőjének (Fyodor) küldené. + + A hibajavítások sokkal hasznosabbak, mint a hibajelentések. A hibajavítások + elkészítésével kapcsolatban tanácsokat kaphat a + címen. A hibajavítások elküldhetők az nmap-dev listára (ez a javasolt), vagy + közvetlenül a készítőnek is. + + + + Szerző + Fyodor + fyodor@insecure.org + () + + + Az évek során emberek százai járultak hozzá értékes munkájukkal az Nmap + programhoz. Ezek részletezése megtalálható a CHANGELOG + fájlban, mely az Nmap program terjesztése mellett elérhető a + címen is. + + + + + Jogi nyilatkozat + + + Nmap szerzői jog és licenc<indexterm significance="normal"><primary>szerzői jog</primary></indexterm> + <indexterm significance="normal"><primary>licenc</primary></indexterm> + <indexterm significance="normal"><primary>GNU GPL</primary></indexterm> + + +Nmap Biztonsági letapogató (C) 1996-2007 Insecure.Com LLC. Az Nmap az +Insecure.Com LLC bejegyzett védjegye. Ez egy szabad program; szabadon továbbadható +és/vagy módosítható a Szabad Szoftver Alapítvány által kiadott GNU General Public +License 2-es változatának irányelvei szerint. Ez biztosítja Önnek a jogot, hogy +bizonyos feltételek esetén ezt a programot használja, módosítsa és továbbadja. Ha +az Nmap technológiáját üzleti célú programba kívánja beágyazni, más licencre van +szüksége (írjon a sales@insecure.com címre). Több, biztonsági +letapogatót forgalmazó cég kapott ilyen licencet az Nmap technológiájának +használatára az állomás felderítés, kapupásztázás, operációs rendszer érzékelés +és szolgáltatás/változat érzékelés területén. + +A GPL fontos korlátozásokat alkalmaz a származtatott munkákkal +kapcsolatban, bár jelenleg a kifejezés nincs részletesen meghatározva. A félreértések +elkerülése érdekében - és a GPL szándékait szem előtt tartva - a készítők úgy vélik, +hogy egy alkalmazás akkor tekinthető származtatott munkának, ha az +alábbiak közül bármelyik teljesül: + + +Tartalmazza az Nmap forráskódját, vagy annak részletét +Olvassa vagy felhasználja az Nmap jogvédett adatfájljait, mint az + nmap-os-fingerprints vagy az + nmap-service-probes. +Futtatja az Nmap programot és feldolgozza az eredményt (ellentétben + a tipikus parancshéj vagy végrehajtási menü alkalmazásokkal, melyek csak + megjelenítik az Nmap nyers kimenetét, így nem tekinthetők származtatott munkának.) +Integrálja/beépíti az Nmap programot egy üzleti célú futtatható + telepítő programba, mint amilyen például az InstallShield. +Kapcsolódik olyan programkönyvtárhoz, vagy futtat olyan programot + mely az előbbiek közül bármelyiket teszi. + + +Az Nmap kifejezés felhasználható az Nmap programból származtatott +munkák bármely részére. A fenti lista nem kizárólagos, csak néhány példán keresztül +megpróbálja tisztázni az Nmap készítőinek értelmezését a származtatott munkákkal +kapcsolatban. Ezek a korlátozások kizárólag akkor érvényesek, ha Ön valójában +továbbértékesíti az Nmap programot. Például semmi nem tiltja, hogy Ön kezelő felületet +készítsen az Nmap programhoz és azt üzleti céllal forgalmazza. Terjessze a programot +önállóan és hívja fel a felhasználók figyelmét, hogy az Nmap programot külön +kell letölteniük a címről. + +A program készítői nem gondolják, hogy a fentiek további korlátozásokat +adnának a GPL-hez, kizárólag annak tisztázására szolgálnak, hogyan értelmezik a +származtatott munkák fogalmát a GPL engedély alatt terjesztett +Nmap programmal kapcsolatban. Ez hasonló ahhoz, ahogyan Linus Torvalds kifejtette +a véleményét a Linux rendszermag-modulokhoz kapcsolódó származtatott munkákkal +kapcsolatban. A készítők értelmezése kizárólag az Nmap programra vonatkozik - nem +vonatkozik más GPL termékekre. + +A készítők örömmel segítenek a GPL korlátozásainak értelmezésében, ha az +Nmap programot nem GPL licenc alatt terjesztett munkában kívánja felhasználni és +bármilyen kérdése merülne fel ezzel kapcsolatban. Ahogy a fentiekben már szóba került, +a készítőktől más licenc is beszerezhető, ha az Nmap programot üzleti célú alkalmazásban +vagy eszközben kívánja felhasználni. Több biztonsági eszköz szállítója kötött ilyen +szerződést, amely általában tartalmaz egy állandó licencet az Nmap használatára, +kiemelt támogatást és frissítést. Emellett segít fedezni az Nmap technológiájának +folyamatos fejlesztésével járó költségeket is. További információkat a +sales@insecure.com címre küldött levélben kérhet. + +licencOpenSSL kivétel +A GPL előírásaihoz képest különleges kivételként az Insecure.Com LLC hozzájárulását +adja, hogy a program kódjához az OpenSSL könyvtár bármely változatát hozzákapcsolják. +Ezt a könyvtárat külön licenc alatt terjesztik, melynek leírása megtalálható a +Copying.OpenSSL fájlban, vagy a program saját +copyright fájljához csatolva. Az OpenSSL kivételével Önnek minden használt kód +esetében engedelmeskednie kell a GNU GPL előírásainak. Ha módosítja ezt a fájlt, +kiterjesztheti ezt a kivételt a saját változatára, de erre semmi sem kötelezi. + +Ha Ön ezeket a fájlokat egy írott licenc megállapodással, vagy olyan szerződéssel +kapja, mely a fentiektől eltérő kitételeket tartalmaz, akkor ezek a megállapodások +elsőbbséget élveznek a fentiekkel szemben. + + + + Creative Commons License ehhez az Nmap Útmutatóhoz + Nmap Referencia Útmutató (C) 2005 Insecure.Com LLC. Ez az útmutató a + Creative Commons + Attribution License 2.5-ös változata alatt jelenik meg. Ez lehetővé + teszi az Ön számára, hogy szabadon terjessze és módosítsa saját igényei szerint + mindaddig, amíg hivatkozik az eredeti forrásra. Alternatív megoldásként kezelheti + úgy is ezt a dokumentumot, mintha az Nmap programmal azonos licenc alá tartozna + (az előzőek szerint). + + + + Unofficial Translation Disclaimer / Nem hivatalos fordítói nyilatkozat + + This is an unnofficial translation of the Nmap + license details into hungarian. It was not written by + Insecure.Com LLC, and does not legally state the distribution terms + for Nmap -- only the original English text does that. However, we + hope that this translation helps hungarian speakers understand the + Nmap license better. + + Ez az Nmap licenc + részletek nem hivatalos magyar fordítása. Ezt nem az Insecure.Com LLC + készítette és nem tartalmazza az Nmap hivatalos terjesztési irányelveit. + Ezeket kizárólag az eredeti angol nyelvű szöveg tartalmazza. Azonban reméljük, + hogy ez a fordítás segít a magyarul beszélőknek jobban megérteni az Nmap licencét. + + + + + A forráskód elérhetősége és a közösségi hozzájárulás + +Azért biztosítjuk a hozzáférést a program forráskódjához, mert hiszünk abban, +hogy a felhasználónak jogában áll megismerni a program működését annak elindítása +előtt. Emellett a program esetleges biztonsági rései is vizsgálhatóak (régóta +nem találtak egyet sem). + +A forráskód segítségével az Nmap átvihető új rendszerekre, kijavíthatók a +hibák és új képességekkel is bővíthető a program. Bátorítunk mindenkit, hogy az +általa készített változtatásokat küldje el a fyodor@insecure.org +címre, hogy azok bekerülhessenek a fő terjesztésbe. Azzal, hogy ezeket a módosításokat +elküldi Fyodornak vagy valamely Insecure.Org fejlesztői listának, Ön korlátozás +nélküli, nem-kizárólagos jogot biztosít Fyodornak és az Insecure.Com LLC-nek a kód +újrafelhasználásához, módosításához és új licenc alatti kibocsátásához. Bár az Nmap +mindig elérhető lesz nyílt forrásúként, de ha nincs lehetőség a kód új licenc alatti +kibocsátására, ez számos szabad program szempontjából katasztrofális. Alkalmanként +harmadik fél számára is új licenc alatt engedélyezzük a kód használatát a fentiek +szerint. Ha a saját kódját különleges licenc alatt szeretné engedélyezni, kérjük +jelezze azt az elküldéssel egyidőben. + + +Nincs garancia<indexterm significance="normal"><primary>garancia (hiánya)</primary></indexterm> + +A programot annak reményében terjesztjük, hogy hasznos lesz, de MINDENFÉLE +GARANCIA NÉLKÜL; beleértve az ELADHATÓSÁGRA vagy EGY ADOTT CÉLRA VALÓ MEGFELELŐSÉGRE +vonatkozó garanciát. További részletekért látogasson el a + címre, vagy olvassa el +az Nmap programmal terjesztett COPYING fájlt. + +Szükséges megjegyezni, hogy alkalmanként az Nmap miatt öszeomolhatnak bizonyos +gyengén megírt alkalmazások, TCP/IP vermek és operációs rendszerek is. Bár ezek +nagyon ritkán fordulnak elő, fontos észben tartani. Soha ne használja +az Nmap programot kritikus feladatot ellátó rendszer letapogatására +addig, míg fel nem készült egy esetleges leállás minden következményére. A készítők +elismerik, hogy az Nmap okozhatja egyes rendszerek vagy hálózatok összeomlását és +elutasítanak minden felelősséget az Nmap által esetleg okozott kárral vagy problémákkal +kapcsolatban. + + +Helytelen használat +Az esetleges összeomlások kockázata miatt és mert rossz szándékű behatolók +előzetes felderítésre használják az Nmap programot, egyes rendszergazdák idegesen +reagálnak a legkisebb letapogatásra is és hajlamosak panasszal élni. Így a legkisebb +letapogatás előtt is célszerű a rendszer tulajdonosától engedélyt kérni. + +Biztonsági okokból az Nmap programot soha nem szabad különleges jogosultságokkal +(pl. suid root) telepíteni. + + +Harmadik féltől származó programok + +Ez a program az Apache Software Foundation +által fejlesztett programrészeket tartalmaz. Az Nmap programmal együtt a +Libpcap hordozható csomagelfogó könyvtár egy módosított változata is +terjesztésre kerül. Az Nmap Windowos változata a Libpcap könyvtárból származó +WinPcap könyvtárral kerül terjesztésre. +A szabályos kifejezések támogatását a PCRE könyvtár +biztosítja, mely egy nyílt forráskódú program és Philip Hazel munkája. Egyes nyers +hálózati funkciók a Libdnet +hálózati könyvtárat használják, mely Dug Song munkája. Az Nmap programmal ennek +egy módosított változata érkezik. Igény esetén az Nmap felkészíthető az SSL változat +érzékelésre az OpenSSL titkosító eszköztár +segítségével. Az Nmap Parancsfájl motor a Lua +programozási nyelv egy beágyazott változatát használja. Az ebben a szakaszban +szereplő valamennyi harmadik féltől származó program szabadon újra terjeszthető +a BSD stílusú programlicencek alapján. + + + +USA export korlátozások<indexterm significance="normal"><primary>export korlátozások</primary></indexterm> +USA export korlátozás: az Insecure.Com LLC úgy véli, hogy az Nmap a US ECCN +(export control classification number) 5D992 alá tartozik. Ennek a kategóriának +az elnevezése: Az 5D002 alá nem tartozó információbiztonsági program. +Ennek a besorolásnak egyetlen korlátozása a terrorizmus ellenesség, mely minden +árura vonatkozik és megtiltja ezek exportálását olyan terrorista államoknak, mint +Irán és Észak Korea. Így az Nmap exportálásához nem szükséges különleges engedély, +hozzájárulás vagy kormányzati felhatalmazás. + + + + + +
diff --git a/docs/man-xlate/nmap-man-id.xml b/docs/man-xlate/nmap-man-id.xml new file mode 100755 index 000000000..794c2bb2c --- /dev/null +++ b/docs/man-xlate/nmap-man-id.xml @@ -0,0 +1,4196 @@ + + +
+ + Panduan Refensi Nmap (Man Page, bahasa Indonesia) + +man pagereference guide +reference guide (man page) + + + nmap + 1 + Nmap + Panduan Referensi Nmap + + + nmap + Tool eksplorasi jaringan dan keamanan / scanner port + + + + + nmap + + Jenis Scan + + + Opsi + + + spesifikasi target + + + + + Deskripsi + Nmapdescription of + + Dokumen ini menjelaskan versi Nmap terakhir + yang tersedia di atau . Mohon + pastikan bahwa anda menggunakan versi terakhir sebelum melaporkan sebuah fitur + tidak berfungsi sebagaimana yang dijelaskan.. + + Nmap (Network Mapper) merupakan sebuah tool open source untuk + eksplorasi dan audit keamanan jaringan. Ia dirancang untuk memeriksa jaringan + besar secara cepat, meskipun ia dapat pula bekerja terhadap host tunggal. + Nmap menggunakan paket IP raw dalam cara yang canggih untuk menentukan host mana saja + yang tersedia pada jaringan, layanan (nama aplikasi dan versi) apa yang diberikan, + sistem operasi (dan versinya) apa yang digunakan, apa jenis firewall/filter paket + yang digunakan, dan sejumlah karakteristik lainnya. Meskipun Nmap umumnya digunakan + untuk audit keamanan, namun banyak administrator sistem dan jaringan menganggapnya berguna + untuk tugas rutin seperti inventori jaringan, mengelola jadwal upgrade layanan, dan melakukan + monitoring uptime host atau layanan. + + Output Nmap adalah sebuah daftar target yang diperiksa, dengan + informasi tambahannya tergantung pada opsi yang digunakan. + Hal kunci di antara informasi itu adalah tabel port menarik.ports“interesting” + Tabel tersebut berisi daftar angka port dan protokol, nama layanan, dan status. Statusnya adalah + terbuka (open), difilter (filtered), + tertutup (closed), atau tidak difilter (unfiltered). + Terbukaopen port state + berarti bahwa aplikasi pada mesin target sedang mendengarkan (listening) untuk + koneksi/paket pada port tersebut. + Difilterfiltered port state + berarti bahwa sebuah firewall, filter, atau penghalang jaringan lainnya + memblokir port sehingga Nmap tidak dapat mengetahui apakah ia + terbuka atau tertutup. + Tertutupclosed port state + port tidak memiliki aplikasi yang sedang mendengarkan, + meskipun mereka dapat terbuka kapanpun. + Port digolongkan sebagai + tidak difilterunfiltered port state + ketika mereka menanggapi probe Nmap, namun Nmap tidak dapat menentukan + apakah mereka terbuka atau tertutup. + Nmap melaporkan kombinasi status + open|filteredopen|filtered port state + dan closed|filteredclosed|filtered port state + ketika ia tidak dapat menentukan status manakah yang + menggambarkan sebuah port. Tabel port mungkin juga menyertakan + detil versi software ketika diminta melakukan pemeriksaan versi. + Ketika sebuah pemeriksaan protokol IP diminta + (), Nmap memberikan informasi pada protokol IP + yang didukung alih-alih port-port yang mendengarkan. + + Selain tabel port yang menarik, Nmap dapat pula memberikan + informasi lebih lanjut tentang target, termasuk nama reverse DNS, + prakiraan sistem operasi, jenis device, dan alamat MAC. + + Pemeriksaan Nmap yang umum ditunjukkan dalam . Argumen yang digunakan + pada contoh ini hanyalah , untuk memeriksa sistem operasi dan versi, + pemeriksaan skrip, dan traceroute; untuk eksekusi yang lebih cepat; + dan dua buah nama host target. + +Sebuah gambaran pemeriksaan Nmap +example of + +# nmap -A -T4 scanme.nmap.org + +Starting Nmap ( http://nmap.org ) +Interesting ports on scanme.nmap.org (64.13.134.52): +Not shown: 994 filtered ports +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 4.3 (protocol 2.0) +25/tcp closed smtp +53/tcp open domain ISC BIND 9.3.4 +70/tcp closed gopher +80/tcp open http Apache httpd 2.2.2 ((Fedora)) +|_ HTML title: Go ahead and ScanMe! +113/tcp closed auth +Device type: general purpose +Running: Linux 2.6.X +OS details: Linux 2.6.20-1 (Fedora Core 5) + +TRACEROUTE (using port 80/tcp) +HOP RTT ADDRESS +[Cut first seven hops for brevity] +8 10.59 so-4-2-0.mpr3.pao1.us.above.net (64.125.28.142) +9 11.00 metro0.sv.svcolo.com (208.185.168.173) +10 9.93 scanme.nmap.org (64.13.134.52) + +Nmap done: 1 IP address (1 host up) scanned in 17.00 seconds + + + +Versi terbaru Nmap dapat diperoleh dari . Versi terbaru man page +tersedia di . + + + + + Catatan Terjemahan + + Edisi bahasa Indonesia Nmap Reference Guide ini + diterjemahkan dari versi [12855] versi Inggris + oleh Tedi Heriyanto. Meskipun kami berharap bahwa hal ini akan + membuat Nmap lebih dapat diakses oleh para pengguna bahasa Indonesia di seluruh dunia, + namun kami tidak dapat menjamin bahwa terjemahanan ini lengkap atau + up-to-date seperti versi bahasa Inggris resminya. Pekerjaan ini dapat + dimodifikasi dan didistribusikan kembali berdasarkan syarat-syarat Creative + Commons Attribution License. + + + + Ringkasan Opsi + +Ringkasan opsi ini ditampilkan ketika Nmap dijalankan +tanpa argumen, dan versi terakhir selalu tersedia di +. +Ia membantu mengingat opsi-opsi umum, namun ia bukanlah +pengganti dokumentasi lengkap dalam halaman-halaman berikut manual ini. +Bahkan beberapa opsi tersembunyi tidak disertakan di sini. + + +summary of options +command-line optionsof Nmap + +Nmap 4.85BETA7 ( http://nmap.org ) +Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -PN: Treat all hosts as online -- skip host discovery + -PS/PA/PU[portlist]: TCP SYN/ACK or UDP discovery to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -PO[protocol list]: IP Protocol Ping + -n/-R: Never do DNS resolution/Always resolve [default: sometimes] + --dns-servers <serv1[,serv2],...>: Specify custom DNS servers + --system-dns: Use OS's DNS resolver + --traceroute: Trace hop path to each host +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sU: UDP Scan + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idle scan + -sO: IP protocol scan + -b <FTP relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast mode - Scan fewer ports than the default scan + -r: Scan ports consecutively - don't randomize + --top-ports <number>: Scan <number> most common ports + --port-ratio <ratio>: Scan ports more common than <ratio> +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-intensity <level>: Set from 0 (light) to 9 (try all probes) + --version-light: Limit to most likely probes (intensity 2) + --version-all: Try every single probe (intensity 9) + --version-trace: Show detailed version scan activity (for debugging) +SCRIPT SCAN: + -sC: equivalent to --script=default + --script=<Lua scripts>: <Lua scripts> is a comma separated list of + directories, script-files or script-categories + --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts + --script-trace: Show all data sent and received + --script-updatedb: Update the script database. +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + Options which take <time> are in milliseconds, unless you append 's' + (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). + -T<0-5>: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes + --min-parallelism/max-parallelism <time>: Probe parallelization + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies + probe round trip time. + --max-retries <tries>: Caps number of port scan probe retransmissions. + --host-timeout <time>: Give up on target after this long + --scan-delay/--max-scan-delay <time>: Adjust delay between probes + --min-rate <number>: Send packets no slower than <number> per second + --max-rate <number>: Send packets no faster than <number> per second +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ip-options <options>: Send packets with specified ip options + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address + --badsum: Send packets with a bogus TCP/UDP checksum +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice or more for greater effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --reason: Display the reason a port is in a particular state + --open: Only show open (or possibly open) ports + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --log-errors: Log errors/warnings to the normal-format output file + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --webxml: Reference stylesheet from Nmap.Org for more portable XML + --no-stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection, Script scanning and Traceroute + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + --unprivileged: Assume the user lacks raw socket privileges + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES + + + + + + + + + Spesifikasi Target + target specification + +Semua yang ada pada perintah baris Nmap yang bukan berupa opsi (atau +argumen opsi) dianggap sebagai spesifikasi host target. Kasus paling sederhana +adalah menspesifikasikan alamat IP target atau nama host untuk diperiksa. + +Terkadang anda ingin memeriksa seluruh jaringan host-host yang berdekatan. +Untuk hal ini, Nmap mendukung pengalamatan +CIDR-styleCIDR (Classless Inter-Domain Routing). Anda dapat menambahkan +/numbits ke sebuah alamat IPv4 atau nama host dan +Nmap akan memeriksa setiap alamat IP yang alamat +numbits pertamanya sama dengan alamat IP +referensi atau nama host yang diberikan. Sebagai contoh, 192.168.10.0/24 akan memeriksa 256 +host antara 192.168.10.0 (biner: 11000000 10101000 +00001010 00000000) dan 192.168.10.255 (biner: 11000000 10101000 +00001010 11111111), inklusif. +192.168.10.40/24 akan memeriksa target-target yang sama. Misalkan host +scanme.nmap.orgscanme.nmap.org +memiliki alamat IP 64.13.134.52, spesifikasi +scanme.nmap.org/16 akan memeriksa sebanyak 65.536 alamat IP antara +64.13.0.0 dan 64.13.255.255. Nilai terkecil yang diijinkan adalah /0, +yang akan memeriksa seluruh Internet. Nilai terbesar adalah /32, yang hanya +akan memeriksa host atau alamat IP yang disebutkan karena seluruh bit alamat tetap. + +rentang alamat +Notasi CIDR pendek namun tidak selalu fleksibel. Sebagai contoh, anda +mungkin ingin memeriksa 192.168.0.0/16 namun ingin melewati IP yang diakhiri dengan .0 atau +.255 karena mereka mungkin digunakan sebagai subnet jaringan dan alamat broadcast. Nmap mendukung +hal ini melalui pengalamatan rentang oktet. Alih-alih menspesifikasikan alamat IP normal, anda +dapat menspesifikasikan daftar angka atau rentang untuk setiap oktet. Sebagai contoh, 192.168.0-255.1-254 akan melewati seluruh alamat dalam rentang yang berakhiran dalam .0 atau .255, +dan 192.168.3-5,7.1 akan memeriksa empat alamat 192.168.3.1, 192.168.4.1, 192.168.5.1, dan +192.168.7.1. Kedua sisi rentang dapat dihilangkan; nilai baku adalah 0 di sisi kiri +dan 255 untuk sisi kanan. Penggunaan - +sama artinya dengan 0-255, namun ingat untuk menggunakan 0- dalam oktet pertama +sehingga spesifikasi target tidak terlihat seperti opsi perintah baris. +Rentang tidak hanya terbatas pada oktet akhir: 0-255.0-255.13.37 +akan melakukan pemeriksaan Internet-wide untuk seluruh alamat IP +yang berakhiran 13.37. Sampling luas seperti ini dapat bermanfaat +untuk riset dan survei Internet. + +Alamat IPv6 hanya dapat dispesifikasikan dengan alamat IPv6 +lengkap mereka atau nama host. CIDR dan rentang oktet tidak didukung +untuk IPv6 karena mereka jarang bermanfaat. + +Nmap menerima spesifikasi banyak host pada perintah baris, +dan mereka tidak perlu dalam jenis yang sama. Perintah nmap +scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- melakukan +apa yang anda harapkan. + +Meskipun target biasanya dispesifikasikan pada perintah baris, opsi berikut juga + tersedia untuk mengendalikan pemilihan target: + + + + + (Input dari daftar) + + target specificationfrom list + + + Membaca spesifikasi target dari + inputfilename. Memberikan + banyak daftar host pada perintah baris seringkali tidak mengasyikkan. + Sebagai contoh, DHCP server anda mungkin mengekspor + daftar 10.000 lease saat ini yang ingin anda periksa. + Atau mungkin anda ingin memeriksa seluruh alamat IP + kecuali bagi mereka untuk mencari host + yang menggunakan alamat IP statik tidak terotorisasi. Cukup buat daftar host + yang ingin diperiksa dan berikan namafilenya ke Nmap sebagai sebuah argumen + bagi opsi . Entrinya dapat dalam beragam format + yang diterima oleh Nmap di perintah baris + (alamat IP, nama host, CIDR, IPv6, atau rentang oktet). Setiap entri + harus dipisahkan dengan satu atau lebih spasi, tab, atau baris baru. + Anda dapat menspesifikasikan sebuah tanda hubung (hyphen) (-) sebagai nama file jika anda ingin + Nmap membaca host dari input standar alih-alih dari sebuah file. + + + + + + (Pilih target acak) + + random targets + targets specificationat random + + + Untuk survei dan riset lain skala-Internet, + anda mungkin ingin memilih target secara acak. + Argumen num hosts memberitahu Nmap + berapa banyak IP yang ingin dihasilkan. IP yang tidak diinginkan + seperti dalam rentang alamat privat, multicast, atau tidak dialokasi + secara otomatis akan dilewati. Argumen 0 + dapat dispesifikasikan untuk pemeriksaan yang tidak pernah berakhir. Perhatikan bahwa + beberapa administrator jaringan tidak suka terhadap pemeriksaan yang tidak terotorisasi + terhadap jaringan mereka dan mungkin mengeluh. Gunakan opsi ini dengan risiko anda! + Jika anda benar-benar merasa bosan di sore hari yang hujan, coba perintah + nmap -sS -PS80 -iR 0 -p 80 + example of + example of + example of + untuk mencari server web acak untuk browsing. + + + + + + (Kecualikan host/jaringan) + + excluding targets + + + Spesifikasikan daftar target yang ingin dikecualikan + dari pemeriksaan meskipun mereka merupakan bagian dari + rentang jaringan yang anda spesifikasikan. Daftar yang anda berikan + menggunakan sintaks Nmap normal, sehingga ia dapat mencakup nama host, blok CIDR, + rentang oktet, dsb. Hal ini dapat bermanfaat ketika jaringan yang ingin anda periksa + menyertakan server-server kritis, sistem yang diketahui terganggu dengan port scan, + atau subnet yang dikelola oleh pihak lain. + + + + + + (Daftar pengecualian dari file) + + + + Opsi ini memberikan fungsionalitas yang sama dengan opsi , + namun target yang dikecualikan diberikan dalam sebuah + exclude_file alih-alih diberikan pada perintah baris. + + + + + + + Pencarian Host (Host Discovery) + host discovery + + Salah satu langkah pertama dalam misi network reconnaissance + adalah mengurangi satu rentang IP (biasanya besar) ke sebuah + daftar host yang aktif atau menarik. Memeriksa setiap port + dari setiap alamat IP adalah lambat dan biasanya tidak perlu. Tentu saja + apa yang membuat sebuah host menarik tergantung pada tujuan + pemeriksaan. Administrator jaringan mungkin hanya tertarik pada + host yang menjalankan layanan tertentu, sementara auditor keamanan + ingin mengetahui semua device dalam satu alamat IP. Administrator + mungkin nyaman cukup dengan menggunakan ping ICMP untuk + menemukan host pada jaringan internalnya, sementara + penetration tester eksternal mungkin menggunakan beragam probe + dalam usahanya menghindari pembatasan firewall. + + Oleh karena kebutuhan pencarian host sangat beragam, Nmap menawarkan + sejumlah opsi untuk kustomisasi teknik yang dibutuhkan. Pencarian host + seringkali disebut ping scan, namun ia lebih daripada sekedar + melakukan pengiriman paket echo request ICMP yang diasosiasikan dengan + tool terkenal ping. Pengguna dapat melewati + langkah ping dengan list scan () atau dengan + meniadakan ping (), atau melakukan kombinasi + probe multi-port TCP SYN/ACK, UDP, dan ICMP. + Tujuan probe ini adalah memperoleh respon yang menunjukkan bahwa + alamat IP sedang aktif (sedang digunakan oleh host atau device jaringan). + Pada banyak jaringan, hanya sejumlah kecil persentase alamat IP yang aktif + pada satu waktu. Hal ini terutama umum terjadi pada alamat IP privat seperti + 10.0.0.0/8. Jaringan tersebut memiliki 16 juta IP, namun saya telah melihatnya + digunakan oleh perusahaan dengan mesin berjumlah kurang dari seribu. Pencarian + host dapat menemukan mesin-mesin dalam lautan alamat IP. + + Jika tidak diberikan opsi pencarian host, Nmap + mengirimkan sebuah paket TCP ACK + yang ditujukan ke port 80 dan sebuah query ICMP echo request + ke setiap mesin target. Pengecualian atas hal ini adalah scan ARP + digunakan untuk sembarang target yang ada pada jaringan ethernet lokal. + Untuk user shell Unix biasa, sebuah paket SYN dikirimkan + alih-alih paket ACK dengan menggunakan system call + connect. + unprivileged userslimitations + of + Nilai-nilai baku ini sama dengan opsi + . Pencarian host ini seringkali + cukup ketika melakukan pemeriksaan jaringan lokal, namun + disarankan untuk melakukan probe pencarian yang lebih komprehensif + ketika melakukan audit keamanan. + + Opsi-opsi (yang memilih tipe ping) + dapat digabungkan. Anda dapat meningkatkan peluang anda + menyusup firewall yang ketat dengan mengirimkan banyak jenis probe + dengan menggunakan berbagai macam port/flag TCP dan kode ICMP. Perhatikan pula bahwa + pencarian ARP discovery + () + secara baku dilakukan terhadap target pada jaringan ethernet lokal bahkan + bila anda menspesifikasikan opsi lain, + karena ia selalu lebih cepat dan lebih efektif. + + Secara baku, Nmap melakukan pencarian host dan lalu melakukan + scan port terhadap setiap host yang ditentukan online. Hal ini benar + bahkan bila anda menspesifikasikan tipe pencarian host yang tidak baku seperti + probe UDP (). Bacalah mengenai opsi + untuk mempelajari bagaimana melakukan + hanya pencarian host, atau gunakan untuk melewati + pencarian host dan melakukan scan port untuk seluruh host. + Opsi-opsi berikut ini mengendalikan pencarian host: + + + + + + (List Scan) + + list scan + + + Scan daftar (list scan) merupakan sebuah bentuk pencarian host + yang hanya menampilkan setiap host pada jaringan yang dispesifikasikan, + tanpa mengirimkan paket ke host target. Secara baku, + Nmap tetap melakukan resolusi reverse-DNS pada host + untuk mengetahui namanya. Seringkali mengejutkan berapa banyak + informasi berharga yang diberikan nama host. Sebagai contoh, + fw.chi adalah nama firewall satu perusahaan di Chicago. + DNSrecords as source of information + Nmap juga melaporkan jumlah total alamat IP pada bagian akhir. + Scan daftar merupakan sebuah pemeriksaan untuk memastikan anda + memiliki alamat IP yang tepat untuk target anda. + Jika host menemukan nama domain yang tidak anda kenali, + maka anda perlu melakukan penyelidikan lanjutan untuk mencegah + pemeriksaan jaringan perusahaan yang tidak tepat. + + Karena gagasannya adalah hanya menampilkan daftar host target, + opsi untuk fungsionalitas lebih tinggi misalnya pemeriksaan port, + deteksi sistem operasi, atau scanning ping tidak dapat dikombinasikan + dengan opsi ini. Jika anda ingin meniadakan pemeriksaan ping namun + masih ingin melakukan fungsionalitas tingkat tinggi, bacalah opsi + . + + + + + + (Ping Scan) + + ping scan + + + Opsi ini memberitahu Nmap untuk hanya melakukan scan ping + (host discovery), lalu menampilkan host yang menanggapi + pemeriksaan. Skrip host traceroute dan NSE juga dijalankan + jika diminta, namun tidak dilakukan pemeriksaan lebih lanjut (seperti scan + port atau deteksi SO). Opsi ini secara baku satu langkah lebih intrusif + daripada list scan, dan seringkali dapat digunakan untuk tujuan yang sama. + Ia memungkinkan reconnaissance ringan atas jaringan target tanpa menarik + banyak perhatian. Mengetahui berapa banyak host yang up lebih bermanfaat + bagi penyerang daripada daftar yang dihasilkan oleh list scan atas + setiap IP dan nama host. + + Administrator sistem juga sering menganggap opsi ini + bermanfaat. Ia dapat digunakan untuk menghitung mesin-mesin yang tersedia + pada jaringan atau memonitor ketersediaan server. Hal ini seringkali + disebut ping sweep, dan lebih handal daripada mem-ping alamat + broadcast karena banyak host tidak akan melakukan reply + terhadap query broadcast. + + Opsi secara baku mengirimkan sebuah request ICMP echo + dan sebuah paket TCP ACK ke port 80. Ketika dilakukan oleh + user biasa, hanya sebuah paket SYN yang dikirimkan + (dengan menggunakan call connect) ke port 80 pada + target. Ketika user dengan privilege berusaha memeriksa target pada + jaringan ethernet lokal, request ARP digunakan kecuali dispesifikasikan + . + Opsi dapat dikombinasikan dengan tipe + probe pencarian lainnya (opsi-opsi , + kecuali ) untuk fleksibilitas yang lebih tinggi. + Jika digunakan sembarang opsi tipe probe dan nomor port, + probe baku (ACK dan echo request) akan di-override. + Ketika terdapat firewall ketat di antara host sumber yang menjalankan + Nmap dan jaringan target, direkomendasikan untuk menggunakan + teknik lanjutan di atas. Jika tidak host dapat luput ketika firewall + men-drop probe atau responnya. + + + + + + + + (No ping) + + host discoverydisabling + + + Opsi ini melompati tahap pencarian Nmap secara utuh. + Secara normal, Nmap menggunakan tahap ini untuk menentukan mesin aktif + untuk pemeriksaan lebih lanjut. Secara baku, Nmap hanya melakukan probe + lanjutan seperti scan port, pemeriksaan versi, atau pemeriksaan SO + terhadap host yang ditemukan up. Peniadaan pencarian host dengan + opsi menyebabkan Nmap melakukan fungsi pemeriksaan yang diminta + terhadap setiap alamat IP target yang dispesifikasikan. Jadi + bila pada perintah baris dispesifikasikan sebuah alamat target kelas B (/16), maka + semua alamat IP yang berjumlah 65.536 akan diperiksa. + Pencarian host yang tepat akan dilewati sebagaimana dengan list scan, namun + alih-alih berhenti dan menampilkan daftar target, Nmap + lalu melakukan fungsi-fungsi yang diminta sebagaimana bila setiap IP target + aktif. Untuk mesin-mesin pada jaringan ethernet lokal, pemeriksaan ARP + akan tetap dilakukan (kecuali diberikan opsi ) + karena Nmap butuh alamat MAC untuk melakukan pemeriksaan lanjutan atas host target. + Flag opsi ini dulunya adalah (menggunakan nol), namun kemudian diganti + untuk menghindari kerancuan dengan flag protokol ping (menggunakan huruf + O). + + + + + + (TCP SYN Ping) + + SYN ping + + + + Opsi ini mengirimkan sebuah paket TCP kosong dengan + flag SYN diset. Port tujuan baku adalah 80 (dapat dikonfigurasi + pada waktu kompilasi dengan merubah DEFAULT_TCP_PROBE_PORT_SPEC + DEFAULT_TCP_PROBE_PORT_SPEC + dalam nmap.h). + nmap.h + Port-port alternatif dapat dispesifikasikan sebagai parameter. + Sintaksnya sama dengan opsi + kecuali specifier jenis port seperti + T: tidak diperbolehkan. Contohnya adalah + dan + . Perhatikan bahwa tidak + boleh ada spasi antara dan daftar port. + Jika dispesifikasikan banyak probe mereka akan dikirim + secara paralel. + + Flag SYN memberitahu sistem remote bahwa anda + berusaha membuat sebuah koneksi. Normalnya port tujuan + tertutup, dan sebuah paket RST (reset) akan dikirimkan. + Jika port terbuka, target akan melakukan langkah kedua dari + TCP three-way-handshakethree-way handshake + dengan mengirimkan paket SYN/ACK TCP. Mesin yang menjalankan Nmap lalu + memutuskan koneksi tersebut dengan mengirimkan sebuah paket RST + alih-alih mengirimkan sebuah paket ACK yang akan melengkapi + three-way-handshake dan membuat koneksi penuh. + Paket RST dikirim oleh kernel mesin yang menjalankan Nmap + sebagai tanggapan atas SYN/ACK yang tidak diharapkan, + bukan oleh Nmap sendiri. + + Nmap tidak peduli apakah port terbuka atau tertutup. + Tanggapan RST atau SYN/ACK yang didiskusikan di atas + memberitahu Nmap bahwa host tersedia dan menanggapi. + + Pada mesin Unix, umumnya hanya user privilege + rootprivileged users + yang dapat mengirim dan menerima paket-paket TCP raw.raw packets + Untuk user tanpa privilege, secara otomatis sebuah + workaround akan dijalankan unprivileged userslimitations of + yaitu system call connect akan digunakan untuk + setiap port target. Hal ini mempunyai efek mengirimkan paket SYN ke host target, + dalam usaha membuat koneksi. Jika connect memberikan + sukses cepat atau kegagalan ECONNREFUSED, stack TCP + di bawahnya telah menerima sebuah SYN/ACK atau RST dan + host ditandai sebagai tersedia. Jika usaha koneksi dibiarkan + hingga tercapai timeout, host ditandai sebagai down. + Workaround ini juga digunakan untuk koneksi IPv6, + karena dukungan untuk pembuatan paket raw IPv6 belum + tersedia di Nmap.IPv6limitations of + + + + + + + + (TCP ACK Ping) + + ACK ping + + + Ping TCP ACK hampir serupa dengan ping + SYN yang baru didiskusikan. Perbedaannya adalah, sebagaimana + dapat anda duga, bahwa flag TCP ACK diset alih-alih + flag SYN. Paket ACK tersebut memberitahu data + pada koneksi TCP yang telah tercipta, namun tidak ada + koneksi. Sehingga host remote harus selalu menanggapi dengan + sebuah paket RST, yang akan memberitahukan keberadaan mereka. + + Opsi menggunakan port baku + yang sama dengan probe SYN (80) dan dapat menerima daftar + port tujuan dalam format yang sama. Jika user tanpa privilege + mencobanya, atau dispesifikasikan target IPv6, workaround + connect yang didiskusikan sebelumnya akan digunakan. + Workaround ini tidak sempurna karena connect sebenarnya + mengirimkan paket SYN dan bukan paket ACK. + + Alasan menyertakan probe ping SYN dan ACK adalah + memaksimalkan peluang melewati firewall. Banyak administrator + mengkonfigurasi router dan firewall sederhana untuk memblokir + paket SYN incoming kecuali yang ditujukan untuk layanan publik + seperti server website atau mail perusahaan. + Hal ini mencegah koneksi incoming lainnya ke organisasi, + namun tetap membolehkan user melakukan koneksi outgoing + ke Internet. Pendekatan non-stateful ini + membutuhkan sedikit sumber daya pada firewall/router dan + didukung luas oleh filter hardware dan software. Software + firewall Linux Netfilter/iptablesiptables + memberikan opsi + untuk mengimplementasikan + pendekatan stateless ini. Ketika rule firewall stateless seperti + ini digunakan, probe ping SYN () + kemungkinan akan diblokir ketika dikirim ke port target yang tertutup. + Dalam kasus ini, probe ACK akan bersinar karena ia dapat mengatasi + rule tersebut. + + Jenis firewall umum lainnya menggunakan rule stateful + yang akan men-drop paket tidak diharapkan. Fitur ini mulanya + hanya ditemukan pada firewall high-end, namun sekarang + telah umum digunakan. Sistem Linux + Netfilter/iptables mendukungnya melalui opsi + , yang mengkategorikan paket + berdasarkan status koneksi. Probe SYN kemungkinan berfungsi + untuk sistem tersebut, karena paket ACK yang tidak diharapkan + umumnya dikenali sebagai palsu dan di-drop. Solusi untuk masalah ini + adalah dengan mengirimkan probe SYN dan ACK secara bersamaan dengan memberikan opsi + and . + + + + + + (UDP Ping) + + UDP ping + + + + Opsi pencarian host lainnya adalah ping UDP, yang + mengirim paket UDP kosong (kecuali dispesifikasikan) + ke port yang diberikan. Daftar port + menggunakan format yang sama dengan yang telah didiskusikan pada opsi + dan . Jika tidak ada port + yang dispesifikasikanya, bakunya adalah 31338. Port baku ini + dapat dikonfigurasi pada waktu kompilasi dengan merubah + DEFAULT_UDP_PROBE_PORT_SPECDEFAULT_UDP_PROBE_PORT_SPEC + dalam nmap.h.nmap.h + Port tinggi yang tidak umum, digunakan secara baku karena mengirim + ke port terbuka seringkali tidak diharapkan untuk jenis pemeriksaan ini. + + Ketika menemui port tertutup pada mesin target, probe + UDP seharusnya menerima paket ICMP port unreachable. + Hal ini memberitahu Nmap bahwa mesin up dan tersedia. + Banyak jenis kesalahan ICMP lainnya, seperti + host/network unreachables atau TTL exceeded menandakan + host down atau tidak dapat dihubungi. Tidak ada respon + juga termasuk di dalamnya. Jika ditemukan sebuah port terbuka, kebanyakan + layanan akan mengabaikan paket kosong dan gagal mengirim tanggapan. + Inilah alasan mengapa port probe bakunya adalah 31338, + yang kemungkinan tidak digunakan. Beberapa layanan, seperti + protokol Character Generator (chargen), akan menanggapi paket UDP kosong, + dan karenanya memberitahu Nmap bahwa mesin tersedia. + + Keuntungan utama jenis scan ini adalah ia + melewati firewall dan filter yang hanya memeriksa TCP. Sebagai contoh, + saya pernah memiliki Linksys BEFW11S4 wireless broadband + router. Interface external device ini secara baku memfilter seluruh port + TCP, namun probe UDP tetap memberikan pesan port unreachable + dan karenanya memberitahu mengenai device ini. + + + + + + + ; + ; + (ICMP Ping Types) + + + + ICMP ping + + + + Selain tipe pencarian host TCP dan UDP yang tidak umum di atas, + Nmap dapat mengirimkan paket dengan menggunakan program + ping. Nmap mengirim sebuah paket ICMP + tipe 8 (echo request) ke alamat IP target, + mengharapkan balasan paket tipe 0 (echo reply) dari host + yang ada.ICMP echo + Sayangnya bagai pengeksplorasi jaringan, saat ini banyak host dan + firewall yang memblokir paket-paket ini, alih-alih menanggapi sebagaimana yang + ditentukan oleh RFC + 1122. Karena alasan ini, scan ICMP-only relatif tidak + handal terhadap target tak dikenal pada Internet. + Namun untuk administrator sistem yang memonitor jaringan internal, + mereka mungkin merupakan pendekatan yang praktis dan efisien. + Gunakan opsi untuk menggunakan perilaku echo + request ini. + + Meski echo request merupakan standar query ping ICMP, + Nmap tidak berhenti di sana. Standar ICMP (RFC + 792) juga menspesifikasikan paket timestamp request, information + request, dan address mask request dengan kode 13, 15, + dan 17. Walaupun tujuan query-query ini adalah untuk + memperoleh informasi seperti address masks dan + waktu saat ini, mereka dapat dengan mudah digunakan sebagai + pencarian host. Sistem yang memberi tanggapan adalah up dan tersedia. Nmap + tidak mengimplementasikan paket information request, karena + mereka tidak didukung luas. RFC 1122 berkeras bahwa + sebuah host TIDAK SEHARUSNYA mengimplementasikan pesan ini. + Query timestamp dan address mask dapat dikirim dengan opsi + and . + Reply timestamp (ICMP kode 14) atau reply address + mask (kode 18) memberitahukan bahwa host tersedia. + Kedua query ini bermanfaat ketika administrator secara khusus + memblokir paket-paket echo request namun lupa bahwa query ICMP + lainnya dapat digunakan untuk tujuan yang sama. + + + + + + + (IP Protocol Ping) + + IP protocol ping + + + + Opsi pencarian host terbaru adalah ping protokol IP, + yang mengirimkan paket IP dengan nomor port yang dispesifikasikan + dalam header IP-nya. Daftar protokol menggunakan format yang sama + seperti daftar port dalam opsi pencarian host TCP dan UDP yang + telah didiskusikan sebelumnya. Jika tidak didefinisikan protokol, + secara bakunya adalah mengirimkan banyak paket IP untuk + ICMP (protokol 1), IGMP (protokol 2), dan + IP-in-IP (protokol 4). Protokol baku dapat dikonfigurasi + pada waktu kompilasi dengan merubah + DEFAULT_PROTO_PROBE_PORT_SPECDEFAULT_PROTO_PROBE_PORT_SPEC + dalam nmap.h. + Perhatikan bahwa untuk ICMP, IGMP, TCP (protokol 6), dan UDP + (protokol 17), paket dikirim dengan header protokol yang sesuai + sementara protokol lainnya dikirim tanpa data tambahan + selain header IP (kecuali diberikan opsi + ). + + Metode pencarian host ini melihat respon yang menggunakan protokol + yang sama dengan probe, atau protokol ICMP unreachable messages + yang memberitahu bahwa protokol dimaksud tidak didukung pada + host tujuan. Kedua jenis respon di atas menandakan bahwa + host target ada. + + + + + + (ARP Ping) + + ARP ping + + + + Salah satu skenario penggunaan Nmap yang umum adalah + memeriksa LAN ethernet. Pada kebanyakan LAN, terutama yang menggunakan + rentang alamat privat sebagaimana dijelaskan oleh RFC 1918, mayoritas + alamat IP tidak digunakan. Ketika Nmap berusaha mengirim paket IP raw + seperti sebuah ICMP echo request, sistem operasi harus menentukan alamat + hardware tujuan (ARP) yang sesuai dengan IP target sehingga ia dapat + mengirimkan frame ethernet dengan tepat. Hal ini seringkali lambat dan + bermasalah, karena sistem operasi tidak ditulis dengan maksud + mereka akan melakukan jutaan request ARP atas host-host yang tidak ada + dalam waktu yang singkat. + + Scan ARP menempatkan Nmap dan algoritma teroptimisasinya + untuk menangani request ARP. Dan bila ia memperoleh respon, + Nmap tidak perlu kuatir mengenai paket ping berbasis IP + karena ia telah mengetahui bahwa host up. Hal ini membuat + scan ARP jauh lebih cepat dan handal dibanding scan berbasis IP. + Sehingga ia dilakukan secara baku ketika memeriksa host ethernet yang + dideteksi Nmap berada pada jaringan ethernet lokal. Bahkan bila digunakan + jenis ping (seperti atau + ), Nmap menggunakan ARP untuk sembarang target + yang berada dalam LAN yang sama. Jika anda tidak menginginkan scan ARP, + berikan opsi . + + + + + + + (Trace path to host) + + traceroute + + + + +Traceroute dilakukan setelah scan menggunakan informasi dari hasil sscan untuk menentukan port dan protocol yang berpeluang besar mencapai target. Ia dapat digunakan untuk seluruh jenis scan kecuali scan connect () dan scan idle (). Seluruh pelacakan menggunakan model pewaktuan dinamis Nmap dan dilakukan secara paralel. + + + +Traceroute bekerja dengan mengirimkan paket dengan TTL (time-to-live) rendah agar tidak memperoleh pesan ICMP Time Exceeded dari hop langsung antara scanner dan host target. Implementasi standar traceroute dimulai dengan TTL 1 dan menaikkan TTL hingga host tujuan tercapai. Traceroute Nmap dimulai dengan TTL tinggi dan kemudian menurunkan TTL hingga nol. Dengan melakukan secara terbalik Nmap menggunakan algoritma caching cerdas untuk mempercepat pelacakan atas banyak host. Secara rata-rata Nmap mengirimkan paket kurang dari 5–10 per host, tergantung pada kondisi jaringan. Jika dilakukan scan atas satu subnet tunggal (misal 192.168.0.0/24) Nmap mungkin hanya perlu mengirim satu paket untuk kebanyakan host tersebut. + + + + + + + (No DNS resolution) + + + + + Memberitahu Nmap untuk tidak melakukan resolusi reverse + DNS + reverse DNSdisabling with + pada alamat IP aktif yang ditemukannya. Karena DNS + dapat lambat meskipun dengan menggunakan resolver paralel built-in Nmap, opsi ini dapat mempercepat waktu pemeriksaan. + + + + + + (DNS resolution for all targets) + + + + Memberitahu Nmap untuk + selalu melakukan resolusi reverse DNS + pada alamat IP target. Normalnya reverse DNS hanya dilakukan + terhadap host yang online. + + + + + + (Use system DNS resolver) + + + + + Secara baku, Nmap meresolve alamat IP dengan mengirimkan + query secara langsung ke server DNS yang dikonfigurasi pada host anda + dan mendengarkan responnya. Banyak request (seringkali selusin) + dilakukan secara paralel untuk meningkatkan kinerja. + Gunakan opsi ini untuk menggunakan resolver sistem anda (satu IP + pada satu waktu melalui call getnameinfo). Hal ini + lebih lambat dan jarang bermanfaat kecuali anda menemukan bug dalam resolver paralel Nmap + (mohon beritahu kami bila demikian). Resolver sistem selalu digunakan untuk scan IPv6. + IPv6limitations of + + + + + + + (Servers to use for reverse DNS queries) + + + + + Secara baku, Nmap menentukan server DNS anda + (untuk resolusi rDNS) dari file resolv.conf anda (Unix) atau + Registry (Win32). Selain itu, anda dapat menggunakan opsi ini + untuk menspesifikasikan server alternatif. Opsi ini tidak diindahkan + bila anda menggunakan atau melakukan scan + IPv6. Dengan menggunakan banyak server DNS seringkali lebih cepat, + terutama bila anda memilih server otoritatif untuk ruang IP target anda. + Opsi ini juga dapat meningkatkan kemampuan sembunyi (stealth), karena request + anda dapat diberikan ke sembarang server DNS rekursif di Internet. + + Opsi ini juga bermanfaat ketika memeriksa jaringan privat. + Terkadang hanya beberapa name server yang memberikan informasi rDNS yang tepat, + dan mungkin anda tidak tahu di mana mereka. Anda dapat memeriksa jaringan untuk + port 53 (mungkin dengan deteksi versi), lalu coba scan list Nmap + () dengan menspesifikasikan setiap name server pada satu waktu + dengan hingga anda menemukan yang berfungsi. + + + + + + + + + + Dasar Scanning Port + + Meskipun selama ini Nmap telah mengalami perkembangan fungsionalitas, + namun ia bermula sebagai sebuah scanner port yang efisien, dan hal itu tetap menjadi + fungsi utamanya. Perintah sederhana nmap + target akan memeriksa lebih dari + 1660 port TCP pada host + target. Ketika banyak scanner port secara tradisional + membagi seluruh port ke dalam status terbuka (open) atau tertutup (closed), + Nmap lebih granular. Ia membagi port menjadi enam status : + open, + closed, filtered, + unfiltered, + open|filtered, or + closed|filtered. + +Status ini bukan merupakan properti intrinsik dari port itu sendiri, +namun menggambarkan bagaimana Nmap memandang mereka. Sebagai contoh, +scan Nmap dari jaringan yang sama dengan target mungkin menampilkan +port 135/tcp sebagai terbuka, sementara scan yang sama +pada waktu dan opsi yang sama dari Internet mungkin menunjukkan bahwa port tersebut filtered. + +Enam status port yang dikenali Nmap + + + open port state + open + Sebuah aplikasi secara aktif menerima koneksi paket TCP + atau UDP pada port ini. Menemukan port terbuka ini seringkali merupakan + tujuan utama scanning port. Orang dengan pikiran keamanan (security-minded) tahu bahwa + setiap port terbuka merupakan celah untuk serangan. Penyerang dan pen-testers + ingin mengeksploitasi port terbuka, namun administrator berusaha menutup atau + melindungi mereka dengan firewall tanpa mengganggu user yang berhak. + Port terbuka juga menarik bagi scan bukan keamanan karena mereka memberitahu + layanan yang dapat digunakan pada jaringan. + + + + closed port state + closed + + Port tertutup dapat diakses (ia menerima dan + menanggapi paket probe Nmap), namun tidak ada aplikasi yang mendengarkan + padanya. Mereka bermanfaat dengan menunjukkan bahwa host up + pada alamat IP tersebut (host discovery, atau ping scanning), dan sebagai bagian + deteksi SO. Oleh karena port tertutup dapat dijangkau, bermanfaat untuk + mencoba scan di waktu yang lain jikalau port tersebut terbuka. Administrator mungkin + perlu mempertimbangkan untuk memblok port tersebut dengan firewall. Lalu mereka + akan muncul dalam status filtered, yang akan didiskusikan. + + + + filtered port state + filtered + + Nmap tidak dapat menentukan apakah port terbuka + karena packet filtering mencegah probenya mencapai port. + Filter ini dapat dilakukan oleh device firewall, aturan pada router, + atau software firewall pada host. Port ini membuat penyerang frustrasi + karena mereka memberikan sedikit informasi. Terkadang mereka menanggapi + dengan pesan kesalahan ICMP misalnya tipe 3 kode 13 + (tujuan tidak dapat dicapai: komunikasi dilarang secara administratif), + namun yang lebih umum adalah filter yang hanya men-drop probe tanpa memberi + tanggapan. Hal ini memaksa Nmap berusaha beberapa kali untuk memastikan + probe tidak di-drop akibat jaringan yang padat. + Hal ini sangat memperlambat proses scan. + + + unfiltered port state + unfiltered + Status unfiltered berarti bahwa port dapat diakses, + namun Nmap tidak dapat menentukan apakah ia open atau closed. Hanya scan + ACK, yang digunakan untuk mengetahui aturan firewall, menggolongkan + port ke dalam status ini. Pemeriksaan port unfiltered dengan tipe pemeriksaan lain + seperti Window scan, SYN scan, atau FIN scan, dapat membantu mengetahui + apakah port terbuka. + + + + open|filtered port state + open|filtered + Nmap menganggap port dalam status ini bila ia tidak dapat + menentukan apakah port open atau filtered. Hal ini terjadi untuk jenis pemeriksaan + ketika port terbuka tidak memberi respon. Tidak adanya tanggapan dapat pula berarti + bahwa packet filter men-drop probe atau respon yang diberikan. Sehingga Nmap tidak + dapat mengetahui dengan tepat apakah port terbuka atau difilter. Scan UDP, IP protocol, + FIN, NULL, dan Xmas mengklasifikasikan port dengan cara ini. + + + closed|filtered port state + closed|filtered + Status ini digunakan ketika Nmap tidak dapat menentukan + apakah port tertutup atau di-filter. Ia hanya digunakan pada scan idle ID IP. + + + + + Teknik Scanning Port + +Sebagai seorang pemula yang melakukan perbaikan otomotif, saya dapat berjuang +berjam-jam untuk menyesuaikan alat sederhana saya (palu, duct tape, +dsb.) untuk tugas yang ada. Ketika saya gagal dan menyerahkannya pada +mekanik sebenarnya, ia mencari dalam kotak perangkatnya hingga menemukan +alat yang tepat yang membuat pekerjaan tersebut menjadi mudah. Seni scanning port +juga serupa. Para ahli memahami beragam teknik pemindaian dan memilih +satu (atau kombinasi) yang sesuai untuk tugas yang ada. User tidak berpengalaman dan +script kiddies,script kiddies +di lain pihak, berusaha menyelesaikan semua masalah dengan scan SYN baku. Oleh karena Nmap +gratis, satu-satunya penghalang menguasai scanning port adalah pengetahuan. Hal itu tentu +saja mengalahkan dunia otomotif, setelah membutuhkan keahlian tinggi untuk menentukan bahwa +anda butuh kompresor pegas strut, lalu anda mesti harus membayar ribuan dolar untuknya. + +Kebanyakan jenis scan hanya tersedia untuk +user privilege.privileged users +Hal ini karena mereka mengirim dan menerima paket raw,raw packets yang membutuhkan akses root pada sistem Unix. +Pada sistem Windows, menggunakan akun administrator disarankan, meski +terkadang Nmap dapat bekerja untuk unprivileged users ketika WinPcap telah dimuatkan ke SO. Kebutuhan akan privilege root merupakan sebuah batasan serius ketika Nmap dirilis pada tahun 1997, +karena banyak user hanya mempunyai akses ke shared shell. Saat ini, +hal tersebut berbeda. Komputer telah lebih murah, lebih banyak orang memiliki +akses langsung Internet always-on, dan banyak sistem Unix desktop (termasuk +Linux dan Mac OS X). Versi Nmap Windows kini tersedia, membuatnya +berjalan di lebih banyak desktop. Karena alasan-alasan ini, +user memiliki sedikit alasan untuk menjalankan Nmap dari akun shared shell yang terbatas. +Ini merupakan keberuntungan, karena opsi privilege membuat Nmap lebih +powerful dan fleksibel. + +Meski Nmap berusaha memberikan hasil yang akurat, namun perlu diperhatikan +bahwa seluruh pandangannya didasarkan pada paket yang dikembalikan oleh mesin target +(atau firewall di depan mereka). Host tersebut mungkin tidak dapat dipercaya +dan responnya bertujuan membingungkan atau mengacaukan Nmap. +Yang lebih umum adalah host yang tidak sesuai dengan RFC yang tidak menanggapi +sebagaimana yang seharusnya atas probe Nmap. Scan FIN, NULL, dan Xmas terutama +rentan terhadap masalah ini. Isu tersebut adalah spesifik untuk jenis scan tertentu +dan didiskusikan dalam entri jenis scan individual. + +Bagian ini mendokumentasikan selusin atau lebih teknik scan port +yang didukung oleh Nmap. Hanya satu metode yang boleh digunakan di satu waktu, +kecuali scan UDP () dapat digabungkan dengan sembarang +jenis scan TCP. Sebagai pengingat, opsi jenis scan port adalah +dalam bentuk , dengan +C merupakan karakter utama dalam nama scan, +biasanya yang pertama. Satu pengecualian untuk ini adalah scan bounce FTP +yang telah kuno (). Secara baku, Nmap melakukan +SYN Scan, meski ia menggantinya dengan scan connect bila user tidak memiliki +privilege untuk mengirim paket raw (membutuhkan akses root pada Unix) +atau bila dispesifikasikan target IPv6. Dari semua scan yang ada di bawah ini, +unprivileged user hanya dapat menjalankan scan connect dan FTP bounce. + + + + + (TCP SYN scan) + + SYN scan + + + +SYN scan merupakan opsi scan baku dan terpopuler dengan alasan yang baik. +Ia dapat dilakukan dengan cepat, memeriksa ribuan port per detik pada jaringan +yang cepat tidak dihalangi oleh firewall yang membatasi. Scan SYN +relatif tidak mengganggu dan tersembunyi, karena ia tidak pernah melengkapi +koneksi TCP. Ia juga bekerja terhadap stack TCP yang sesuai alih-alih +tergantung pada platform khusus sebagaimana scan FIN/NULL/Xmas, Maimon dan idle. +Ia juga memungkinkan pembedaan yang tegas dan handal antara status open, +closed, dan filtered. + +Teknik ini seringkali diacu sebagai pemeriksaan setengah terbuka (half-open scanning), +karena anda tidak membuka seluruh koneksi TCP. Anda mengirim sebuah paket SYN, +seperti anda ingin melakukan koneksi sesungguhnya dan kemudian menunggu tanggapan. +SYN/ACK menandakan port sedang mendengarkan (open), RST (reset) menandakan tidak sedang +mendengarkan. Jika tidak ada tanggapan setelah beberapa kali pengiriman ulang, port +ditandai sebagai tersaring (filtered). Port juga ditandai sebagai tersaring bila diterima +kesalahan ICMP unreachable (tipe 3, kode 1, 2, 3, 9, 10, atau 13). + + + + + + + (TCP connect scan) + + connect scan + + +Scan TCP connect merupakan jenis scan baku TCP ketika scan SYN +tidak dapat digunakan. Hal ini terjadi ketika user tidak memiliki privilege +untuk paket raw atau ketika melakukan pemeriksaan jaringan IPv6. Alih-alih menulis paket +raw sebagaimana dilakukan jenis scan lainnya, Nmap meminta SO +membuat koneksi dengan mesin target dan port dengan memberikan system call +connect. Ini merupakan system call +yang digunakan oleh web browsers, klien P2P, dan kebanyakan aplikasi jaringan +lainnya untuk membuat koneksi. Ia merupakan bagian dari interface pemrograman +yang dikenal sebagai Berkeley Sockets API. Nmap juga menggunakan API ini untuk +memperoleh informasi status setiap usaha koneksi. + + +Ketika tersedia SYN scan, ia merupakan pilihan yang lebih baik. Nmap +kurang memiliki kendali atas call connect daripada +paket raw, membuatnya kurang efisien. System call membuat koneksi lengkap +untuk membuka port target daripada membuat reset setengah-terbuka (half-open reset) +yang dilakukan SYN scan. Hal ini tidak saja lebih lambat dan membutuhkan lebih banyak paket +untuk memperoleh informasi yang sama, namun juga mesin target kemungkinan mencatat koneksi. +IDS yang baik akan mendeteksi hal ini, namun kebanyakan mesin tidak memiliki sistem alarm tersebut. +Kebanyakan layanan pada sistem Unix umum akan membuat catatan ke syslog, dan seringkali +pesan kesalahan yang rumit, ketika Nmap membuka dan menutup koneksi tanpa mengirim data. +Layanan yang benar-benar buruk akan crash ketika hal ini terjadi, meskipun tidak umum. +Administrator yang melihat serangkaian usaha koneksi dari sistem tunggal di lognya seharusnya +tahu bahwa ia telah diperiksa dengan metode connect. + + + + + + + (UDP scan) + +UDP scan + + + +Walau kebanyakan layanan populer di Internet menggunakan protokol TCP, layanan +UDP +luas dipergunakan. DNS, SNMP, dan DHCP (port 53, 161/162, dan 67/68) adalah tiga yang paling +umum. Karena pemeriksaan UDP umumnya lebih lambat dan lebih sulit dibanding TCP, beberapa +audit keamanan mengabaikan port ini. Ini merupakan kesalahan, karena eksploitasi layanan UDP +cukup umum dan penyerang tentu saja tidak mengabaikan seluruh protokol. Untungnya, Nmap dapat +membantu inventori port UDP. + +Scan UDP diaktifkan dengan opsi . Ia dapat digabungkan +dengan jenis scan TCP seperti SYN scan () untuk memeriksa +kedua buah protokol sekaligus. + +Scan UDP bekerja dengan mengirimkan header UDP kosong (tanpa data) ke setiap port +yang diinginkan. Jika diperoleh kesalahan ICMP port unreachable (tipe 3, kode 3), port itu closed. Kesalahan ICMP lainnya (tipe 3, +kode 1, 2, 9, 10, atau 13) menandakan port sebagai filtered. Seringkali, sebuah layanan akan menanggapi dengan paket UDP, membuktikan bahwa ia open. Jika tidak ada tanggapan setelah transmisi ulang, port +dianggap open|filtered. Hal ini berarti bahwa port dapat berada dalam keadaan open, atau mungkin packet filter memblokir komunikasi. Deteksi versi +() dapat digunakan untuk membantu membedakan antara port yang terbuka dengan yang disaring. + +Tantangan terbesar scanning UDP adalah melakukannya dengan cepat. +Port terbuka dan tersaring jarang mengirimkan tanggapan, membuat Nmap time +out dan kemudian melakukan transmisi ulang bilamana probe atau respon hilang. +Port tertutup seringkali merupakan masalah yang lebih besar. +Mereka umumnya mengirimkan ulang kesalahan ICMP port unreachable. Namun tidak seperti +paket RST yang dikirim oleh port TCP tertutup sebagai respon atas scan SYN atau connect, +banyak host secara baku membatasi pesan rate limiting ICMP port unreachable. +Linux dan Solaris terutama sangat ketat mengenai hal ini. Sebagai contoh, kernel +Linux 2.4.20 membatasi pesan destination unreachable ke satu per detik +(dalam net/ipv4/icmp.c). + +Nmap mendeteksi pembatasan ini dan memperlambat kerjanya untuk menghindari +pemenuhan jaringan dengan paket-paket tidak perlu yang akan di-drop oleh mesin target. +Sayangnya, pembatasan ala Linux dengan satu paket per detik membuat pemeriksaan 65.536 +membutuhkan waktu lebih 18 jam. Ide untuk mempercepat scan UDP termasuk pemeriksaan +lebih banyak host secara paralel, melakukan pemeriksaan atas port-port populer dulu, +pemeriksaan di belakang firewall, dan menggunakan untuk melewati +host lambat. + + + + + + + ; ; (TCP NULL, FIN, dan Xmas scan) + + + +NULL scan +FIN scan +Xmas scan + + + +Ketiga jenis scan ini (bahkan kemungkinan lebih dengan adanya opsi + yang dijelaskan pada bagian berikutnya) +mengeksploitasi kelemahan dalam RFC TCP untuk membedakan +antara port open dan +closed. Halaman 65 RFC 793 mengatakan bawha if the +[destination] port state is CLOSED .... an incoming segment not +containing a RST causes a RST to be sent in response. Lalu halaman berikutnya +mendiskusikan paket yang dikirim ke port terbuka tanpa bit SYN, RST, atau ACK diset, +menyatakan bahwa : you are unlikely to get here, but if you do, drop the +segment, and return. + +Ketika memeriksa sistem yang sesuai dengan teks RFC ini, sembarang paket +yang tidak berisikan bit SYN, RST, atau ACK akan berakibat pengembalian RST bila +port tertutup dan tidak ada respon bila port terbuka. Selama ketiga bit ini tidak disertakan, +sembarang kombinasi ketiga bit lainnya (FIN, PSH, dan URG) adalah OK. Nmap mengeksploitasi +celah ini dengan ketiga jenis scan berikut : + + + Null scan () + Tidak mengirimkan bit(header flag TCP adalah 0) + + FIN scan () + Hanya menset bit FIN TCP. + + Xmas scan () + Menset flag FIN, PSH, dan URG, menerangi paket + seperti sebuah pohon Natal. + + +Ketiga jenis scan ini serupa perilakunya kecuali untuk flag TCP yang diset +dalam paket probe. Jika diterima paket RST, +port dianggap closed, tidak ada respon +berarti ia open|filtered. Port ditandai +filtered bila diterima kesalahan ICMP unreachable (tipe 3, kode +1, 2, 3, 9, 10, atau 13). + +Keuntungan utama jenis scan ini adalah bahwa mereka dapat +menyusup melalui non-stateful firewall dan router packet filtering +tertentu. Keunggulan lain adalah bahwa ketiga scan ini lebih tersembunyi bahkan +bila dibandingkan dengan SYN scan. Jangan mengandalkan hal ini karena +produk IDS modern dapat dikonfigurasi untuk mendeteksi mereka. Kelemahan utama +adalah tidak semua sistem mematuhi RFC 793 secara tepat. Sejumlah sistem +mengirim respon RST atas probe tanpa perduli apakah port terbuka atau tertutup. +Hal ini membuat seluruh port dianggap sebagai closed. +Sistem operasi utama yang melakukan hal ini adalah Microsoft Windows, banyak device Cisco devices, +BSDI, dan IBM OS/400. Scan ini tidak bekerja terhadap kebanyakan sistem berbasis Unix. +Kekurangan lainnya adalah scan ini tidak dapat membedakan antara +port open dengan port tertentu yang +filtered, memberikan anda tanggapan +open|filtered. + + + + + + + (TCP ACK scan) + + ACK scan + + + +Scan ini berbeda dengan yang telah didiskusikan sejauh ini yaitu ia +tidak pernah menentukan port open (or even +open|filtered). Ia digunakan untuk memetakan +aturan firewall, menentukan apakah mereka stateful atau tidak dan +port mana saja yang disaring. + +Paket probe scan ACK hanya memiliki flag ACK di-set (kecuali anda menggunakan +). Ketika memeriksa sistem yang tidak disaring, port +open dan closed keduanya +akan mengembalikan paket RST. Nmap kemudian menandakan mereka sebagai +unfiltered, yang berarti mereka dapat dicapai oleh paket +ACK, namun belum dapat ditentukan apakah mereka open atau +closed. Port yang tidak menanggapi, +atau mengirim kembali pesan kesalahan ICMP (tipe 3, kode 1, 2, 3, 9, 10, +atau 13), dianggap sebagai filtered. + + + + + + + (TCP Window scan) + +window scan + + + +Window scan serupa dengan ACK scan kecuali bahwa ia +mengeksploitasi detil implementasi pada sistem tertentu yang membedakan port terbuka +dengan port tertutup, alih-alih selalu menampilkan +unfiltered ketika dikembalikan RST. Ia melakukan hal ini +dengan memeriksa field TCP Window paket RST yang dikembalikan. Pada beberapa sistem, +port terbuka menggunakan ukuran jendela positif (bahkan untuk paket RST) sementara +port tertutup memiliki jendela nol. Sehingga alih-alih selalu menampilkan +port sebagai unfiltered ketika menerima kembali RST, +Window scan menampilkan port sebagai open atau +closed jika nilai TCP Window dalam reset tersebut +positif atau nol. + +Scan ini mengandalkan detil implementasi sedikit sistem yang ada di Internet, +sehingga anda tidak dapat selalu mempercayainya. Sistem yang tidak mendukungnya +biasanya akan mengembalikan semua port sebagai closed. +Tentu saja, adalah mungkin mesin benar-benar tidak memiliki port terbuka. +Jika kebanyakan port yang diperiksa adalah closed namun beberapa angka port umum (seperti 22, 25, 53) adalah filtered, informasi +ini kemungkinan benar. Seringkali, sistem akan memberitahukan perilaku sebaliknya. +Jika scan anda menunjukkan bahwa 1000 port terbuka dan tiga port tertutup atau disaring, +maka ketiga port tersebut mungkin saja adalah port yang terbuka. + + + + + + + (TCP Maimon scan) + +Maimon scan + + + +Scan Maimon dinamakan dengan nama penemunya, +Uriel Maimon.Maimon, Uriel +Ia menjelaskan teknik ini dalam +Phrack Magazine issue #49 (November 1996).Phrack +Nmap, yang menyertakan teknik ini, dirilis dua isu kemudian. +Teknik ini sama persis dengan scan NULL, FIN, dan Xmas, kecuali +probenya adalah FIN/ACK. Menurut RFC 793 (TCP), paket RST +seharusnya dihasilkan sebagai tanggapan atas probe tersebut entah port terbuka atau +tertutup. Namun demikian, Uriel memperhatikan bahwa banyak sistem berbasis BSD +men-drop paket jika port terbuka. + + + + + + + (Custom TCP scan) + + + + +User Nmap mahir tidak perlu membatasi dirinya pada jenis scan yang tersedia secara baku. Opsi memungkinkan anda merancang scan anda sendiri +dengan menspesifikasikan sembarang flag TCP.TCP flags. +Biarkan cairan kreatif anda mengalir, sementara mengakali +intrusion detection systemintrusion detection systemsevading +yang vendornya sekedar membaca man page Nmap menambahkan aturan khusus! + +Argumen dapat berupa nilai flag numerik +seperti 9 (PSH dan FIN), namun menggunakan nama simbolik lebih +mudah. Gabungkan saja sembarang kombinasi URG, +ACK, PSH, +RST, SYN, dan +FIN. Sebagai contoh, menset semuanya, meskipun ia tidak terlalu +bermanfaat untuk pemeriksaan. Urutan spesifikasi tidaklah relevan. + +Selain dengan menspesifikasikan flag yang diinginkan, anda dapat pula +memberikan jenis scan TCP (seperti atau ). +Jenis dasar tersebut memberitahu Nmap bagaimana menginterpretasikan respon. Sebagai +contoh, SYN scan menganggap no-response sebagai indikasi port +filtered, sementara FIN scan mengganggapnya sebagai +open|filtered. Nmap akan berperilaku sama +dengan jenis scan dasar, kecuali ia akan menggunakan flag TCP yang anda spesifikasikan +Jika anda tidak menspesifikasikan tipe dasar, akan digunakan SYN scan. + + + + + + + (idle scan) + + idle scan + + + + + Metode scan tingkat tinggi ini memungkinkan scan port TCP secara + tersembunyi (artinya tidak ada paket dikirim ke target dari alamat IP + anda yang sebenarnya). Alih-alih, serangan side-channel mengeksploitasi + pembuatan urutan ID fragmentasi IP yang mudah ditebak pada host zombi + untuk memperoleh informasi tentang port terbuka pada target. + Sistem IDS akan menampilkan scan berasal dari mesin zombi yang anda + spesifikasikan (yang harus up dan memenuhi beberapa kriteria). + + Jenis scan menarik ini terlalu kompleks untuk dijelaskan dalam panduan + referensi ini, sehingga saya menulis dan menaruh paper informal dengan + detil penuh di . + + + Full details of this fascinating scan type are in + . + + + + Selain sangat tersembunyi (karena sifat + blind-nya), jenis scan ini mengijinkan pemetaan + relasi kepercayaan berbasis IP antar mesin. Daftar port + menampilkan port terbuka dari perspektif host zombi. + Sehingga anda dapat berusaha memeriksa target dengan menggunakan + beragam zombi yang anda anggap terpercaya + trust relationships + (melalui aturan router/packet filter). + + + Anda dapat menambah tanda titik dua diikuti nomor port + pada host zombi jika anda ingin memeriksa port tertentu pada zombi + untuk perubahan ID IP. Jika tidak Nmap akan menggunakan port + baku yang digunakan untuk ping TCP (80). + + + + + + (IP protocol scan) + + IP protocol scan + + + +Scan protokol IP memungkinkan anda menentukan protokol IP mana +(TCP, ICMP, IGMP, dsb.) yang didukung oleh mesin target. Secara teknis +ini bukanlah scan port, karena ia menggunakan nomor protokol IP +alih-alih nomor port TCP atau UDP. Namun ia tetap menggunakan opsi + untuk memilih nomor protokol yang diperiksa, melaporkan +hasilnya dalam format tabel port normal, dan bahkan menggunakan +mesin scan yang sama dengan metode scanning port sebenarnya. Ia +cukup dekat dengan scan port sehingga berada di sini. + +Selain memiliki fungsi tertentu, scan protokol +mendemonstrasikan kekuatan software open-source. Meskipun ide dasarnya +cukup sederhana, saya tidak berpikir atau menerima permintaan untuk +menambah fungsionalitas semacam itu. Lalu pada musim panas tahun 2000, +Gerhard RiegerRieger, Gerhard +menerima ide tersebut, menulis patch yang bagus untuk mengimplementasikannya, +dan mengirimnya ke milis +nmap-hackers.nmap-hackers mailing list +Saya menggabungkan patch tersebut ke Nmap dan merilis versi baru +di hari berikutnya. Sedikit software komersial memiliki user yang cukup antusias +untuk merancang dan memberikan kontribusi perbaikan! + +Scan protocol bekerja dalam cara yang sama dengan scan UDP. Alih-alih +beriterasi atas field nomor port paket UDP, ia mengirim header paket IP +dan beriterasi pada field protokol IP delapan-bit. +Header biasanya kosong, tidak berisi data dan bahkan tiada header yang sesuai +untuk protokol yang diklaim. Tiga pengecualian adalah TCP, +UDP, dan ICMP. Header protokol yang sesuai untuk mereka disertakan +karena beberapa sistem tidak akan mengirimnya dan karena Nmap telah memiliki +fungsi untuk membuatnya. Alih-alih mengamati pesan ICMP port unreachable, +scan protocol mencari pesan ICMP protocol unreachable. +Bila Nmap menerima respon dalam sembarang protokol dari host target, Nmap menandai +protokol tersebut sebagai open. Kesalahan ICMP protocol unreachable (tipe 3, kode 2) menyebabkan protokol ditandai sebagai +closed. Kesalahan ICMP unreachable lainnya (tipe 3, kode +1, 3, 9, 10, atau 13) menyebabkan protokol ditandai +filtered (meskipun mereka membuktikan bahwa ICMP +open di waktu yang sama). Jika tidak menerima respon +setelah transmisi ulang, protokol ditandai sebagai +open|filtered + + + + + + + + + (FTP bounce scan) + + FTP bounce scan + + + +Satu fitur menarik protokol FTP (RFC 959) mendukung +koneksi FTP proxy. Hal ini memungkinkan user untuk koneksi ke satu server FTP, +lalu meminta file dikirimkan ke server pihak ketiga. +Fitur tersebut rentan terhadap penyalahgunaan di banyak tingkat, +sehingga banyak server berhenti mendukungnya. Salah satu penyalahgunaan +yang dibolehkan fitur ini adalah membuat server FTP melakukan scan port ke host lain. +Cukup minta server FTP mengirim sebuah file ke setiap port yang diinginkan pada host target. +Pesan kesalahan akan menjelaskan apakah port terbuka atau tidak. +Hal ini merupakan cara yang baik untuk melewati firewall karena +server FTP organisasi biasanya lebih memiliki akses ke host internal daripada +host Internet. Nmap mendukung scan bounce FTP dengan opsi option. +Ia mengambil argumen dalam bentuk +username:password@server:port. +Server adalah nama atau alamat IP server FTP yang rentan. +Sebagaimana dengan URL normal, anda dapat menghilangkan +username:password, +sehingga menggunakan login anonim (user: +anonymous password:-wwwuser@) +. Nomor port (dan tanda titik dua sebelumnya) dapat dihilangkan juga, +sehingga menggunakan port FTP baku (21) pada +server. + +Kerentanan ini meluas di tahun 1997 ketika Nmap dirilis, +namun telah diperbaiki. Server-server yang rentan masih ada, +sehingga patut dicoba bila teknik yang lainnya gagal. Jika tujuan anda +adalah melewati firewall, scan jaringan target untuk port 21 (atau +bahkan untuk sembarang layanan FTP jika anda scan seluruh port dengan deteksi +versi) yang terbuka, lalu coba scan bounce. Nmap akan memberitahu anda +apakah host rentan atau tidak. Jika anda hanya ingin menutupi +jejak anda, anda tidak perlu (dan bahkan tidak seharusnya) membatasi +diri anda pada host pada jaringan target. Sebelum anda memeriksa +alamat Internet acak untuk mencari server FTP yang rentan, pertimbangkan bahwa +sysadmin mungkin tidak akan menghargai anda menggunakan server mereka dengan cara ini. + + + + + + + + Spesifikasi Port dan Urutan Scan + port specification + + Selain menawarkan semua metode scan yang telah dijelaskan sebelumnya, + Nmap juga memberikan opsi untuk menspesifikasikan port mana yang ingin diperiksa dan + apakah urutan scan secara acak atau berurutan. Secara baku, Nmap memeriksa 1.000 port + untuk setiap protokol yang paling umum. + default ports + + + + + + (Hanya memeriksa port yang dispesifikasikan) + + + + + + Opsi ini menentukan port yang ingin anda periksa dan + meniadakan nilai baku. Nomor port individu adalah OK, dan juga + rentang yang dipisahkan oleh tanda sambung (misaln 1-1023). Nilai awal dan/atau + akhir sebuah rentang dapat dihilangkan, Nmap lalu akan menggunakan + 1 dan 65535. Jadi anda dapat memberikan opsi + untuk memeriksa port dari 1 hingga 65535. + Anda diperbolehkan memeriksa port nol port zero + jika anda menspesifikasikannya secara eksplisit. + Untuk pemeriksaan protokol IP (), opsi ini + menspesifikasikan nomor protokol yang ingin anda periksa (0–255). + + Ketika memeriksa port TCP dan UDP, anda dapat menentukan + protokol tertentu dengan menambahkan T: + atau U: di depan nomor port. + Qualifier ini berlaku hingga anda menspesifikasikan qualifier lain. + Sebagai contoh, argumen akan memeriksa port UDP + 53, 111,dan 137, dan juga port TCP yang disebutkan. Untuk memeriksa + UDP dan TCP, anda harus menspesifikasikan + dan paling tidak satu jenis scan TCP (seperti + , , atau + ). Jika tidak diberikan qualifier protokol, + nomor port akan ditambahkan ke seluruh daftar protokol. + + + port specificationwildcards in + wildcardsport selection, wildcards in + + Port dapat juga dispesifikasikan dengan nama sesuai dengan apa yang diacu dalam + file nmap-services. Anda bahkan + dapat menggunakan wildcard * dan ? dengan nama. Sebagai contoh, untuk memeriksa + port FTP dan seluruh port yang namanya dimulai dengan http, gunakan . + Berhati-hatilah dengan ekspansi shell dan berilah tanda kutip pada argumen jika tidak yakin. + + Rentang port dapat dikelilingi oleh tanda kurung siku (square bracket) + untuk mengindikasikan port yang berada di dalam rentang tersebut yang ada dalam nmap-services. + Sebagai contoh, opsi berikut ini akan memeriksa seluruh port dalam nmap-services + yang kurang dari sama dengan 1024: . Berhati-hatilah dengan ekspansi shell dan berilah tanda kutip pada argumen jika tidak yakin. + + + + + + (Fast (limited port) scan) + + fast scan + + + Memberitahukan bahwa anda ingin memeriksa lebih sedikit port + daripada jumlah baku. Normalnya Nmap memeriksa 1.000 port umum + untuk setiap protokol yang diperiksa. Dengan , jumlahnya + dikurangi menjadi 100. + + Nmap membutuhkan file nmap-services + dengan informasi frekuensi untuk mengetahui port yang paling umum + (see + untuk lebih jauh mengenai frekuensi port). Jika informasi + frekuensi port tidak tersedia, mungkin karena penggunaan file + nmap-services kustom, + berarti memeriksa hanya port yang ada di dalam + file services (normalnya Nmap memeriksa seluruh port yang memiliki nama dan + port 1–1024). + + + + + + (Jangan randomisasi port) + + randomization of ports + + + Secara baku, Nmap merandomisasi urutan port yang diperiksa + (kecuali port tertentu yang biasa diakses dipindahkan ke awal untuk + alasan efisiensi). Randomisasi ini biasanya diinginkan,namun anda + dapat memberikan opsi untuk pemeriksaan port + secara berurutan. + + + + + + + + + --port-ratio + Memeriksa seluruh port dalam file nmap-services dengan rasio lebih daripada angka yang diberikan sebagai argumen. + + + + + + + + + --top-ports + Memeriksa port-port dengan rasio tertinggi N yang ditemukan dalam file nmap-services. + + + + + + + + + + Deteksi Versi dan Layanan + version detection + + + Arahkan Nmap ke mesin remote dan ia dapat memberitahu anda + bahwa port 25/tcp, 80/tcp, dan 53/udp terbuka. Dengan menggunakan database + nmap-servicesnmap-services + yang berisi lebih dari 2.200 + layanan yang dikenal,well-known ports + Nmap akan melaporkan bahwa port tersebut mungkin adalah + server mail (SMTP), server web (HTTP), dan name server (DNS). + Pencocokan ini biasanya akurat- sebagian besar daemon + yang mendengarkan TCP port 25 adalah, mail + server. Namun demikian, anda tidak seharusnya terpaku pada hal ini! + Orang-orang dapat dan menjalankan layanan pada port-port aneh.non-standard ports + + + Bahkan bila Nmap benar, dan server hipotetis di atas menjalankan + server SMTP, HTTP, dan DNS, itu bukanlah informasi yang banyak. + Ketika melakukan vulnerability assessment (atau inventori jaringan) + atas perusahaan atau klien anda, anda benar-benar ingin mengetahui + server mail dan DNS mana serta versi apa yang dijalankan. + Dengan memiliki angka versi yang akurat akan membantu secara dramatis dalam + menentukan eksploitasi yang tepat terhadap server tersebut. Deteksi versi + membantu anda memperoleh informasi ini. + + + Setelah port TCP dan/atau UDP ditemukan dengan menggunakan + salah satu metode scan, deteksi versi menginterogasi port tersebut + untuk menentukan lebih jauh mengenai apa yang sedang berjalan. Database + nmap-service-probesnmap-service-probes + berisikan probe untuk melakukan query ke sejumlah layanan dan ekspresi pencocokan + untuk mengenali dan memproses respon. Nmap berusaha menentukan protokol layanan + (misalnya FTP, SSH, Telnet, HTTP), nama aplikasi (misalnya ISC + BIND, Apache httpd, Solaris telnetd), angka versi, + nama host, jenis device (misal printer, router), keluarga SO + (misal Windows, Linux) dan terkadang detil lainnya seperti + apakah X server terbuka untuk koneksi, versi protokol SSH, + atau nama user KaZaA). Tentu saja, kebanyakan layanan + tidak memberikan informasi ini. Jika Nmap dikompilasi dengan dukungan + OpenSSL, ia akan koneksi ke server SSL untuk mendapatkan layanan + yang berada di belakang lapisan enkripsi.SSLin version detection + Ketika ditemukan layanan RPC, + Nmap RPC grinderRPC grinder + () + secara otomatis digunakan untuk menentukan program dan angka versi RPC. + Beberapa port UDP diinformasikan dalam status + open|filtered setelah scan port UDP + tidak dapat menentukan apakah port terbuka atau disaring. Deteksi versi + akan berusaha memperoleh respon dari port ini (sebagaimana dari + port terbuka), dan merubah status port menjadi terbuka bila ia + berhasil. Port TCP open|filtered diperlakukan + dalam cara yang sama. Perhatikan bahwa opsi di antaranya + mengaktifkan deteksi versi. + + Sebuah paper yang mendokumentasikan cara kerja, penggunaan, dan kustomisasi + deteksi versi tersedia di + . + + + Deteksi versi dijelaskan secara rinci dalam . + + + + Bila Nmap menerima respon dari sebuah layanan namun tidak + dapat mencocokkannya ke database, ia akan mencetak fingerprint khusus dan + sebuah URL untuk menyerahkannya bila anda tahu secara pasti apa yang berjalan + pada port tersebut. Mohon meluangkan waktu beberapa menit untuk menyerahkannya + sehingga dapat bermanfaat bagi semua orang. Berkat penyerahan ini, + Nmap memiliki sekitar 3.000 pola yang sesuai untuk lebih dari + 350 protokol seperti SMTP, FTP, HTTP, dsb.submission of service fingerprints + + + Deteksi versi diaktifkan dan dikendalikan dengan opsi-opsi berikut: + + + + + + + (Deteksi Versi) + + + + + Mengaktifkan deteksi versi, seperti yang dijelaskan di atas. + Anda dapat pula menggunakan , yang salah satunya + mengaktifkan deteksi versi. + + + + + + + (Sertakan seluruh port dalam deteksi versi) + + + + + Secara baku, deteksi versi Nmap melewati TCP port 9100 + karena beberapa printer akan mencetak segala yang dikirim ke port itu, + berakibat puluhan halaman request HTTP GET, sesi biner SSL, dsb. + Perilaku ini dapat diubah dengan memodifikasi atau menghapus + direktif Exclude + dalam nmap-service-probes, atau + anda dapat menspesifikasikan untuk memeriksa seluruh + port tanpa mengindahkan direktif Exclude. + Exclude directive (nmap-service-probes) + + + + + + + (Menset + intensitas pemeriksaan versi) + + + + + + Ketika melakukan pemeriksaan versi (), Nmap mengirim + serangkaian probe, dan setiap probe diberi nilai antara satu dan sembilan. + Probe dengan nomor rendah efektif terhadap beragam layanan umum, sementara + nomor lebih tinggi jarang berguna. Level intensitas menspesifikasikan probe + mana yang harus diaplikasikan. Semakin tinggi angkanya, semakin mungkin + layanan diidentifikasi dengan benar. Namun demikian, scan dengan intensitas tinggi + membutuhkan waktu yang lebih lama. Intensitas harus antara 0 dan 9. + version detectionintensity + Nilai bakunya adalah 7. + version detectiondefault intensity + Ketika sebuah probe didaftarkan ke port target melalui direktif + nmap-service-probes ports, probe tersebut akan dicoba tanpa memperdulikan + level intensitas. Hal ini memastikan bahwa probe DNS akan selalu dicoba terhadap + sembarang port terbuka 53, probe SSL akan dilakukan terhadap port 443, dst. + + + + + + + (Aktifkan mode ringan) + + + + + Opsi ini merupakan alias dari + . Mode ringan ini + membuat pemeriksaan versi lebih cepat, namun mungkin kurang + dapat mengidentifikasi layanan. + + + + + + (Coba semua probe tunggal) + + + + + Sebuah alias bagi , + memastikan bahwa setiap probe tunggal dicoba terhadap setiap port. + + + + + + (Melacak aktivitas pemeriksaan versi) + + + + Hal ini membuat Nmap mencetak info debugging yang ekstensif tentang + pemeriksaan versi yang sedang dilakukan. Ia merupakan subset dari . + + + + + + (RPC scan) + + RPC scanRPC grinder + RPC grinder + + + + Metode ini bekerja sama dengan beragam metode pemeriksaan port + Nmap. Ia menggunakan seluruh port TCP/UDP yang terbuka dan membanjiri mereka + dengan perintah NULL program SunRPC dalam usaha menentukan apakah mereka + adalah port RPC, dan bila ya, menentukan program dan nomor versinya. Karenanya + anda dapat secara efektif memperoleh info yang sama dengan rpcinfo -p bahkan bila portmapper target berada di belakang firewall (atau dilindungi oleh + TCP wrapper). Saat ini tidak dapat menggunakan umpan dalam RPC scan.decoysyang digunakan pemeriksaan + Ia secara otomatis diaktifkan sebagai bagian pemeriksaan versi + () jika anda memintanya. Oleh karena deteksi versi + menyertakannya dan jauh lebih lengkap, jarang dibutuhkan. + + + + + + + + + + Deteksi SO + OS detection + + Salah satu fitur Nmap yang paling dikenal adalah deteksi SO + dengan menggunakan fingerprint stack TCP/IP. Nmap mengirimkan serangkaian paket TCP dan + UDP ke host remote dan menguji setiap bit paket responnya. + Setelah melakukan serangkaian test seperti sampling TCP + ISN, dukungan dan urutan opsi TCP, sampling ID IP, dan + pemeriksaan ukuran jendela awal, Nmap membandingkan hasilnya ke database + nmap-os-dbnmap-os-db + yang berisi lebih dari seribu fingerprint SO yang dikenal dan + mencetak detil SO bila terjadi kesesuaian. + Setiap fingerprint menyertakan deskripsi SO tekstual dalam format bebas, + klasifikasi yang memberikan nama vendor (misalnya Sun), SO di bawahnya (misalnya Solaris), + generasi OS (misalnya 10), dan jenis device (fungsi umum, router, switch, konsol game, + dsb.). + + Jika Nmap tidak dapat menduga SO mesin, dan kondisinya bagus + (misalnya paling tidak ditemukan satu port terbuka dan tertutup), Nmap akan + memberikan URL yang dapat anda gunakan untuk menyerahkan fingerprint jika anda tahu + (dengan pasti) SO yang berjalan di mesin itu. Dengan melakukan hal ini anda berkontribusi + ke database sistem operasi yang dikenali Nmap dan karenanya ia akan lebih akurat. + + Deteksi SO mengaktifkan beberapa tes lain yang menggunakan informasi yang + dikumpulkan selama proses. Salah satunya adalah TCP Sequence Predictability Classification. + Ukuran ini menentukan seberapa sulit memalsukan koneksi TCP ke host remote. Ia bermanfaat + dalam mengeksploitasi relasi trust berbasis IP-sumber (rlogin, filter firewall, dsb) atau + untuk menyembunyikan sumber serangan. Spoofing jenis ini jarang dilakukan lagi, + namun banyak mesin masih rentan terhadapnya. + Angka kesulitan aktualnya berdasarkan pada sampling statistik dan mungkin berfluktuasi. + Umumnya lebih baik menggunakan klasifikasi bahasa Inggris seperti + worthy challenge or trivial joke. Hal ini hanya dilaporkan + dalam output normal dalam mode verbose (). + Ketika digunakan mode verbose bersama dengan , pembuatan urutan ID IP ID + juga dilaporkan. Kebanyakan mesin berada dalam kelas + incremental, yang berarti mereka menaikkan field ID + dalam header IP untuk setiap paket yang mereka kirim. Hal ini membuat mereka rentan + atas beberapa serangan spoofing dan pengumpulan informasi tingkat tinggi. + + uptime guess + + Informasi ekstra lain yang disertakan dalam deteksi SO adalah menduga + waktu uptime target. Tekniknya menggunakan opsi timestamp TCP (RFC 1323) untuk menduga waktu terakhir mesin direboot. + Dugaan dapat tidak akurat akibat counter timestamp tidak diinisialisasi ke nol + atau counter overflow dan kembali ke awal, sehingga ia hanya dicetak dalam mode verbose. + + + + + Sebuah paper yang mendokumentasikan cara kerja, penggunaan, dan kustomisasi deteksi SO + tersedia di + . + + + Deteksi SO dibahas dalam . + + + + Deteksi SO diaktifkan dan dikendalikan dengan opsi-opsi berikut: + + + + + (Aktifkan deteksi SO) + + + + + + Aktifkan deteksi SO, seperti didiskusikan di atas. + Anda dapat juga menggunakan untuk mengaktifkan + deteksi SO dan hal lainnya. + + + + + + + (Batasi deteksi SO untuk target yang menjanjikan) + + + + + Deteksi SO jauh lebih efektif bila ditemukan paling tidak + satu port TCP terbuka dan tertutup. Set opsi ini dan Nmap + tidak akan melakukan deteksi SO terhadap host yang tidak memenuhi + kriteria ini. Hal ini dapat menghemat waktu, + terutama pada pemeriksaan atas banyak host. Ia hanya + penting ketika deteksi SO diminta dengan opsi atau . + + + + + + ; (Duga hasil deteksi SO) + + + + + + Ketika Nmap tidak dapat mendeteksi SO secara tepat, ia + terkadang memberikan kemungkinan terdekat. Tebakan yang cocok + harus sangat dekat agar dilakukan secara baku oleh Nmap. + Semua opsi ekivalen ini membuat Nmap menduga dengan lebih agresif. + Nmap tetap akan memberitahu anda ketika kecocokan tidak sempurna dicetak + dan menampilkan tingkat kepercayaan (persentase) untuk setiap dugaan. + + + + + + (Menset jumlah usaha maksimum deteksi SO atas target) + + + + + + Ketika Nmap melakukan deteksi SO terhadap target dan + gagal menemukan kecocokan sempurna, ia biasanya mengulang usahanya. + Secara baku, Nmap berusaha lima kali jika kondisi memungkinkan + penyerahan fingerprint SO, dan dua kli ketika kondisi tidak begitu baik. + Menspesifikasikan nilai yang lebih rendah (seperti 1) + mempercepat Nmap, meski anda kehilangan usaha yang secara potensial dapat + mengindentifikasi SO. Anda dapat pula menset perulangan yang lebih banyak + ketika kondisi lebih baik. Hal ini jarang dilakukan, kecuali untuk menghasilkan + fingerprint yang lebih baik untuk penyerahan dan integrasi ke database SO Nmap. + + + + + + + + + + Nmap Scripting Engine (NSE) + Nmap Scripting Engine (NSE) + + Nmap Scripting Engine (NSE) adalah salah satu fitur Nmap + yang paling powerful dan fleksibel. Ia memungkinkan user untuk menulis (dan membagi) + skrip sederhana (menggunakan bahasa pemrograman Lua, Lua programming language) untuk mengotomasi beragam tugas jaringan. + Skrip-skrip tersebut dieksekusi secara parale dengan kecepatan + dan efisiensi yang anda harapkan dari Nmap. User dapat mengandalkan beragam + skrip yang didistribusikan dengan Nmap, atau menulis sendiri sesuai kebutuhan. + + Tugas-tugas yang kami pikirkan ketika membuat sistem termasuk penemuan jaringan, + deteksi versi yang lebih canggih, deteksi kerentanan. + NSE bahkan dapat digunakan untuk eksploitasi kerentanan. + + + Untuk mencerminkan penggunaan yang berbeda dan untuk memudahkan pilihan skrip + yang diinginkan, setiap skrip berisi field yang mengasosiasikannya dengan satu atau lebih kategori. Kategori yang ada saat ini adalah +safe, intrusive, malware, version, discovery, vuln, auth, and default. These are all described + at . + in . + + + Nmap Scripting Engine dijelaskan lebih rinci +di +in dan dikendalikan oleh opsi-opsi berikut ini: + + + + + + + + + + + + Melakukan scan skrip menggunakan sejumlah skrip baku. Ia merupakan + ekivalen . Beberapa skrip dalam + kategori ini dianggap intrusif dan tidak seharusnya dijalankan + terhadap jaringan target tanpa ijin. + + + + + + + +Menjalankan scan skrip (seperti ) menggunakan daftar kategori skrip, +skrip individual, atau direktori berisikan skrip, aih-alih menggunakan set baku. +Nmap akan mencoba dulu menginterpretasikan argumen sebagai kategori, kemudian sebagai file atau +direktori. Skrip atau direktori skrip dapat dispesifikasikan dengan path absolut atau relatif. +Path absolut digunakan seperti yang diberikan. +Path relatif akan dicari dalam tempat-tempat berikut hingga ditemukan : +file dataurutan pencarian direktoriskrip, lokasi +--datadir/; +$NMAPDIR/;NMAPDIR environment variable +~/.nmap/ (tidak dicari pada Windows);.nmap directory +NMAPDATADIR/ orNMAPDATADIR +./. A scripts/ subdirektori juga dicari untuk setiap direktori ini. + +Jika diberikan sebuah direktori dan ditemukan, Nmap memuat seluruh skrip NSE +(semua nama file yang berakhiran dengan .nse) dari +direktori tersebut. Nama file tanpa ekstensi nse akan +diabaikan. Nmap tidak mencari secara rekursif ke subdirektori untuk mencari skrip. +Jika diberikan nama file individual, ekstensi file tidak perlu harus +nse. + +Skrip Nmap secara baku disimpan dalam subdirektori scripts +direktori data Nmap +(lihat ). +(see ). Demi efisiensi, +skrip diindeks dalam database yang disimpan dalam +scripts/script.db.script.db +yang mendaftar kategori atau kategori-kategori yang dimiliki skrip. +Berikan argumen all untuk menjalankan seluruh skrip +dalam database skrip Nmap. + +Skrip berbahaya tidak dijalankan dalam sandbox dan karenanya dapat merusak sistem anda atau menggangu privasi anda. Jangan pernah menjalankan skrip dari pihak ketiga kecuali anda mempercayai penulisnya atau telah mengaudit skrip tersebut dengan cermat. + + + + + + + + script arguments + + +Membolehkan anda memberik argumen ke skrip NSE. Argument diberikan sebagai +pasangan name=value. Argumen yang diberikan +diproses dan disimpan dalam tabel Lua, yang dapat diakses oleh semua skrip. +Nama-nama dianggap sebagai string (yang harus berupa nilai alfanumerik) +dan digunakan sebagai kunci dalam +argument-table. Nilai dapat berupa string atau tabel +(dilingkupi oleh ‘{’ dan +‘}’). +Sebagai contoh, anda dapat memberikan argumen : +user=bar,pass=foo,whois={whodb=nofollow+ripe}. +Argumen string secara potensial digunakan oleh beberapa skrip; subtables normalnya +hanya digunakan oleh satu skrip. Dalam skrip yang menggunakan subtable, ia dinamakan +sesuai dengan nama skripnya (seperti +whois dalam contoh ini). + + + + + + + + + + Opsi ini melakukan apa yang dilakukan oleh , + namun satu tingkat ISO lebih tinggi. Jika diberikan opsi ini seluruh komunikasi + incoming dan outgoing yang dilakukan skrip akan dicetak. Informasi yang ditampilkan + mencakup protokol komunikasi, sumber, target dan data yang ditransmisikan. + Jika lebih dari 5% seluruh data yang ditransmisikan tidak dapat dicetak, maka + output trace dalam format hex. juga mengaktifkan tracing skrip. + + + + + + + + + + Opsi ini mengupdate database skrip yang ditemukan dalam + scripts/script.db yang digunakan + Nmap untuk menentukan skrip baku dan kategori yang tersedia. Opsi ini + digunakan bila anda menambah atau mengurangi skrip NSE dari direktori baku + scripts atau bila anda merubah + kategori sembarang skrip. Opsi ini biasanya digunakan sendirian: nmap --script-updatedb. + + + + + + + + + + Pewaktuan dan Kinerja + timing + performance + Salah satu prioritas pengembangan tertinggi Nmap adalah kinerja. +Scan baku (nmap +hostname) sebuah host pada jaringan lokal saya +membutuhkan seperlima detik. Hal tersebut cukup cepat, namun +tambahkan bila anda memeriksa ratusan atau ribuan host. +Terlebih lagi, beberapa opsi scan seperti pemeriksaan UDP dan deteksi versi +dapat meningkatkan waktu pemeriksaan secara substansial. Begitu pula dengan +beberapa konfigurasi firewall, terutama pembatasan rate respon. +Meskipun Nmap menggunakan paralelisme dan algoritma canggih untuk mempercepat scan ini, +user memiliki kendali penuh atas jalannya Nmap. User ahli secara cermat memberikan perintah +Nmap yang hanya mengambil informasi yang dibutuhkan dengan batasan waktu yang sesuai. + +Teknik-teknik untuk memperbaiki waktu pemeriksaan mencakup menghilangkan +tes-tes yang tidak kritikal, dan mengupgrade ke versi terakhir Nmap +(perbaikan kinerja dibuat secara rutin). Optimisasi parameter pewaktuan juga +dapat memberikan perbedaan yang substansial. Opsi-opsi tersebut diberikan +di bawah ini. + +Beberapa opsi menerima sebuah parameter waktu. Ia +dispesifikasikan secara baku dalam milidetik, meskipun anda dapat menambahkan +‘s’, ‘m’, atau ‘h’ ke nilai untuk menspesifikasikan detik, menit, atau jam. Sehingga argumen + 900000, +900s, dan 15m semuanya melakukan hal yang sama. + + + + + + + ; + (Adjust parallel scan group sizes) + + + + +Nmap memiliki kemampuan untuk melakukan scan port atau versi ke banyak host secara paralel. +Nmap melakukan hal ini dengan membagi ruang IP target ke dalam kelompok dan kemudian memeriksa +satu kelompok pada satu waktu. Secara umum, kelompok yang lebih besar lebih efisien. +Kelemahannya adalah hasilnya tidak dapat disediakan hingga seluruh kelompok selesai. +Jadi bila Nmap dimulai dengan kelompok berukuran 50, user tidak akan menerima laporan +(kecuali update yang diberikan dalam mode verbose) hingga seluruh 50 host pertama selesai. + +Secara baku, Nmap menggunakan pendekatan kompromi untuk konflik in. +Ia mulai dengan ukuran kelompok paling kecil lima sehingga dapat segera diperoleh hasil +dan kemudian menaikkan ukuran kelompok hingga maksimum 1024. Angka baku tergantung +pada opsi yang diberikan. Demi alasan efisiensi, +Nmap menggunakan ukuran kelompok yang lebih besar untuk scan UDP atau sedikit-port TCP. + +Ketika ukuran kelompok maksimum diberikan dengan +, Nmap tidak akan melampaui ukuran tersebut. +Berikan ukuran minimum dengan dan Nmap +akan berusaha ukuran kelompok di atas angka tersebut. Nmap mungkin akan menggunakan +kelompok lebih kecil daripada yang anda spesifikasikan jika tidak terdapat cukup target +pada interface yang diberikan untuk memenuhi ukuran minimum. Kedua opsi dapat digunakan +untuk menset ukuran kelompok dalam rentang tertentu, namun hal ini jarang diperlukan. + +Opsi-opsi ini tidak memiliki efek ketika melalukan fase penemuan host dalam sebuah +pemeriksaan. Ini mencakup scan ping biasa (). +Penemuan host selalu bekerja dalam kelompok host besar untuk meningkatkan kecepatan +dan akurasi. + +Penggunaan utama opsi ini adalah untuk menspesifikasikan ukuran kelompok minimum yang besar +sehingga scan penuh dapat dilakukan lebih cepat. Pilihan umum adalah 256 +untuk memeriksa jaringan dalam Kelas C. Untuk scan dengan banyak port, +melampaui angka tersebut tidak berarti banyak. Untuk scan terhadap beberapa port saja, +ukuran kelompok host 2048 atau lebih mungkin bermanfaat. + + + + + + + ; + (Adjust probe parallelization) + + + + + +Opsi-opsi ini mengendalikan jumlah total probe yang dapat dilakukan +untuk sekelompok host. Mereka digunakan untuk pemeriksaan port dan penemuan +host. Secara baku, Nmap menghitung nilai paralel yang ideal berdasarkan +kinerja jaringan. Jika paket di-drop, Nmap mengurangi dan membolehkan +lebih sedikit probe yang tersisa. Angka probe ideal akan meningkat seiring +dengan membaiknya jaringan. Opsi ini menempatkan batas minimum atau maksimum +pada variabel tersebut. Secara baku, nilai idealnya dapat menurun ke angka satu +bila jaringan ternyata tidak handal dan meningkat ke beberapa ratus dalam kondisi sempurna. + +Penggunaan paling umum adalah menset + ke angka lebih tinggi daripada satu untuk +mempercepat scan host atau jaringan yang lambat. Ini adalah opsi berisiko +untuk dimainkan, karena bila mensetnya terlalu tinggi akan mempengaruhi akurasi. +Dengan menset opsi ini juga akan mengurangi kemampuan Nmap untuk mengendalikan +paralelisme secara dinamis berdasarkan kondisi jaringan. Nilai sepuluh +adalah cukup, meskipun saya hanya menyesuaikan nilai ini sebagai usaha terakhir. + +Opsi seringkali diset ke satu +untuk mencegah Nmap mengirimkan lebih dari satu probe di satu waktu ke host. +Opsi ini dapat bermanfaat saat berkombinasi dengan +(akan didiskusikan kemudian), meskipun yang terakhir biasanya dapat digunakan sendiri. + + + + + + + , + , + (Adjust probe timeouts) + + + + + + +Nmap memelihara sebuah nilai timeout untuk menentukan berapa lama ia harus menunggu +atas respon probe sebelum ia menyerah atau mentransmisi ulang probe. Nilai ini +dihitung berdasarkan waktu respon probe sebelumnya. +Rumus tepatnya terdapat dalam . +Jika latensi jaringan menunjukkan signifikan dan bervariasi, nilai timeout ini +dapat meningkat ke beberapa detik. Ia juga dimulai dari nilai konservatif (tinggi) +dan tetap untuk sementara waktu ketika Nmap memeriksa host yang tidak responsif. + + +Menspesifikasikan nilai dan + lebih kecil daripada nilai baku dapat +mempercepat waktu pemeriksaan secara signifikan. Hal ini terutama benar untuk scan +tanpa ping (), dan terhadap jaringan yang disaring secara ketat. +Meskipun jangan terlalu agresif. Pemeriksaan dapat lebih lama jika anda +menspesifikasikan nilai rendah sehingga banyak probe timeout dan dilakukan +transmisi ulang ketika respons sedang dalam transit. + +Bila seluruh host berada pada jaringan lokal, 100 milidetik adalah nilai + agresif yang wajar. Jika melibatkan routing, +ping host pada jaringan terlebih dulu dengan utilitas ping ICMP, atau dengan +pembuat paket kustom seperti +hping2hping2 +yang lebih mungkin melewati firewall. Lihat maximum round trip +time out dari sepuluh paket atau lebih. Anda mungkin ingin menggandakannya untuk + dan mengalikan tiga atau empat untuk +. Umumnya saya tidak menset nilai maksimum +RTT di bawah 100 ms, berapapun waktu ping. Ataupun melebihi 1000 ms. + + merupakan opsi yang jarang digunakan yang +berguna ketika jaringan tidak handal, yang bahkan nilai baku Nmap terlalu agresif. +Karena Nmap hanya mengurangi timeout ke minimum ketika jaringan tampaknya handal, +kebutuhan ini tidak umum dan seharusnya dilaporkan sebagai bug ke +nmap-dev mailing list.nmap-dev mailing list + + + + + + + + + (Specify the + maximum number of port scan probe retransmissions) + + + + + +Ketika Nmap tidak menerima respon atas probe scan port, hal ini dapat berarti +bahwa port disaring. Atau mungkin probe atau respon hilang dalam jaringan. +Mungkin juga host target melakukan pembatasan sehingga memblokir respon sementara. +Sehingga Nmap mencoba kembali mentransmisi probe awal. Jika Nmap mendeteksi kehandalan +jaringan yang buruk, ia akan mencoba beberapa kali sebelum menyerah. +Meskipun hal ini bermanfaat untuk akurasi, namun akan memperpanjang waktu pemeriksaan. +Ketika kinerja lebih diutamakan, pemeriksaan dapat dipercepat dengan membatasi jumlah +transmisi ulang yang dibolehkan. Anda bahkan dapat menspesifikasikan + untuk mencegah terjadinya transmisi ulang, +meskipun hanya direkomendasikan bagi situasi seperti survei informal ketika terjadi port dan host +yang tidak didata tidak menjadi masalah. + + +Bakunya (dengan template tanpa ) adalah membolehkan +sepuluh transmisi ulang. Jika jaringan tampak handal dan host target tidak membatasi, +Nmap biasanya melakukan hanya satu transmisi ulang. Sehingga kebanyakan pemeriksaan +target tidak terpengaruh dengan mengurangi nilai + ke nilai yang rendah seperti tiga. Nilai tersebut +dapat secara substansial mempercepat pemeriksaan host-host lambat (rate limited). +Anda biasanya kehilangan beberapa informasi ketika Nmap menyerah dengan mudah, +meskipun hal tersebut lebih disukai daripada membiarkan + berakhir dan kehilangan seluruh informasi mengenai target. + + + + + + + (Give + up on slow target hosts) + + + + + +Beberapa host membutuhkan banyak waktu untuk diperiksa. +Hal ini mungkin disebabkan hardware atau software yang tidak berkinerja baik atau tidak handal, +adanya pembatasan paket, atau firewall yang terlalu ketat. Beberapa persen host paling lambat +yang diperiksa dapat menghabiskan sebagian besar waktu pemeriksaan. Terkadang adalah hal baik +mengurangi kerugian dan melewati host-host tersebut. +Berikan + dengan waktu maksimum anda ingin menunggu. +Sebagai contoh, berikan +30m untuk memastikan bahwa Nmap tidak menghabiskan +lebih dari setengah jam pada satu host. Perhatikan bahwa Nmap mungkin memeriksa host lain +pada waktu yang sama dalam waktu tersebut, sehingga itu bukan kerugian lengkap. Host yang +timeout akan dilewati. Tidak ada hasil tabel port, deteksi SO, atau deteksi versi akan dicetak +untuk host tersebut. + + + + + + + ; + (Adjust delay between probes) + + + + + +Opsi ini menyebabkan Nmap menunggu selama waktu yang diberikan +antara setiap probe yang dikirimkan ke host yang diberikan. Hal ini terutama +bermanfaat dalam hal pembatasan.rate limiting Mesin-mesin Solaris +(di antara yang lainnya) akan menanggapi paket probe scan UDP dengan hanya +satu pesan ICMP per detik. Bila dikirimkan oleh Nmap lebih dari itu akan percuma. +Nilai +1s akan membuat Nmap tetap pada rate lambat tersebut. +Nmap berusaha untuk mendeteksi pembatasan rate dan menyesuaikan delay scan, +namun tidaklah rugi untuk menspesifikasikannya secara eksplisit bila anda telah tahu +rate terbaik. + +Ketika Nmap menyesuaikan delay scan lebih tinggi untuk menanggapi pembatasn rate, +scan akan melambat secara dramatis. Opsi + menspesifikasikan delay terbesar +yang dibolehkan Nmap. Nilai rendah +akan mempercepat Nmap, namun berisiko. Dengan menset nilai ini terlalu rendah dapat +menyebabkan transmisi ulang paket yang tidak perlu dan mungkin port-port luput ketika +target mengimplementasikan pembatasan rate ketat. + +Penggunaan lain adalah untuk menghindari +sistem deteksi dan pencegahan intrusi (IDS/IPS) yang berbasis pembatasan +intrusion detection +systemsevading Teknik ini +digunakan dalam +untuk mengatasi pendeteksi scan port baku dalam Snort IDS. Kebanyakan sistem +deteksi intrusi lain dapat diatasi dengan cara yang sama. + + + + + + + + ; + (Directly control the scanning rate) + + + + + +Pewaktuan dinamis Nmap melakukan pekerjaan yang baik dalam menemukan +kecepatan yagn tepat untuk melakukan pemeriksaan. Namun terkadang, anda +mungkin mengetahui rate pemeriksaan jaringan yang tepat, atau anda harus +memastikan bahwa pemeriksaan akan selesai pada waktu tertentu. Atau mungkin anda harus +menjaga Nmap dari melakukan pemeriksaan terlalu cepat. Opsi dan + dirancang untuk situasi ini. + +Ketika opsi + diberikan Nmap akan melakukan yang terbaik untuk +mengirim paket secepat atau lebih cepat daripada rate yang diberikan. Argumen +merupakan angka real positif mewakili rate paket per detik. +Sebagai contoh, dengan menspesifikasikan berarti bahwa +Nmap akan berusaha menjaga rate pengiriman pada atau di atas 300 paket per detik. +Penspesifikasian rate minimum tidak mencegah Nmap mengirimkan lebih cepat +bila kondisi memungkinkan. + +Demikian pula, membatasi rate pengiriman ke +nilai maksimum yang diberikan. Gunakan , misalnya, untuk +membatasi pengiriman 100 paket per detik pada jaringan yang cepat. Gunakan + untuk scan lambat satu paket setiap sepuluh detik. +Gunakan dan bersama +untuk menjaga rate pada rentang tertentu. + +Kedua opsi ini bersifat global, mempengaruhi seluruh pemeriksaan, bukan +host individual. Mereka hanya mempengaruhi scan port dan pencarian host +Fitur lain seperti deteksi SO mengimplementasikan pewaktuan mereka sendiri. + +Terdapat dua kondisi ketika rate pemeriksaan aktual kurang dari nilai +minimum yang diminta. Pertama adalah bila nilai minimum lebih cepat daripada +rate tercepat pengiriman Nmap, yang tergantung pada hardware. +Dalam kasus ini Nmap akan mengirim paket secepat mungkin, namun waspadai +bahwa rate tinggi tersebut kemungkinan akan menyebabkan kehilangan akurasi. +Kasus kedua adalah ketika Nmap tidak memiliki sesuatu untuk dikirim, sebagai contoh +di akhir pemeriksaan ketika probe terakhir telah dikirim dan Nmap menunggu +mereka time out atau mendapat respon. Adalah normal melihat rate pemeriksaan +menurun pada akhir pemeriksaan atau di antara kelompok host. Rate pengiriman mungkin +melebihi nilai maksimum untuk sementara waktu untuk mengimbangi delay yang tak terduga, +namun secara rata-rata rate akan tetap pada atau di bawah nilai maksimum. + +Menspesifikasikan nilai rate minimum harus dilakukan dengan hati-hati. Pemeriksaan +yang lebih cepat daripada yang dapat didukung oleh jaringan akan menyebabkan hilangnya akurasi. +Dalam beberapa kasus, dengan menggunakan rate yang lebih cepat dapat membuat pemeriksaan menjadi +lebih lama daripada bila menggunakan rate yang lebih lambat. Hal ini +karena algoritma +adaptive +retransmissionadaptive retransmissionretransmissionretransmission + +adaptive retransmission +Nmap akan mendeteksi kepadatan jaringan yang disebabkan oleh rate pemeriksaan yang berlebihan +dan meningkatkan angka transmisi ulang untuk memperbaiki akurasi. +Jadi meskipun paket dikirim pada rate yang lebih tinggi, namun secara keseluruhan lebih banyak +paket yang dikirimkan. Batasi angka transmisi ulang dengan opsi + jika anda ingin menset batas atas waktu scan total. + + + + + + + + + +Banyak host telah lama menggunakan pembatasan rate +rate limiting +untuk mengurangi jumlah pesan kesalahan ICMP +(seperti kesalahan port-unreachable) yang mereka kirim. +Saat ini beberapa sistem menggunakan pembatasan limit ke paket RST (reset) +yang mereka hasilkan. Hal ini akan memperlambat Nmap secara dramatis karena +ia akan menyesuaikan pewaktuannya untuk mencerminkan batas rate tersebut. Anda dapat +memberitahu Nmap untuk mengabaikan limit rate tersebut (untuk scan port seperti SYN scan yang +tidak memperlakukan port non-responsiv sebagai +open) dengan menspesifikasikan +. + +Dengan menggunakan opsi ini akan mengurangi akurasi, karena beberapa port akan tampak +non-responsiv karena Nmap tidak menunggu cukup lama untuk respon RST yang rate-limited. +Dengan SYN scan, hasil non-respon dalam port akan ditandai dengan status +filtered alih-alih closed +ketika menerima paket RST. Tambahan ini berguna ketika anda hanya perlu +port terbuka, dan beda antara port +closed dan filtered +tidak cukup berharga. + + + + + + + (Set a timing template) + + timing templatesparanoid, sneaky, polite, normal, aggressive, and insane + + +paranoid timing template +sneaky timing template +polite timing template +normal timing template +aggressive timing template +insane timing template + + +Meski kendali waktu fine-grained yang didiskusikan dalam bagian sebelumnya +adalah powerful dan efektif, beberapa orang menganggapnya membingungkan. +Terlebih lagi, memilih nilai yang tepat terkadang membutuhkan waktu lebih lama +daripada pemeriksaan yang ingin dioptimisasi. Sehingga Nmap menawarkan pendekatan +yang lebih mudah, dengan enam template waktu. Anda dapat menspesifikasikannya dengan +opsi dan angkanya (0–5) atau namanya. +Nama templatenya adalah + (), + (), + (), + (), + (), +dan  (). +Dua yang pertama adalah untuk menghindari IDS. +Mode Polite memperlambat scan untuk menggunakan lebih sedikit bandwidth +dan sumber daya mesin target. Mode Normal adalah bakunya sehingga + tidak melakukan apapun. Mode Aggressive mempercepat scan +dengan membuat asumsi bahwa anda berada pada jaringan yang cepat dan handal. +Akhirnya, mode insane +insane (template waktu ) +mengasumsikan bahwa anda berada pada jaringan yang sangat cepat atau rela mengorbankan +akurasi demi kecepatan. + +Kesemua template ini memungkinkan user menspesifikasikan seberapa mereka +ingin agresif, dan membiarkan Nmap memilih nilai pewaktuan yang tepat. Template +juga membuat beberapa penyesuaian kecepatan minor yang tidak dimiliki oleh kendali +fine-grained saat ini. Sebagai contoh, +aggressive (template pewaktuan ) +melarang delay scan dinamis melebihi 10 ms untuk port TCP dan membatasi +nilai tersebut di 5 ms. +Template dapat digunakan dalam kombinasi dengan kendali fine-grained, +dan kendali fine-grained yang anda berikan akan mengambil alih +template pewaktuan baku untuk parameter tersebut. Saya merekomendasikan +penggunaan ketika memeriksa jaringan modern dan handal. +Pertahankan opsi tersebut bahkan ketika anda menambah kendali +fine-grained sehingga anda memperoleh manfaat dari optimisasi minor yang diberikan. + +Bila anda berada pada koneksi broadband atau ethernet yang memadai, saya akan +merekomendasikan untuk selalu menggunakan . Beberapa orang mencintai + meskipun itu terlalu agresif untuk selera saya. Orang terkadang +memberikan karena mereka pikir ia lebih tidak mungkin akan menyebabkan +host crash atau karena mereka mengganggap dirinya secara umum sopan. +Mereka terkadang tidak menyadari betapa lambatnya polite () timing template. +Scan mereka akan membutuhkan waktu sepuluh kali lebih lama daripada scan baku. +Mesin crash dan masalah bandwidth adalah jarang dengan opsi pewaktuan baku +() sehingga normalnya saya merekomendasikan untuk +pemeriksa yang berhati-hati. Menghilangkan deteksi versi lebih efektif +daripada bermain dengan nilai pewaktuan dalam mengurangi masalah ini. + +Meski +paranoid () timing template +dan sneaky () timing template +mungkin berguna untuk menghindari alert IDS, mereka akan membutuhkan waktu yang sangat lama +untuk memeriksa ribuan mesin atau port. Untuk scan yang demikian lama, +anda mungkin lebih menyukai menset nilai pewaktuan secara tepat anda butuhkan alih-alih +bergantung pada nilai template and . + +Efek utama adalah serialisasi scan sehingga +hanya satu port yang diperiksa pada satu waktu, dan menunggu lima menit +antara pengiriman setiap probe. dan + adalah serupa namun mereka hanya menunggu 15 detik dan 0.4 +detik, antar probe. merupakan perilaku baku Nmap, yang mencakup +paralelisasi.normal () timing template + +ekivalen dengan dan menset delay scan TCP maksimum ke +10 milidetik. +ekivalen dengan + dan juga +menset delay scan TCP maksimum ke 5 md. + + + + + + + + + + Firewall/IDS Evasion and Spoofing + firewallsbypassing + intrusion detection systemsevading + +Banyak pionir Internet mempunyai visi jaringan terbuka global dengan +ruang alamat IP universal yang memungkinkan koneksi virtual antara dua node. +Hal ini membuat host bertindak sebagai peer sebenarnya, menyajikan dan +mengambil informasi satu sama lain. Orang dapat mengakses sistem di +rumah mereka dari tempat kerja, merubah seting kendali iklim atau +membuka pintu bagi tamu yang datang awal. Visi konektivitas universal ini +telah dibatasi dengan kekurangan ruang alamat dan masalah keamanan. +Di awal tahun 1990-an, organisasi mulai menggunakan firewall dengan tujuan +mengurangi konektivitas. Jaringan besar dibatasi dari Internet oleh proxy aplikasi, +network address translation, dan filter paket. Aliran informasi yang tidak terbatas +berubah menjadi regulasi ketat atas kanal komunikasi dan isi yang melaluinya. + +Penghalang jaringan seperti firewall dapat membuat pemetaan jaringan +sukar. Ia tidak akan menjadi lebih mudah, karena mengurangi reconnaissance umum +adalah tujuan utama implementasi device tersebut. Namun demikian, Nmap menawarkan +banyak fitur untuk membantu memahami jaringan yang kompleks ini, dan untuk memverifikasi +bahwa filter bekerja sebagaimana yang diharapkan. +Ia bahkan mendukung mekanisme untuk melewati pertahanan yang diimplementasikan dengan buruk. +Salah satu metode terbaik untuk memahami postur keamanan jaringan anda adalah dengan +berusaha mengalahkannya. Tempatkan diri anda dalam pola pikir penyerang, dan gunakan +teknik-teknik dari bagian ini terhadap jaringan anda. Lakukan scan FTP bounce, scan idle, +serangan fragmentasi, atau berusaha melakukan tunnel melalui salah satu proxy anda. + +Selain membatasi aktivitas jaringan, perusahaan semakin meningkatkan +pemantauan lalu lintas dengan intrusion detection systems (IDS). +Seluruh IDS utama menyertakan aturan yang dirancang untuk mendeteksi scan Nmap +karena scan terkadang merupakan awal serangan. Banyak dari produk-produk ini +yang sekarang berubah menjadi intrusion +prevention systems +(IPS)intrusion prevention systemsintrusion detection systems +yang secara aktif memblokir lalu lintas yang dianggap berbahaya. +Sayangnya bagi administrator jaringan dan vendor IDS, mendeteksi tujuan jahat +dengan menganalisis data paket merupakan masalah yang berat. Penyerang dengan kesabaran, +keahlian, dan bantuan opsi-opsi Nmap tertentu biasanya dapat melewati IDS tanpa terdeteksi. +Selain itu, administrator harus berurusan dengan hasil false positive dalam jumlah besar +sehingga aktivitas yang tidak berbahaya salah didiagnosa dan di-alert atau diblokir. + +Terkadang orang menyarankan bahwa Nmap tidak seharusnya menawarkan fitur-fitur +untuk melewati aturan firewall atau menyelinap dari IDS. Mereka berargumen bahwa +fitur-fitur ini akan disalahgunakan oleh penyerang alih-alih digunakan oleh administrator +untuk memperbaiki keamanan. Permasalahan dengan logika ini adalah metode-metode tersebut +tetap akan digunakan oleh penyerang, yang akan mencari tool lain atau menambahkan +fungsionalitas tersebut ke dalam Nmap. Sedangkan, administrator akan merasa lebih sulit +melakukan pekerjaan mereka. Menggunakan server FTP yang telah dipatch dan modern adalah +pertahanan yang jauh lebih baik daripada mencegah penyebaran tool implementasi serangan +FTP bounce. + + +Tidak ada peluru ajaib (atau opsi Nmap) untuk mendeteksi dan +menghindari firewall dan sistem IDS. Ia membutuhkan kemampuan dan pengalaman. +Tutorial adalah di luar cakupan panduan referensi ini, yang hanya mendaftarkan +opsi-opsi yang relevan dan menjelaskan apa yang mereka lakukan. + + + + + (fragment packets); + (using the specified MTU) + + + + + + Opsi menyebabkan scan yang diminta (termasuk + ping scan) untuk menggunakan paket IP terfragmentasi kecil. Idenya adalah + membagi header TCP ke beberapa paket untuk membuat filter paket, IDS, dan + gangguan lain kesulitan mendeteksi apa yang sedang anda lakukan. Hati-hatilah + dengan ini! Beberapa program memiliki kesulitan menangani paket-paket kecil ini. + Sniffer old-school bernama Sniffit akan menjadi segmentation faulted segera setelah + menerima fragmen pertama. Spesifikasikan opsi ini sekali, dan Nmap + membagi paket ke dalam delapan byte atau kurang setelah header IP. + Sehingga paket header TCP 20-byte akan dibagi ke dalam tiga paket. + Dua paket dengan delapan byte header TCP, dan satu paket dengan empat byte akhir. + Tentu saja setiap fragmen juga memiliki header IP. Spesifikasikan + lagi untuk menggunakan fragmen 16 byte (mengurangi + jumlah fragmen).giving twice + Atau anda dapat menspesifikasikan ukuran offset anda sendiri dengan opsi + . Jangan berikan opsi + bila anda menggunakan . Offset harus + merupakan kelipatan delapan. Meskipun paket fragmented tidak akan melewati + filter paket dan firewall yang membuat antrian seluruh fragment IP, + seperti opsi CONFIG_IP_ALWAYS_DEFRAG dalam kernel Linux, + beberapa jaringan tidak dapat mengatasi kerugian kinerja yang disebabkannya dan + membiarkan opsi tersebut tidak aktif. Yang lain tidak dapat mengaktifkannya + karena fragmen dapat mengambil rute yang berbeda ke jaringan mereka. + Beberapa sistem sumber mendeframentasi paket outgoing dalam kernel. Linux + dengan modul pelacakan koneksi iptable + iptables + adalah salah satu contohnya. Lakukan scan ketika sniffer seperti + WiresharkWireshark + berjalan untuk memastikan bahwa paket yang dikirim terfragmentasi. Jika OS + host anda menyebabkan masalah, cobalah opsi + + untuk melewati lapisan IP dan mengirim frame ethernet raw. + +Fragmentasi hanya didukung oleh fitur paket raw Nmap, +yang mencakup scan port TCP dan UDP (kecuali scan connect dan FTP +bounce scan) dan deteksi SO. Fitur seperti deteksi versi dan +Nmap Scripting Engine umumnya tidak mendukung fragmentasi karena mereka +tergantung pada stack TCP host anda untuk berkomunikasi dengan layanan target. + + + + + + + + (Cloak a scan with decoys) + + decoys + + + Menyebabkan dilakukannya decoy scan, yang membuat + host remote menganggap bahwa host-host yang anda berikan sebagai + umpan (decoy) juga melakukan pemeriksaan jaringan target. Karenanya IDS mereka + mungkin melaporkan scan port sebanyak 5–10 dari alamat IP yang unik, tetapi + mereka tidak akan tahu IP mana yang memeriksa mereka dan mana yang umpan. + Meski hal ini dapat dikalahkan dengan router path tracing, response-dropping, + dan mekanisme aktif lainnya, namun ia umumnya merupakan teknik efektif untuk + menyembunyikan alamat IP anda. + + Pisahkan setiap host umpan dengan koma, dan anda dapat + secara opsional menggunakan + MEME (decoy address) + sebagai salah satu umpan untuk mewakili posisi alamat IP real anda. + Jika anda menempatkan + ME pada posisi keenam atau lebih, beberapa + detektor scan port umum (seperti + Solar Designer'sSolar Designer + Scanlogd yang bagus)Scanlogd + tidak akan menampilkan alamat IP anda sama sekali. + Jika anda tidak menggunakan ME, Nmap akan + menempatkan anda pada posisi acak. Anda dapat juga menggunakan + RNDRND (decoy address) + untuk menghasilkan alamat IP acak dan non-reserved, atau + RND:number untuk + menghasilkan alamat number Perhatikan bahwa host + yang anda gunakan sebagai umpan harus hidup atau anda akan secara tidak sengaja + mebanjiri target anda dengan SYN. Juga mudah menentukan host mana yang memeriksa + jika hanya satu host saja yang hidup pada jaringan. Anda mungkin ingin + menggunakan alamat IP alih-alih nama (sehingga jaringan umpan tidak melihat + anda dalam log DNS mereka). + + Umpan digunakan dalam scan ping awal (menggunakan + ICMP, SYN, ACK, atau apapun) dan selama fase pemeriksaan port. + Umpan juga digunakan selama deteksi SO (). + Umpan tidak bekerja dengan deteksi versi atau scan connect TCP. + Ketika berlaku scan delay, delay ditegakkan antara setiap batch + probe palsu, tidak antara setiap probe invididual. Karena umpan + dikirim sebagai satu batch keseluruhan, mereka mungkin melanggar + batasan kendali kongesti secara sementara. + + Penting diperhatikan bahwa penggunaan terlalu banyak umpan + mungkin memperlambat scan anda dan secara potensial membuatnya + kurang akurat. Dan juga, beberapa ISP akan menyaring paket-paket palsu + anda, namun banyak juga yang tidak membatasi paket IP palsu. + + + + + + (Spoof source address) + + spoofing source address + + + + Dalam beberapa keadaan, Nmap mungkin tidak dapat menentukan + alamat sumber anda (Nmap akan memberitahu anda hal ini). + Dalam situasi ini, gunakan dengan alamat IP + interface yang ingin anda gunakan untuk mengirim paket. + + Kemungkinan lain penggunaan flag ini adalah untuk memalsukan scan + untuk membuat target berpikir bahwa orang lain + sedang memeriksa mereka. Bayangkan sebuah perusahaan sedang diperiksa + portnya secara berulang-ulang oleh pesaing! Opsi + dan umumnya dibutuhkan + untuk penggunaan seperti ini. Perhatikan bahwa anda biasanya + tidak menerima paket reply (mereka akan ditujukan ke alamat IP + yang anda palsukan), sehingga Nmap tidak akan menghasilkan laporan + yang berguna. + + + + + + + (Use specified interface) + + interface + + + + Memberitahu Nmap interface untuk mengirim dan menerima paket. + Nmap seharusnya dapat mendeteksinya secara otomatis, namun ia akan + memberitahu anda bila ia tidak dapat melakukannya. + + + + + + + (Spoof source port number) + + + source port number + + + +Salah satu kesalahan konfigurasi umum yang mengagetkan adalah mempercayai +lalu lintas hanya berdasarkan nomor port sumber. Adalah mudah memahami bagaimana +hal ini terjadi. Administrator akan mensetup firewall baru, hanya untuk dibanjiri +dengan keluhan user yang aplikasinya berhenti bekerja. Secara khusus, DNS mungkin +tidak berfungsi karena reply UDP DNS dari server eksternal tidak dapat lagi memasuki +jaringan. FTP adalah contoh umum lainnya. Dalam transfer FTP aktif, server remote +berusaha membuka koneksi ke klien untuk mengirim file yang diminta. + +Terdapat solusi aman untuk masalah ini, seringkali berupa proxy +level-aplikasi atau modul firewall protocol-parsing. Sayangnya terdapat +pula solusi yang lebih mudah dan tidak aman. Dengan memperhatikan bahwa +balasan DNS datang dari port 53 dan active FTP dari port 20, banyak aadministrator +terjebak dengan membolehkan lalu lintas incoming dari port-port ini. +Mereka terkadang berasumsi bahwa tidak ada penyerang akan memperhatikan dan +memanfaatkan lubang firewall ini. Dalam kasus lain, administrator menganggap ini +sebagai solusi sementara hingga mereka dapat mengimplementasikan solusi yang lebih aman. +Lalu mereka lupa melakukan upgrade keamanan. + + +Administrator jaringan yang terlalu banyak kerja bukan satu-satunya yang +jatuh dalam jebakan ini. Sejumlah produk dikirim dengan rule tidak aman ini. +Bahkan Microsoft telah bersalah. Filter IPsec yang disertakan dengan +Windows 2000 dan Windows XP berisikan sebuah rule implisit yang membolehkan +semua lalu lintas TCP atau UDP dari port 88 (Kerberos). Dalam kasus terkenal lain, +firewall personal Zone Alarm hingga versi 2.1.25 +membolehkan sembarang paket UDP incoming dengan port sumber 53 (DNS) atau 67 +(DHCP). + +Nmap menawarkan opsi dan + (mereka ekivalen) untuk mengeksploitasi +kelemahan ini. Cukup berikan nomor port dan Nmap akan mengirim paket +dari port itu bila memungkinkan. Nmap harus menggunakan nomor port yang berbeda +bagi beberapa tes deteksi SO tertentu agar bekerja dengan benar, dan request DNS +mengabaikan flag karena Nmap mengandalkan pada librari sistem +untuk menangani hal ini. Kebanyakan scan TCP, termasuk SYN scan, +mendukung opsi secara penuh, demikian pula scan UDP. + + + + + + + (Append random + data to sent packets) + + + + Normalnya Nmap mengirim paket minimalis yang hanya berisi header. + Sehingga paket TCP umumnya berukuran 40 byte dan request ICMP echo cuma 28. + Opsi ini memberitahu Nmap untuk menambahkan random byte sejumlah tertentu + untuk kebanyakan paket yang dikirimnya. + Paket deteksi SO () tidak terpengaruh + no effect in OS detection + karena akurasinya membutuhkan konsistensi probe, namun kebanyakan paket ping + dan portscan mendukung opsi ini. Ia sedikit memperlambat, namun dapat membuat + scan tidak terlalu mencurigakan. + + + + + + + (Send packets with specified ip options) + + IP options + + + Protokol IP + menawarkan beberapa opsi yang dapat ditempatkan pada header paket. + Tidak seperti opsi TCP yang umum, opsi IP jarang ditemukan karena masalah + kepraktisan dan keamanan. Nyatanya, banyak router Internet memblokir opsi yang + paling berbahaya seperti source routing. Namun opsi dapat tetap berguna + dalam beberapa kasus untuk menentukan dan memanipulasi rute jaringan ke + mesin target. Sebagai contoh, anda mungkin dapat menggunakan opsi record + route untuk menentukan path ke target bahkan ketika pendekatan tradisional + bergaya traceroute gagal. Atau bila paket anda di-drop oleh firewall tertentu, + anda mungkin dapat menspesifikasikan rute yang berbeda dengan opsi source + routing yang ketat atau longgar. + + Cara paling powerful untuk menspesifikasikan opsi IP adalah cukup dengan + memberikan nilainya sebagai argumen ke + . Dahului setiap angka hex dengan + \x lalu dua digit. Anda dapat mengulang + karakter tertentu dengan menambahkan tanda bintang dan diikuti jumlah + perulangan yang anda inginkan. Sebagai contoh, + \x01\x07\x04\x00*36\x01 adalah sebuah string hex + berisi 36 NUL byte. + + Nmap juga menawarkan mekanisme shortcut untuk menspesifikasikan opsi. + Cukup berikan huruf R, + T, atau U untuk meminta + record-route,record route IP option + record-timestamp,record timestamp IP option + atau keduanya, + Source routingsource routing + ketat atau longgar dapat dispesifikasikan dengan tanda + L atau S diikuti oleh + spasi dan kemudian daftar alamat IP yang dipisah-spasi. + + Jika anda ingin melihat opsi dalam paket yang dikirim dan diterima, + berikan . Informasi dan contoh lebih lanjut + tentang penggunaan opsi IP dengan Nmap, dapat dilihat di + . + + + + + + + + (Set IP time-to-live field) + + time to live (TTL) + + + + Set field time-to-live IPv4 dalam paket yang dikirim ke nilai + yang diberikan. + + + + + + (Randomize target host order) + + randomization of hosts + + + + Beritahu Nmap untuk mengacak setiap kelompok hingga 16384 host + sebelum memeriksa merekaa. Hal ini dapat membuat scan kurang mencurigakan + bagi berbagai sistem monitoring jaringan, terutama bila anda menggabungkannya + dengan opsi pewaktuan yang lambat. Jika anda ingin mengacak dalam ukuran yang + lebih besar, naikkan nilai + PING_GROUP_SZPING_GROUP_SZ + dalam nmap.hnmap.h + dan kompilasi ulang. + Solusi alternatif adalah menghasilkan daftar IP target dengan + list scan (), acaklah dengan skrip Perl, + lalu berikan seluruh daftar ke Nmap dengan + .randomizing hosts with + + + + + + + (Spoof MAC address) + + spoofing MAC address + + + + Meminta Nmap untuk menggunakan alamat MAC + MAC address + yang diberikan untuk seluruh frame ethernet raw yang dikirimkan. Opsi ini mengimplikasikan + implied by + untuk memastikan bahwa Nmap benar-benar mengirim paket level-ethernet. + MAC yang diberikan dapat dalam beragam format. Jika berupa angka 0, Nmap memilih alamat MAC yang acak untuk sesi itu. + Jika string yang diberikan adalah angka genap digit hex (setiap digit berpasangan + dipisahkan oleh tanda titik dua), Nmap akan menggunakannya sebagai MAC. + Jika diberikan kurang dari 12 digit hex, Nmap mengisi sisa 6 byte-nya dengan nilai acak. + Jika argumen bukanlah nol atau string hex, Nmap mencari melalui file + nmap-mac-prefixes untuk menemukan nama vendor + berisikan string yang diberikan (tidak case sensitive). Jika ditemukan kecocokan, + Nmap menggunakan OUI (three-byte prefix)organizationally unique identifier (OUI)nmap-mac-prefixes vendor + dan mengisi tiga byte sisanya secara random. + Contoh argumen yang valid adalah Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, 0020F2, dan Cisco. Opsi ini hanya mempengaruhi scan paket raw seperti SYN scan atau deteksi SO, dan tidak berlaku pada fitur berorientasi-koneksi seperti deteksi versi atau Nmap Scripting Engine. + + + + + + + (Send packets with bogus TCP/UDP checksums) + + TCP checksum + checksums + + + + + Meminta Nmap untuk menggunakan checksum TCP atau UDP tidak valid untuk + paket yang dikirimkan ke host target. Karena secara virtual seluruh + stack IP host akan secara tepat men-drop paket ini, sembarang respon yang diterima + adalah kemungkinan berasal dari firewall atau IDS yang tidak peduli untuk memverifikasi + checksum. Detil lebih lanjut mengenai teknik ini, dapat dilihat pada + + + + + + + + + + + Output + output formats + + Manfaat tool keamanan ditentukan oleh output yang dihasilkannya. + Algoritma dan tes yang kompleks tidaklah berguna bila mereka + tidak dipresentasikan dalam cara yang terorganisir dan lengkap. + Dengan beragamnya cara penggunaan Nmap oleh orang dan software lainnya, + tidak ada format yang dapat memuaskan semuanya. Sehingga Nmap memberikan + beberapa format, termasuk mode interaktif agar manusia dapat membaca secara langsung + dan XML untuk memudahkan parsing oleh software. + +Selain memberikan beragam format output, Nmap juga menyediakan +opsi untuk mengendalikan verbositas output dan pesan debug. +Tipe output dapat dikirim ke output standar atau ke file. +File output dapat pula digunakan untuk meresume scan. + +Nmap menyediakan output dalam lima format berbeda. +Bakunya disebut +interactive output,interactive output +dan dikirimkan ke output standar +(stdout).standard output +Terdapat juga +normal output,normal output +yang serupa dengan interaktif kecuali ia memberikan lebih sedikit informasi +runtime dan peringatan karena ia diharap akan dianalisis +setelah scan setelah alih-alih secara interaktif. + +XML outputXML output +adalah salah stau tipe output paling penting, karena ia dapat dikonversi +ke HTML, dapat secara mudah diparse oleh program seperti Nmap graphical +user interfaces, atau diimpor ke database. + +Dua output terakhir adalah +grepable outputgrepable output sederhana +yang menyertakan informasi host target pada satu baris tunggal, dan +sCRiPt KiDDi3 0utPUtscR1pT kIddI3 output +bagi user yang mengganggap dirinya sebagai +|<-r4d. + +Meskipun output interaktif merupakan bakunya dan tidak memiliki +opsi command-line, opsi keempat format lainnya menggunakan sintaks yang sama. +Mereka mengambil satu argumen, nama file tempat menampung hasil. +User dapat menspesifikasikan banyak format, namun setiap format hanya boleh +dispesifikasikan satu kali. Sebagai contoh, anda mungkin ingin menyimpan +output normal untuk review anda dan output XML untuk analisis programatik. +Anda dapat melakukan hal ini dengan opsi +. Walau bab ini +menggunakan nama sederhana seperti myscan.xml untuk singkatnya, +disarankan untuk menggunakan nama yang lebih deskriptif. Nama yang dipilih +merupakan masalah preferensi personal, meski saya menggunakan nama panjang yang +menyertakan tanggal scan dan kata yang menjelaskan scan, ditempatkan dalam sebuah +direktori dengan nama perusahaan yang saya periksa. + +Meski opsi-opsi ini menyimpan hasil ke file, Nmap tetap mencetak output interaktif +ke stdout seperti biasa. Sebagai contoh, perintah +nmap -oX myscan.xml target mencetak XML ke +myscan.xml dan mengisi seluruh output standar dengan hasil interaktif yang sama dengan yang akan dicetaknya bila +tidak diberikan. Anda dapat merubahnya dengan memberikan karakter hyphen +sebagai argumen ke salah satu tipe format. Hal ini membuat Nmap +menonaktifkan output interaktif, dan mencetak hasilnya dalam format yang +anda spesifikasikan ke stream output standar. Sehingga perintah +nmap -oX - target hanya akan mengirim output XML ke +stdout.outputto stdout with - +Kesalahan serius akan tetap dicetak ke stream kesalahan normal, +stderr.standard error + + +Tidak seperti beberapa argumen Nmap, spasi antara flag opsi logfile +(seperti ) dan namafile atau hyphen adalah wajib. +Jika anda menghilangkan flag dan memberi argumen seperti + or , fitur kompatibiltas backward +Nmap akan menyebabkan pembuatan +normal format file output bernama +G- dan Xscan.xml. + +Seluruh argumen ini mendukung konversi +strftime-likestrftime conversions in filenames +dalam namafile. %H, %M, +%S, %m, %d, +%y, dan %Y semuanya serupa seperti dalam +strftime. %T sama dengan +%H%M%S, %R sama dengan +%H%M, dan %D sama dengan +%m%d%y. Sebuah % diikuti dengan sembarang karakter hanya menghasilkan karakter itu +(%% memberikan simbol persentase. +Sehingga akan menggunakan file XML +dalam bentuk scan-144840-121307.xml. + +Nmap juga menawarkan opsi untuk mengendalikan verbositas scan dan untuk menambah +file output daripada menghapusnya. Seluruh opsi ini dijelaskan di bawah. + +Format Output Nmap + + + (normal output) + + normal output + + + normal output akan diarahkan + ke nama file yang diberikan. Seperti yang didiskusikan di atas, opsi ini + sedikit berbeda dari interactive output. + + + + + + (XML output) + + XML output + + + + XML output diarahkan + ke namafile yang diberikan. Nmap menyertakan document + type definition (DTD) yang memungkinkan parser XML memvalidasi + output XML Nmap. Walau utamanya ditujukan untuk penggunaan programatik, + ia dapat juga membantu manusia menginterpretasikan output XML Nmap. + DTD mendefinisikan elemen legal format, dan seringkali merinci atribut + dan nilai yang dapat mereka terima. + Versi terakhir selalu tersedia di . + + XML memberikan format stabil yang dapat secara mudah + diparse oleh software. Parser XML yang bebas tersedia untuk bahasa + pemrograman utama, termasuk C/C++, Perl, Python, dan + Java. Orang bahkan telah menulis binding untuk kebanyakan bahasa ini untuk + menangani output Nmap dan dijalankan secara khusus. + Contohnya adalah Nmap::Scanner + Nmap::Scanner + and Nmap::Parser + Nmap::Parser + dalam Perl + CPAN. Dalam kebanyakan kasus bagi interface aplikasi dengan Nmap yang sulit, + XML merupakan format yang lebih disukai. + + Output XML mengacu ke XSL stylesheet yang dapat digunakan + untuk memformat hasilnya sebagai HTML. Cara termudah menggunakan file ini + adalah dengan memuat output XML dalam sebuah browser web seperti + Firefox atau IE. Secara baku, ini hanya bekerja pada mesin + tempat anda menjalankan Nmap (atau yang dikonfigurasi serupa) + akibat path sistem file nmap.xsl + yang di-hardcoded. Gunakan opsi atau + untuk membuat file XML portabel + yang dibaca sebagai HTML pada semua mesin yang dapat terkoneksi ke web. + + + + + + + (ScRipT KIdd|3 oUTpuT) + + scR1pT kIddI3 output + + + Output ini seperti output interaktif, kecuali kemudian ia diprose lagi + agar sesuai dengan l33t HaXXorZ yang sebelumnya merendahkan Nmap karena + kapitalisasi dan ejaan yang konsisten. Perlu diperhatikan bahwa opsi ini + mengolok-olok script kiddies alih-alih membantu mereka. + + + + + + (grepable output) + + grepable output + + + +Format output ini dijelaskan terakhir karena telah didepresiasi. +Format output XML jauh lebih powerful, dan juga cukup nyaman bagi +pengguna berpengalaman. XML merupakan standar yang memiliki lusinan parser bagus, +sementara output grepable merupakan hack sederhana buatan saya. +XML dapat dikembangkan untuk mendukung fitur baru Nmap ketika dirilis, +sementara saya seringkali harus menghilangkan fitur-fitur tersebut dari +output grepable karena tidak ada tempat untuk menaruh mereka. + +Namun demikian, output grepable masih cukup populer. Ia merupakan format +sederhana yang mendaftar setiap host pada satu baris dan dapat secara mudah +dicari dan diparse dengan tool standar Unix seperti grep, awk, cut, +sed, diff, dan Perl. Bahkan saya menggunakannya untuk test sekali yang dilakukan +pada perintah beris. Menemukan seluruh host dengan port SSH terbuka atau yang +menjalankan Solaris hanya membutuhkan satu grep sederhana untuk mengidentifikasikan host, +yang di-pipe ke perintah awk atau cut untuk mencetak field yang diinginkan. + +Output grepable terdiri dari komentar (baris yang dimulai dengan tanda +pound (#))grepable outputcomments in +dan baris target. Sebuah baris target menyertakan kombinasi enam field berlabel, yang dipisahkan +oleh tab dan diikuti oleh tanda titik dua. +Field-fieldnya adalah Host, Ports, +Protocols, Ignored State, +OS, Seq Index, +IP ID, dan Status. + +Field yang paling penting umumnya adalah +Ports, yang memberikan detil pada setiap port yang menarik. +Ia merupakan daftar entri port yang dibatasi koma. Setiap entri port mewakili satu port menarik, +dan memiliki bentuk subfield yang dibatasi oleh tujuh garis miring (/). +Subfieldnya adalah: Port +number, State, Protocol, +Owner, Service, SunRPC +info, dan Version info. + +Sebagaimana dengan output XML, man page ini tidak memungkinkan untuk mendokumentasi +seluruh format. Rincian lebih lanjut mengenai format output grepable Nmap tersedia +dari . +dalam . + + + + + + + (Output to all formats) + + + + Sebagai kenyamanan, anda dapat menspesifikasikan untuk menyimpan hasil scan + dalam format normal, XML, dan grepable sekaligus. Mereka disimpan dalam + basename.nmap, + basename.xml, dan + basename.gnmap. + Seperti kebanyakan program, anda dapat memberi awalan nama file dengan path direktori, + seperti + ~/nmaplogs/foocorp/ pada Unix atau + c:\hacking\sco pada Windows. + + + + + + Opsi verbositas dan debugging + + + (Increase verbosity level) + + verbosity + + + + Peningkatan level verbositas, menyebabkan Nmap mencetak + lebih banyak informasi tentang scan yang sedang berjalan. Port + terbuka ditunjukkan saat ditemukan dan prakiraan waktu selesai disediakan + ketika Nmap berpikir scan akan membutuhkan lebih dari beberapa menit. + Gunakan dua kali atau lebih untuk lebih meningkatkan verbositas. + giving more than once + + + Kebanyakan perubahan hanya mempengaruhi output interaktif, dan + beberapa juga mempengaruhi output normal dan script kiddie. Tipe output + lainnya ditujukan untuk diproses oleh mesin, sehingga Nmap + dapat memberikan detil yang substansial dalam format tersebut tanpa + melelahkan user. Namun demikian, terdapat beberapa perubahan dalam + mode lainnya ketika ukuran output dapat dikurangi secara berarti dengan + meniadakan beberapa detil. Sebagai contoh, baris perintah dalam output + grepable yang memberikan daftar seluruh port yang discan hanya dicetak + dalam mode verbose karena ia cukup panjang. + + + + + + + (Increase or set debugging level) + + debugging + + + + +Ketika mode verbose tidak memberikan data yang cukup bagi anda, +tersedia debugging untuk membanjiri anda dengan data! Sebagaimana dengan +opsi verbositas (), debugging diaktifkan dengan flag +perintah baris () dan level debug dapat ditingkatkan +dengan menspesifikasikannya berulang kali. +giving more than once +Selain itu, anda dapat menset level debug dengan memberikan argumen ke . Sebagai +contoh, menset level sembilan. Itu adalah level efektif +tertinggi dan akan menghasilkan ribuan baris kecuali anda menjalankan scan yang sangat +sederhana dengan sedikit port dan target. + +Debugging output berguna ketika diduga terdapat bug dalam Nmap, +atau anda bingung mengenai apa yang dilakukan Nmap dan alasannya. Karena +fitur ini lebih ditujukan bagi pengembang, baris debug tidak selalu jelas. +Anda mungkin akan menemui sesuatu seperti : Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Jika anda tidak memahami sebuah baris, +anda dapat mengabaikannya, mencarinya dalam kode sumber, atau meminta bantuan +dari list pengembangan +(nmap-dev).nmap-dev mailing list +Beberapa baris cukup jelas, namun pesannya dapat semakin tidak jelas ketika level debug +dinaikkan. + + + + + + + (Host and port state reasons) + + reason reporting + + + + +Tampilkan alasan setiap port diset ke status khusus dan alasan setiap host up +atau down. Opsi ini menampilkan tipe paket yang menentukan status port atau host. +Sebagai contoh, sebuah paket RST dari +port tertutup atau echo reply dari host yang hidup. Informasi yang disediakan +Nmap ditentukan oleh jenis scan atau ping. Scan SYN dan +ping SYN ( dan ) sangat rinci, namun +TCP connect scan () dibatasi oleh implementasi +system call connect. Fitur ini secara otomatis +diaktifkan oleh opsi debug +()implied by +dan hasilnya disimpan dalam file log XML bahkan bila opsi ini tidak diberikan. + + + + + + + (Print periodic timing stats) + + + + + Mencetak status waktu secara periodik setelah setiap interval + time. Waktu adalah spesifikasi yang dijelaskan + dalam ; sehingga sebagai contoh, gunakan + --stats-every 10s untuk memperoleh update status + setiap 10 detik. Update dicetak ke output interaktif (layar) dan output XML. + + + + + + + (Trace packets and data sent and received) + + + + + Menyebabkan Nmap untuk mencetak ringkasan seiap paket yang dikirim + atau diterima. Opsi ini seringkali digunakan untuk debugging, namun juga + bermanfaat bagi user baru untuk memahami secara tepat apa yang sebenarnya + dilakukan oleh Nmap. Untuk menghindari pencetakan ribuan baris, anda mungkin + ingin membatasi jumlah port yang ingin discan, seperti . + Jika anda hanya mementingkan proses subsistem deteksi versi, gunakan + . Jika anda hanya peduli dengan script tracing, + berikan . Dengan , anda + memperoleh semua hal di atas. + + + + + + (Show only open (or possibly open) ports) + + + + + + +Terkadang anda hanya peduli tentang port yang benar-benar dapat dikoneksi +(open ones), dan tidak ingin mengacaukan hasilnya dengan port +closed, filtered, dan +closed|filtered. Kustomisasi output normalnya dilakukan +setelah scan dengan menggunakan tool seperti +grep, awk, dan +Perl, namun fitur ini ditambahkan karena +banyaknya permintaan. Berikan untuk hanya melihat port +open, open|filtered, dan +unfiltered. Ketiga port ini diperlakukan seperti normalnya, yang berarti bahwa open|filtered dan unfiltered dapat digabungkan bila terdapat dalam jumlah banyak. + + + + + + + + (List interfaces and routes) + + + Cetak daftar interface dan rute sitem yang dideteksi oleh Nmap. + Opsi ini berguna untuk debugging masalah routing atau kesalahan karakterisasi + device (seperti Nmap memperlakukan koneksi PPP sebagai ethernet). + + + + (Log errors/warnings to normal mode output file) + + + + + Peringatan dan kesalahan dicetak oleh Nmap biasanya hanya ke + layar (output interaktif), membiarkan file output format normal + (biasanya dispesifikan dengan ) + tidak terganggu. Ketika anda ingin melihat pesan-pesan tersebut dalam + file output normal yang anda spesifikasikan, tambahkan opsi ini. Ia + berguna ketika anda tidak melihat output interaktif atau ketika anda + ingin merekam kesalahan saat men-debug masalah. + Pesan kesalahan dan peringatan akan tetap muncul dalam mode interaktif. + Hal ini tidak bekerja banyak kebanyakan kesalahan yang terkait dengan + argumen perintah baris yang buruk karena Nmap mungkin belum menginisialisasi + file outputnya. Sebagai tambahan, beberapa pesan kesalahan dan peringatan + Nmap menggunakan sistem yang berbeda yang beum mendukung opsi ini. + + Sebagai alternatif bagi adalah + dengan mengarahkan output interaktif (termasuk stream standard error) ke file. + Kebanyakan shell Unix menjadikan pendekatan ini mudah, meskipun ia + dapat sukar dilakukan pada Windows. + + + + + + + Miscellaneous output options + + + + (Append to rather than clobber output files) + + + + + Ketika anda menspesifikasikan nama file ke flag format output + seperti atau , file tersebut + secara baku akan ditimpa. Jika anda ingin menjaga isi file yang ada + dan menambahkan hasil baru, spesifikasikan opsi + . Seluruh nama file output yang dispesifikasikan + dalam eksekusi Nmap tersebut kemudian akan ditambahkan alih-alih ditimpa. + Hal ini tidak bekerja baik untuk data scan XML () karena file + yang dihasilkan umumnya tidak akan dapat diparse dengan tepat hingga anda + memperbaikinya secara manual. + + + + + + (Resume aborted scan) + + resuming scans + + + + + Beberapa penggunaan Nmap ekstensif membutuhkan waktu hingga + dalam hitungan hari. Scan semacam itu tidak selalu berjalan hingga selesai. + Pembatasan mungkin mencegah Nmap dijalankan ketika waktu kerja, jaringan + dapat down, mesin yang menjalankan Nmap mungkin mengalami reboot terencana + atau tidak, atau bahkan Nmap mengalami crash. Administrator yang menjalankan Nmap + dapat membatalkannya demi alasan lainnya, + ctrl-C. Memulai seluruh scan dari awal + mungkin tidak diinginkan. Untungnya, bila log normal + () atau grepable () + disimpan, user dapat meminta Nmap melanjutkan scanning dengan target + yang sedang dikerjakannya ketika eksekusi berhenti. + Cukup berikan opsi dan berikan argumen file output + normal/grepable. Tidak boleh ada argumen lainnya, karena Nmap memparse file output + yang sama dengan yang digunakan sebelumnya. Cukup panggil Nmap dengan + nmap --resume + logfilename. Nmap akan menambahkan + hasil baru ke file data yang dispesifikasikan dalam eksekusi sebelumnya. + Opsi ini tidak dapat dilakukan untuk format output XML karena + penggabungan dua buah penjalanan Nmap ke satu file XML yang valid adalah sulit. + + + + + + (Set XSL stylesheet to transform XML output) + + + + + Nmap menyertakan sebuah stylesheet stylesheet + XSL XSL + bernama nmap.xsl + nmap.xsl + untuk melihat atau menerjemahkan output XML ke HTML. + HTML from XML output + Output XML menyertakan sebuah direktif xml-stylesheet + yang mengarah ke nmap.xml + tempat awalnya ia diinstalasi oleh Nmap (atau pada direktori kerja + saat ini pada Windows). Cukup buka output Nmap pada browser modern dan + ia seharusnya mengambil + nmap.xsl dari filesystem dan menggunakannya + untuk merender hasil. Jika anda ingin menggunakan stylesheet yang berbeda, + berikan ia sebagai argumen bagi + . Anda harus memberikan nama path atau URL lengkap. + Cara pemanggilan umum adalah + . Cara ini memberitahu + browser untuk memuat versi terakhir stylesheet dari Nmap.Org. + Opsi melakukan hal yang sama dengan cara yang lebih singkat. + Memuatkan XSL dari Nmap.Org memudahkan melihat hasil pada mesin yang tidak memiliki + Nmap (dan karenanya tidak memiliki + nmap.xsl). Jadi URL seringkali + lebih bermanfaat, namun lokasi filesistem lokal + nmap.xsl digunakan secara baku demi alasan privasi. + + + + + + (Load stylesheet from Nmap.Org) + + + + + Opsi kenyamanan ini adalah sekedar alias bagi + . + + + + + + (Omit XSL stylesheet declaration from XML) + + + + + Berikan opsi ini untuk mencegah Nmap dari mengasosiasikan sembarang sytlesheet XSL + dengan output XML-nya. Direktif xml-stylesheet + ditiadakan. + + + + + + + + + + + Opsi Lain-lain + Bagian ini menjelaskan beberapa opsi penting (dan tidak begitu penting) + yang tidak tercakup di manapun. + + + + + (Enable IPv6 scanning) + + IPv6 + + + + Sejak tahun 2002, Nmap memberikan dukungan IPv6 untuk fiturnya + yang paling populer. Terutama, scanning ping (hanya-TCP), + connect scanning, dan deteksi versi semuanya mendukung IPv6. + Sintaks perintahnya sama dengan yang biasa kecuali anda juga menambahkan + opsi . Tentu saja anda harus menggunakan sintaks IPv6 + jika anda menspesifikasikan sebuah alamat alih-alih nama host. + Sebuah alamat mungkin terlihat seperti + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + sehingga disarankan untuk menggunakan nama host. Outputnya tampak sama + dengan yang biasa, dengan alamat IPv6 pada baris port + menarik. + + Meskipun IPv6 belum tersebar luas, ia telah digunakan secara signifikan + di beberapa negara (biasanya Asia) dan kebanyakan sistem operasi + modern mendukungnya. Untuk menggunakan Nmap dengan IPv6, sumber dan target + scan anda harus dikonfigurasi untuk IPv6. Jika ISP anda (seperti kebanyakan) tidak + mengalokasikan alamat IPv6 bagi anda, broker tunnel bebas tersedia luas + dan bekerja baik dengan Nmap. Saya menggunakan layanan broker tunnel IPv6 gratis + IPv6 tunnel broker + di . + Broker tunnel lainnya adalah + di daftar + Wikipedia. 6to4 tunnels adalah pendekatan gratis dan populer lainnya. + + + + + + + (Aggressive scan options) + + + + + Opsi ini mengaktifkan opsi agresive dan advance tambahan. + Saya belum memutuskan kepanjangannya. Saat ini ia mengaktifkan + deteksi SO (), scanning versi (), + scanning script () dan + traceroute (). + features enabled by + Fitur lebih banyak mungkin ditambahkan di masa mendatang. + Tujuannya adalah mengaktifkan set opsi scan yang lengkap tanpa perlu + mengingat sejumlah besar flag. Namun demikian, karena scanning script + dengan set baku dianggap mengganggu, anda tidak seharusnya menggunakan + terhadap jaringan target tanpa ijin. + Opsi ini hanya mengaktifkan fitur, dan tidak opsi pewaktuan + (seperti ) atau opsi verbositas + () yang mungkin anda inginkan pula. + + + + + + (Specify custom Nmap data file location) + + + + + Nmap memperoleh beberapa data khusus pada runtime dalam file + bernama nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes, dan + nmap-os-db. Jika lokasi + file-file ini telah dispesifikasikan (dengan menggunakan opsi + atau ), + lokasi tersebut digunakan untuk file itu. Setelah itu, Nmap + mencari file-file ini dalam direktori yang dispesifikasikan dengan opsi + (bila ada). File yang tidak ditemukan + di sana, akan dicari pada direktori yang dispesifikasikan oleh + variabel lingkungan NMAPDIR NMAPDIR environment variable. + Kemudian + ~/.nmap.nmap directory + untuk UID ril dan efektif (sistem POSIX) atau lokasi eksekutabel + Nmap (Win32), dan kemudian lokasi yang digunakan saat kompilasi + seperti /usr/local/share/nmap atau /usr/share/nmap + . Dan terakhir, Nmap akan mencari dalam direktori saat ini. + + + + + + (Specify custom services file) + + + + + Beritahu Nmap untuk menggunakan file service yang diberikan alih-alih file + nmap-services yang disertakan dalam + Nmap. Dengan menggunakan opsi ini juga menyebabkan opsi scan cepat + () digunakan. Lihat deskripsi untuk + untuk informasi lebih lanjut mengenai file data Nmap. + + + + + + (Specify custom service probes file) + + + + + Minta Nmap untuk menggunakan file pro be service yang diberikan alih-alih file + nmap-service-probes yang disertakan dalam Nmap. + Lihat deskripsi untuk + untuk informasi lebih lanjut mengenai file data Nmap. + + + + + + (Use raw ethernet sending) + + + + + Minta Nmap mengirim paket pada layer ethernet raw (data + link) alih-alih layer IP (jaringan) yang lebih tinggi. Secara baku, + Nmap memilih satu yang umumnya terbaik untuk platform yang digunakan. + Socket Raw (layer IP layer)raw sockets + umumnya paling efisien pada mesin-mesin Unix, sementara frame ethernet + dibutuhkan bagi operasi Windows karena Microsoft meniadakan dukungan + socket raw. Nmap tetap menggunakan paket IP raw pada Unix ketika + tidak ada pilihan lainnya (seperti koneksi non-ethernet). + + + + + + + (Send at raw IP level) + + + + + Minta Nmap untuk mengirim paket melalui soket IP raw alih-alih + mengirimkan frame ethernet level lebih rendah. Ia merupakan komplemen + opsi yang didiskusikan sebelumnya. + + + + + + (Assume that the user is fully privileged) + + + + + Beritahu Nmap untuk mengasumsikan bahwa ia memiliki cukup privilege + untuk melakukan pengiriman socket raw, packet sniffing, dan + operasi sejenis yang biasanya membutuhkan + root privilegesprivileged usersauthorized usersprivileged users + pada sistem Unix. Secara baku Nmap berhenti bila operasi itu diminta + namun geteuid tidaklah nol. + berguna dengan kapabilitas kernel Linux + dan sistem serupa yang mungkin dikonfigurasi untuk membolehkan user + unprivileged melakukan scan raw-packet. Pastikan untuk memberikan flag opsi ini + sebelum flag lainnya bagi opsi yang membutuhkan privilege + (SYN scan, deteksi SO, dsb.). Variabel lingkungan + NMAP_PRIVILEGEDNMAP_PRIVILEGED environment variable + dapat juga diset sebagai alternatif ekivalen bagi + . + + + + + + (Assume that the user lacks raw socket privileges) + + unprivileged users + + + + + Opsi ini merupakan lawan + . Ia memberitahu Nmap untuk memperlakukan + user sebagai tidak memiliki privilege network raw socket dan sniffing. + Hal ini berguna untuk testing, debugging, atau ketika fungsionalitas jaringan + raw pada sistem operasi anda tampaknya rusak. Variabel lingkungan + NMAP_UNPRIVILEGEDNMAP_UNPRIVILEGED environment variable + dapat diset sebagai alternatif ekivalen bagi + . + + + + + + + + (Release memory before quitting) + + + + + Opsi ini hanya berguna untuk memory-leak debugging. + Ia membuat Nmap merilis memori yang telah dialokasikan sebelum ia berhenti + sehingga kebocoran memori sebenarnya mudah ditemukan. + Normalnya Nmap melewati langkah ini karena SO melakukannya setelah + penghentian proses. + + + + + + + (Start in interactive mode) + + + + + + Mulai Nmap dalam mode interaktif, yang memberikan prompt + interaktif Nmap yang memudahkan peluncuran + multiple scan (baik secara synchronous atau di latar belakang). + Opsi ini bermanfaat bagi orang yang melakukan scan dari sistem + multi-user karena mereka ingin memeriksa keamanan mereka tanpa + memberitahu yang lain sistem apa yang mereka periksa. Gunakan + untuk mengaktifkan mode ini dan kemudian ketik h untuk bantuan. + Opsi ini jarang digunakan karena shell yang sesuai biasanya lebih + dikenal dan lebih lengkap fiturnya. Opsi ini menyertakan operator + bang (!) untuk mengeksekusi perintah shell, yang menjadi salah satu + alasan tidak menginstalasi Nmap setuid root.setuid, why Nmap shouldn't be + + + + + + + ; (Print version number) + + + + + Mencetak angka versi Nmap dan keluar. + + + + + + ; (Print help summary page) + + + + + Mencetak layar bantuan singkat dengan flag-flag yang paling umum. + Menjalankan Nmap tanpa argumen melakukan hal yang sama. + + + + + + + + Interaksi Runtime<indexterm significance="normal"><primary>runtime interaction</primary></indexterm> + + Selama eksekusi Nmap, seluruh kunci yang ditekan direkam. + Hal ini memungkinkan anda beriteraksi dengan program tanpa membatalkan + dan memulai ulang. Beberapa kunci khusus akan merubah opsi, sementara kunci lain + akan mencetak pesan status yang memberitahu anda mengenai scan. + Konvensinya adalah + huruf kecil meningkatkan jumlah yang dicetak, dan + huruf kapital mengurangi yang dicetak. + Anda dapat juga menekan ‘?’ untuk bantuan. + + + + / + + + Naikkan / kurangi level verbositas + + + + + / + + + Naikkan / kurangi level debugging + + + + + / + + + Aktifkan/Non-aktifkan packet tracing + + + + + + + + Cetak layar bantuan interaksi runtime + + + + + Lainnya + + + Cetak pesan satus seperti ini: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Contoh-contoh + Berikut ini adalah beberapa contoh penggunaan Nmap, dari yang mudah dan rutin + hingga yang sedikit kompleks dan canggih. Beberapa alamat IP + dan nama domain aktual digunakan untuk membuatnya menjadi lebih kongkrit. + Anda harus merubah alamat/nama dengan + jaringan anda sendiri.. Meskipun saya tidak menganggap + scanning port jaringan lain adalah atau seharusnya ilegal, beberapa administrator + jaringan tidak menghargai scanning jaringan mereka sembarangan dan akan mengajukan keluhan. + Pendekatan terbaik adalah memperoleh ijin terlebih dulu. + + Untuk tujuan pengujian, anda memperoleh ijin untuk memeriksa host + scanme.nmap.org. Ijin ini hanya mencakup + pemeriksaan dengan Nmap dan tidak menguji eksploit atau serangan denial of service. + Untuk menghemat bandwidth, mohon tidak menggunakan lebih dari selusin scan + terhadap host tersebut per hari. Jika layanan target scanning gratis ini disalahgunakan, + ia akan dinonaktifkan dan Nmap akan melaporkan + Failed to resolve given hostname/IP: + scanme.nmap.org. Ijin ini juga berlaku untuk host-host + scanme2.nmap.org, + scanme3.nmap.org, dan seterusnya, meskipun host-host + ini belum ada. + + + example of + nmap -v scanme.nmap.org + + Opsi ini memeriksa seluruh port TCP reserved pada mesin + scanme.nmap.org . Opsi + mengaktifkan mode verbose. + + example of + example of + nmap -sS -O scanme.nmap.org/24 + + Meluncurkan scan stealth SYN terhadap setiap mesin yang up dari + 256 IP pada jaringan berukuran kelas C tempat + Scanme berada. Ia juga berusaha menentukan sistem operasi yang digunakan + pada setiap host yang hidup dan berjalan. Hal ini membutukan privilege root + karena scan SYN dan deteksi SO. + + example of + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Meluncurkan enumerasi host dan scan TCP pada setengah bagian pertama + dari subnet dalam alamat kelas B 198.116. Scan ini menguji apakah sistem + menjalankan SSH, DNS, POP3, atau IMAP pada port standarnya, atau apapun pada port + 4564. Pada sembarang port yang ditemukan terbuka, akan digunakan deteksi versi + untuk menentukan aplikasi apa yang berjalan. + + + example of + example of + nmap -v -iR 100000 -PN -p 80 + + + Meminta Nmap memilih 100.000 host secara acak dan memeriksanya + untuk web server (port 80). Enumerasi host ditiadakan dengan + karena mengirim beberapa probe untuk menentukan + apakah host hidup adalah sia-sia ketika anda hanya memprobe satu port + pada setiap host target. + + + example of + example of + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Memeriksa 4096 IP untuk sembarang web server (tanpa mem-ping + mereka) dan menyimpan hasilnya dalam format grepable dan XML. + + + + + Bugs + bugs, reporting + + Seperti penulisnya, Nmap tidaklah sempurna. Namun anda dapat membantu + membuatnya lebih baik dengan mengirimkan laporan bug atau bahkan menulis patch. Jika + Nmap tidak berlaku sesuai yang anda harapkan, pertama upgrade ke versi terakhir + yang tersedia dari . Jika masalah masih tetap, + lakukan riset untuk menentukan apakah ia telah ditemukan dan diselesaikan. + Cobalah mencari pesan kesalahan pada halaman pencarian kami atau di Google. Juga cobalah + membrowsing arsip nmap-dev di .nmap-dev mailing list + Bacalah juga halaman manual ini dengan baik. + Jika masih belum selesai juga, kirimkan laporan bug ke + nmap-dev@insecure.org. Mohon sertakan semua yang + anda telah pelajari mengenai masalah, dan juga versi Nmap dan sistem operasi + yang anda gunakan. Laporan kesalahan dan pertanyaan penggunaan Nmap yang dikirim ke + nmap-dev@insecure.org akan lebih mungkin dijawab daripada yang dikirimkan + secara langsung ke Fyodor. Jika anda berlangganan ke list nmap-dev + sebelum posting, pesan anda akan melewati moderasi dan akan lewat dengan lebih cepat. + Berlangganan di . + + Patch code untuk memperbaiki bug adalah lebih baik daripada laporan kesalahan. + Instruksi dasar untuk membuat file patch dengan perubahan anda tersedia di + . Patch dapat dikirim ke + nmap-dev (direkomendasikan) atau langsun ke Fyodor. + + + + Penulis + Fyodor + fyodor@insecure.org + () + + + Selama ini, ratusan orang telah memberikan kontribusi berharga ke Nmap. + Hal ini dirinci dalam file + CHANGELOGchangelog + yang didistribusikan bersama Nmap + dan juga tersedia dari . + + + + + Legal Notices + + + Unofficial Translation Disclaimer / Disklaimer Terjemahan Tidak Resmi + + This is an unnofficial translation of the Nmap + license details into Indonesian. It was not written by + Insecure.Com LLC, and does not legally state the distribution terms + for Nmap -- only the original English text does that. However, we + hope that this translation helps Indonesian speakers understand the + Nmap license better. + +Ini merupakan terjemahan tidak resmi dari Nmap + license details ke dalam bahasa Indonesia. Ia tidak ditulis oleh + Insecure.Com LLC, dan tidak secara legal menyatakan syarat distribusi + untuk Nmap -- hanya teks berbahasa Inggris aslinya yang melakukan hal itu. + Namun demikian, kami berharap bahwa terjemahan ini membantu pengguna bahasa Indonesia + untuk lebih memahami lisensi Nmap. + + + + + Nmap Copyright and Licensing + copyright + GNU General Public License + + +The Nmap Security Scanner is (C) 1996–2009 Insecure.Com LLC. Nmap is also a registered trademark of Insecure.Com LLC. This program is free software; you may redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; Version 2 with the clarifications and exceptions described below. This guarantees your right to use, modify, and redistribute this software under certain conditions. If you wish to embed Nmap technology into proprietary software, we sell alternative licenses (contact sales@insecure.com). Dozens of software vendors already license Nmap technology such as host discovery, port scanning, OS detection, and version detection. + +Note that the GPL places important restrictions on +derived works, yet it does not provide a detailed +definition of that term. To avoid misunderstandings, we consider an +application to constitute a derivative work for the +purpose of this license if it does any of the following: + + +Integrates source code from Nmap +Reads or includes Nmap copyrighted data files, such as + nmap-os-db or + nmap-service-probes. +Executes Nmap and parses the results (as opposed to + typical shell or execution-menu apps, which simply display raw + Nmap output and so are not derivative works.) +Integrates/includes/aggregates Nmap into a proprietary + executable installer, such as those produced by + InstallShield. +Links to a library or executes a program that does any + of the above. + + +The term Nmap should be taken to also include any +portions or derived works of Nmap. This list is not exclusive, but is +meant to clarify our interpretation of derived works with some common +examples. Our interpretation applies only to Nmap—we don't +speak for other people's GPL works. + +If you have any questions about the GPL licensing restrictions +on using Nmap in non-GPL works, we would be happy to help. As +mentioned above, we also offer alternative license to integrate Nmap +into proprietary applications and appliances. These contracts have +been sold to many security vendors, and generally include a perpetual +license as well as providing for priority support and updates as well +as helping to fund the continued development of Nmap +technology. Please email sales@insecure.com for further +information. + +As a special exception to the GPL terms, Insecure.Com LLC grants +permission to link the code of this program with any version of the +OpenSSL library which is distributed under a license identical to that +listed in the included COPYING.OpenSSL file, and distribute linked +combinations including +the two.OpenSSLlinking exception +You must obey the GNU GPL in all +respects for all of the code used other than OpenSSL. If you modify +this file, you may extend this exception to your version of the file, +but you are not obligated to do so. + +If you received these files with a written license agreement or +contract stating terms other than the terms above, then that +alternative license agreement takes precedence over these +comments. + + + + Creative Commons License for this Nmap Guide + This Nmap Reference Guide is (C) 2005–2008 Insecure.Com LLC. It is + hereby placed under version 2.5 of the Creative Commons + Attribution License. This allows you redistribute and modify + the work as you desire, as long as you credit the original source. + Alternatively, you may choose to treat this document as falling under + the same license as Nmap itself (discussed previously). + + + + Source Code Availability and Community Contributions + +Source is provided to this software because we believe users +have a right to know exactly what a program is going to do before they +run it. This also allows you to audit the software for security holes +(none have been found so far). + +Source code also allows you to port Nmap to new platforms, fix +bugs, and add new features. You are highly encouraged to send your +changes to fyodor@insecure.org for possible +incorporation into the main distribution. By sending these changes to +Fyodor or one of the Insecure.Org development mailing lists, it is +assumed that you are offering Fyodor and Insecure.Com LLC the +unlimited, non-exclusive right to reuse, modify, and relicense the +code. Nmap will always be available +Open Source,open source +but this is important +because the inability to relicense code has caused devastating +problems for other Free Software projects (such as KDE and NASM). We +also occasionally relicense the code to third parties as discussed +above. If you wish to specify special license conditions of your +contributions, just say so when you send them. + + +No Warranty<indexterm significance="normal"><primary>warranty (lack of)</primary></indexterm> + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License v2.0 for more details at , or in the COPYING file +included with Nmap. + +It should also be noted that Nmap has occasionally been known to crash +poorly written applications, TCP/IP stacks, and even operating +systems.crashing targets +While this is extremely rare, it is important to keep in +mind. Nmap should never be run against mission +critical systems unless you are prepared to suffer +downtime. We acknowledge here that Nmap may crash your systems or +networks and we disclaim all liability for any damage or problems Nmap +could cause. + + +Inappropriate Usage +Because of the slight risk of crashes and because a few black +hats like to use Nmap for reconnaissance prior to attacking systems, +there are administrators who become upset and may complain when their +system is scanned. Thus, it is often advisable to request permission +before doing even a light scan of a network. + +Nmap should never be installed with special privileges +(e.g. suid root) for security reasons.setuid, why Nmap shouldn't be + + + +Third-Party Software + +This product includes software developed by +the Apache Software +Foundation. A modified version of the Libpcap portable packet capture +librarylibpcap +is distributed along with Nmap. +The Windows version of Nmap utilized the Libpcap-derived +WinPcap libraryWinPcap +instead. +Regular expression support is provided by the +PCRE library,Perl Compatible Regular Expressions (PCRE) +which is open-source software, written by Philip Hazel.Hazel, Philip +Certain raw networking functions use the +Libdnetlibdnet +networking library, which was written by Dug Song.Song, Dug +A modified version is distributed with Nmap. +Nmap can optionally link with the +OpenSSL +cryptography toolkitOpenSSL +for SSL version detection support. +The Nmap Scripting Engine uses an embedded version of +the Lua programming +language.Lua programming language +All of the third-party software described in this paragraph is freely +redistributable under BSD-style software licenses. + + + +United States Export Control Classification<indexterm significance="normal"><primary>export control</primary></indexterm> + +U.S. Export Control: Insecure.Com LLC believes that Nmap falls +under U.S. ECCN (export control classification number) 5D992. This +category is called Information Security software not controlled +by 5D002. The only restriction of this classification is AT +(anti-terrorism), which applies to almost all goods and denies export +to a handful of rogue nations such as Iran and North Korea. Thus +exporting Nmap does not require any special license, permit, or other +governmental authorization. + + + + + + +
diff --git a/docs/man-xlate/nmap-man-it.xml b/docs/man-xlate/nmap-man-it.xml new file mode 100644 index 000000000..2f3ce3d69 --- /dev/null +++ b/docs/man-xlate/nmap-man-it.xml @@ -0,0 +1,3533 @@ + + +
+ + Guida di riferimento di Nmap (pagina di manuale) + + + + + nmap + + 1 + + + + nmap + + Strumento di network exploration e security / port + scanner + + + + + + + nmap + + + Tipo di Scansione + + + + Opzioni + + + + Obbiettivo + + + + + + Descrizione + + Nmap (Network Mapper) e` uno strumento open source + per la network exploration e l'auditing. E` stato progettato per + scansionare rapidamente reti di grandi dimensioni, ma e` indicato anche + per l'utilizzo verso singoli host. Nmap usa pacchetti IP raw (grezzi, + non formattati) in varie modalita` per determinare quali host sono + disponibili su una rete, che servizi (nome dell'applicazione e versione) + vengono offerti da questi host, che sistema operativo (e che versione + del sistema operativo) e` in esecuzione, che tipo di firewall e packet + filters sono usati, e molte altre caratteristiche. Nonostante Nmap sia + comunemente usato per audits di sicurezza, molti sistemisti e + amministratori di rete lo trovano utile per tutte le attivita` + giornaliere come ad esempio l'inventario delle macchine presenti in + rete, per gestire gli aggiornamenti programmati dei servizi, e per + monitorare gli host o il loro uptime. + + L'output di Nmap e` uno scan di un elenco di obbiettivi, con + informazioni supplementari per ognuno a seconda delle opzioni usate. Tra + queste informazioni e` vitale la tabella delle porte interessanti + . Questa tabella elenca il numero della porta e il protocollo, + il nome del servizio, e lo stato attuale. Lo stato puo` essere open (aperto), filtered (filtrato), closed (chiuso), o unfiltered (non filtrato). Aperto significa + che vi e` sulla macchina obbiettivo un'applicazione in ascolto su quella + porta per connessioni o pacchetti in entrata. Filtrato significa che un firewall, un filtro + o qualche altro ostacolo di rete sta bloccando la porta al punto che + Nmap non riesce a distinguere tra aperta o chiusa. Le porte chiuse non hanno alcuna applicazione in + ascolto, anche se potrebbero aprirsi in ogni momento. Le porte vengono + classificate come non filtrate quando + rispondono ad una scansione di Nmap, ma non e` stato possibile + determinare se sono aperte o chiuse. Nmap mostra le combinazioni + aperta|filtrata e chiusa|filtrata quando non puo` determinare + quale dei due stati descrive una porta. La tabella delle porte puo` + anche includere dettagli quali le versioni dei software disponibili se + e` stata usata l'opzione appropriata. Quando viene richiesto una + scansione IP (), Nmap fornisce informazioni sui + protocolli IP supportati anziche` sulle porte in ascolto. + + In aggiunta alla tabella delle porte notevoli, Nmap puo` fornire + ulteriori informazioni sugli obbiettivi come ad esempio i nomi DNS + risolti (reverse DNS names), il probabile sistema operativo in uso, il + tipo di device e l'indirizzo fisico (MAC address). + + Una tipica scansione con Nmap e` mostrata su . Le uniche opzioni usate di Nmap in questo + esempio sono , per abilitare il detection del sistema + operativo e della versione , per un'esecuzione piu` + rapida e infine i due host obbiettivi + + + Una scansione di esempio + + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + + + Elenco delle opzioni + + Questo elenco delle possibili opzioni viene stampato quando Nmap + viene eseguito senza argomenti; una versione aggiornata di questo elenco + e` sempre disponibile sul sito . E` utile per + ricordarsi le opzioni piu` comuni ma non dev'essere inteso come + un'alternativa alla documentazione approfondita presente in questa + pagina di manuale. Alcune opzioni "oscure" non sono neanche incluse + qui. + + + Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -P0: Treat all hosts as online -- skip host discovery + -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve] +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Scan only the ports listed in the nmap-services file) + -r: Scan ports consecutively - don't randomize +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version_light: Limit to most likely probes for faster identification + --version_all: Try every single probe for version detection + --version_trace: Show detailed version scan activity (for debugging) +OS DETECTION: + -O: Enable OS detection + --osscan_limit: Limit OS detection to promising targets + --osscan_guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + -T[0-6]: Set timing template (higher is faster) + --min_hostgroup/max_hostgroup <msec>: Parallel host scan group sizes + --min_parallelism/max_parallelism <msec>: Probe parallelization + --min_rtt_timeout/max_rtt_timeout/initial_rtt_timeout <msec>: Specifies + probe round trip time. + --host_timeout <msec>: Give up on target after this long + --scan_delay/--max_scan_delay <msec>: Adjust delay between probes +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source_port <portnum>: Use given port number + --data_length <num>: Append random data to sent packets + --ttl <val>: Set IP time-to-live field + --spoof_mac <mac address, prefix, or vendor name>: Spoof your MAC address +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice for more effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --packet_trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --append_output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --no_stylesheet: Prevent Nmap from associating XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection + --datadir <dirname>: Specify custom Nmap data file location + --send_eth/--send_ip: Send packets using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + Target Specification + + Ogni cosa sulla linea di comando di Nmap che non e` un'opzione (o + un argomento di un'opzione) e` considerato come una specifica di un host + obbiettivo. Il caso piu` semplice consiste nello specificare + semplicemente un indirizzo IP o un nome di host per la scansion + + A volte puo` essere utile scansionare un'intera rete di host + adiacenti. Per questo, Nmap supporta l'indirizzamento CIDR. Si possono + aggiungere /numero di bit a un indirizzo IP o + a un nome di host e Nmap eseguira` la scansione su ogni indirizzo IP per + il quale i primi numero di bit e` identico a + quello specificato nell'IP o nel nome di host fornito. Ad esempio, + 192.168.10.0/24 eseguira` la scansione sui primi 256 host tra + 192.168.10.0 (in binario: 11000000 10101000 + 00001010 00000000) e 192.168.10.255 (in binario: 11000000 10101000 00001010 11111111), estremi + inclusi. 192.168.10.40/24 fa esattamente la stessa cosa. Dato che l'host + scanme.nmap.org corrisponde all'indirizzo IP 205.217.153.62, la + specifica scanme.nmap.org/16 eseguirebbe la scansione sui 65,536 + indirizzi IP tra 205.217.0.0 e 205.217.255.255. Il piu` piccolo valore + permesso e` /1, che effettua la scansione su meta` Internet. Il valore + maggiore e` 32, che effettua la scansione solo sull'host o sull'IP + specificato poiche` tutti i bit di indirizzo sono fissati. + + La notazione CIDR e` breve ma non sempre abbastanza flessibile. Ad + esempio, si potrebbe voler controllare 192.168.0.0/16 ma saltando + qualsiasi IP termini con .0 o con .255 perche` sono usati generalmente + come indirizzi di broadcast. Nmap supporta questa funzione attraverso + l'indirizzamento per intervalli di ottetti. Anziche` specificare un + normale indirizzo IP e` possibile speficiare una lista di valori o + intervalli di valori separati da virgola. Ad esempio, + 192.168.0-255.1-254 saltera` tutti gli indirizzi nell'intervallo che + termina per .0 o .255. Gli intervalli non devono necessariamente essere + limitati agli ottetti finali: una specifica come 0-255.0-255.13.37 + effettuera` una scansione su tutta Internet per ogni indirizzo IP che + termina per 13.37. Questa tipologia di campionamento puo` essere utile + per ricerche e sondaggi su tutta la rete Internet. + + Indirizzi IPV6 possono essere indicati solo mediante il loro + indirizzo IPv6 completo o il loro hostname. L'indirizzamento CIDR e gli + intervalli di ottetti non sono supportati per IPv6 poiche` non vengono + quasi mai usati. + + Nmap accetta piu` indirizzi di obbiettivi sulla linea di comando, + ed essi non devono essere necessariamente indicati nello stesso modo. Il + comando nmap scanme.nmap.org 192.168.0.0/8 + 10.0.0,1,3-7.0-255 fa esattamente cio` che ci si + aspetta. + + Mentre gli obbiettivi sono generalmente indicate sulla linea di + comando, le seguenti opzioni sono disponibili per la selezione degli + obbiettivi: + + + + (Input from + list) + + + Legge gli obbiettivi da + inputfilename. Inserire una grossa + lista di host e` spesso scomodo sulla linea di comando, anche se + spesso e` una necessita` comune. Ad esempio, un server DHCP + potrebbe esportare un elenco di 10.000 leases che si potrebbero + voler controllare. Oppure si vogliono controllare tutti gli + indirizzi IP di una rete tranne quelli + presenti nel DHCP per individuare eventuali IP statici non + autorizzati. E` sufficiente generare la lista di host da + controllare e passarla a Nmap come argomento dell'opzione + . Ogni elemento puo` essere in uno qualsiasi + dei formati accettati da Nmap sulla linea di comando (indirizzo + IP, nome dell'host, notazione CIDR, IPv6 o intervalli di + indirizzi). Ogni elemento dev'essere separato da uno o piu` spazi, + indentazioni (tabulazioni) o caratteri di a-capo. Si puo` usare un + trattino (o segno di sottrazione) (-) come nome di file se si vuole che + Nmap legga gli host dallo standard input piuttosto che da un file + esistente. + + + + + (Choose random + targets) + + + Durante certe indagini su tutta Internet o altri tipi di + ricerca si potrebbe desiderare di scegliere le obbiettivi in + maniera casuale. L'argomento num hosts + indica a Nmap quanti indirizzi IP generare. Gli indirizzi privati, + multicast o in pool di indirizzi non allocati vengono + automaticamente saltati. Si puo` specificare l'argomento 0 per una scansione senza fine. Va + ricordato che alcuni amministratori di rete non apprezzano + scansioni non autorizzate delle loro reti e potrebbero lamentarsi. + Usare questa opzione a proprio rischio e pericolo. Se in un + pomeriggio piovoso ci si trova ad essere annoiati, si puo` provare + questo comando nmap -sS -PS80 -iR 0 -p + 80 per trovare in maniera casuale dei server web sui + quali navigare. + + + + + + (Exclude hosts/networks) + + + Questa opzione specifica un elenco, separato da virgola, di + obbiettivi da escludere dalla scansione anche se sono parte + dell'intervallo di rete specificato. La lista va specificata nella + notazione usuale di Nmap, ovvero puo` includere nomi di host, + blocchi di indirizzi specificati mediante notazione CIDR, + intervalli di ottetti, etc. Questo puo` essere utile quando la + rete che si vuole controllare include server intoccabili o di + vitale importanza, sistemi che sono conosciuti per reagire in + maniera negativa ad eventuali scansioni, o sottoreti amministrate + da altra gente. + + + + + (Exclude + list from file) + + + Questa opzione offre le stesse funzionalita` + dell'opzione, con la differenza che gli + obbiettivi da escludere dalla scansione sono elencate in un + exclude_file (separate da spazi + bianchi, a-capo o tabulazioni) anziche` sulla linea di + comando. + + + + + + + Host Discovering (Ricerca di host) + + Uno dei primi passi in qualsiasi approccio di mappatura di una + rete e` quello di ridurre un intervallo di indirizzi IP (talvolta di + notevoli dimensioni) ad una lista di host attivi o interessanti. Uno + scan di ogni porta di ogni singolo indirizzo IP e` lento e generalmente + non necessario. Ovviamente cio` che rende un host interessante dipende + in larga misura dalle motivazioni della scansione. Amministratori di + rete possono essere interessati solo a host sui quali e` in esecuzione + uno specifico servizio, mentre chi fa auditing di sicurezza e` piu` + interessato a ogni singola periferica dotata di un indirizzo IP. Un + sistemista puo` accontentarsi di semplici ping ICMP per trovare gli host + sulla propria rete, ma un penetration tester esterno puo` dover usare un + insieme di molti differenti probing (tentativi di scansione) per cercare + di evitare le restrizioni imposte da un firewall. + + Poiche` le necessita` di host discovering sono cosi` diverse, Nmap + offre una notevole varieta` di opzioni per la customizzazione delle + tecniche usate. Il semplice host discovery e` spesso chiamato "ping + scan", anche se va molto oltre il semplice pacchetto ICMP di echo + request associato con il famoso strumento di ping. Un utete puo` evitare il passaggio + per l'utility "ping" usando una list scan (scansione di tipo lista: + () o disabilitando il ping degli host + (), oppure mettendo alla prova la rete usando + combinazioni arbitrarie di probe TCP SYN/ACK, UDP e ICMP su differenti + porte. Lo scopo di questi approcci e` quello di sollecitare una risposta + che dimostri l'esistenza di un host o di un apparecchio di rete con + quell'indirizzo IP. In molte reti solo una piccola percentuale di + indirizzi IP e` attiva in ogni momento, specialmente negli spazi di + indirizzamento privati previsti dall'RFC1918 come ad esempio 10.0.0.0/8. + Una rete di questo tipo ha 16 milioni di possibili IP, anche se e` di + uso comune in aziende con meno di un migliaio di macchine. L'host + discovery puo` trovare queste macchine in un mare di indirizzi IP non + consecutivi. + + Se non viene fornita alcuna opzione di host discovery, Nmap manda + di default un pacchetto TCP ACK alla porta 80 e una richiesta ICMP Echo + Request ad ogni macchina obbiettivo. Un'eccezione a questo comportamento + consiste nel fatto che uno scan ARP e` usato per tutti gli obbiettivi + che sono in una rete ethernet locale. Se Nmap viene lanciato da un + utente non privilegiato all'interno di un ambiente UNIX verra` usato un + pacchetto SYN al posto dell'ACK mediante la chiamata di sistema + connect(). Queste opzioni di + default sono equivalenti alle opzioni . Questo + tipo di host discovery e` spesso sufficiente quando si deve effettuare + una scansione su reti locali, anche se per un security auditing si + raccomanda di usare un set di opzioni piu` avanzato. + + L'opzione (che permette di scegliere il tipo + di ping) puo` essere combinata. Si possono inoltre aumentare le + probabilita` di bypassare firewall particolarmente restrittivi mandando + molti tipi di probe diversi usando porte o flag TCP differenti e + svariati codici ICMP. Inoltre si tenga presente che l'ARP discovery + () viene effettuata di default all'interno di una + rete locale, anche se vengono specificate altre opzioni + , poiche` e` quasi sempre piu` veloce ed + efficiente. + + Di default Nmap lancia un host discovery e in seguito un port scan su tutti gli host che sono online. Questo approccio viene tenuto anche quando si specificano metodi non standard per l'host discovery come i probe UDP (). Si consulti la spiegazione per l'opzione per sapere come effettuare solo host discovery; si usi per evitare l'host discovery e fare un portscan di tutti gli host di destinazione. Le seguenti opzioni controllano il comportamento dell'host + discovery: + + + + (List Scan) + + + La list scan e` una forma banale di host discovery che + semplicemente elenca ogni host delle reti specificate, senza + inviare alcun pacchetto agli host obbiettivo. Di default Nmap + effettua una risoluzione inversa mediante DNS sugli host per + ottenerne il nome completo. Spesso e` sorprendente vedere quante + informazioni utili possono fornire dei semplici hostname. Ad + esempio, fw.chi.playboy.com e` + il firewall per l'ufficio di Chicago della Playboy Enterprises. + Nmap mostra anche il numero totale di indirizzi IP alla fine della + scansione. La lista scan e` un buon controllo per essere sicuri di + avere gli indirizzi IP corretti per la propria scansione. Se gli + host mostrano nomi di dominio non conosciuti, vale la pena + indagare oltre per evitare di scansionare la rete dell'azienda + sbagliata. + + Poiche` l'idea e` quella di stampare semplicemente una lista + di obbiettivi, le opzioni per funzionalita` di livello piu` alto + (come ad esempio il port scanning, le indagini sul tipo di sistema + operativo in esecuzione o il ping scan non possono essere + combinate con questa. Se si vuole disabilitare il ping scan e + mantenere allo stesso tempo la possibilita` di utilizzare + funzionalita` di alto livello, si legga la sezione sull'opzione + . + + + + + (Ping Scan) + + + Questa opzione indica a Nmap di effettuare + solo un ping scan (ovvero un host discovery) + e di mostrare gli host che hanno risposto. Nessun test aggiuntivo + (come ad esempio port scan o OS detection) viene effettuato. + Quest'azione e` un gradino piu` invadente della list scan, e puo` + essere usata spesso per lo stesso scopo. Essa permette una + mappatura di una rete obbiettivo senza attrarre molta attenzione. + Sapere quanti host sono attivi e` piu` utile ad un attaccante + rispetto ad una semplice list scan di ogni indirizzo IP e nome di + host. + + >Gli amministratori di sistemi trovano spesso questa + opzione utile allo stesso modo. Puo` essere usata facilmente per + enumerare le macchine disponibili in una rete o tenere sotto + osservazione la disponibilita` di un singolo server. Questo + approccio viene anche chiamato "ping sweep", ed e` piu` affidabile + di un ping all'indirizzo broadcast poiche` molti host non + rispondono alle richieste di questa categoria. + + L'opzione invia di default un echo + request ICMP e un pacchetto TCP alla porta 80. Quando viene + eseguita da un utente non privilegiato, viene inviato un pacchetto + SYN (usando la chiamata connect() ) alla porta 80 + dell'obbiettivo. Quando invece un utente privilegiato prova ad + effettuare una scansione all'interno di una rete locale, vengono + usate richieste ARP () a meno che non venga + specificata l'opzione . L'opzione + puo` essere usata in combinazione con + qualsiasi tipo di discovery probe (ovvero la famiglia di opzioni + , tranne ) per avere una + migliore flessibilita`. Se viene usato uno qualsiasi di questi + probe con opzioni sul numero di porta, allora i probe di default + (ovvero ACK ed echo request) vengono annullati. Si raccomanda di + usare queste tecniche evolute se ci sono dei firewall restrittivi + tra l'host che lancia Nmap e le reti di destinazione, altrimenti + le destinazioni potrebbero non essere raggiunte nel caso in cui il + firewall dovesse bloccare i probe o le risposte a questi + ultimi. + + + + + (No ping) + + + Questa opzione evita del tutto il passaggio di ricerca degli + host di Nmap. Normalmente Nmap usa questo passaggio per trovare le + macchine attive da sottoporre ad una scansione piu` approfondita. + Di default, Nmap esegue un probing approfondito (come ad esempio + un port scan, una version detection dei servizi o un Operating + System detection) solo su quegli host che sono trovati attivi. + Disabilitare l'host discovery attraverso l'opzione + obbliga Nmap a tentare la scansione richiesta + su tutti gli host destinazione specificati. + Quindi se si specifica sulla linea di comando una rete di + destinazione di classe B (in CIDR /16) verranno sottoposti a + scansione tutti i 65 535 indirizzi IP. Il secondo carattere + nell'opzione e` uno zero, non la lettera O. A + differenza del list scan, nel quale l'host discovery viene + saltato, anziche` interrompersi e mostrare la lista di + destinazioni Nmap continua ad eseguire le funzioni richieste come + se ogni IP di destinazione fosse attivo. + + + + + (TCP SYN Ping) + + + Questa opzione invia un pacchetto TCP vuoto con il flag SYN + attivo. La porta di destinazione di default e` la 80 + (configurabile durante la compilzione cambiando il parametro di + define DEFAULT_TCP_PROBE_PORT nel file nmap.h), ma in questo caso si puo` + specificare un'altra porta come parametro. Si puo` anche + specificare una lista di porte separata da virgola (ad esempio + ), nel cuo caso si + tentera` un probe verso ogni porta in parallelo. + + Il flag SYN indica al sistema remoto che si sta tentando di + stabilire una connessione. Normalmente la porta di destinazione + dovrebbe essere chiusa, e un pacchetto di RST (reset) viene + mandato indietro. Se la porta fosse aperta, il destinatario + effettuera` il secondo passo della connessione TCP a tre vie + (3-way-handshake) rispondendo con un pacchetto TCP SYN/ACK. La + macchina che sta eseguendo Nmap interrompera` la connessione + inviando un pacchetto RST al posto di mandare l'usuale pacchetto + RST che completerebbe l'handshake e stabilirebbe una connessione + completa. Il paccheto RST viene mandato dal kernel della macchina + che sta eseguendo Nmap, non da Nmap stesso. + + A Nmap non interessa se la porta e` aperta o chiusa. In ogni + caso l'RST o il SYN/ACK ricevuti indicano che l'host e` + disponibile e risponde alle connessioni. + + Nelle macchine UNIX solo l'utente privilegiato root generalmente e` abilitato all'invio + e alla ricezione di pacchetti TCP "raw" (non formattati, grezzi). + Per quanto riguarda gli utenti non privilegiati si deve ricorrere + alla system call connect(), la quale viene lanciata su ogni porta + di destinazione. Questo ha l'effetto di inviare pacchetti SYN + all'host di destinazione come per stabilire una connessione. Se la + connect() ritorna rapidamente con un messaggio di successo o con + un messaggio di errore ECONNREFUSED significa che lo stack TCP + sottostante deve aver ricevuto un SYN/ACK o un RST e l'host viene + marcato come disponibile. Se il tentativo di connessione viene + lasciato in sospeso fino al raggiungimento di un certo timeout + l'host e` marcato come down o non disponibile. Questa scorciatoia + si usa anche per le connessioni IPv6, poiche` la costruzione di + pacchetti IPv6 raw non e` ancora supportata in Nmap. + + + + + (TCP ACK Ping) + + + Il ping TCP ACK e` molto simile al ping SYN appena discusso. + La differenza, come si puo` facilmente indovinare, consiste nel + fatto che viene sollevato il flag TCP ACK al posto del SYN. Un + tale paccketto ACK finge di confermare dei dati inviati in una + connessione TCP gia` stabilita, anche se tale connessione non + esiste. In questo modo un host remoto rispondera` sempre con un + pacchetto RST, svelando cosi` la propria esistenza e il fatto che + siano attivi. + + L'opzione usa la stessa porta di + default del SYN probe (ovvero la porta 80) e puo` ricevere in + input un elenco di porte di destinazione nello stesso formato. Se + un utente non privilegiato tenta quest'approccio, o se viene + specificato un target IPv6, si usa la scorciatoia della connect() + spiegata in precedenza. Questa strategia della connect() non e` + ottimale perche` in ogni caso la connect() invia un paccketto SYN + e non un ACK. + + La ragione per offrire entrambi i tipi di probe (SYN e ACK) + e` quella di massimizzare le possibilita` di bypassare firewall. + Molti amministratori configurano router e semplici firewall per + bloccare pacchetti SYN in arrivo tranne quelli destinati a servizi + pubblici come il sito web aziendale o il mail server. Questo + impedisce ogni altro tipo di connessione in entrata garantendo al + tempo stesso agli utenti di effettuare connessioni verso l'esterno + senza incontrare ostacoli. Questo approccio "non-stateful" + utilizza poche risorse sul firewall/router ed e` largamente + supportato da filtri software e hardware. (per "non-stateful" si + intende in questo caso la capacita` di un firewall di tenere + traccia delle connessioni che lo attraversano, NdT). Il firewall + di GNU/Linux conosciuto come Netfilter/iptables offre l'opzione + per implementare questo approccio + "stateless". Quando un firewall implementa regole di questo tipo, + un probe SYN () viene facilmente bloccato + quando viene mandato ad una porta chiusa. In tali casi un probe + ACK passa indisturbato come se non vi fossero quelle + regole. + + Un altro tipo comune di firewall utilizza regole "stateful" + che lasciano cadere ("drop") pacchetti non attesi. Questa + caratteristica era inizialmente disponibile solo su firewall di + fascia alta, anche se e` diventata sempre piu` comune nel corso + degli anni. Il sistema Netfilter/iptables supporta questa mediante + l'opzione , la quale marca pacchetti a + seconda dello stato della connessione. Un probe SYN funzionera` + piu` facilmente verso un tale sistema, poiche` pacchetti ACK non + attesi sono generalmente riconosciuti come non validi e lasciati + cadere. Una soluzione a questa situazione poco piacevole e` quella + di inviare emtrambe le tipologie di probe specificando le opzioni + e . + + + + + (UDP Ping) + + + Un'altra opzione di host discovery e` il ping UDP, il quale + manda un pacchetto UDP vuoto alle porte indicate(a meno che non + venga specificata l'opzione ). + L'elenco di porte va specificato nello stesso formato gia` + discusso in precedenza nelle opzioni e + . Se non si specifica alcuna porta viene usata + la 31338 di default. Questo valore puo` essere impostato durante + la compilazione cambiando il parametro DEFAULT_UDP_PROBE_PORT nel + file nmap.h. Si usa di + default una porta poco comune perche` inviare dati ad una porta + gia` aperta e` spesso non desiderabile per questo tipo particolare + di scansione. + + Una volta raggiunta una porta UDP chiusa sulla macchina di + destinazione, il probe UDP dovrebbe provocare un pacchetto ICMP di + "port unreachable" (porta irraggiungibile). Questo indica a Nmap + che l'host e` funzionante e disponibile. Altri tipi di pacchetti + ICMP di errore, come ad esempio host o rete "unreachable" (non + disponibile) o "TTL exceeded" (superato il tempo di vita del + pacchetto) indicano un host non funzionante o irraggiungibile. Una + mancanza di risposta viene interpretata alla stessa maniera. Se si + raggiunge una porta aperta la maggior parte dei servizi + semplicemente ignorano il pacchetto vuoto e non rimandano alcuna + risposta. Questo spiega perche` il probe di default e` la porta + 31338, la quale si usa molto raramente. Pochi servizi, tra i quali + "chargen", rispondono a un pacchetto UDP vuoto, rivelando cosi` a + Nmap la disponibilita` della macchina in questione. + + Il vantaggio primario di questo tipo di scansione e` che + riesce a bypassare firewall e filtri che controllano solo + pacchetti TCP. Ad esempio, una volta avevo un router a banda larga + wireless Linksys BEFW11S4. L'interfaccia esterna di questa + periferica filtrava tutte le porte TCP di default, ma i probee UDP + provocavano messaggi di "port unreachable" rivelando cosi` + l'esistenza della device. + + + + + ; ; + (ICMP Ping Types) + + + In aggiunta ai meno comuni tipi di host discovery TCP e UDP + discussi in precedenza, Nmap puo` anche mandare i pacchetti + standard come il famoso programma ping. Nmap manda un pacchetto ICMP + type 8 ("echo request") all'indirizzo IP di destinazione, + aspettandosi un type 0 ("echo reply") di ritorno dagli host + disponibili. Sfortunatamente per chi deve scoprire la topologia di + una rete, molti host e firewall ora bloccano questo tipo di + pacchetti anziche` rispondere come richiesto dall'RFC 1122. + Per questa ragione le scansione basate solo su ICMP sono raramente + abbastanza affidabili nei riguardi di destinzioni sconosciute su + Internet. Tuttavia per i sistemisti di rete che devono tenere + sotto controllo una rete interna, esse possono essere un approccio + pratico ed efficiente. Si usi l'opzione per + abilitare questo comportamento di echo request. + + Mentre la "echo request" e` la richiesta standard del ping + ICMP, Nmap non si ferma qui. Lo standard ICMP (RFC 792) + specifica inoltre i pacchetti "timestamp request", "information + request" e "address mask request" (rispettivamente "richiesta di + timestamp", ovvero data e ora, "richiesta di informazioni" e + "richiesta della maschera di rete") mediante i codici ICMP 13, 15 + e 17. Mentre lo scopo dichiarato di questo tipo di richieste e` + quello di sapere informazioni quali la maschera di rete e l'ora + corrente, essi possono facilmente essere usati per l'host + discovery. Un sistema che risponde e` funzionante e disponibile. + Nmap non implementa allo stato attuale pacchetti di information + request, poiche` in genere non sono supportati comunemente. L'RFC + 1122 specifica che un host NON DOVREBBE implementare questi + messaggi. (il maiuscolo negli RFC indica comportamenti + precisi). Il timestamp (data e ora) e le richieste di maschera di + rete possono essere inviate rispettivamente mediante le opzioni + e . Una risposta di tipo + timestamp (codice ICMP 14) o di tipo address mask (codice 18) + rivela che un host e` disponibile. Queste due richieste possono + essere utili qualora un amministratore dovesse bloccare i + pacchetti di "echo request" ma dimenticarsi che altre query ICMP + possono essere usate per lo stesso scopo. + + + + + (ARP Ping) + + + Una delle situazioni piu` comuni di utilizzo di Nmap e` la + scansione di una LAN ethernet. Nella maggior parte delle LAN, + specialmente quelle in cui viene usato il benedetto intervallo di + indirizzi privati specificato dall'RFC1918, la maggior parte degli + indirizzi IP e` inutilizzato. Quando Nmap prova ad inviare + pacchetti IP raw come le "echo request" ICMP, il sistema operativo + deve determinare l'indirizzo hardware (ARP) corrispodente + all'indirizzo IP di destinzione, in modo da poter indirizzare + correttamente il frame Ethernet. Questo e` spesso lento e + problematico, in quanto i sistemi operativi non sono stati scritti + prevedendo di dover fare milioni di richieste ARP verso host + inesistenti in un breve lasso di tempo. + + L'ARP scan lascia a Nmap e ai suoi algoritmi ottimizzati + l'incarico delle richieste ARP. Nel caso in cui si riceva una + risposta, Nmap non si deve neanche preoccupare dei ping basati su + ICMP perche` a questo punto sa gia` che l'host e` raggiungibile. + Questo rende l'ARP scan molto veloce e molto piu` affidabile delle + normali scansioni basate su IP. Questo e` il comportamento di + default quando si deve effettuare uno scan su host che Nmap + riconosce come presenti nella rete locale. Anche se vengono + specificati differenti tipi di ping (come o + ), Nmap usa comunque ARP per ogni target che + e` sulla stessa LAN. Se non si vuole assolutamente un ARP scan, + specificare l'opzione . + + + + + (No DNS resolution) + + + Indica a Nmap di non effettuare mai una + risoluzione inversa del nome mediante DNS sull'indirizzo IP + rilevato. Poiche` il DNS e` spesso lento, questo rende l'intero + processo di scansione piu` veloce. + + + + + (DNS resolution for all targets) + + + Indica a Nmap di effettuare sempre la + risoluzione inversa dei nomi mediante DNS. Generalmente questo + viene effettuato solo quando un host viene rilevato come + attivo. + + + + + (Use system DNS resolver) + + + Di default Nmap risolve gli indirizzi IP mandando richieste + direttamente ai name servers (server dei nomi) configurati sulla + macchina su cui e` in esecuzione Nmap. Molte richieste (spesso + dell'ordine delle dozzine) sono effettuate in parallelo per + migliorare le performance. Si specifichi quest'opzione se si vuole + usare il proprio DNS (richiedendo un indirizzo IP alla volta + usando la system call getnameinfo() ). Questo e` piu` lento e + raramente utile a meno che non ci sia un bug nel codice di + risoluzione dei nomi di Nmap -- per favore si contattino gli + sviluppatori se questo e` il caso. Il resolver di sistema e` + sempre usato per le scansioni su IPv6. + + + + + + + + (Server da usare per le reverse DNS query) + + + --dns-servers + + Di default Nmap cerchera` di determinare i server DNS da usare per le reverse query usando il file resolv.conf (UNIX) o il registro (Win32). In alternativa si puo` usare quest'opzione per indicare server alternativi. Tuttavia quest'opzione viene ignorata nel caso si specifichi anche o una scansione IPv6. L'uso di piu` server DNS e` spesso piu` veloce e meno visibile rispetto all'uso di un unico server DNS. Le performance migliori si ottengono spesso specificando tutti i server DNS authoritative per lo spazio IP di destinazione. + + + + + + + + + + + Fondamenti di port scanning + + Nonostante Nmap nel corso degli anni abbia ampliato le proprie + funzionalita`, inizio` come un port scanner e tale resta la sua funzione + di base. Il semplice comando nmap + target effettua una scansione si + piu` di 1660 porte TCP sull'host target. + Mentre molti port scanner considerano tutte le porte chiuse o aperte, + Nmap e` molto piu` preciso. Divide le porte in sei categorie o stati: + open (aperta), closed (chiusa), filtered (filtrata), unfiltered (non filtrata), open|filtered (aperta|filtrata), o closed|filtered (chiusa|filtrata). + + Questi stati non sono proprieta` intrinseche delle porte stesse, + ma descrivono come Nmap le vede. Ad esempio, uno scan Nmap proveniente + dalla stessa rete nella quale risiede l'obbiettivo puo` mostrare la + porta 135/tcp come aperta, mentre una scansione nello stesso momento con + gli stessi parametri ma proveniente da Internet puo` mostrare quella + stessa porta come filtered. + + + I sei stati nei quali Nmap classifica le porte + + open (aperta) + Un'applicazione accetta attivamente su questa porta + connessioni TCP o UDP. La ricerca di questo tipo di porte e` + spesso l'obbiettivo primario del port scanning. Chi si dedica alla + sicurezza sa che ogni porta aperta e` una strada verso un attacco. + Gli attaccanti e i tester di sicurezza (penetration testers, + conosciuti anche come "pen-testers", NdT) hanno come obbiettivo + quello di trovare e trarre vantaggio dalle porte aperte, mentre + d'altro canto gli amministratori di rete e i sistemisti provano a + chiuderle o a proteggerle con firewall senza limitare gli utenti + autorizzati al loro uso. Le porte aperte sono anche interessanti + per le tutta una serie di scansioni non indirizzate unicamente + alla sicurezza, perche` mostrano che servizi sono disponibili in + una rete. + + + closed (chiusa) + Una porta chiusa e` accessibile (riceve e risponde ai + pacchetti di probe di Nmap) ma non vi e` alcuna applicazione in + ascolto su di essa. Esse possono rendersi utili nel mostrare che + un host e` attivo su un indirizzo IP (durante l'host discovery o + il ping scanning) o in quanto parte integrante dell'Operating + System discovery. Poiche` una porta chiusa e` raggiungibile, puo` + essere interessante effettuare una scansione piu` tardi nel caso + alcune vengano aperte. Chi amministra una macchina o una rete puo` + voler bloccare tali porte con un firewall - ed in questo caso esse + apparirebero come filtrate, come mostrato in seguito. + + + filtered (filtrata) + In questo caso Nmap non puo` determinare con esattezza se la + porta sia aperta o meno, perche` un filtro di pacchetti impedisce + ai probe di raggiungere la porta. Questo filtro puo` esser dovuto + a un firewall dedicato, alle regole di un router, o a un firewall + software installato sulla macchina stessa. Queste porte forniscono + poche informazioni e rendono frustrante il lavoro dell'attaccante. + A volte esse rispondono con un messaggio ICMP del tipo 3, codice + 13 ("destination unreachable: communication administratively + prohibited", ovvero "destinazione non raggiungibile: comunicazione + impedita da regole di gestione"), ma in genere sono molto piu` + comuni i filtri di pacchetti che semplicemente ignorano i + tentativi di connessione senza rispondere. Questo obbliga Nmap a + riprovare diverse volte, semplicemente per essere sicuri che il + pacchetto non sia stato perduto a causa di una congestione di rete + o di problemi simili piuttosto che dal firewall o dal filtro + stesso. Questo riduce drammaticamente la velocita` della + scansione. + + + unfiltered (non filtrata) + Lo stato "unfiltered" indica che una porta e` accessibile, + ma che Nmap non e` in grado di determinare se sia aperta o chiusa. + Solo la scansione di tipo ACK, usata per trovare e classificare le + regole di un firewall, posiziona una porta in questo stato. Una + scansione di porte in questo stato ("non filtrate") mediante altri + tipi di scansione come il Window scan (scan per finestre di + connessione), il SYN scan o il FIN scan aiuta a determinare se la + porta sia aperta o chiusa. + + + open|filtered (aperta|filtrata) + Nmap posiziona le porte in questo stato quando non e` in + grado di determinare se una porta sia aperta o filtrata. Questo + accade in quelle scansioni per le quali una porta aperta non + risponde in alcun modo. La mancanza di informazioni puo` + significare inoltre che un filtro di pacchetti ha lasciato cadere + ("drop") il probe o qualsiasi risposta sia stata generata in + seguito a questo. Scansioni che classificano porte in questo stato + sono le scansioni IP, UDP, FIN, Null, e Xmas. + + + closed|filtered (chiusa|filtrata) + Questo stato e` usato quando Nmap non e` in grado di + determinare se una porta sia chiusa o filtrata. Esso viene usato + solo per l'IPID Idle scan. + + + + + + Tecniche di Port Scanning + + Un neofita inesperto che cerca di aggiustarsi l'automobile puo` + arrovellarsi per ore cercando di usare i pochi strumenti che ha + (martello, nastro isolante, pinza, eccetera) per cio` che deve fare. Una + volta che si e` arreso dopo l'ennesimo fallimento e si e` deciso a + portare il proprio veicolo da un vero meccanico, ecco che questi + inevitabilmente si mette a cercare in una gigantesca cassetta degli + attrezzi estraendone il "coso" perfetto per fare quel lavoro senza + alcuno sforzo. L'arte del port scanning e` molto simile. Chi e` esperto + capisce e conosce tutte le tecniche e sceglie quella appropriata (o una + combinazione appropriata) per un certo lavoro. Utenti inesperti o script + kiddes, d'altro canto, provano a risolvere ogni problema con la + scansione SYN di default. Poiche` Nmap e` free (in lingua inglese + significa sia "libero" che "gratuito", e per questo e` lasciato + inalterato, NdT) l'unico limite alla capacita` di fare port scanning e` + solo la conoscenza. Questo lo rende sicuramente piu` accessibile del + mondo delle automobili, dov'e` richiesta non solo una notevole abilita` + per sapere che serve uno specifico strumento, ma e` anche necessario + andarselo a comprare. + + La maggior parte delle scansioni e` disponibile solo per gli + utenti privilegiati. Questo e` dovuto al fatto che esse inviano e + ricevono pacchetti "raw" (non formattati o "grezzi", ovvero semplici + stringhe di bit), i quali richiedono accesso di root su sistemi UNIX. + L'uso di un account di amministrazione su Windows e` raccomandato, + nonostante Nmap a volte funzioni anche per gli utenti non privilegiati + quando WinPcap e` gia` stato caricato nel sistema operativo. Nel 1997, + quando Nmap venne rilasciato, la necessita` di avere privilegi di root + era una seria limitazione perche` molti utenti avevano solo accesso ad + account su macchine che davano semplici shell non privilegiate. Ora il + mondo e` cambiato: i computer sono piu` economici, molta piu` gente ha + una connessione a Internet diretta e sempre attiva, e i sistemi UNIX per + desktop (includendo tra questi macchine Linux o OS X) sono ormai la + maggioranza tra gli UNIX. Per tutte queste ragioni gli utenti hanno + sempre meno necessita` di usare Nmap da account limitati - il che non fa + che migliorare la situazione, poiche` le opzioni privilegiate fanno di + Nmap uno strumento molto piu` potente e flessibile. + + Nonostante Nmap faccia del proprio meglio per produrre risultati + accurati, si tenga in mente che tutte le sue conclusioni sono basate su + pacchetti che tornano indietro dalle macchine di destinazione (o dai + firewall che le proteggono). Tali host possono essere inaffidabili o + ritornare risposte mirate proprio a confondere e sviare Nmap. Sono molto + piu` comuni inoltre host che non rispettano gli RFC e che non rispondono + come dovrebbero ai tentativi di connessione di Nmap. Scansioni come FIN, + Null e Xmas sono particolarmente suscettibili a questo problema. Tali + problematiche sono specifiche a certi tipi di scansione ed in quanto + tali vengono discusse nelle sezioni individuali ad esse dedicate. + + Questa sezione documenta le molteplici tecniche di port scanning + supportate da Nmap. Si puo` usare solo un metodo per volta, a parte + l'UDP scan () che puo` essere combinato con con uno + qualsiasi dei TCP scan. Per ricordarsi le varie opzioni di port scan, + esse sono della forma , + dove C e` un carattere significativo del nome + della scansione - in genere il primo. L'unica eccezione a questa regola + generale e` il cosiddetto "FTP bounce scan" che viene tuttavia + sconsigliato (opzione ). Di default Nmap effettua un + SYN scan, usando la syscall connect() se l'utente non ha privilegi + sufficienti per mandare pacchetti raw (che richiede accesso di root su + UNIX), o se e` stato richiesto uno scan su obbiettivi su IPv6. Di tutte + le scansioni elencate di seguito, gli utenti non privilegiati possono + solo effettuare scansioni mediante connect() e "FTP bounce". + + + + (TCP SYN scan) + + + La SYN scan e` l'opzione di default ed e` la piu` usata per + buone ragioni. Puo` essere effettuata velocemente: effettua la + scansione su migliaia di porte al secondo su una rete veloce non + limitata da firewall intrisivi. La SYN scan e` relativamente poco + invasiva e nascosta, poiche` non completa mai connessioni TCP + complete. Funziona inoltre con ogni stack TCP compatibile e non + dipende sulle idiosincrasie di piattaforme specifiche come fanno + gli altri tipi di scan di Nmap quali Fin/Null/Xmas, Maimon e Idle + scan. Inoltre permette una differenziazione chiara ed affidabile + tra le porte appartenenti agli stati open (aperta) , closed, e filtered (filtrata). + + Questa tecnica e` spesso indicata come "scanning + semi-aperto" (tradotto letteralmente per esigenze di comprensione, + da "half-open scanning", NdT), perche` non viene aperta una + connessione TCP completa. Viene mandato un pacchetto SYN come se + si fosse sul punto di aprire una connessione reale e si attende + una risposta. Un SYN/ACK indica che la porta e` in ascolto + (aperta), mentre un RST (reset) indica che la porta non e` in + ascolto. Se non viene ricevuta nessuna risposta dopo diverse + ritrasmissioni la porta viene marcata come filtrata. La porta + viene marcata come tale anche se viene ricevuto un pacchetto di + errore "ICMP unreachable" (tipo 3, codici 1, 2, 3, 9, 10, + 13). + + + + + (TCP connect() scan) + + + La scansione di tipo TCP connect() e` la scansione TCP di + default dove la scansione SYN non e` un'opzione viabile. Questo e` + il caso in cui un utente non ha privilegi sull'invio di pacchetti + "raw" o se si sta lavorando su reti IPv6. Anziche` scrivere + pacchetti "raw" come in molti altri tipi di scansioni, Nmap + richiede al sistema operativo sottostante di stabilire una + connessione con la macchina di destinazione invocando la chiamat + di sistema connect(). Questo e` + la stessa chiamata di alto livello invocata per stabilire una + connessione da browser web, client p2p e molte altre applicazioni + orientate all'utilizzo in rete. Essa e` parte dell'interfaccia di + programmazione conosciuta come Berkeley Sockets API. Anziche` + inviare pacchetti "raw" direttamente sul cavo, Nmap usa questa API + per ottenere informazioni sullo stato di ogni tentativo di + connessione. + + Quand'e` possibile il SYN scan e` generalmente una scelta + migliore. Nmap ha meno controllo sulla syscall connect() rispetto ai pacchetti "raw", + rendendolo quindi piu` efficiente in quest'ultimo caso. La syscall + completa le connessioni alle porte aperte specificate anziche` + limitarsi al reset dovuto alla scansione semi-aperta del SYN scan. + Non solo questo approccio mediante connect() richiede un tempo + maggiore e piu` pacchetti per ottenere le stesse informazioni, ma + le macchine obbiettivo sono piu` propense a memorizzare la traccia + (log) della connessione. Inoltre un IDS (Intrusion Detection + System, sistema di controllo delle intrusioni) decente se ne + accorgera`. Tuttavia la maggior parte delle macchine non hanno + tali sistemi di allarme. Molti servizi sui propri sistemi UNIX + standard aggiungeranno una nota al syslog, e a volte un messaggio + di errore criptico, quando Nmap si connette e chiude la + connessione senza inviare dati di alcun tipo. Solo alcuni patetici + servizi andranno in crash in queste condizioni, nonostante non sia + comune. Un amministratore che dovesse vedere un insieme di + tentativi di connessioni provenienti da un singolo sistema sapra` + infine che e` vittima di un connect scan. + + + + + (UDP scans) + + + Mentre i servizi piu` comuni su Internet girano attraverso + il protocollo TCP, i servizi UDP sono + altrettanto diffusi. DNS, SNMP e DHCP (sulle porte registrate 53, + 161/162 e 67/68) sono tre dei piu` comuni. Poiche` lo scan su UDP + e` generalmente piu` lento e piu` difficoltoso di quello su TCP, + alcuni esaminatori di sicurezza ("security auditors") ignorano + questo tipo di porte. Cio` e` un errore, poiche` i servizi UDP + vulnerabili sono abbastanza comuni e un attaccante sicuramente non + ignorera` completamente questo protocollo. Fortunatamente Nmap + puo` aiutare ad enumerare le porte UDP. + + Lo scan UDP si attiva con l'opzione . + Esso puo` essere combinato con uno scan di tipo TCP come ad + esempio un SYN scan () per controllare + entrambi i protocolli nel corso della stessa sessione. + + Lo scan UDP funziona inviando pacchetti UDP vuoti (senza + dati ma formati solo dall'intestazione) ad ogni porta di + destinazioe. Se viene ritornato un errore ICMP di "port + unreachable" (tipo 3, codice 3) significa che la porta e` closed (chiusa). Altri errori ICMP di + tipo "unreachable" (irraggiungibile) come quelli del tipo 3, + codici 1, 2, 9, 10 o 13 andranno ad identificare la porta come + filtered (filtrata). Talvolta + un servizio rispondera` con un pacchetto UDP, dimostrando quindi + che lo stato della porta e` open (aperta). Se non viene ricevuta + alcuna risposta dopo alcune ritrasmissioni, la porta viene + classificata come open|filtered + (aperta|filtrata). Questo significa che la porta puo` essere + aperta o che probabilmente un filtro di pacchetti sta bloccando la + comunicazione. I version scan () possono + essere usati per aiutare a differenziare le porte veramente aperte + da quelle che sono filtrate. + + La sfida maggiore con l'UDP scan e` la velocita`. Le porte + aperte e filtrate raramente inviano qualche risposta, lasciando + Nmap in timeout e facendolo ritrasmettere per evitare il caso in + cui il probe o la risposta sia andato perduto. Le porte chiuse + sono spesso un problema ancora maggiore: esse generalmente + rimandano un pacchetto ICMP di "port unreachable error", ma a + differenza dei pacchetti RST rimandati dalle porte chiuse TCP come + rispota ad un SYN o Connect scan, molti host limitano il tasso di + invio di tali pacchetti di default. Linux e Solaris sono + particolarmente restrittivi da questo punto di vista. Ad esempio, + il kernel 2.4.20 limita i messaggi di "destination unreachable" a + uno al secondo (definito in net/ipv4/icmp.c). + + Nmap si accorge di questi limiti sulla frequenza di invio e + rallenta l'invio dei probe in maniera dinamica, per evitare di + intasare la rete con pacchetti inutili che la macchina di + destinazione ignorera` comunque. Sfortunatamente, un limite come + quello di Linux di un pacchetto al secondo rende una scansione su + 65 535 porte di una durata teorica di piu` di 18 ore. Suggerimenti + per rendere piu` veloce gli UDP scan sono quelli di effettuare + scansioni su piu` host in parallelo, o di fare uno scan veloce + preliminare sulle porte piu` usate, o ancora di effettuare la + scansione dall'interno del firewall, e infine di usare l'opzione + per evitare host troppo lenti nel + rispondere. + + + + + ; ; + (TCP Null, FIN, and Xmas scans) + + + Queste tre tipologie di scansione (e molte altre sono + possibili con l'opzione descritta + nella prossima sezione) sfruttano una piccola vulnerabilita` nell' + RFC del + protocollo TCP per distinguere tra le porte open (aperte) e closed (chiuse). A pagina 65 si dice che + se lo stato della porta [di destinazione] e` CHIUSO ... un + segmento in arrivo che non contiene un RST causera` l'invio di un + RST in risposta. La pagina successiva discute di + pacchetti inviati a porte aperte senza i bit di SYN, RST o ACK + impostati, indicando che: questa situazione e` decisamente + improbabile, ma se dovesse capitare i segmenti vanno ignorati e si + deve ritornare [alla funzione chiamante, NdT] + + Quando si scansionano sistemi aderenti a questo testo RFC, + qualunque pacchetto che non contenga i bit di SYN, RST, o ACK + causera` un RST di ritorno se la porta e` chiusa e nessuna + risposta se la porta e` aperta. Finche` questi tre bit sono + inclusi, qualunque combinazione di questi tre bit (FIN, PSH, e + URG) va bene. Nmap sfrutta questi tre tipi di scan: + + + + Null scan () + + + Non manda nessun bit (il tcp flag header e` 0) + + + + + FIN scan () + + + Setta solo il FIN. + + + + + Xmas scan () + + + setta FIN, PSH, e URG, accendendo il pacchetto come un + albero di natale. + + + + + Questi tre tipi di scan sono esattamente identici nel + comportamento ad eccezione delle attivazioni dei tre bit nei + pacchetti TCP usati per la verifica delle porte. Se viene ricevuto + un pacchetto RST, la porta e` considerata chiusa, mentre l'assenza + di risposta indica che la porta e` aperta o filtrata. La porta e` + marcata come filtrata se viene ricevuto un pacchetto ICMP + unreachable (tipo 3, codice 1, 2, 3, 9, 10, o 13). + + Il vantaggio sostanziale di questi tipi di scan e` che + possono penetrare in certi non-stateful firewalls e packet + filtering routers. Un altro vantaggio e` che questi tipi di + scansione sono un po` piu' invisibili anche dei SYN scan. In ogni + caso non e` corretto fare cieco affidamento su questo, gran parte + dei moderni prodotti IDS possono essere configurati in modo da + rilevarli. Il grande svantaggio e` che non tutti i sistemi seguono + alla lettera la RFC 793. Un buon numero di sistemi manda risposte + RST ai pacchetti di controllo indipendentemente dal fatto che le + porte siano aperte o chiuse. Questo causa il fatto che tutte le + porte appaiano come chiuse. I piu' diffusi sistemi operativi che + fanno questo sono Microsoft Windows, molti apparati Cisco, BSDI, e + IBM OS/400. Questo scan funziona applicato alla maggior parte dei + sistemi UNIX. Un altro svantaggio di questi scan e` che non + riescono a distinguere una porta aperta da quelle filtrate, dando + la risposta di open|filtered. + + + + + (TCP ACK scan) + + + Questo scan e` diverso dagli altri scan discussi fino ad + ora dal momento che non serve per determinare se le porte sono + aperte (o aperte|filtrate). E' usato per mappare le regole di + firewalling determinando se sono stateful o no e quali porte sono + filtrate. + + I pacchetti dell' ACK scan hanno soltanto la flag ACK + abilitata (a meno che non si usi ). + Mentresi scansionano sistemi non filtrati, sia le porte aperte che + le porte chiuse manderanno pacchetti RST. Nmap poi le cataloga + come non filtrate, nel senso che e` possibile raggiungerle con un + pacchetto ACK, ma che siano aperte o chiuse non e` determinabile. + Le porte che non rispondono, o mandano certi errori ICMP (tipo 3, + codice 1, 2, 3, 9, 10, o 13), sono etichettate come + filtrate. + + + + + (TCP Window scan) + + + Il window scan e` esattamente la stessa cosa di ACK scan, ad + eccezione del fatto che sfrutta un dettaglio di implementazione di + certi sistemi per differenziare le porte aperte e quelle chiuse, + invece di scrivere sempre non filtrata quando ritorna un RST. Lo + fa esaminando il campo TCP Windowdel pacchetto RST che ritorna. In + alcuni sistemi le porte aperte usano una grandezza della finestra + positiva (anche per i pacchetti RST), mentre nelle porte chiuse la + grandezza della finestra e` zero. Quindi, invece di catalogare + sempre le porte come non filtrate quando si riceve un RST di + ritorno, il Window scan lista le porte come aperte o chiuse a + seconda che il valore in quel RST (reset) e` positivo o pari a + zero rispettivamente. + + Questo scan fa affidamento a un dettaglio implementativo di + una minoranza di sistemi presenti in internet, segue che questo + non e` sempre affidabile. Nei sistemi in cui questo dettaglio + implementativo non sussiste, di norma lo scan segnalera` tutte le + porte chiuse. Sicuramente sara` possibile che la macchina non + abbia realmente nessuna porta aperta. Se la maggior parte delle + porte e` chiusa, e alcune porte comuni appaiono filtrate, il + sistema e` quasi sicuramente suscettibile a questo tipo di scan. + Occasionalmente, alcuni altri sistemi presenteranno un + comportamento esattamente opposto. Se lo scan risulta in 1000 + porte aperte e 3 chiuse, allora quelle saranno con ogni + probabilita` proprio quelle aperte. + + + + + (TCP Maimon scan) + + + Il Maimon scan e` stato nominato cosi` in onore al suo + scopritore, Uriel Maimon. Egli descrisse questa tecnica + nell'articolo #49 della rivista Phrack (Novembre 1996). Nmap, che + incluse questa tecnica, fu rilasciato due articoli dopo. Questa + tecnica esattamente uguale ai Null, FIN e Xmas scan, ad eccezione + del fatto che i pacchetti di scansione sono FIN/ACK. In accordo + con la RFC 793 (TCP), un pacchetto RST dovrebbe venir generato in + risposta a tale stimolo. Ad ogni modo, Uriel noto` che in molti + sistemi derivati da BSD il pacchetto veniva scartato se la porta + era aperta. + + + + + (Custom TCP scan) + + + Gli utilizzattori molto avanzati di Nmap hanno necessita` di + non limitarsi semplicemente ad utiulizzare le scansioni tipiche + offete. L'opzione consente di + designare una scansione personalizzata specificando + arbitrariamente i flag TCP necessari. Liberate la vostra + inventiva, ed evitate cosi` che i vendor di Intrusion Detection + Systems trovino nuove regole da aggiungere ai loro sistemi + semplicemente sfogliando la "Man Page" di Nmap! + + I parametri dell'opzione + possono essere un valore numerico indicante i falg TCP, come ad + esepio 9 (PSH e FIN). L'utilizzo di nomi simbolici risulta + comunque piu` semplice. Una combinazione di URG, ACK, PSH, RST, SYN, e FIN. Per esempio, imposta tutti i flag, anche se non + risulta multo utilie al fine della scansione. L'ordine con cui + vengono specificati non e` rilevante. + + Oltre allo specificare i falg desidearti, e` possibile + indicare uno tipo di scansione TCP (come o + ). Questo specifica come Nmap deve + interpretare le risposte. Per esempio, un "SYN scan" considera la + mancanza di risposta come una ad indicare la porta filtered, mentre un "FIN scan" + interpreta lo stesso comportamento per identificare una porta + open|filtered. Nmap si + comportera` nello stesso modo che per la scansione normale, tranne + che per il fatto di interpretare i flag TCP che sono stati + diveramente specificarti. Se non viene indicata una diverso tipo + di cansione, viene automaticamente utilizzata la "SYN + scan". + + + + + + (Idlescan) + + + Questo metodo di scansione avanzato permette di effettuare + una scansione TCP completamente invisibile dell'obiettivo (ovvero + nessun pacchetto viene inviato dall'indirizzo IP reale da cui si + sta effettuando la scansione.) Viene diversamente utilizzato un + unico attacco parallelo che utilizza la predicibilita` dell'ID + relativo alla sequanza di frammentazione generato dallo "Zombie" + per ottenere informazioni sulle porte aperte. I sistemi IDS + intrepreteranno la scansione come se provenisse dalla macchina + "Zombie" specificata (e che deve rispondere a certi criteri). + Questa affascinante tecnica di scansione e` troppo complessa per + essere descritta a fondo in questa guida, per questa ragione ho + scritto e reso pubblico un documento informale contenente tutti i + dettagli al seguente url: . + + Oltre che essere straodrinariamente nascosto (grazie alla + sua natura "invisibile"), questo tipo di scansione permette di + creare una mappa indicante le relazioni tra le macchine da un + punto di vista dell'indirizzo IP. I risultati dalla scansione + mostrano le porte aperte dalla prospettiva + dell'indirizzo IP della macchina "Zombie". Risulta + cosi` possibile effettuare scansioni utilizzando diversi "Zombie" + che si ritiene possano attraversare router o sistemi con packet + filter. + + E' possibile aggiungere i due punti seguiti dal numero di + porta per l'host Zombie, se si vuole sondare una particolare porta + per vedere i cambiamenti nell'IPID. Diversamente Nmap utilizzera` + the porta che utilizza di default per i ping TCP (80). + + + + + (IP protocol scan) + + + "IP Protocol" permette di determinare che protocolli IP + (TCP, ICMP, IGMP, etc.) sono supportati dalla macchine su cui + viene effettuata la scansione. Non e` "Tecnicamente" un port scan, + dato che utilizza i numeri indicanti il protocollo IP e non i + numeri di porta TCP o UDP. Utilizza comunque ancora l'opzione + per scegliere il protocollo da scansionare e + riporta i risultati nel normale formato della tabella delle porte, + ed utilizza lo stesso engine sottostante al port scanning reale. + Per questo motivo e` profondamente analogo ad un port scan e viene + trattato in questa sezione. + + Oltre che essere intrinsicamente utile, il protocol scan + dimostra la potenza del software open source. Per quanto l'idea + fondamentale e` abbastanza semplice, non immaginavo di aggiungerla + fino a quando non avessi ricevuto richieste per questa + funzionalita`, Nell'estate del 2000, Gerhard Rieger concepi` + l'idea e scrisse un'eccellente patch che la implementasse, + spedendola poi alla mailing list nmap-hackers. Io incorporai + questa patch in Nmap e ne rilasciai una nuova versione il giorno + seguente. Alcuni software commerciali ebbero clienti talmente + soddisfatti da contribuire allo sviluppo di questa tecnica con i + loro miglioramenti! + + La "Protocol Scan" funziona in modo simile all'UDP Scan. + Invece di agire sul campo "port number" del pacchetto UDP, invia + un pacchetto contenente negli 8 bit dell'header IP relativi al + protocollo. Questi headers sono tipicamente vuoti, non contengo + dati e nemmeno l'header proprietario del protocollo dichiarato. Le + tre eccezioni sono: TCP, UDP e ICMP. Un header valido per queste + eccezioni viene incluso perche`, diversamente, alcuni sistemi non + li invierebbero e perche` Nmap e` gia` provvisto di funzioni per + crearli. Invece che cercare un messaggio di "ICMP port + unreachable", la "Protocol Scan" e` alla ricerca di un messaggio + "ICMP protocol unreachable". Se Nmap riceve + una qualunque risposta di qualunque protocollo dall'Host + scansionato, Nmap lo indica tale protocollo come open. Un errore "ICMP protocol + unreachable" (tipo 3, codice 2) fa si` che il protocollo sia + indicato come closed. Altri + errori di tipo "ICMP unreachable" (tipo 3, codice 1, 3, 9, 10, or + 13) fanno classificare il protocollo come filtered (Denotando, contestualmente, + che il protocollo ICMP e` open). Se non viene ricevuta alcuna + risposta, il protocollo e` identificato come open|filtered. + + + + + (FTP bounce + scan) + + + Un'interessante caratteristica del protocollo FTP (RFC 959) e` + il supporto per le cosi` chiamate "proxy ftp connections". Cio` + permette all'utente di connettersi al server FTP e richiedere che + il file sia inviato ad un differente FTP server. Tale + caratteristica si presta per vare tipologie di abuso, cosicche` + molti server hanno smesso di supportarla. Uno degli abusi + nell'utilizzo di questa peculiarita` e` la possibilita` far + effettuare al server FTP un port scan verso altri host. Basta + semplicemente richiedere al server FTP di inviare un file ad + ognuna delle porte che vogliamo scansionare Il messaggio di errore + ci permettera` di dedurre se la porta e` aperta o meno. Questo e` + un'ottimo modo per aggiare i firewall in quanto gli FTP aziendali + sono spesso posizionati nella rete cosi` da poter accedere a piu` + host interni di quanto sia possibile fare da Internet. Nmap + supporta la "ftp bounce scan" attraverso l'optione + . I parametri per tale opzione devono + rispettare il formato: + username:password@server:port. + Dove: Server e` l'hostname o + l'indirizzo IP di un FTP server vulnerabile a questo attacco. Come + in una URL normale, e` possibile omettere + username:password, + ed in tal caso verranno utilizzate credinziali anonime (user: + anonymous password:-wwwuser@). Il numero di porta (ed i due + punti che lo precedono) possono essere altresi` omessi, in tal + caso viene utilizzata la porta FTP di default (21) per la + connessione al server. + + Questa vulnerabilita` e` stata diffusa nel 1997 quando Nmap + e` stato rilasciato, ma e` stata risolta su gran parte dei + sistemi. Esistno alcuni server ancora vulnerabili, ed ha senso + provare ad utilizzarla quando ogni altra cosa fallisce. Se + l'obiettivo e` oltrepassare un firewall, e` necessario effettuare + una scansione sulla rete cercando di trovare la porta 21 aperta (o + anche cercando un servizio FTP su di una qualsiasi porta, + utilizzando la "Version Detection") e provare quindi un "FTP + Bounce Scan" su ognuno dei server individuati. Nmap sara` in grado + di evidenziare se un host e` vulnerabile o meno a questa tecnica. + Se si sta cercando semplicemente di nascondere le tracce, non vi + e` bisogno (e di fatto non si dovrebbe) di limitare la scansione + alla rete che realmente ci interessa. Prima di iniziare ad + effettuare scansioni su indirizzi Internet casuali e` bene tenere + presente che gli amministratori di sistema potrebbero non + apprezzare che i loro server siano soggetti a tali abusi. + + + + + + + Port Specification e Scan Order + + Oltre a tutti i metodi discussi in precedenza, Nmap offre la + possibilita` di specificare che porte devono essere scansionati e se + l'ordine delle porte da scansionare deve essere casuale oppure + sequenziale. Per defalult Nmap effettua la scansione di tutte le porte + fino alla 1024 inclusa e le porte superiori indicate nel file nmap-services relative ai protocolli + interessati dalla scansione. + + + + (Only scan specified + ports) + + + Questa opzione permette di ignorare le impostazioni di + default e di specificare quali porte si vogliono scansionare. E' + possibile indicare i singoli numeri delle porte, cosi` come gli + intervalli, indicati da un trattino (per esempio 1-1023). I primo + e/o l'ultimo valore di un intervallo puo` essere omesso, facendo + si` che Nmap utilizzi rispettivamente 1 e 65535. E' quindi + possibile utilizzare l'opzione per effettuare + la scansione delle porte da 1 a 65535. E' possibile effettuare + scansioni sulla porta zero se viene espressamente specificato. Nel + caso di un "IP Protocol Scan" (), questa + opzione indica il numero di protocollo che si desidera scansionare + (0-255). + + Quando si effettua una scansione di porte sia TCP che UDP, + e` possibile specificare un protocollo particolare anteponendo al + numero di porta T: o U:. Tale indicazione risulta valida sino + a che non ne viene indicata un'altra. Per esempio, l'opzione + effettua una + scansione delle porte 53, 111 e 137, sia per il protocollo UDP che + TCP. Si noti che per effettuare una scansione su entrambi i + protocolli UDP & TCP, e` necessario specificare l'opzione + e almeno un metodo di "TCP Scan" (Come + , , o + ). Se non viene indicato nulla, i numeri di + porta vengono aggiunti a tutte le liste dei protocolli. + + + + + (Fast (limited port) scan) + + + Indica che si intende effettuare la scansione delle sole + porte indicate nel file nmap-services che viene fornito con + Nmap. (Oppure utilizzando i file di protocollo indicati con + l'opzione ). Questo risulta molto piu` rapido + che non controllare tutte le 65535 porte su di un Host. Dato che + la lista contine comunque molte porte TCP (piu` di 1200) non vi e` + molta differenza rispetto ad una scansione TCP di defalut (circa + 1650 porte). La differenza risulta essere enorme se si utilizza un + file nmap-services creato + appositamente. Per indicare tale file si utilizza l'opzione + . + + + + + (Don't randomize ports) + + + Per default, Nmap effettua la scansione delle porte in + ordine casuale, (eccetto che per certe porte comuni che vengono + controllate tra le prime per motivi di efficenza). La scansione + delle porte in ordine casuale e` tipicamente un vantaggio, ma e` + possibile utilizzare l'opzione cosi` da + effettuare i controlli in ordine sequenziale. + + + + + + + Service e Version Detection + + Utilizzando Nmap e dirigendo la scansione su una macchina remota + e` possible scoprire che le porte 25/tcp 80/tcp, and 53/udp sono aperte. + Utilinzando il suo database di circa 2200 servizi noti, contenuto nel + file nmap-services, Nmap + probabilmente sara` in grado di indicare che ti tratta rispettivamente + di un Mail Server (SMTP), si un web server (HTTP), e di un name server + (DNS). Tale riconoscimento e` solitamente accurato -- la maggior parte + di demoni in ascolto sulla porta 25 sono, in effetti, Mail Server. Non + si comunuqe opportuno fidarsi ciecamente di tali indicazioni! E' infatti + possibile erogare servizi su porte non convenzionali. + + Anche se le indicazioni di Nmap sono corrette, e gli ipotetici + server sopracitati sono effettivamente SMTP, HTTP e DNA, queste + informazioni non sono esaustive. Quando si eseguono dei "vulnerability + assessments" (o anche semplicemente un inventario della rete) della + vostra societa` o di clienti, e` interessante sapere esattamente di che + mail e DNS server si tratta e quale versione e` in uso. Conoscere + accuratamente la versione del software e` di fondamentale importanza per + derminare a quali exploits e` vulnerabile il server. "Version Detection" + e` di grande aiuta nel ricercare queste informazioni. + + Al momento dell'identificazione delle porte TCP e/o UDP da parte + di uno dei vari metodi di scansione, il "Version Detection" interroga + queste porte per rilevare ulteriori dati sui servizi erogati. Il + database contenuto nel file nmap-service-probes contiene instruzioni per + interrogare i vari servizi e per intepretarne le risposte. Nmap cerca + quindi di terminare di che servizio si tratta (Es.: ftp, ssh, telnet, + http), di che applicazione (Es.: ISC, Bind, Apache httpd, Solaris + telnetd), la versione, l'hostname, il tipo di device, la famiglia del + sistema operativo (Es.: Windows, Linux...) e spesso altri dettagli come + l'apertura di un X server alle connessioni, la versione del protocollo + SSH, o l'untenza utilizzata da KaZaA. Ovviamente la maggior parte dei + serivizi non rilasciano tutte queste informazioni, ma se NMap viene + copilato il supporto per OpenSSL, sara` in grado di connettersi ai + server SSL per dudurre quale tipo di servizio viene offerto dietro al + suo "Encryption Layer". Quando i servizi RPC vengono identificati, Nmap + e` in grado di raffinare quanto rilevato () cosi` da + riconoscere versione e nome del servizio RPC. Alcune delle porte UDP + vengono indicate come open|filtered + se un "UDP Port Scan" non e` in grado di derminare con precisione se la + porta e` open o filtered. "Version Detection" cerchera` di ottenere una + risposta da queste porte (esattamente come per le porte aperte), e + modifichera` lo stato in "Open" se ci riuscira`. Le porte open|filtered vengono trattate nello stesso + modo. Bisogna tener presente che l'opzione abilita, + fra le varie cose, il Version Detection. E' disponibile un documento sul + funzionamento e sull'utilizzo nonche` sulla personalizzazione del + "Version Detection" e` disponibile al seguente indirizzo: . + + Quando Nmap riceve delle risposte da un Servizio ma non e` in + grado di trovarne una iterpretazione nel suo database, visualizza una + particolare "FingerPrint" e una URL per permettere di inviare quanto + rilevato nel caso si conosca a priori che cosa sta effettivamente + girando su quella porta. E' importante perdere qualche minuto per + effettuare l'invio di questi dati quando possibile perche` cosi` facendo + chiunque in futuro potra` benificiare dei dati raccolti e riconoscere + anche questo serizio. Grazie a questo sistema Nmap e` in grado di + identificare circa 3.000 differenti varianti per piu` di 350 protocolli + come smtp, ftp, http, ecc. + + "Version Detection" viene attivato e controllato dalle seguenti + opzioni: + + + + (Version detection) + + + Abilita il "Version Detection", come precedentemente + illustrato. In alternativa, e` possibile utilizzare l'opzione + per attivare sia "OS Detection" che "Version + Detection". + + + + + (Non esclude alcuna porta dal + Version Detection) + + + Normalmente, il Version Detection di Nmap non invia + pacchetti alla porta TCP 9100 poiche` alcune stampanti accettano e + stampano direttamente qualunque dato ricevuto su questa porta. Se + tale porta fosse sottoposta a scansione, verrebbero stampate + decine di pagine contenenti richieste HTTP get, puri dati binari, + sessioni SSL e via discorrendo. E' possibile cambiare il + comportamento del Version Detection di NMap con la modifica o la + rimozione della direttiva Exclude nel file nmap-service-probes oppure specificando + l'opzione cosi` da effettuare la + scansione di tutte le porte, indipendentemente da quanto indicato + nella direttiva Exclude. + + + + + + (Imposta l'accuratezza del Version Scan) + + + Quando si effettua un Version Scan (), + NMap invia una serie di pacchetti-sonda, ognuno delle quali ha + assegnato un valore compreso tra 1 e 9. I pacchetti con valore + piu` basso sono in grado di riconoscere i servizi comunemente + diffusi, mentre quelli con valori piu` alti sono raramente + necessari. Il livello di accuratezza specifica quali + pacchetti-sonda devono essere impiegati; piu` alto e` il livello, + piu` e` probabile che il servizio venga correttamente + identificato. D'altro canto, piu` una scansione e` accurata e piu` + tempo sara` necessario. I valori devono essere compresi tra 1 e 9; + il valore di default e` 7. Quando viene assegnato direttamente un + pacchetto-sonda ad una porta utilizzando la direttiva ports nel file nmap-service-probes, esso viene + utilizzato indipendentemente dal valore indicato per l'accuratezza + del Version Scan. Questo garantisce, per esempio, che ogni volta + che viene trovata la porta 53 aperta vengano effettuati i + controlli specifici per il DNS; cosi` come in caso di porta 443 + vengano invece utilizzati quelli per l'SSH e cosi` via. + + + + + (Attiva la modalita` + Light) + + + Questa opzione e` equivalente alla + . Questa modalita` rende il + Version Scanning drasticamente piu` veloce, riducendone pero` la + capacita` di identificare accuratamente i servizi. + + + + + (Prova ogni singolo + pacchetto-sonda) + + + Questa opzione e` equivalente alla + , assicurando che ogni + singolo pacchetto-sonda venga utilizzato su ogni singola + porta. + + + + + (Evidenzia l'attivita` del + Version Scan) + + + Indica a Nmap di visualizzare informazioni di debug estese + relative all'attivita` del Version Scanning. E' un subset di + quanto si ottiene con l'opzione + . + + + + + (RPC scan) + + + Questo metodo lavora in congiuntamente agli altri metodi di + scansione delle porte, riversando su ogni singola porta TCP o UDP + trovata aperta i comandi NULL di SunRPC, cercando cosi` di + determinare se le porte analizzate sono RPC o meno e, nel caso, + quale programma e versione utilizzano. E' cosi` possibile ottenere + le stesse informazioni rilevate dal comando rpcinfo -p anche se l'host indagato e` + dietro un firewall (o protetto da TCP wrappers). Al momento la + scansione Decoys non funziona con l'RPC Scan Viene automaticamente + abilitato come parte del Version Scan () se + indicato. Visto che Version Detection impiega tale sistema, che e` + molto piu` completo, l'opzione e` raramente + necessaria. + + + + + + + OS Detection + + Una delle piu` famose caratteristiche di NMap e` la possibilita` + di identificare remotamente il sistema operativo di un host attraverso + il "Fingerprint" dello stack TCP/IP. Nmap invia una serie di pacchetti + TCP ed UDP all'Host Remoto ed esamina ogni bit ricevuto in risposta. + Dopo aver effettuato decine di test come il "TCP ISN sampling", il "TCP + option support and ordering", il "IPID Sampling" ed il controllo del + Window Size iniziale, NMap compara i risultati con il suo database + (nmap-os-fingerprints) contenente + piu` di 1500 "OS Fingreprints" conosciuti e ne visualizza i dettagli se + ne trova riscontro. Ogni fingerprint comprendo una descrizione del + sistema operativo ed una classificazione che tale da indicare il Vendor + (per esempio Sun), il sistema operativo (per esempio Solaris), la + versione (per esempio 10) ed il tipo di device (per esempio "general + purpose", router, switch, "game console" ecc). + + Se NMap non e` in grado di indovinare il sistema operativo di una + macchina e le condizioni sono propizie (almeno una porta trovata aperta + ed una trovata chiusa), NMap fornira` una URL che potra` essere + utilizzata per inviare la FingerPrint (nel solo caso che si conosca con + certezza il sistema operativo dell'host in questione) Inviando queste + FingerPrint e` possibile contribuire ad ampliare la gamma di sistemi + operativi conosciuti da NMap, cosi` da rendelo piu` accurato per + tutti. + + OS Detection abilita diversi altri test che utlizzano le + informazioni che sono state ottenute durante questo processo. Una di + queste e` la misura dell'UpTime, che sfrutta l'opzione TimeStamp (RFC + 1323) per indovinare quando una macchina ha effettuato l'ultimo reboot. + Questo e` riportato solo per quelle macchine che forniscono tale + informazione. Un'altra e` la "TCP Sequence Predictability + Classification", che misura approssimativamente quanto e` stato + complesso stabilire una "Forged TCP Connection" verso un host remoto. E' + utile per sfruttare exploit basati sul controllo del SourceIP (rlogin, + filtri firewall, ecc.) o per nascondere la sorgente di un attacco. + Questo tipo di spoofing e` attualmente utilizzato di rado, ma molte + macchine sono tuttora vulnerabili ad esso. Il numero indicante la + "difficulty" e` basato su campionamenti statistici e puo` fluttuare. E' + generalmente preferibile utilizzare la classificazione verbale, come + worthy challenge oppure trivial joke. Tale + indicazione e` riportata nel normale output in modalita` "Verbose" + () Quando la modailita` "Vervose" e` utilizzata + congiuntamente all'opzione , anche la sequenza di + generazione dell'IPID viene riportata. La maggior parte delle macchine + e` nella classe incremental, il che significa che + incrementano il campo ID dell'Header IP per ogni pacchetto inviato. Cio` + le rende vulnerabili a diversi attacchi avanzati di spoofing ed + "Information Gathering". + + Un documento riguardante il funzionamento, l'utilizzo e la + personalizzazione del "Version Detection" e` disponibile tradotto in + oltre una dozzina di lingue: . + + OS detection viene attivato e controllato dalle le seguenti + opzioni: + + + + (Enable OS detection) + + + Abilita l'OS detection, come descritto sopra. In + alternativa, e` possibile utilizzare l'opzione + per attivare sia l'OS detection che il version detection. + + + + + (Limit OS detection to + promising targets) + + + L'OS detection e` molto piu` efficace se vengono rilevate + almeno una porta aperta ed una chiusa. Utilizzando questa opzione + NMap non cerchera` di effettuare la OS Detection su quegli host + che non rispondo a questo criterio. E' cosi` possibile un + sensibile risparmio di tempo, specialmente se si utilizza anche + l'opzione su molti host. E' importante + unicamente quando l'OS Detection e` richiesto attravero le opzioni + o . + + + + + ; + (Guess OS detection results) + + + Quando NMap non e` in grado di rilevare una corrispondenza + esatta dell'OS, propone come possibilita` gli OS piu` vincini alla + rilevazione. La corrispondenza pero` deve essere molto simile + perche` NMap lo faccia per default. Entrambe queste opzioni + (equivalenti) fanno si che NMap proceda con il riconoscimento + dell'OS in modo piu` aggressivo. + + + + + + + Performance + + Le performance sono sempre state una delle principali + priorita` durante lo sviluppo di Nmap. Una scansione + default(nmap + hostname) di un host in una + rete locale richiede circa un quinto di secondo, poco piu` di un + battito di ciglia. Tuttavia esso aumenta quando si sta effettuando + una scansione di decine o centinaia di migliaia di host. Inoltre + alcune opzioni di scan (come lo scan UDP e il version detection) o + alcune configurazioni di firewall (in particolare quelle che + limitano la frequenza delle risposte, conosciute come "response + rating") tendono ad aumentare decisamente il tempo di scansione. + Anche se Nmap usa tecniche di scansione in parallelo e molti altri + algoritmi piu` avanzati per diminuire il tempo totale impiegato, + l'utente ha comunque il controllo finale slle modalita` in cui Nmap + viene eseguito. Un utente esperto usera` quindi comandi specifici + per ottenere solo le informazioni di cui ha bisogno, restando pero` + all'interno della finestra temporale minima. + + Alcune tecniche per migliorare i tempi di scansione sono + l'omissione di test non rilevanti e l'aggiornamento all'ultima + versione di Nmap (questo perche` spesso gli aggiornamenti includono + miglioramenti delle performances). Anche ottimizzare i parametri di + timing e` un'ottima strategia per ottenere sostanziali differenze; + queste opzioni sono elencate di seguito. + + + +Alcune opzioni accettano il parametro time. Questo indica una quantita` di tempo in millisecondi (di default), ma e` possibile aggiungere 's', 'm' o 'h' per indicare secondi, minuti oppure ore. Ad esempio, per il parametro gli argomenti 900000, 900s e 15m hanno tutti lo stesso effetto. + + + + + ; + (Regola le + dimensioni dei gruppi per la scansione in parallelo) + + + Nmap ha l'abilita` di effettuare port scan o version + scan su piu` host in parallelo. Lo spazio degli indirizzi IP + di destinazione viene diviso in gruppi e viene scansionato un + gruppo per volta. In genere gruppi di dimensioni maggiori + porta ad una migliore efficienza. Il lato negativo di tutto + cio` e` i risultati non possono essere mostrati all'utente + fino a quando l'intero gruppo non e` stato esplorato + completamente. Quindi, se si lancia Nmap impostando la + dimensione del gruppo a 50, l'utente non vedra` alcun + risultato fino a quando i primi 50 host non sono stati + completati (a meno che non selezioni la modalita` + verbose). + + Di default, Nmap usa un compromesso per ovviare a questa + difficolta`. Inizialmente utilizza una dimensione di cinque + host in modo da mostrare i primi risultati velocemente, + dopodiche` incrementa la dimensione fino ad un massimo di + 1024. Il numero esatto dipende dalle opzioni che vengono + passate. Per ragioni di efficienza Nmap usa gruppi di + dimensione maggiore per UDP o per scansioni di porte TCP di + piccole dimensioni. + + nel caso in cui una dimensione massima del gruppo sia + specificata con , Nmap non + oltrepassera` mai questo limite. Specificando invece una + dimensione minima con + obblighera` Nmap a usare dimensioni almeno equivalenti. Nmap + potrebbe tuttavia dover usare gruppi piu` piccoli di quelli + indicati se non ci dovessero essere abbastanza host di + destinazione rimanenti per un'interfaccia per raggiungere la + minima quota specificata. Entrambe le opzioni possono essere + impostate per mantenere la dimensione del gruppo all'interno + di un certo limite, anche se questo succede raramente. + + L'utilizzo principale di queste opzioni e` quello di + specificare una dimensione minima di una certa dimensione in + modo da rendere piu` veloce la scansione globale. Una scelta + piuttosto comune e` 256 per una scansione di una rete di + classe C. Per una scansione con piu` porte, una dimensione di + 2048 o piu` puo` essere d'aiuto. + + + + + ; + + (Modifica il probe in parallelo) + + + Queste opzioni controllano il numero totale di probe che + puo` uscire dalla macchina sorgente per un host group. Esse + sono usate per port scanning e host discovery. Di default, + Nmap calcola un parallelismo ideale in continuo cambiamento a + seconda delle performance della rete. Se c'e` un elevato + numero di pacchetti che viene scartato, Nmap rallenta e lavora + su un numero minore di probe in uscita. Il numero ideale di + probe in uscita incrementa poi gradualmente fintantoche` la + rete lo permette. Di default, il parallelismo puo` arrivare ad + un minimo di 1 se la rete si dimostra essere poco affidabile; + puo` invece aumentare a diverse centinaia per una rete in + condizioni ottimali. + + L'uso piu` comune consiste nell'impostare + ad un valore maggiore di 1 + per accelerare le scansioni di reti o host che rispondono in + maniera non adeguata. E` abbastanza rischioso giocare con + quest'opzione, in quanto impostandola ad un valore troppo alto + puo` influire negativamente sull'accuratenzza. Impostandola + manualmente inoltre riduce l'abilita` di Nmap di controllare + dinamicamente il parallelismo, basandosi sulle condizioni + della rete. Un valore di 10 e` abbastanza ragionevole, anche + se in genere le modifiche a questo parametro vengono usate + come ultima risorsa. + + L'opzione viene + impostata a volte sul valore 1 per impedire a Nmap di inviare + piu` di un probe alla volta verso un determinato host. Questo + puo` essere d'aiuto quando usato insieme all'opzione + (discussa in seguito), anche se + quest'ultima in genere e` piu` che sufficiente da sola per lo + scopo. + + + + + , + , + + (Modifica i timeout dei probe) + + + Nmap mantiene un valore di timeout aggiornato per + determinare quanto ci vorra` per un probe response prima di + ritrasmettere il probe. Questo viene calcolato basandosi sui + tempi di response degli ultimi probe inviati. Se la latenza + della rete dovesse oscillare troppo questo timeout puo` + crescere fino ad un valore di diversi secondi. Inoltre esso e` + impostato inizialmente ad un valore abbastanza alto e potrebbe + restare su quel valore per tutto il tempo in cui Nmap effettua + la scansione su host che non rispondono. + + Le seguenti opzioni prendono come parametro un valore + espresso in millisecondi. Specificando limiti di + e di + inferiori ai valori di + default e` possibile ridurre di molto i tempi di scansione. + Questo e` vero in particolare per scansioni di tipo "pingless" + (opzione , ovvero senza effettuare un ping + preliminare) e nei confronti di reti particolarmente protette. + Tuttavia, e` bene non esagerare; infatti la scansione puo` + addirittura richiedere piu` tempo del previsto nel caso in cui + si specifichi un valore talmente basso da resettare il timeout + dei probe (e forzarne un nuovo invio) mentre la risposta sta + ancora arrivando. + + Se tutti gli host sono su una rete locale, 100 + millisecondi e` un valore ragionevolmente aggressivo per + l'opzione . Se nella + scansione e` coinvolto qualche routing, sarebbe meglio + effettuare un ping preliminare dell'host (con l'utility ICMP + ping o con un generatore di pacchetti come hping2 che puo` + penetrare un firewall piu` facilmente), e osservare poi il + valore massimo di andata/ritorno ("round trip") per un numero + di pacchetti non inferiore a 10. E` quindi consigliato + raddoppiare questo valore per l'opzione + e triplicarlo o + quadruplicarlo per l'opzione + . In genere si preferisce + non impostare il maximum rtt al di sotto di 100 millisecondi, + indipendentemente dai tempi di ping. E nemmeno al di sopra di + 1000 millisecondi. + + L'opzione e` usata + molto raramente; essa puo` essere utile nel caso in cui una + rete sia talmente poco affidabile che anche il default di Nmap + e` troppo aggressivo. Poiche` Nmap riduce il timeout fino al + valore minimo quando la rete sembra affidabile, questa + esigenza di solito non e` necessaria e dovrebbe essere + indicata come bug alla mailing list nmap-dev. + + + + + + (Abbandona in caso di host di destinazione troppo lenti nel + rispondere) + + + Alcuni host a volte richiedono un tempo estremamente + lungo per portare a termine una + scansione. Questo puo` essere dovuto a hardware o software + poco performante o inaffidabile o a firewall troppo + restrittivi. La minoranza degli host sottoposti a scansione + puo` richiedere la maggior parte del tempo di scansione. A + volte e` preferibile risparmiare sul tempo ed evitare questi + host fin dal principio. Questo comportamento viene forzato + dall'opzione seguito dal + numero di millisecondi dopo i quali non si vuole piu` + aspettare. In genere si specifica un valore di 1800000 per + avere la garanzia che Nmap non sprechi piu` di mezz'ora su un + singolo host. Si noti che Nmap puo` nel frattempo effettuare + la scansione su altri host durante quella mezz'ora, per cui + non si tratta di tempo completamente sprecato. Un host che + dovesse andare in timeout viene semplicemente saltato. Non + vengono mostrati l'elenco delle porte, il detection del + sistema operativo ne` risultati di version detection per + quell'host. + + + + + ; + (Modifica + il ritardo tra probe differenti) + + + Quest'opzione obbliga Nmap ad aspettare almeno il tempo + indicato (in millisecondi) tra i probe inviati ad un + determinato host. Questo risulta particolarmente utile nel + caso di limitazioni sulla frequenza dell'invio ("rate + limiting"). Tra gli altri, in particolare le macchine Solaris + in genere rispondono a scansioni UDP con un solo messaggio + ICMP al secondo. Qualsiasi altro probe inviato da Nmap durante + questo intervallo di tempo sarebbe quindi sprecato. Un'opzione + di di 1000 manterra` Nmap al di + sotto di questa particolare frequenza di invio di probe. Nmap + comunque cerchera` di capire eventuali limiti sulla frequenza + e modifichera` i ritardi sui probe di conseguenza, tuttavia + non e` cattiva abitudine specificarlo sulla linea di comando + quando dovesse essere noto a priori il valore ottimale. + + Un'altro uso dell'opzione + e` quello in cui si desidera evitare sistemi anti-intrusione + (IDS/IPS, "intrusion-detection" e "intrusion-prevention + system"). + + + + + + + +--defeat-rst-ratelimit + +Molti host usano da tempo delle funzionalita` di "rate limiting" (limitazioni alla frequenza) per ridurre il numero di messaggi di errore ICMP che mandano (ad esempio gli errori su "port-unreachable", porta non raggiungibile). Alcuni sistemi hanno iniziato ad applicare le stesse tecniche all'invio di pacchetti RST (reset). Queste tecniche possono rallentare di molto Nmap poiche` esso continuera` a calibrare la gestione dei timing per gestire queste limitazioni di frequenza. Si puo` quindi indicare a Nmap di ignorare questi rate limits (per i port scan come il SYN scan, che non considerano le porte silenziose come aperte) mediante l'opzione . + +L'uso di questa opzione puo` ridurre la precisione di uno scan, poiche` alcune porte potrebbero ritornare uno stato di non-risposta (Nmap non e` rimasto in attesa abbastanza a lungo a causa di meccanismi di rate-limiting dei pacchetti RST). Con una scansione di tipo SYN le porte "mute" (dalle quali non si e` ricevuto un RST) in questo caso vengono indicate con filtered piuttosto che chiuse. Quest'opzione e` utile solo quando si e` interessati alle porte aperte, e la distinzione tra porte open e closed non e` di alcun interesse rispetto al tempo che richiede. + + + + + + (Imposta un template di temporizzazione) + + + Mentre le opzioni mostrate nella precedente sezione sono + molto utili ed effettive nel caso in cui si voglia avere il + controllo piu` preciso possibile sul comportamento di Nmap, + alcuni potrebbero trovarle troppo complicate da usare. + Inoltre, la scelta dei valori piu` appropriati puo` a volte + richiedere piu` tempo della scansione che si sta cercando di + ottimizzare. Nmap offre quindi un approccio piu` semplice + mediante sei "timing templates", ovvero opzioni pre-impostate + per regolare l'aggressivita` della scansione. Esse si + specificano mediante l'opzione seguita dal + numero del template corrispondente o dal suo nome. Essi sono: + paranoico (0), furtivo (1), educato (2), normale (3), + aggressivo (4) e folle (5). I primi due vengono usati per + evitare i sopracitati sistemi anti-intrusione (IDS). La + modalita` "gentile" rallenta la scansione in modo da usare + meno banda e risorse sulla macchina bersaglio. La modalita` + "normale" e` di default (e pertanto l'opzione + non modifica nulla). La modalita` + "aggressiva" incrementa la velocita` assumendo che si e` su + una rete veloce ed affidabile. Infine la modalita` "folle" da` + per scontato che si e` su una rete estremamente veloce ed + affidabile o che si vuole sacrificare l'accuratezza in nome + della velocita`. + + Questi template consentono all'utente di specificare + quanto aggressivi si desidera essere, lasciando al tempo + stesso a Nmap il compito di scegliere i valori piu` + appropriati. I template inoltre effettuano piccoli + aggiustamenti sui timing per i quali non esistono opzioni che + ne consentono il controllo. Ad esempio, l'opzione + impedisce al ritardo dinamico per una + scansione di andare al di sotto della soglia dei 10 + millisecondi per le porte TCP, e l'opzione + limita questo valore a 5 millisecondi. I + template possono essere usati insieme a controlli piu` precisi + a patto che il template venga specificato per primo. + Altrimenti i valori impostati dal template potrebbero + sovrascrivere quelli specificati dall'utente. Si raccomanda di + usare l'opzione nel caso in cui si + desideri effettuare scansioni di reti abbastanza recenti e + affidabili; inoltre e` consigliabile mantenere quell'opzione + (intesa come inserita all'inizio dei comandi) anche qualora si + dovessero aggiungere controlli piu` precisi in modo da + beneficiare da tutti i piccoli miglioramenti che dovessero + intervenire. + + Se la propria connessione e` a banda larga o di tipo + ethernet, si raccomanda di usare sempre l'opzione + . Alcuni prediligono anche l'opzione + , nonostante per i piu` sia troppo + aggressiva. Altri a volte usano l'opzione + perche` credono che sia meno propensa a mandare in crash un + host o perche` si considerano persone educate. Spesso essi non + si rendono conto di quanto e` lenta l'opzione ; una scansione di questo tipo puo` impiegare + anche dieci volte il tempo richiesto per una scansione di + default. Crash di host e problemi di banda sono rari con le + opzioni di timing di default (opzione ) e + pertanto e` l'opzione consigliata a chi deve effettuare + scansioni senza dare troppo nell'occhio. Omettere una + scansione di tipo version detection e` molto piu` efficiente + del giocare con i valori di timing per ridurre i problemi + sopracitati. + + Mentre le opzioni e + potrebbero essere utili per evitare gli + allarmi di un IDS (sensore anti-intrusione), esse + richiederanno un tempo estremamente lungo per portare a + termine una scansione di migliaia di host o di porte. In una + situazione di questo tipo si suggerisce di lavorare sui valori + esatti di timing richiesti piuttosto che avvalersi delle + opzioni preimpostate nelle opzioni e + . + + Gli effetti principali dell'opzione + sono quello di serializzare la scansione in modo da affrontare + una sola porta alla volta, e al tempo stesso quello di + attendere cinque minuti tra l'invio di un probe e il + successivo. Le opzioni e + sono simili ma attendono rispettivamente + 15 secondi e 0.4 secondi tra un probe e l'altro. L'opzione + e` il comportamento di default di Nmap + (che include il parallelismo). L'opzione + ha lo stesso risultato dell'impostare + e di impostare il ritardo massimo per una + scansione TCP a 10 millisecondi. Infine l'opzione + e` equivalente a e ad impostare il massimo + ritardo TCP (maximum delay) a 5 millisecondi. + + + + + + + Bypassing e Spoofing di Firewall e Intrusion Detection System + (Firewall/IDS Evasion and Spoofing) + + Tanti pionieri dell'epoca di Internet immaginarono una rete + globale aperta con uno spazio di indirizzi IP universale, che + potesse consentire connessioni virtuali tra qualsiasi coppia di + nodi. Questo permette ad ogni host di diventare allo stesso tempo + fruitore e fornitore di informazioni da e per l'altro. Chiunque + poteva accedere dal lavoro a tutti i propri sistemi di casa, + regolando il termostato o aprendo la porta per un visitatore che + dovesse arrivare in anticipo. Questa visione di connettivita` + universale e` stata soffocata da carenze nello spazio di + indirizzamento e da preoccupazioni legate alla sicurezza. Nei primi + anni novanta le compagnie iniziarono a sviluppare firewall con lo + scopo di ridurre la connettivita`. Enormi reti vennero tagliate + fuori dall'Internet non filtrato da application proxy, NAT (Network + Address Translation) e packet filter (filtri di pacchetto). Il + flusso incontrollato delle informazioni lascio` il posto a regole + stringenti sui canali di comunicazione approvati e sul contenuto che + puo` transitare su di essi. + + Ostruzioni di rete come i firewall possono rendere la stesura + della topografia di una rete un lavoro fin troppo difficile. E non + migliorera` mai, perche` limitare le differenze che permettono di + distinguere tra un apparecchio e un altro e` spesso lo scopo + primario nella loro costruzione. Nondimeno, Nmap offre molte + caratteristiche che possono aiutare a capire tali reti complesse e a + verificare che i filtri impostati stiano funzionando come previsto. + Nmap include anche meccanismi per effettuare il bypassing di difese + poco robuste o mal implementate. Uno dei migliori metodi per capire + quant'e` sicura la propria rete e` proprio il cercare di forzarla. + Mettetevi nei panni di un attaccante, e usate le tecniche spiegate + in questa sezione contro le vostre reti. Lanciate una scansione "FTP + bounce", un "Idle scan", un "fragmentation attack", o provate a + entrare attraverso uno dei vostri proxy. + + In aggiunta alle restrizioni delle attivita` di rete, le + aziende stanno sempre piu` tenendo sotto controllo il traffico con + sistemi anti-intrusione (IDS). La maggior parte di questi IDS e` + configurato per accorgersi di una scansione di Nmap di default, + poiche` molto spesso l'attacco segue direttamente la scansione. + Molti di questi strumenti inoltre si sono evoluti in sistemi di + prevenzione delle intrusioni (IPS, "intrusion + prevention systems") che bloccano attivamente tutto il traffico che + potrebbe essere nocivo. Sfortunatamente per gli amministratori di + rete e per i produttori di IDS, pero`, rilevare cattive intenzioni + analizzando semplicemente i dati contenuti nei pacchetti e` un + problema difficile. Un attaccante con una buona dose di pazienza, + talento e l'aiuto di alcune opzioni di Nmap puo` generalmente + scavalcare un IDS senza esser visto. Allo stesso tempo un + amministratore ha a che fare con molti falsi positivi dovuti ad + intenzioni legittime che vengono erroneamente bloccati o per i quali + scattano allarmi. + + Ogni tanto qualcuno suggerisce che Nmap non dovrebbe fornire + opzioni per bypassare regole di firewalling o per sgusciare oltre + agli IDS. Essi asseriscono che queste caratteristiche sono usate + piu` facilmente da attaccanti piuttosto che da amministratori + attenti alle problematiche di sicurezza. Il problema con questo tipo + di ragionamento e` che tali metodi verrebbero comunque usati da + attaccanti che potrebbero semplicemente usare altri strumenti o + modificare Nmap per fare cio` che desiderano. E intanto un + amministratore si troverebbe a non aver strumenti per poter fare il + proprio lavoro correttamente. Sviluppare solo server FTP moderni e + con tutte le patch installate e` un approccio molto migliore al + voler bloccare lo sviluppo e la distribuzione di strumenti che usano + l'attacco "FTP bounce". + + Non esiste alcuna bacchetta magica (o opzione di Nmap) per + riconoscere o bypassare un firewall o un sistema anti-intrusione. E` + un'attivita` che richiede talento ed esperienza. Una guida completa + esula dagli intenti di questa guida di riferimento, la quale elenca + solo le opzioni rilevanti e descrive cio` che fanno. + + + + (frammenta i pacchetti); + (usando l'unita` di trasmissione minima + specificata - "MTU") + + + L'opzione obbliga la scansione + (anche i "ping scan") a usare pacchetti IP frammentati. L'idea + di base e` quella di frammentare l'header TCP su piu` + pacchetti, in modo da rendere piu` difficile per un packet + filter, per un IDS o per altri fastidiosi strumenti simili il + compito di capire cosa sta succedendo. Si presti comunque la + massima attenzione nell'uso di questa opzione! Alcuni + programmi hanno difficolta` a gestire pacchetti di dimensione + troppo piccola. Il vecchio tool "Sniffit" andava in + segmentation fault non appena riceveva il primo frammento. + Specificando questa opzione una volta Nmap dividera` i + pacchetti in piccoli insiemi di al piu` 8 byte ciascuno, + inserendoli dopo l'header IP. In questo modo un header TCP di + 20 byte verra` diviso in tre pacchetti: due con otto byte + ciascuno e uno con i rimanenti quattro. E ovviamente ogni + frammento avra` un header IP. Specificando di nuovo l'opzione + si useranno insiemi di 16 byte (riducendo + cosi` il numero di frammenti). In alternativa si puo` indicare + lo spiazzamento ("offset") desiderato mediante l'opzione + . Non si usi l'opzione + se si e` usato . Lo + spiazzamento dev'essere un multiplo di 8. Nonostante i + pacchetti frammentati non supereranno i packet filter e i + firewall che mantengono una coda di tutti i frammenti IP (come + ad esempio le macchine GNU/Linux che hanno l'opzione + CONFIG_IP_ALWAYS_DEFRAG impostata nel kernel), alcune reti + tuttavia non possono permettersi il calo di performance + causato da troppi frammenti e pertanto non avranno + quell'opzione abilitata. Altri ancora non possono abilitare + quell'opzione perche` i frammenti potrebbero prendere + direzioni differenti una volta all'interno. Alcuni sistemi di + origine dei dati deframmentano i pacchetti in uscita nel + kernel. Linux con il modulo ip_conntrack ("connection tracking + module") e` uno di questi. Si raccomanda di effettuare la + scansione mentre un packet sniffer (come Ethereal) sta + girando, in modo da avere la certezza che i pacchetti inviati + vengono effettivamente frammentati. Se il proprio sistema + operativo dovesse causare problemi in questo, si usi l'opzione + per bypassare il livello IP ed + inviare direttamente frame Ethernet sul cavo. + + + + + + (Maschera una scansione utilizzando esche - "decoy scan") + + + Quest'opzione invoca una "decoy scan" (ovvero una + scansione utilizzando esche) che agli occhi dell'host di + destinazione apparira` come se provenisse dagli host + specificati come decoy. In questo modo l'IDS della rete + bersaglio mostrera` 5-10 port scan provenienti da indirizzi IP + singoli, e non potra` capire quale IP e` veramente la sorgente + dell'attacco e quale IP e` usato solo come mascheramento. + Nonostante quest'opzione possa essere resa inutile mediante il + tracciamento del percorso fatto dai router ("router path + tracing"), tecniche di response-dropping e altri meccanismi + attivi sono generalmente una tecnica effettiva per nascondere + il proprio indirizzo IP. + + Separando gli host decoy con una virgola e` possibile + usare il parametro ME come + uno dei decoy per rappresentare la posizione del proprio + indirizzo IP. Se si pone il parametro ME nella sesta posizione o ancora + oltre, alcuni sensori di port scan (come l'eccellente + "scanlogd" di Solar Designer) difficilmente mostreranno il + vostro indirizzo IP. Se non si dovesse usare il parametro + ME, Nmap mettera` il vostro + IP in una posizione a caso. + + Si noti che gli host che vengono usati come decoy + dovrebbero essere attivi o si corre il rischio di creare un + "SYN flood" verso il proprio obbiettivo. Inoltre diventerebbe + molto facile capire quale host e` la causa della scansione, se + solo uno e` attivo in una rete. E` consigliabile usare + indirizzi IP al posto di nomi, per evitare che la rete dei + decoy individui i propri tentativi di risoluzione dei nomi nei + log dei propri DNS. + + I decoy vengono usati sia nel "ping scan" iniziale + (indipendentemente dal fatto che si usi ICMP, SYN, ACK, + eccetera) sia durante la fase di port scanning effettiva. + Infine i decoys vengono usati durante la "Operating System + Detection" remota, specificabile con l'opzione + ). L'utilizzo dei decoy non e` valido con + scansioni di tipo "version detection" o scansioni di tipo TCP + connect(). + + Inutile ricordare che l'uso di troppi decoy puo` + rallentare la propria rete e potenzialmente renderla meno + accurata. Inoltre, alcuni ISP ("Internet Service Providers") + potrebbero filtrare i pacchetti "spoofed" (falsificati), anche + se molti non operano alcun tipo di azione su questi + ultimi. + + + + + (falsifica + l'indirizzo sorgente - "spoof source address") + + + In talune circostanze Nmap potrebbe non essere in grado + di determinare il proprio indirizzo sorgente (in questi casi + Nmap avvertira` della problematica). Se cosi` fosse si puo` + usare l'opzione seguita dall'indirizzo IP + dell'interfaccia che si vuole usare per inviare + pacchetti. + + Un altro possibile uso di quest'opzione potrebbe essere + per falsificare ("spoof") la scansione per far credere al + bersaglio che qualcun altro li sta + prendendo di mira e sta effettuando una scansione su di loro. + Si immagini solo cosa potrebbe succedere se un'azienda si + accorgesse di essere preda di port scan da parte dei propri + concorrenti! L'opzione e` in genere + richiesta per questo particolare utilizzo, e si consiglia + anche di usare . + + + + + (Usa l'interfaccia + di rete specificata - "use specified interface") + + + Indica a Nmap che interfaccia di rete usare per inviare + e ricevere pacchetti. Nmap dovrebbe essere in grado di capire + autonomamente quale usare, ma nel caso non sia possibile vi + avvertira`. + + + + + + + + + + + + + + (Effettua uno spoof del numero di porta di origine) + + + +--source-port +--g +Un errore di configurazione sorprendente comune e` quello di fidarsi del traffico di rete basandosi solo sulla porta di origine. E` facile capire come puo` succedere: un amministratore configura un firewall nuovo fiammante per poi ritrovarsi sommerso dalle lamentele degli utenti ingrati le cui applicazioni hanno smesso di funzionare. Ad esempio le query DNS possono non funzionare piu` perche` le risposte (sotto forma di pacchetti UDP) provenienti da server esterni non possono piu` entrare nella rete. Anche l'ftp e` un esempio piuttosto comune: nei trasferimenti di dati attivi (opposti a quelli di tipo "passive ftp") il server remoto cerca di stabilire una connessione diretta con il client per trasferire i file richiesti. + +Esistono soluzioni sicure a questi problemi, spesso nella forma di proxy a livello di applicazione o moduli del firewall che fanno parsing del protocollo. Sfortunatamente ci sono anche soluzioni facili ma insicure. Ad esempio, notando che le risposte alle query DNS arrivano dalla porta 53 e i transfer ftp "active" provengono dalla porta 20, tanti amministratori cadono nella trappola di lasciar passare il traffico proveniente da queste porte. Essi assumono spesso che nessun attaccante potrebbe accorgersi di questi buchi di sicurezza e appprofittarne. In altri casi un amministratore puo` considerare questa soluzione una misura temporanea fino a quando non implementera` una soluzione migliore e piu` sicura. E poi si dimentica di farlo. + +Gli amministratori di rete con troppe cose da fare non sono gli unici a cadere in questa trappola. Molti prodotti sono venduti con queste regole insicure; anche Microsoft e` colpevole. I filtri IPSec parte di Windows 2000 e Windows XP contengono una regola +implicita che permette il passaggio di tutto il traffico proveniente dalla porta 88 (Kerberos). Un altro caso ben conosciuto e` quello di Zone Alarm Personal Firewall (fino alla versione 2.1.25: esso permetteva l'ingresso nel sistema a qualsiasi pacchetto UDP che avesse come porta di origine la 53 (DNS) o 67 (DHCP). + +Nmap offre le opzioni (equivalenti) e per sfruttare queste debolezze. Basta fornire un numero di porta e Nmap mandera` pacchetti da questa porta quando possibile. Tuttavia Nmap deve usare numeri di porta diversi per alcuni test di OS detection perche` essi funzionino a dovere, e le richieste DNS ignorano l'opzione poiche` Nmap si appoggia alle librerie di sistema per gestirle. La maggior parte delle scansioni TCP, incluse le scansioni SYN e UDP, supportano quest'opzione. + + + + + + + (Aggiunta di dati random ai pacchetti inviati) + + + --data-length + In genere Nmap invia pacchetti nella dimensione piu` piccola possibile, contenenti soltanto l'header (intestazione). Quindi i pacchetti TCP sono in genere di 40 bytes e le richieste ICMP echo di 28 bytes. Quest'opzione indica a Nmap di aggiungere un certo numero di bytes casuali a quasi tutti i pacchetti che invia. I pacchetti di OS detection tuttavia non vengono modificati, perche` la precisione in essi richiede una certa consistenza nell'invio dei probe; in ogni modo quasi tutte le opzioni di ping e portscan supportano questa modalita`. Essa rallenta leggermente le performance ma puo` risultare in una scansione piu` accurata. + + + + + + + (Imposta il campo IP time-to-live) + + + --ttl + Imposta il campo time-to-live (tempo di vita del pacchetto IPv4) al valore richiesto. + + + + + + (Rimescola l'ordine degli host bersaglio) + + + --randomize-hosts + Quest'opzione indica a Nmap di rimescolare l'ordine di scansione di ogni gruppo di host (fino a 8096) prima di iniziare la scansione. Questo puo` nascondere le scansioni a vari sistemi di network monitoring, specialmente quando e` affiancato a opzioni di rallentamento ("slow timing"). Se si desidera un random su gruppi di dimensione maggiore, e` necessario incrementare la direttiva PING_GROUP_SZ in nmap.h e ricompilare l'applicativo. Una soluzione alternativa potrebbe essere quella di generare una lista degli IP sui quali effettuare lo scan mediante un list scan (opzione ), randomizzarla con uno script Perl e passare la lista a Nmap con l'opzione . + + + + + + (Effettua uno spoof dell'indirizzo hardware (MAC)) + + + + --spoof-mac + Richiede a Nmap di usare l'indirizzo hardware (mac) per tutti i frame ethernet raw che invia. Quest'opzione implica per garantire che Nmap invii di fatto pacchetti a livello ethernet. Il MAC puo` essere specificato in vari formati: nel caso in cui sia la stringa 0, Nmap sceglie un MAC completamente random per la sessione. Se la stringa e` un numero pari di simboli esadecimali (con le coppie separate eventualmente dal simbolo di due punti), Nmap usera` questo come MAC. Se dovessero essere specificate meno di 12 cifre decimali, Nmap riempira` il resto dei 6 bytes con valori casuali. Se l'argomento non e` uno zero (0) o una stringa esadecimale, Nmap cerchera` nel file nmap-mac-prefixes per cercare il nome di un produttore contenente la stringa indicata (senza distinguere tra maiuscole e minuscole). Se trova una corrispondenza, Nmap usera` la parte OUI del produttore (il prefisso di 3 bytes) e riempira` i restanti 6 bytes in maniera casuale. + Esempi validi dell'uso di sono Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, e Cisco. + + + + + + (Invia pacchetti con checksum TCP/UDP non valido) + + + + --badsum + Richiede a Nmap di usare un checksum TCP o UDP non valido per i pacchetti inviati alla macchina di destinazione. Poiche` teoricamente tutti gli stack IP degli host finiranno per ignorare questi pacchetti, qualunque risposta ricevuta dovra` per forza provenire da un firewall o da un Intrusion Detection System (IDS) che non si preoccupa di verificare il checksum. Per maggiori informazioni su questa tecnica, si consulti + + + + + + + + Output + + Qualunque tool di sicurezza 蠵tile quanto l'output che esso + stesso genera. Test e algoritmi complessi son di scarsa importanza + se non son presentati in modo comprensibile e ben organizzato. + Dato il grande numero di modi in cui Nmap viene usato dagli utenti + e da altro software, nessun formato potrebbe soddisfare tutti. Per + questo motivi Nmap offre molti formati, inclusa la modalita` + interattiva per la lettura diretta degli utenti, sia XML per + rendere l'output facilmente interpretabile dal software. + + Inoltre per offrire differenti formati di output, Nmap + fornisce opzioni per il controllo della verbosita` dell'output + come anche dei messaggi di debugging. I tipi di output possono + essere mandati allo standard output o a files, ai quali Nmap puo + accodare o sovrascrivere contenuto. I files di output possono + anche essere usati per ripristinare scansioni precedentemente + annullate. + + Nmap rende l'output disponibile in cinque formati + differenti. Il formato predefinito 蠣hiamato interactive output, ed 蠭andato in + standard output (stdout). C'蠡nche un normal output, che 蠳imile all' interactive ad eccezione per il fatto + che mostra meno informazioni di runtime e warnings dal momento che + si suppone che dovra` essere analizzato dopo il completamento + della scansione, piuttosto che interattivamente. + + L' output XML 蠵no dei piu` importanti tipi di output, dal + momento che puo` essere convertito in HTML, interpretato con + facilita` dai programmi come per esempio le interfacce grafiche di + Nmap, o importata in databases. + + I rimanenti due tipi di output sono il semplice grepable output che include la maggior + parte delle informazioni su un obiettivo in una linea singola, e + il sCRiPt KiDDi3 0utPUt per + utenti che si considerano |<-r4d. + + Mentre l'output interattivo 蠱uello predefinito e non ha + associate opzioni da linea di comando, gli altri quattro formati + usano la stessa sintassi. Prendono un argomento , che 蠩l nome del + file nel quale i risultati dovranno essere scritti. Possono essere + specificati formati multipli, ma ogni formato puo solo essere + specificato una volta. Per esempio si potrebbe voler salvare il + normal output per le proprie revisioni e nel mentre salvare in XML + per l'analisi programmatica. Cio` si potrebbe realizzare con le + opzioni:. Mentre + questo capitolo usa per brevita` dei nomi semplici come myscan.xml , son generalmente + consigliati nomi piu` descrittivi. I nomi scelti sono un problema + di preferenza personale, anche se io ne uso di lunghi che + incorporano la data della scansione e un paio di parole che + descrivano la scansione., messe in una directory chiamata come + l'azienda che sto scansionando. + + Mentre queste opzioni salvano i risultati su files, Nmap + stampa ancora l'output interattivo in standard output come sempre. + Per esempio, il comando nmap -oX + myscan.xml target stampa XML dentro myscan.xml e scrive in standard output + gli stessi risualtati interattivi che avrebbe stampato se + non fosse stata specificata. Si puo cambiare + questo comportamento passando un carattere trattino come argomento + di un tipo di formato. Questo fa si che Nmap disattivi l'output + interattivo, e stampi il risultato nel formato che si 蠳pecificato + nello stream dello standard otput. Cosi` il comando nmap -oX - target mandera` in stdout + soltanto l'output XML. Possono ancora comparire degli avvisi di + errore grave sullo stream di standard error stderr. + + A differenza di alcuni argomenti di Nmap, lo spazio tra il + file di log e l'opzione di log (ad esempio ) e + il nome del file o il trattino, 蠯bbligatorio. Se si omettono le + opzioni e si danno argomenti come o + , una feature di retrocompatibilita` + causera` la creazione di file di output in normal + format chiamati G- + e Xscan.xml + rispettivamente. + + Nmap offre inoltre l'opzione di controllo sullla verbosita` + e la possibilita` di accodare ai files invece di sovrascriverli. + Tutte queste opzioni sono descritte di seguito. + + + I Formati di Output di Nmap + + + (Normal + output) + + + Richiede che il t normal + output venga rediretto al dato file. Come detto + sopra, questo 蠬eggermente diverso da interactive output. + + + + + (XML + output) + + + Richiede che l'output XML sia rediretto al dato + file.Nmap contiene un document type definition (DTD) che + permette agli interpreti XML di validare l'output di Nmap. + Sebbene inteso come prioritariamente per l'uso + programmatico, puo essere d'aiuto anche agli utenti. Il DTD + definisce gli elementi convenzionali del formato, e spesso + enumera gli attributi e i valori che possono + assumere. + + XML offre un formato stabile e facilmente interpretato + dal software. Gli interpreti XML liberi (free) sono + disponibili per la maggior parte dei linguaggi di + programmazione, compresi C/C++, Perl, Python, e Java. C'e + anche chi ha scritto dei bindings per gran parte di questi + linguaggi per trattare in maniera specifica l'output e + l'esecuzione di Nmap. Ne sono esempio: Nmap::Scanner + e Nmap::Parser nel + Perl CPAN. In quasi tutti i casi il modo preferito per + interpretare i risultati di Nmap 蠳tato XML. + + L'output XML fa riferimento ad uno stylesheet XSL che + puo essere usato per formattare il risultato in HTML. La + maniera piu` facile di usarlo 蠳emplicemente aprire il file + XML in un web browser come Firefox o IE. Di norma questa + procedura dovrebbe funzionare solo sulla macchina su cui si + esegue Nmap (o una configurata in maniera simile) perche` il + percorso a nmap.xsl 蠱uello hardcoded in Nmap. Si veda + l'opzione per creare un file + XML portabile che renderizza come HTML in ogni macchina + connessa al web. + + + + + (ScRipT KIdd|3 + oUTpuT) + + + Lo script kiddie output 蠣ome l' interactive output, ad + eccezione del post-processing che meglio adatta l'output al + 'l33t HaXXorZ che prima guardavano dall'alto in basso Nmap + per la sua troppo corretta ortografia e per l'uso proprio + delle maiuscole.Per le persone poco inclini all'humor, si + noti che questa opzione prende in giro gli script kiddies + che prima mi criticavano perche` "li aiutassi". + + + + + (Grepable + output) + + + Questo formato di output 蠤escritto per ultimo perche` + il suo uso 蠯rmai da considerarsi in disuso. L'outpt XML 蠤i + gran lung apiu` potente, e pressoche` ugualmente utile per + gli utenti esperti. XML 蠵no standard per le dozzine di + eccellenti parsers che sono disponibili, mentre il grepable + output 蠵n mio semplice hack. XML 蠥stensibile al supporto di + nuove features di Nmap man mano che queste vengono + rilasciate, mentre spesso ometto queste nuove features per + il formato grepable per mancanza di spazio dove + aggiungerle. + + Ad ogni modo, il grepable output 蠡ncora discretamente + usato. E' un formato semplice che lista ogni host su una + riga e puo` essere facilmente cercato e interpretato dai + tool standard di UNIX, come grep, awk, cut, sed, diff e + Perl. Anche io lo uso per test semplici da riga di comando. + Trovare tutti gli host che hanno la porta di ssh aperta o + che montano Solaris, 蠱uestione di un semplice grep per + identificare gli host e un pipe verso awk o cut per + visualizzare i campi desiderati. + + Il grepable output contiene commenti (le righe che + iniziano con il cancelletto (#)) e righe target. Una riga + target include una combinazione di 6 campi etichettati, + saeparati da tabulazioni e terminati da un duepunti. I campi + sono Host, Ports, Protocols, Ignored State, OS, Seq + Index, IPID, e + Status. + + I piu` importanti tra questi campi sono generalmente + il campo Ports, che da + dettagli su ogni porta interessante,. E' una lista di porte + separate da una virgola. Ogni porta rappresenta una porta + interessante e prende la forma di sette sottocampi separati + da uno slash (/). Questi sottocampi sono: Port number, State, Protocol, Owner, Service, SunRPC info, and Version info. + + Come in XML output, questa pagina di manuale non + permette di documentare l'intero formato. E' disponibile una + descrizione piu` dettagliata del formato grepable + output. + + + + + (Output in tutti i + formati) + + + Secondo convenienza, si potrebbe specificare + per + salvare i risultati dello scan in normal, XML, e grepable + formats in una sola volta. Questi vengono salvati nei files + basename.nmap, + basename.xml, e + basename.gnmap, rispettivamente. + Come la maggior parte dei programmi, si puo mettere un + prefisso ai nomi dei files, come ad esempio un percorso a + directory, come ~/nmaplogs/foocorp/ su UNIX o + c:\hacking\sco su + Windows. + + + + + + Verbosita` e livello di debugging + + + (Aumenta il livello di + verbosity) + + + Aumenta il livello di verbosita`, facendo in modo che + Nmap stampi piu` informazioni riguardo allo scan in + esecuzione. Le porte aperte sono mostrate man mano che Nmap + le trova e il tempo rimanente stimato vengono mostrati se + Nmap ritiene che lo scan possa durare piu` di qualche + minuto. Si puo mettere l'opzione due volte per aumentare + ulteriormente il livello di verbosita`. Triplicare l'opzione + non ha effetti. + + La maggior parte dei cambiamenti riguarda + l'interactive output, e alcune cose anche il normal e script + kiddie output. Gli altri tipi di output sono fatti per + essere processati dalle macchine, quindi Nmap puo dare un + grosso livello di dettaglio di default, senza il problema di + poter affaticare un utente umano. In ogni casoci sono delle + leggere differenza negli altri modi dove la dimensione + dell'output puo essere sostanzialmente ridotta omettendo + alcuni dettagli. Per esempio solo in modalita` verbosa viene + stampatauna linea di commento nel grepable output che + fornisce una lista di tutte le porte scansionate, questo + perche` potrebbe essere abbastanza lunga + + + + + (Aumenta o setta il livello + di debugging) + + + Quando anche il verbose mode non fornisce dati a + sufficienza, 蠤isponibile la modalita` debugging, che + sommergera` l'utente di informazioni in quantita` molto + maggiore! Come succede per l'opzione verbosita` + (), il debugging 蠡ttivato da una opzione + di riga di comando () e il livello di + debug puo essere aumentato ripetendo l'opzione diverse + volte. In alternativa si puo settare il debug level dando + come argomento di un numero. Ad esempio, + setta il livello a nove. Questo e` il + livello piu` alto e produrra` migliaia di linee a meno che + non si stia facendo uno scan molto semplice con pochi target + e poche porte. + + L'output di debugging è utile quando si sospetta un + bug in Nmap, oppure se si rimane confusi su cosa stia + facendo Nmap e perche`. Siccome questa feature 蠳tata pensata + principalmente per gli sviluppatori, le linee di debug non + sono granche` autoesplicative. Si potrebbe incontrare + qualcosa tipo: Timeout vals: + srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: + 14987 rttvar: 14987 to: 100000. Se non si + capisce una linea, quello che si puo fare 躠ignorarla, + guardarla nel codice sorgente, o richiedere aiuto alla lista + di sviluppo (nmap-dev). Alcune linee si spiegano bene da + se`, ma i messaggi divengono sempre piu` oscuri man mano che + il livello di debugging sale. + + + + + (Traccia i pacchetti e i + dati mandati e ricevuti) + + + Fa in modo che Nmap stampi un riassunto di ogni + pacchetto mandato o ricevuto. Questo si usa spesso per il + debugging, ma 蠡nche un modo valido per gli utenti novizi per + capire esattamente cosa stia facendo Nmap dietro le quinte. + Per evitare che stampi migliaia di linee, si dovrebbe + specificare una lista limitata di porte da controllare, come + . Se importa soltanto vedere come + stia procedendo il version detection si puo usare + . + + + + + (Lista interfacce e + instradamenti) + + + Stampa la lista delle interfacce e degli instradamenti + di sistema rilevati da Nmap. Questo 蠵tile per risolvere i + problemi di routing e cattive caratterizzazioni delle + interfacce (ad esempio quando Nmap scambia una connessione + PPP per Ethernet). + + + + + + (Effettua il log degli errori e degli avvertimenti ("warnings") nel file di output) + + + --log-errors + Gli avvertimenti ("warnings") e gli errori mostrati da Nmap in genere vanno allo standard output (schermo) nella modalita` interattiva, lasciando cosi` "puliti" i file di output normali. Tuttavia nel caso in cui si voglia vedere questi messaggi nel normale file di output specificato e` necessario specificare quest'opzione. Essa e` utile quando non si ha la possibilita` di guardare l'output interattivo e quando si sta cercando di effettuare il debug di un problema; i messaggi appariranno comunque sullo schermo come se si fosse in modalita` interattiva. Quest'opzione non funzionera` per la maggior parte degli errori dovuti all'uso di opzioni in maniera errata sulla linea di comando, poiche` probabilmente Nmap non avra` ancora inizializzato i file nei quali dovra` andare a scrivere. Inoltre alcuni errori e warning di Nmap usano un sistema di notifica che non supporta ancora quest'opzione. Un'alternativa all'uso di e` quella di ridirigere l'output interattivo (e lo standard error) in un file. Nonostante quest'approccio sia facile in ambiente Unix, puo` risultare difficile in Windows. + + + + + + +Altre opzioni di output + + + + (Accoda anziche` sovrascrivere i file di output) + + + --append-output + Quando si specifica un nome di file mediante un parametro di output come o , questo file viene sovrascritto di default. Se si preferisce mantenere il contenuto del file e aggiungerci i nuovi risultati, si deve usare l'opzione . Tutti i file di output specificati in quell'istanza di Nmap verranno usati in APPEND mode anziche` essere sovrascritti. Quest'opzione non e` di grande aiuto (e non funziona molto bene) nel caso di output in formato XML (), poiche` il parsing del file risultante non sara` corretto fino a quando non si controllera` il file manualmente. + + + + + + (Riprendi una scansione interrotta) + + + + --resume + Alcune esecuzioni di Nmap possono richiedere molto tempo - dell'ordine di giorni. Tali scansioni non arrivano sempre alla fine; alcune restrizioni possono impedire a Nmap di funzionare durante le ore del giorno, la rete puo` diventare irraggiungibile, la macchina sulla quale Nmap sta girando puo` subire un riavvio pianificato o improvviso, o Nmap stesso puo` andare in crash. L'amministratore che sta usando Nmap puo` interromperlo per qualsiasi ragione, premento ctrl-C. Ricominciare l'intera scansione dall'inizio puo` diventare fastidioso. Fortunatamente se sono rimasti i log in formato "normal" () o "grepable" (), l'utente puo` richiedere a Nmap di ricominciare la scansione dall'host sul quale stava lavorando quando l'esecuzione e` stata interrotta. Semplicemente basta specificare l'opzione e passargli il file di output in formato normal/grepable come argomento. Non e` permesso nessun altro argomento, poiche` Nmap fara` il parsing del file di output per usare le stesse opzioni specificate in precedenza. E` quindi sufficiente invocare Nmap come nmap --resume logfilename. Nmap aggiungera` i nuovi risultati ai files specificiati nell'esecuzione precedente. La ripresa di un'esecuzione + non supporta il formato di output XML poiche` sarebbe troppo difficile combinare le due esecuzioni in un unico file XML valido. + + + + + + + + (Imposta il foglio di stile XSL per trasformare l'output XML) + + + --stylesheet + Nmap viene fornito con un foglio di stile XSL chiamato nmap.xsl per vedere o tradurre l'output XML in HTML. L'output XML include una direttiva xml-stylesheet che punta al file nmap.xml dove e` stato installato Nmap la prima volta (o nella directory corrente nel caso di Windows). Basta semplicemente caricare l'output XML in un browser recente e dovrebbe automaticamente prelevare nmap.xsl dal filesystem e usarlo per effettuare il rendering dei risultati. Se si volesse usare + un foglio di stile diverso, va specificato mediantel'opzione . Il file va indicato con il PATH completo o l'URL. Un esempio di invocazione di Nmap con quest'opzione e` . Questo indica al browser di caricare l'ultima versione del foglio di stile da Insecure.org. L'opzione fa la stessa cosa ma richiede meno digitazioni e meno cose da ricordare. + Caricando l'XSL da Insecure.org rende piu` semplice visualizzare i risultati su una macchina che non ha Nmap (e quindi il file nmap.xsl installato). Quindi l'URL e` spesso una scelta migliore, ma di default viene usato il file dal filesystem locale per ragioni di privacy. + + + + + + (Carica il foglio di stile da Insecure.org) + + + --webxml + Quest'opzione e` semplicemente una comodita` per l'opzione + . + + + + + + (Non specificare la dichiarazione del foglio di stile XSL dal file XML) + + + --no_stylesheet + Quest'opzione va specificata quando non si vuole che Nmap associ un qualsiasi foglio di stile XSL con il proprio output XML. La direttiva + xml-stylesheet viene omessa. + + + + + + + + + + + + + + Opzioni Miscellanee + + Questa sezione descrive alcune opzioni importanti e altre + meno importanti che non hanno trovato posto in altre + sezioni. + + + + (Abilita scanning IPv6) + + + Fin dal 2002, Nmap offre supporto IPv6 per le sue + funzioni piu` comuni. In particolare le funzioni ping + scanning (soltanto TCP), connect() scanning, e rivelazione + di versione, supportano tutte IPv6. La sintassi dei + comandi e` la stessa di sempre, ad eccezione dell'aggiunta + dell' opzione . Ovviamente si dovra` + utilizzare la sintassi IPv6 se si vuole specificare un + indirizzo anziche` un hostname. Un indirizzo sara` + qualcosa del tipo 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + ne consegue che e` raccomandato l' uso degli hostname. l' + output ha il solito aspetto, l' unica differenza e` l' + indirizzo IPv6 sulla linea delle "interesting + ports". + + Anche se IPv6 non ha esattamente preso il + sopravvento sul mondo, trova un uso piu` significativo in + alcuni Paesi (tipicamente Asiatici) e supporto nella + maggior parte dei moderni sistemi operativi. Per usare + Nmap in IPv6, sia l'obiettivo che la sorgente dello scan + devono essere configurate per IPv6. Se il proprio l'ISP + (come la maggior parte di questi) non alloca indirizzi + IPv6, c'e` una vasta disponibilita` di tunnel broker + gratuiti e funzionano bene con Nmap. Uno dei migliori e` + fornito da BT Exact. Ne ho anche usato uno fornito da + Hurricane Electric. Un altro approccio comune sono i + tunnel 6to4. + + + + + (Opzioni di scan + aggressive) + + + Questa opzione abilita opzioni addizionali avanzate + e aggressive. Non ho deciso ancora esattamente che opzioni + debba racchiudere. Al momento questa opzione attiva la Os + Detection ( ) e la version scanning ( + ). Ulteriori caratteristiche verranno + aggiunte in futuro. Il punto e` attivare un completo set + di opzioni di scan senza che ci sia il bisogno di + ricordarsi una lunga serie di flags. Questa opzione attiva + solo delle modalita` di funzionamento, ma non le opzioni + di timing (come ), ne` di verbosity ( + ) che potresti comunque volere. + + + + + (Specifica una locazione personalizzata per i data + files di Nmap) + + + Nmap ottiene alcuni dati speciali in runtime dai + files chiamati nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes, and + + nmap-os-fingerprints. Nmap dapprima cerca + questi files nella directory specificata con l'opzione + (qualora specificata). + Qualunque file non trovato in questa locazione, verra` + cercato nella directory specificata nella variabile + d'ambiente NMAPDIR. Segue poi ~/.nmap per le vere e + proprie UIDs (valido solo per i sistemi POSIX) o la + locazione corrente dell'eseguibile (solo per Win32), e + infine le locazioni precompilate come + /usr/local/share/nmap o /usr/share/nmap. Come ultima + risorsa, Nmap controllera` nella directory + corrente. + + + + + (Trasmissione su trame + ethernet (raw ethernet)) + + + Chiede a Nmap di mandare pacchetti al livello + ethernet (data link) piuttosto che al livello piu` alto IP + (network). Di default Nmap sceglie quello che generalmente + migliore per la piattaforma in cui sta venendo eseguito. I + raw sockets (livello IP) sono generalmente i piu` + efficienti per le macchine UNIX, mentre invece son + richieste trame ethernet per funzionare con Windows dal + momento che Microsoft ha disabilitato il supporto per i + raw socket. Nmap usa invece continua a usare i pacchetti + raw sulle UNIX non ostante si specifichi questa opzione + quando non c'e` alternativa (ad esempio se si ha una + connessione non ethernet) + + + + + (Trasmissione su raw socket + a livello IP) + + + Chiede a Nmap di mandare pacchetti via raw socket + IP, piuttosto che mandare trame al livello inferiore, + ethernet. E' l'opzione complementare di + discussa + precedentemente. + + + + + (Assumi che l'utente + abbia tutti i privilegi) + + + Dice semplicemente a Nmap di assumere che l'utente + abbia privilegi sufficienti per effettuare trasmissioni + sui raw socket, fare packet sniffing, e operazioni simili + che di norma hanno bisogno dei privilegi di root sui + sistemi UNIX. Di default Nmap termina l'esecuzione se si + tentano di usare certe operazioni e geteuid() non e` zero. + e` utile con delle + funzionalita` del kernel Linux e di altri sistemi + operativi che possono essere configurati per permettere ad + utenti non privilegiati di fare degli scan con i raw + socket. Bisogna assicurarsi di posizionare questa opzione + prima di qualunque flag che invochi + funzionalit࠰rivilegiate (SYN scan, OS detection, etc.). La + variabile d'ambiente NMAP_PRIVILEGED puo` comunque essere + settata e rappresenta un' equivalente alternativa + all'opzione . + + + + + (Avvia in modalita + interattiva) + + + Avvia Nmap in modalita` interattiva, la quale offre + un prompt interattivo di Nmap che permette di lanciare + facilmente scan multipli (sia sincroni che in background). + Questo e` utile per chi effettua scan da sistemi + multi-utente, che spesso vogliono testare la loro + sicurezza senza permettere agli altri utenti di sistema di + sapere quali sistemi stanno controllando. Una volta + avviato con l'opzione , si + prema hper visualizzare + l'aiuto. Questa opzione e` usata di rado perche`, di + norma, si ha piu` familiarita` con i comandi da shell che + sono tra l'altro anche piu` completi di funzionalita`. + Questa modalita` include l'operatore punto esclamativo(!) + per eseguire comandi della shell, una delle ragioni per + non installare Nmap con setuid root. + + + + + ; + (Stampa il numero di versione) + + + Stampa a video il numero di versione di Nmap ed + esce. + + + + + ; (Stampa + un aiuto sintetico ed esce) + + + Stampa a video una breve schermata di aiuto con le + opzioni piu` comuni. Eseguire Nmap senza argomenti fa la + stessa cosa. + + + + + + + + + + Interazione in runtime + + interazione in runtime (a tempo di esecuzione) + Durante l'esecuzione di Nmap qualsiasi tasto venga premuto viene registrato. Questo permette di interagire con il programma senza doverlo interrompere e farlo ripartire. Alcuni tasti particolari possono cambiare opzioni, mentre altri stampano un messaggio di stato sulla scansione in corso. La convenzione e` che lettere minuscole aumentano la quantita` di messaggi stampati, mentre lettere maiuscole diminuiscono questi messaggi. E` inoltre possibile premdere ? per avere un aiuto. + + + + / + + + Aumenta / diminuisce la quantita` di informazioni + + + + + / + + + Aumenta / diminuisce il livello di debug + + + + + / + + + Attiva / disattiva il tracing dei pacchetti + + + + + + + + Print a runtime interaction help screen + + + + + Qualsiasi altro tasto + + + Stampa un messaggio di stato come il seguente: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + + + Esempi + + Ecco alcuni esempi di uso di Nmap, dal piu` semplice e + routinario al piu` complesso ed esoterico. Saranno usati alcuni + indirizzi IP e hostname reali per rendere le cose piu` concrete. + Si dovranno solo sostituire nei posti giusti gli indirizzi e + hostname della tua rete. Non ostante io sia + convinto che il port scanning delle reti altrui non debba essere + illegale, alcuni amministratori di rete potrebbero non + apprezzare uno scanning non richiesto sulle loro reti e + potrebbero lamentarsi. Ottenere prima un permesso e` l'approccio + migliore. + + Per motivi di test, e` concesso il permesso di effettuare + uno scan verso scanme.nmap.org. Questo permesso + include esclusivamente lo scan attraverso Nmap e non il test di + exploits o attacchi denial of service. Per preservare al banda, + non attivate piu` di una dozzina di scan verso questo host al + giorno. Qualora si abusasse di questo servizio, questo verra` + disattivato e Nmap riportera` il seguente errore: + Failed to resolve given + hostname/IP: scanme.nmap.org. Questi permessi + si applichino agli host scanme2.nmap.org, scanme3.nmap.org, e cosi` via, finche` + ne esisteranno. + + + nmap -v scanme.nmap.org + + + Questa opzione esegue uno scan su tutte le porte TCP + riservate sulla macchina scanme.nmap.org. L'opzione + attiva la modalita` "verbose" (visualizza + informazioni piu` dettagliate sulle operazioni in corso). + + + nmap -sS -O + scanme.nmap.org/24 + + + Lancia un SYN scan invisibile verso ciascuna macchina che + risulta accesa tra le 255 nell'intera "classe C" in cui risiede + Scanme. Inoltre tenta di derminare il sistema operativo + installato su ogni host trovato. Questo richiede i privilegi di + root a causa della funzione di SYN scan e OS detection. + + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Lancia una enumerazione di hosts e uno scan TCP alla prima + meta` di ognuna delle 255 sottoreti di 8 bit all'interno dello + spazio di indirizzamento della classe B 198.116. Questa + operazione controlla se tali sistemi stanno eseguendo i servizi + sshd, DNS, pop3d, imapd, o sulla porta 4564. Qualora qualche + porta di queste venga trovata aperta, verra` utilizzato il + "version detection" per determinare quale applicazione stia + effettivamente ascoltando su quella porta. + + + nmap -v -iR 100000 -P0 -p + 80 + + + Chiede a Nmap di scegliere 100.000 hosts casuali ed + effettuare su questi uno scan per ricercare dei web servers + (porta 80). L'enumerazione degli host e` disabilitata con + l'opzione dal momento che verificare se un + host e` attivo e` uno spreco quando si sta analizzando soltanto + una porta per ogni hosts. + + + nmap -P0 -p80 -oX + logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap + 216.163.128.20/20 + + + Questo scansiona 4096 indirizzi IP in cerca di webservers + (ma senza effettuare ping) e salva l'output sia in formato XML + che in formato "greppabile". + + + + + Bugs + + Al pari del suo autore, Nmap non e` perfetto. Ma puoi + fare qualcosa per aiutare a renderlo migliore mandando delle + segnalazioni di bug o addirittura scrivendo delle patch. Se Nmap + non si dovesse comportare come ti aspetteresti, prova prima + l'ultima versione disponibile. Se il problema persiste effetua + qualche ricerca per determinare se il problema e` stato gia` + scoperto e segnalato. Prova a cercare so Google riguardo al + messaggio di errore o sfogliare l'archivio Nmap-dev. Leggi + inoltre tutta questa pagina di manuale. Se nulla di questo + riguarda il tuo caso, manda una segnalazione di bug a + nmap-dev@insecure.org. Accertati di includere + ogni cosa che sei riuscito a sapere sul problema, la versione di + Nmap che stai usando e su quale sistema operativo la stai + usando. Segnalazioni di problemi ed eventuali domande sull'uso + di Nmap inviate a nmap-dev@insecure.org hanno piu` probabilita + di avere risposta di quelle inviate a Fyodor + direttamente. + + Le patch che risolvono i bugs sono molto meglio di una + segnalazione. Le istruzioni di base per creare delle patch a + partire dai propri files sono disponibili sul sito. Le patch + potranno essere inviate a nmap-dev (raccomandato) oppure + direttamente a Fyodor. + + + + Autore + + Fyodor fyodor@insecure.org( ) + + Traduzione + + Parte 1/2 e revisione: Lorenzo G. + lorenzo.grespan@gmail.com + + Parte 2/2: Simone Scarduzio + scarduzio@gmail.com + + Centinaia di persone hanno dato validi contributi a Nmap + nel corso degli anni. Questi sono elencati dettagliatamente nel + file di CHANGELOG che e` distribuito assieme a nmap ed e` anche + disponibile dal sito. + + + + Legal Notices + + + Copyright and Licensing + + Nmap Security Scanner e` (C) 1996-2005 Insecure.Com LLC. + Nmap e` inoltre un marchio registrato di Insecure.Com LLC. + Questo programma e` free softwaree, e` liberamente + redistribuibile e/o modificabile in accordo con i termini + della GNU General Public License come pubblicata dalla Free + Software Foundation; Versione 2. Questo garantisce il diritto + utilizzazare, modificare, e redistribuire questo software + entro certe condizioni. Se si desidera incorporare la + tecnologia Nmap in software proprietari, potremmo essere + disponibili a vendere licenze alternative (contattare + sales@insecure.com). Molti produttori di + security scanner usano gia` le tecnologie Nmap come per + esempio la "host discovery", "port scanning", "OS detection", + e "service/version detection". + + Si noti che la licenza GPL implica importanti vincoli + sui "progetti derivati", sebbene essa non fornisca una precisa + definizione di questi. Allo scopo di evitare malintesi, + consideriamo una aplicazione "progetto derivato" inteso ai + fini di questa licenza se presenta almeno una di queste + caratteristiche: + + + + Integra codice sorgente di Nmap + + + + Legge o include data files protetti da copyright di + Nmap, quali + nmap-os-fingerprints o nmap-service-probes. + + + + Esegue Nmap e ne utilizza i risultati (al contrario + dell'uso tipico attraverso shell o esecuzione da menu + delle applicazioni che mostra semplicemente l'output + diretto di Nmap, e quindi non si considerano "progetti + derivati"). + + + + Integra/include/aggrega Nmap in un eseguibile di + installazione proprietario, come ad esempio quelli + prodotti da InstallShield. + + + + E' collegato a una libreria o esegue un programma + che presenta una delle caratteristiche sopracitate. + + + + Il termine "Nmap" dovrebbe essere inteso come inclusivo + di ogni porzione o progetto derivato di Nmap. Questa lista non + e` esclusiva, ma e` concepita per chiarificare la nostra + interpretazione di "progetto derivato" con alcuni esempi + comuni. Queste restrizioni si applicano unicamente qualora si + redistribuisse Nmap. Per esempio nulla impedisce di scrivere e + rivendere un front-end proprietario a Nmap. E' sufficiente che + venga distribuito da solo, e si indichi agli utenti di + scaricare Nmap. + + Non consideriamo queste restrizioni come additive alla + GPL, ma delle semplici chiarificazioni riguardo al modo in cui + interpretiamo il concetto di "progetto derivato" come va ad + applicarsi al nostro prodotto Nmap, licenziato sotto GPL. E' + qualcosa di simile cio` che Linus Torvalds ha detto di + intendere i "progetti derivati" a proposito dei moduli del + kernel Linux. La nostra interpretazione si riferisce solo a + Nmap - non ci pronunciamo per nessun altro prodotto + GPL. + + Se avete domande a proposito delle limitazioni imposte + dalla licenza GPL riguardo all'uso di Nmap in progetti non + -GPL, saremo felici di aiutarvi. Come detto pocanzi, offriamo + anche licenze alternative per l'integrazione di Nmap in + applicazioni o dispisitivi proprietari. Questi contratti sono + stati venduti a molti rivenditori di software e generalmente + includono una licenza di durata illimitata, supporto tecnico + prioritario e aggiornamenti, come anche l'aiuto con la + contribuzione allo sviluppo della tecnologia Nmap. Per + ulteriori informazioni manda una email a + sales@insecure.com. + + Come eccezione ai termini della GPL, Insecure.Com LLC + garantisce il permesso di collegare il codice di questo + programma con qualunque versione della libreria OpenSSL che e` + distribuita sotto licenza identica a quella che si trova nel + file Copying.OpenSSL file, e inoltre di redistribuire + combinazioni collegate che includono entrambi. Persiste + l'obbligo di aderenza alla GPL in tutte le sue voci per tutto + il codice usato non appartenente a OpenSSL. Se si modifica + questo file, si puo estendere questa eccezione, ma non si e` + obbligati a farlo. + + Se si riceve questo file con accordo di licenza scritto, + o un contratto che afferma termini diversi da quelli appena + descritti, allora tale accordo di licenza ha la precedenza su + questi appunti. + + + + Disponibilita` del codice sorgente e contribuzioni + della comunita` + + Il codice sorgente di questo software viene fornito + perche` crediamo che gli utenti abbiano il diritto di sapere + esattamente cosa questo programma potra` fare prima di + eseguirlo. Questo permette inoltre di scoprire falle di + sicurezza (non ne e` mai stata trovata nessuna fino ad + oggi). + + Il codice sorgente permette anche di rendere Nmap + portabile a nuove architetture, correggere i bugs e aggiungere + nuove funzioni. Si e` molto incoraggiati a mandare le proprie + modifiche a fyodor@insecure.org per possibili + inclusioni nella distribuzione principale. Mandando le + modifiche a Fyodor o altri della mailing list di Insecure.Org, + si assume che si sta offrendo a Fyodor e Insecure.Com LLC il + diritto illimitato, non-esclusivo di riutilizzo, modifica e + ri-licenziamento del codice. Nmap sara` sempre disponibile + sotto Open Source, questo e` di vitale importanza perche` + l'impossibilita` di ri-licenziare il codice ha causato + problemi devastanti per altri progetti Open Source (come KDE o + NASM). Occasionalmente noi rilicenziamo il codice per terze + parti come detto sopra. Se si vuole specificare una condizione + di licenza speciale delle proprie contribuzioni, e` + sufficiente dirlo nel momento dell'invio. + + + + Nessuna Garanzia + + Questo programma e` distribuito nella speranza che possa + essere utile, ma SENZA NESSUNA GARANZIA; senza garanzia di + RIVENDIBILITA' ne` di APPLICABILITA' PER SCOPI PARTICOLARI. + Fare riferimento alla GNU General Publig License per ulteriori + dettagli, al sito oppure nel file COPYING incluso nel + pacchetto Nmap. + + Si noti anche che Nmap e` stato occasionalmente noto per + far andare in crash applicazioni scritte male, gli stack + TCP/IP, ma anche sistemi operativi. Anche se si tratta di una + evenienza estremamente rara, e` importante da tenere a mente. + Nmap non dovrebbe mai essere lanciato contro sistemi "mission + critical" a meno che non si sia preparati ad affrontare un + downtime.Confermiamo che Nmap puo far andare in crash alcuni + sistemi e reti, e disconosciamo ogni responsabilita` di danni + o problemi che Nmap possa causare. + + + + Uso Inappropriato + + Dato il possibile rischio di crash e che ad alcuni black + hats piace usare Nmap come ricognizione prima di attaccare un + sistema, ci sono amministratori a cui non fa piacere che si + eseguano scan sul proprio sistema, e potrebbero lamentarsi. E' + quindi consigliabile richiedere un permesso prima di fare + anche un leggero scan di una rete. + + Nmap non dovrebbe mai essere installato con privilegi + speciali (ad esempio suid root) per ragioni di + sicurezza. + + + + Software di terze parti + + Questo prodotto include software sviluppato da Apache Software + Foundation. Una versione modificata di Libpcap portable packet capture + library e` distribuita assieme a Nmap. La versione per + Windows di Nmap utilizza invece un derivato di libcap, WinPcap library. Il + supporto per le Regular espressions e` garantito dalla + libreria PCRE + library, che e` open source, scritta da Philip Hazel. + Alcune funzioni di raw networking usano la Libdnet library, + che e` stata scritta da Dug Song. Con Nmap e` distribuita una + versione modificata. Nmap puo opzionalmente collegarsi con l' + OpenSSL cryptography + toolkit per supportare il riconoscimento della + versione di SSL. Tutto il software di terze parti descritto in + questo paragrafo e` liberamente redistribuibile sotto licenza + stile BSD. + + + + Classificazione in base alle regole di controllo di + esportazione USA + + Regole di controllo di esportazione USA: Insecure.Com + LLC sostiene che Nmap ricada sotto il codice di + classificazione di controllo delle esportazioni (ECCN) numero + 5D992. Questa categoria e` chiamata Information + Security software not controlled by 5D002 ( Software + di sicurezza dell'informazione non controllato da 5D002). La + sola restrizione di questa classificazione e` la AT (anti + terrorismo), che si applica alla massima parte dei beni e + vieta l'esportazione a una manciata di nazioni diffidate come + Iran e Korea del Nord. Nmap quindi non richiede licenze + speciali, permessi o altre autorizzazioni governative. + + + +
+ + + + diff --git a/docs/man-xlate/nmap-man-jp.xml b/docs/man-xlate/nmap-man-jp.xml new file mode 100644 index 000000000..241b874ec --- /dev/null +++ b/docs/man-xlate/nmap-man-jp.xml @@ -0,0 +1,1430 @@ + + +
+ + Nmap リファレンスガイド (Man Page) + + + + nmap + 1 + + + nmap + ネットワーク調査ツールおよびセキュリティ/ポート スキャナ + + + + + nmap + + スキャンタイプ + + + オプション + + + ターゲットの指定 + + + + + ツール説明 + + Nmap (Network Mapper)は、ネットワーク調査およびセキュリティ監査を行うためのオープンソースのツールである。大規模ネットワークを高速でスキャンするように設計されているが、単一のホストに対してもまったく問題なく機能する。Nmapは生の(raw)IPパケットを用いて、ネットワーク上でどのようなホストか利用可能になっているか、これらのホストが提供しているサービス(アプリケーション名とバージョン)は何か、ホストが実行しているOS(OS名とバージョン)は何か、どのような種類のパケットフィルタ/ファイアウォールが使用されているかなど、その他数多くの特徴を斬新な方法で判別する。Nmapは、セキュリティ監査用に広く利用されているばかりでなく、ネットワーク・インベントリ(資産情報収集)、サービスのアップグレード予定管理、ホストやサービスのアップタイム(利用可能時間)の監視等の日常業務にNmapを役立てているシステム管理者やネットワーク管理者も多い。 + + Nmapは、スキャン調査対象の一覧を、使用したオプションに応じた補足情報とともに出力する。このなかで最も重要な情報は、interesting ports table(興味深いポートの一覧表)である。この一覧表には、ポート番号、プロトコル、サービス名、状態が記載されている。状態は、openfilteredclosed、またはunfilteredのいずれかになる。open(開いた)ポートは、調査対象マシン上のアプリケーションがそのポート上で接続/パケットを待ち受けている状態であることを示す。 Filtered(フィルタあり)は、ファイアウォールやフィルタなどのネットワーク上の障壁でポートが遮られている状態にあり、ポートが開いているか閉じているかをNmapが判断できないことを意味する。Closed(閉じた)ポートには、待ち受け状態のアプリケーションは何もないが、これらはいつでも開放することが可能である。ポートがNmapのプローブには応答するが、開いているか閉じているかをNmapが判別できない場合には unfilteredに分類される。ポートの状態がopen|filteredclosed|filteredのように、2つの状態の組み合わせで報告されるのは、そのどちらがポートの状態を表しているかをNmapが判断できない場合である。またこのポート一覧表には、バージョンの検出が求められた場合には、ソフトウェアのバージョン情報も記載される。IPプロトコルスキャン()が要求された場合には、ポートを一覧表示するのではなく、対応可能なIPプロトコルに関する情報が提供される。 + + Nmapは、このポート一覧表以外にも、逆引きDNS名、OSの推測、デバイスの種類、MACアドレスなどの、調査対象に関するさらに詳細な情報を提供できる。 + + 典型的なNmapスキャンの例を、以下の に示した。この例で使用されているNmapの引数は、OSとそのバージョンの検出を可能にすると、処理を高速に実行するための、および2つのターゲットホスト名だけである。 + +Nmapスキャンの典型的な例 + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Nmapの最新バージョンは、から入手できる。また、本マニュアルページの最新版は、で参照できる。 + + + + + オプション概要 + +このオプション概要は、Nmapを引数なしで実行すると表示される。最新版はで参照できる。これを見ると、比較的利用機会の多いオプションについての概要を確認できるが、本マニュアルの以下に掲載する詳細な解説に代わるものではない。使用頻度の低いオプションには、ここに含まれていないものもある。 + + +Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -P0: Treat all hosts as online -- skip host discovery + -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -n/-R: Never do DNS resolution/Always resolve [default: sometimes] +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Scan only the ports listed in the nmap-services file) + -r: Scan ports consecutively - don't randomize +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-light: Limit to most likely probes for faster identification + --version-all: Try every single probe for version detection + --version-trace: Show detailed version scan activity (for debugging) +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + -T[0-6]: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes + --min-parallelism/max-parallelism <msec>: Probe parallelization + --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies + probe round trip time. + --host-timeout <msec>: Give up on target after this long + --scan-delay/--max_scan-delay <msec>: Adjust delay between probes +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice for more effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --no_stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + ターゲットの指定 + +Nmapのコマンドラインで、オプション(もしくはオプションの引数)でないものはすべて、ターゲットホストの指定として扱われる。最も簡単な例は、スキャンを行うターゲットのIPアドレスやホスト名の指定である。 + +隣接した複数のホストから成るネットワーク全体をスキャン対象としたい場合は、CIDR表記のアドレス指定を利用できる。IPアドレスやホスト名の末尾にbit数を付加すると、Nmapは、アドレスの上位から指定したbit数までが参照するIPアドレスや特定のホスト名と同じアドレスをすべてスキャンする。例えば、192.168.10.0/24を指定すると 192.168.10.0 (2進表示: 11000000 10101000 00001010 00000000)から192.168.10.255 (2進表示: 11000000 10101000 00001010 11111111)までの256のホストがスキャンされる。192.168.10.40/24を指定しても、まったく同じ結果になる。ホスト scanme.nmap.orgのIPアドレスが205.217.153.62であるとすると、scanme.nmap.org/16という指定では、205.217.0.0 から 205.217.255.255 までの65,536個のIPアドレスをスキャンすることになる。指定可能な最小値は/1であり、これはインターネットの半分をスキャンすることになる。最大値は/32で、すべてのアドレスビットが固定されるので、指定したホストやIPアドレスだけがスキャンされる。 + +CIDR表記は簡潔であるが、必ずしも十分な柔軟性があるわけではない。例えば、192.168.0.0/16をスキャンする際に、.0や.255で終わるアドレスは、通常はブロードキャストアドレスなのですべて対象から除外したい場合があるだろう。Nmapではこのケースには、オクテット(octet=8bit)範囲のアドレス指定によって対応する。通常のIPアドレスを指定する代わりに、コンマ区切りの数のリストや各オクテット(8bit)の範囲を指定できる。例えば、192.168.0-255.1-254と指定すると、.0と.255で終わる範囲のアドレスはすべて省かれる。この範囲は最後のオクテットだけに限る必要はない。すなわち、0-255.0-255.13.37と指定すると、13.37で終わるすべてのIPアドレスをインターネット全体でスキャンする。このような広範囲からのサンプリングは、インターネットの調査や研究を行う場合に役立つ。 + +IPv6アドレスは、完全修飾形(省略なし)のIPv6アドレスやホスト名でしか指定できない。IPv6では、CIDRやオクテット範囲は使い道がほとんどないため、サポートされない。 + +Nmapはコマンドラインでの複数のホスト指定方法に対応しており、すべて同じ形式にしなくてもよい。nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255というコマンドを実行しても、期待通りの結果になる。 + +ターゲットは通常、コマンドライン上で指定されるが、以下のオプションもまた、ターゲットの選択を制御するために利用できる。 + + + + + (リストから入力) + + + 入力ファイル名から、ターゲットの指定を読み込む。コマンドラインで非常に巨大なホストリストを渡すのは不適切である場合が多いが、それが望まれるのもよくあるケースである。例えば、スキャンの対象にしたいと考えている目下の割り当てアドレスの10000個のリストが、DHCPサーバからエクスポートされる可能性もある。あるいは、不正な固定IPアドレスを使用しているホストの位置を示すアドレスを除いたすべてのIPアドレスをスキャンしたいと思う場合もあるかもしれない。とにかく、スキャンするべきホストのリストを作成し、そのファイル名をオプションの引数としてNmapに渡せばよい。入力の形式は、Nmapがコマンドラインで対応しているもの(IPアドレス、ホスト名、CIDR、IPv6、オクテット範囲)なら何でもよいが、各入力は、1つ以上のスペース、タブ、改行文字で区切る必要がある。実際のファイルではなくて標準入力から、Nmapにホストを読み込ませたい場合は、ファイル名としてハイフン(-)を指定するとよい。 + + + + + + (ターゲットを無作為に選ぶ) + + + インターネット全域に対する調査や研究を行う場合、ターゲットを無作為に選びたい場合もあるだろう。ホスト数の引数は、IPをいくつ生成するべきかをNmapに伝える。プライベート、マルチキャスト、未割り当てなどのアドレス範囲のような望ましくないIPは、自動的に飛ばして進むようになっている。引数に0(ゼロ)を指定すると、スキャンが無限に続けられる。ただし、ネットワーク管理者のなかには、自身の管理するネットワークを不正にスキャンされたことに腹を立ててクレームをつける場合もあることに注意しておこう。このオプションは、自己責任で使用すること! 雨の日の午後、退屈しのぎに拾い見るためのWebサーバを無作為に見つけたい場合は、nmap -sS -PS80 -iR 0 -p 80というコマンドを試してみるとよい。 + + + + + + (ホスト/ネットワークを除外する) + + + ターゲットのコンマ区切りリストを指定し、それらが指定した全ネットワーク範囲の一部であっても、スキャン対象から除外されるようにする。引数として渡すリストでは通常のNmap構文が用いられるので、ホスト名、CIDR表記のネットブロック、オクテット範囲などを含めることもできる。このオプションが役に立つのは、スキャンしたいネットワークに、ポートスキャンによって悪影響が及ぶことがわかっている、触れてはならないミッションクリティカルなサーバやシステムや、他人が管理しているサブネットワークが含まれる場合である。 + + + + + + (ファイルからリストを除外する) + + + オプションとほぼ同じ機能を提供するが、異なる点は、除外されるターゲットが、コマンドラインではなく、改行文字、スペース、タブなどで区切った除外ファイルで渡されることである。 + + + + + + + ホストの発見 + + ネットワーク偵察ミッションの第一段階に行うべきことの1つは、一連の(非常に広範な場合もある)IP範囲を限定して、アクティブな状態であるか、関心のあるホストのリストを作成することである。各IPアドレスのポートを1つ1つスキャンするのは、時間はかかるもののなかなか進まない、通常は無駄な作業である。もちろん、あるホストに興味を引かれる要因は、スキャンの目的に大きく左右される。ネットワーク管理者なら、特定のサービスを実行しているホストにしか興味を示さないかもしれないし、セキュリティ監査人なら、IPアドレスを持つデバイス1つ1つに関心を引かれる場合もあるだろう。内部ネットワーク管理者なら、自分が管理するネットワーク上のホストの位置を確認するためにICMP pingを使えるだけで満足かもしれないし、外部のペネトレーションテストの実施担当者なら、ファイアウォールの制限をすり抜けようとして、多種多様な調査手法を使う場合もあるだろう。 + + このように、ホスト発見のニーズは多岐にわたるので、Nmapには、使用する技法をカスタマイズするための幅広い種類のオプションが備わっている。ホスト探索はpingスキャンと呼ばれることもあるが、一般的なpingツールによる単純なICMPエコー要求パケットよりもはるかに優れている。ユーザは、リストスキャン()を用いるか、pingを無効にして()、このping段階を完全に省略するか、もしくはネットワークに対してマルチポートのTCP SYN/ACK、UDP、ICMPなどのプローブを任意に組み合わせて行うことができる。これらのプローブの目的は、IPアドレスが実際にアクティブな状態(ホストやネットワークデバイスによって使用中)であることを示す応答を誘い出すことである。多くのネットワークでは、いつでもアクティブなIPアドレスは全体のほんのわずかしかない。RFC1918で定められたプライベートアドレス空間(例:10.0.0.0/8)では特にそうなっている。このネットワークには、1600万個のIPアドレスがあるが、これが1000台足らずのマシンしかない企業で使われているのを見たことがある。ホスト発見を実行すると、こうした広大なIPアドレスの海の中から、まばらにIPアドレスを割り振られたマシンを探し出すことができる。 + +  ホスト発見のオプションが何も指定されない場合、Nmapはポート80宛てのTCP ACKパケットと、ICMPエコー要求クエリを各ターゲットマシンに送信する。この例外は、ローカル イーサネット ネットワーク上にあるターゲットに対して、ARPスキャンが用いられている場合である。高い権限のないUNIXシェルユーザでは、connect()システムコールを使って、ACKの代わりにSYNパケットが送られる。これらのデフォルトは、 オプションに相当する。このホスト発見機能は、ローカルネットワークをスキャンする場合は十分だが、より包括的な一連の発見調査は、セキュリティ監査に任せた方がよい。 + + オプション(pingの種類を選ぶ)を組み合わせることもできる。様々なTCPポート/フラグやICMPコードを用いた多種多様なプローブを送ることで、制限の厳しいファイアウォールをすり抜ける確率を上げることができる。さらに留意すべき点は、ローカル イーサネット ネットワーク上のターゲットに対しては、その他のオプションを指定している場合でも、ARP探索()がデフォルトで行われることである。これはほとんどの場合、他よりも高速で効果的に実施できるからである。 + + ホスト発見を制御するオプションを以下に挙げる。 + + + + + (リストスキャン) + + ホスト発見の縮小版で、単に指定されたネットワークの全ホストを一覧するだけであり、ターゲットホストには何もパケットを送らない。デフォルトでは、Nmapはホスト名を知るために、ホスト上でDNSの逆引き解決も行う。単なるホスト名とはいえ、意外なほど有用な情報をもたらしてくれることも多い。例えばfw.chi.playboy.comは、プレイボーイ社(Playboy Enterprises)のシカゴ(Chicago)支社のファイアウォールである。また最終的には、IPアドレスの総数についての報告もある。リストスキャンは、自分のターゲットに対して正しいIPアドレスが得られていることを確認するための有効な健全性検査になる。ターゲットのホストが見覚えのないドメイン名を示している場合は、間違って別の会社のネットワークをスキャンしてしまわないように、さらに詳しく調査するだけの価値はある。 + + リストスキャンの狙いは、単にターゲットホストのリストを出力するだけなので、ポートスキャン、OS検出、pingスキャンなどのより高度なレベルの機能を実現するためのオプションは、これと組み合わせることはできない。これらのハイレベルの機能を実行する際に、pingスキャンを無効にしたい場合は、オプションの項を参照のこと。 + + + + + + (Ping スキャン) + + + このオプションを使うと、Nmapはpingスキャン(ホスト発見)のみを実行し、応答した利用可能なホストの一覧を出力する。それ以上の調査(ポートスキャンやOS検出など)は行わない。リストスキャンよりも一歩立ち入った調査になるが、同じ目的で使用される場合が多い。ターゲットネットワークの予備調査を、あまり注意を引かずに軽く実行できる。攻撃者にとっては、IPおよびホスト名を1つ1つリストスキャンして得られるリストよりも、アクティブなホストがいくつあるかを知ることのほうが価値がある。 + + またこのオプションは、システム管理者の役に立つ場合も多く、ネットワーク上の利用可能なマシンの数を数えたり、サーバの可用性を監視したりするために容易に利用できる。pingスウィープと呼ばれることも多く、ブロードキャストのクエリには応答しないホストが多いために、ブロードキャストアドレスにpingを打つよりも信頼性が高い。 + + オプションはデフォルトで、ICMPエコー要求と80番ポート宛てのTCPパケットを送信する。高い権限がないユーザが実行する場合は、SYNパケットが(connect()コールを使って)ターゲットの80番ポートに送られる。高い権限を持つユーザが、ローカル イーサネット ネットワーク上のターゲットのスキャンを試みる場合は、が指定されていない限り、ARP要求()が用いられる。オプションを、発見プローブタイプ(を除くタイプ)のオプションと組み合わせると、さらに柔軟に対応できる。このプローブタイプのどれかとポート番号のオプションを使うと、デフォルトのプローブ(ACKやエコー要求)よりも優先される。Nmapを実行している発信元ホストとターゲットネットワークの間に、制限の厳しいファイアウォールが設置してある場合は、これらの高度なテクニックを用いるべきである。さもないと、ファイアウォールでプローブパケットやホストの応答パケットが破棄された場合に、ホストを検出し損ねる可能性がある。 + + + + + + + + (ping なし) + + + このオプションを指定すると、Nmapが実行するホスト発見の段階が完全に省略される。Nmapは通常この検出段階で、さらに立ち入ったスキャンを行うためのアクティブなマシンを割り出す。Nmapはデフォルトでは、ポートスキャン、バージョン検出、OS検出などの立ち入ったプローブは、作動していることが判明したホストに対してしか実行しないようになっている。を使ってホスト発見を無効にすると、Nmapはターゲットに指定されたIPアドレスすべてに対して、要求されたスキャン機能を実行しようとする。つまり、クラスBのサイズのアドレス空間(/16)を、コマンドラインでターゲットに指定した場合、65,536個のIPアドレスすべてがスキャンされる。の2番目の文字は数字のゼロであり、英字のオーではない。リストスキャンの場合と同様に、本来行うべきホスト発見の段階は省略されるが、Nmapはそこで停止してターゲットのリストを出力するのではなくて、各ターゲットIPがアクティブであるかのように、要求された機能を実行し続ける。 + + + + + + (TCP SYN Ping) + + + このオプションによって、SYNフラグ付きの空のTCPパケットが送信される。デフォルトの送信先ポートは80番(この設定は、nmap.hのDEFAULT_TCP_PROBE_PORTを書き換えてコンパイルすると変更できる)だが、代わりのポートをパラメタとして指定できる。また、コンマ区切りのポート番号リスト(例:)を指定することも可能である。この場合、各ポートに対するプローブは同時並行で試みられる。 + + SYNフラグによって、こちら側がコネクションの確立を試みていることをリモートのシステムに知らせる。通常は送信先ポートが閉じており、RST(リセット)パケットが送り返される。このポートがたまたま開いていた場合は、ターゲットはSYN/ACK TCPパケットで応答し、TCPの3ウェイハンドシェイクの第二段階に進む。続いて、Nmapを実行しているマシンが、ACKパケットを送って3ウェイハンドシェイクを完了すれば、完全なコネクションが確立されるが、その代わりにRSTで応答することで、生成途中のコネクションを切断する。このRSTパケットは、Nmap自身ではなくて、Nmapを実行しているマシンのカーネルが、予期せぬSYN/ACKに応答して送るものである。 + + Nmapでは、対象のポートが開いているか閉じているかは問題にしない。対象のホストがアクセス可能で、反応があることをNmapに告げるのは、上で述べたRSTかSYN/ACKの応答である。 + + UNIXマシンでは通常、生のTCPパケットを送受信できるのはroot権限を持つユーザに限られる。こうした権限のないユーザの場合は、次善策が自動的に採用され、各ターゲットポートに対してconnect()システムコールが起動される。これにより、SYNパケットをターゲットホストに送信し、コネクションの確立を試みる。connect()の戻り値としてすみやかに成功か失敗(ECONNREFUSED)が得られた場合、下位のTCPスタックではSYN/ACKかRSTパケットを受信したことになり、ターゲットホストはアクセス可能と見なされる。このコネクションの試みが未確立のままでタイムアウトに達した場合は、ホストはダウンしていると見なされる。Nmapは生のIPv6パケットの生成にはまだ対応していないので、この次善策はIPv6による接続にも用いられる。 + + + + + + + (TCP ACK Ping) + + TCP ACK pingは、すぐ上で述べたSYN pingのケースに酷似している。異なる点は、想像される通り、SYNフラグの代わりにTCP ACKフラグが付けられることである。こうしたACKパケットは、確立されたTCPコネクション上のデータを承認していると称しているが、そのようなコネクションは存在しないのである。そのため、リモートホストは常にRSTパケットで応答しなければならなくなり、この過程で自らの存在を明らかにすることになる。 + + オプションは、SYNプローブと同じデフォルトポート(80)を使用し、同じ形式の目的ポートリストを得ることができる。権限のないユーザがこれを試みる場合や、IPv6ターゲットが指定された場合は、上で述べたconnect()の次善策が用いられる。ただし実際には、connect()はACKではなくてSYNパケットを送るので、この次善策は完全とは言えない。 + + SYNおよびACKの両方の pingが使えるようになっている理由は、ファイアウォールをすり抜ける可能性を最大限高くするためである。多くの管理者は、内向きのSYNパケットに関しては、企業のWebサイトやメールサーバなどの共用サービス宛てのもの以外はすべてブロックするように、ルータや簡易ファイアウォールを設定している。これにより、組織へのその他の内向きコネクションは阻止されるものの、ユーザが利用するインターネットへの外向きコネクションは、何にも妨げられずに許可されている。このようなステートフル(処理状態を把握して動的に対処する)でないアプローチは、ファイアウォール/ルータ上でリソースをほとんど消費せず、ハードウェアおよびソフトウェアフィルタで広くサポートされている。Linux用ファイアウォールソフトウェア「Netfilter/iptables」には、こうしたステートレスなアプローチを実装するための「--syn」という便利なオプションが用意されている。このようなステートレスなファイアウォールルールが設定されている場合、SYN pingプローブ()を閉じたターゲットポートに送ってもブロックされる可能性が高い。そうした場合は、ACKプローブが効力を発揮し、このルールを突破する。 + + またよく使われるファイアウォールで、別の種類のものには、想定外のパケットは破棄するというステートフルルールが採用されている。当初こうした機能はハイエンドのファイアウォールでしか見られなかったが、ここ数年の間に一般に広く普及してきている。LinuxのNetfilter/iptablesシステムは、オプションでこの機能をサポートしており、コネクションの状態に応じてパケットを分類する。このようなシステムでは、想定外のACKパケットは通常、偽物と認識されて破棄されるので、SYNプローブのほうが有効である可能性が高い。この難題に対する解決策の1つは、 および を指定して、SYN および ACKの両方のプローブを送ることである。 + + + + + + (UDP Ping) + + + これもホスト発見用オプションで、空の(が指定されている場合を除き)UDPパケットを特定のポートに送信する。ポートリストは、上で述べたのオプションの場合と同じ形式にする。特にポートが指定されていない場合、デフォルトでは31338番になる。このデフォルト値を設定するには、nmap.hのDEFAULT_UDP_PROBE_PORTを書き換えてコンパイルする。ほとんど使われることがないポートがデフォルトで使用されている理由は、開放ポートへの送信が、このスキャンタイプでは特に望ましくない場合が多いからである。 + + UDPプローブがターゲットマシンで閉じたポートに行き着いた場合は、ICMPポート到達不能パケットが返送されるはずである。Nmapはこれにより、ターゲットマシンが稼動中でアクセス可能であることを知ることになる。ICMPにはこの他にも、ホスト/ネットワーク到達不能やTTL超過などの、ホストがダウンしているか到達不能であることを示す多様なエラーメッセージがある。応答がないのも、これと同様に解釈される。空のパケットが開放ポートに到達した場合、ほとんどのサービスはこれを無視して、何の応答も返さない。デフォルトのプローブポートが、ほぼ使用中ではない31338番になっているのは、このためである。「chargen」などのサービスには、空のUDPパケットに応答するものがいくつかあり、マシンが利用可能であることをNmapに知らせることになる。 + + この種類のスキャンの主なメリットは、TCPしかふるいに掛けないファイアウォールやフィルタをすり抜けることである。例えば、筆者が以前持っていたLinksys社の無線ブロードバンドルータ、BEFW11S4の外部インターフェースは、デフォルトですべてのTCPポートにフィルタ処理するようになっていたが、UDPプローブを使うと、ポート到達不能メッセージを引き出し、デバイスの正体を明らかにすることができた。 + + + + + + + ; + ; + (ICMP Ping タイプ) + + + Nmapは、上で述べたようなTCP や UDPによるホスト発見の特異なタイプに加えて、どこにでもあるpingプログラムによって送信される標準的なパケットを送ることもできる。Nmapは、ICMPタイプ8(エコー要求)パケットをターゲットのIPアドレスに送信し、利用可能なホストからタイプ0(エコー応答)が返されるのを待ち受ける。ネットワーク調査を行う者にとっては残念なことに、最近のホストやファイアウォールは、RFC1122の要件通り応答を返すよりは、これらのパケットをブロックするものが多い。そのため、インターネット上の未知のターゲットに対しては、ICMPスキャンだけでは十分な信頼性が得られない。だが、内部ネットワークを監視しているシステム管理者にとっては、実用的で効率的なアプローチになる場合もある。このエコー要求動作を有効にするには、オプションを使用すること。 + + エコー要求は標準的なICMP pingクエリであるが、Nmapはそれだけにとどまらない。ICMP規格(RFC792)には、タイムスタンプ要求、情報要求、アドレスマスク要求などのパケットが、それぞれコード13、15、17として指定されている。これらのクエリの表向きの目的は、アドレスマスクや現在の時刻などの情報を知ることだが、ホスト発見にも容易に利用できる。応答を返すシステムはすなわち、稼動中で利用可能なのである。情報要求パケットは、それほど広くサポートされているわけではないので、今のところNmapには実装されていない。RFC 1122ではホストにはこの種のメッセージを実装するべきではありませんと提唱されている。タイムスタンプとアドレスマスクに関するクエリは、それぞれのオプションを付けることで送信できる。タイムスタンプ応答(ICMP コード14)やアドレスマスク応答(コード18)によって、ホストが利用可能であることが明らかになる。これら2つのクエリは、管理者がエコー要求パケットを限定してブロックしているが、他のICMPクエリが同じ目的で用いられる可能性があることを見落としている場合に有効である。 + + + + + + + (ARP Ping) + + + Nmapの最も一般的な使用法の1つは、イーサネットLANのスキャンである。たいていのLAN、特にRFC1918提唱のプライベートアドレス範囲が用いられているLANでは、IPアドレスの大部分は常に未使用のままになっている。NmapがICMPエコー要求のような生のIPパケットを送信する場合、OSはイーサネットフレームのアドレスを正しく指定できるように、ターゲットIPに対応する送信先ハードウェア(ARP)のアドレスを決める必要がある。だがこの処理は遅く、不確実である場合が多い。なぜなら、OSは、利用できないホストに対して何百万という数のARP要求を短時間で行わなければならないことを想定して作られているわけではないからである。 + + NmapのARPスキャンでは、ARP要求の処理を行うのに、そのために最適化したアルゴリズムを用いている。応答が返された場合、Nmapはすでにそのホストが稼動中であることがわかるので、IPベースのpingパケット処理の心配はしなくてよくなる。これにより、ARPスキャンはIPベースのスキャンよりもずっと高速で信頼性の高い処理を行うことができる。そのため、Nmapがローカル イーサネット ネットワーク上で検出したイーサネット ホストをスキャンする場合は、デフォルトでARPスキャンが行われるようになっている。別のpingタイプ(など)が指定されている場合でも、同一のLAN上にあるターゲットに対しては、Nmapはそれらの代わりにARPを用いる。あくまでもARPスキャンを行いたくない場合は、を指定すること。 + + + + + + + (DNS解決を行わない) + + + Nmapが発見したアクティブなIPアドレスに対して逆引きのDNS解決を行わないように指定する。DNSは処理が遅いことが多いので、これによって進行を速めることができる。 + + + + + + (全ターゲットにDNS解決を行う) + + + ターゲットのIPアドレスに対して常に逆引きDNS解決を常に行うように指定する。この指定は通常、対象のマシンが稼動していることが判明している場合にのみ行われる。 + + + + + + (システムのDNSリゾルバを使う) + + + Nmapはデフォルトでは、ホスト上に構成されたネームサーバに直接クエリを送り、応答を待ち受けることで、IPアドレスを解決する。パフォーマンスを上げるために、数多くの要求(数十件に及ぶことも多い)が並行処理される。代わりに自分のシステムのリゾルバを使いたい(getnameinfo()コールを介して1回に1個のIPを処理する)場合は、このオプションを指定すること。だがこれは低速でほとんど使い物にならない。ただし、NmapのDNSコードにバグがある場合はこの限りではない--その場合は連絡していただきたい。IPv6スキャンでは常に、システムのリゾルバが使われる。 + + + + + + + ポートスキャンの基本 + + Nmapはここ数年で、機能面でいろいろと拡充されてきたが、もとは効率的なポートスキャナとして開発されたものであり、ポートスキャンは今でもNmapの中核を成す機能である。nmap + targetというシンプルなコマンドで、ターゲットホスト上の1660個あまりのTCPポートをスキャンできる。多くのポートスキャナでは従来、すべてのポートは一括してopen」(開いている)かclosed(閉じている)のどちらかの状態にあるものとして扱われてきたが、Nmapではさらにきめ細かく取り扱われる。すなわち、ポートは以下の6つの状態に分類される: openclosedfilteredunfilteredopen|filtered、またはclosed|filtered + +これらの状態は、ポート自体に固有の特性ではなくて、Nmapがポートをどのように認識しているかを表している。例えば、Nmapがターゲットと同じネットワークからスキャンを行うと、135番/tcpポートはopen状態にあるように見えるが、同時刻に同じオプションでこのスキャンをインターネット上から行った場合、同ポートはfilteredと見えるだろう。 + +Nmapに認識されるポートの6つの状態 + + open + このポートでは、アプリケーションがTCPコネクションやUDPパケットをアクティブに受け入れている。多くの場合、ポートスキャンの第一の目的は、この種のポートを見つけることである。セキュリティを重視する人なら、openポートが攻撃者の通り道になることをご存知だろう。攻撃者やペンテスト実施者は、このopenポートの弱点を突こうとする一方で、管理者は正規ユーザの利用を妨げることなく、これらのポートをファイアウォールで閉じたり防御したりしようとする。また、Openポートを見ると、ネットワーク上で利用可能なサービスが何かわかるので、セキュリティスキャン以外でも興味を引かれるポートである。 + + + closed + + closed(閉じた)ポートは、アクセス可能(Nmapのプローブパケットを受信したり応答したりする)だが、そこで受信待機しているアプリケーションはない。この種のポートは、あるIPアドレスでホストが稼動中であることを確認する場合(ホスト発見やpingスキャン)や、OS検出の一環として役に立つ場合もある。closedポートは到達可能なので、後にその一部が開放された場合は、スキャンの対象になる可能性がある。管理者がこの種のポートもファイアウォールでブロックすることを検討する場合もあるだろう。そうなると、これらは次で述べるfiltered(フィルタあり)状態として見えるようになる。 + + + filtered + + Nmapは、このポートが開いているかどうかを判別できない。なぜなら、パケットフィルタのせいで、プローブがポートまで到達できないからである。このフィルタ処理は、ファイアウォール専用機器、ルータのルール、ホストベースのファイアウォールソフトなどで実行できる。これらのポートからは情報がほとんど得られないので、攻撃者の企てを阻むことになる。場合によっては、タイプ3コード13(destination unreachable(宛先到達不能):通信が管理上の理由で禁止されている)などのICMPエラーメッセージを返すこともあるが、応答しないでプローブを破棄するだけのフィルタのほうがはるかに多く使われるようになっている。この場合、Nmapは、プローブが破棄されたのはフィルタリングではなくてネットワークの混雑のせいと見なして、再試行を数回行わざるを得なくなるので、スキャンの進行速度が格段に落ちる。 + + unfiltered + unfiltered状態とは、ポートにはアクセス可能だが、そのポートが開いているか閉じているかをNmapでは判別できないことを意味する。ポートをこの状態に分類できるのは、ファイアウォールルールを解読するのに使われるACKスキャンだけである。unfilteredポートのスキャンをその他のスキャンタイプ、例えばWindowスキャン、SYNスキャン、FINスキャンなどで行うと、ポートが開いているかどうかを決めるのに役立つ場合もある。 + + + open|filtered + Nmapがポートをこの状態に分類するのは、対象のポートが開いているかフィルタ処理されているかを判別できない場合である。openポートからの応答がないタイプのスキャンには、こうしたケースが発生する。また、応答がないことは、プローブやそれが引き出した応答をパケットフィルタが破棄したことを意味する場合もある。そのためNmapは、対象のポートがopenなのかfilteredなのかを確実に見分けることができない。UDP、IP プロトコル、FIN、Null、Xmasなどのスキャンは、ポートをこの状態に分類する。 + + closed|filtered + この状態は、ポートが閉じているかフィルタ処理されているかを、Nmapが判断できない場合に用いられる。IPID Idleスキャンにのみ使用される。 + + + + + ポートスキャンのテクニック + +自動車修理に関して全くの初心者である筆者が修理を行う場合、原始的な工具(ハンマー、ダクトテープ、レンチなど)を次々と取り出し、目の前の作業を行うのに適した工具を探してあれでもないこれでもないと何時間も悪戦苦闘する様が想像できる。結局うまく行かず、ポンコツ車を本物の修理工のところまで引っ張っていくと、彼はいつも巨大な工具箱をごそごそ漁って、最適な小道具を引っ張り出し、いとも簡単に作業を終わらせてしまう。ポートスキャンの技術も、これに似ている。専門家は数多くのスキャンテクニックを熟知しており、与えられた作業を行うのに最適のテクニック(あるいは組み合わせ)を選択する。一方、経験の乏しいユーザやスクリプトキディたちは、あらゆる問題をデフォルトのSYNスキャンだけで解決しようとする。Nmapは無料なので、ポートスキャン技術に精通するか否かの分かれ目は、知識だけなのだ。その点については、自動車業界よりましなのは間違いない。なにしろ自動車業界では、ストラット スプリングコンプレッサーが必要と判断するには卓越したスキルが必要であるばかりか、それを手に入れるために数千ドルを支払わなければならないからだ。 + +ほとんどのスキャンタイプを利用できるのは、高い権限を持つユーザに限られる。こうしたスキャンでは生パケットが送受信されるが、これを行うのにUNIXシステムではrootアクセス権が必要だからである。Windowsでは管理者アカウントの使用が推奨されるが、このプラットフォームでは、WinPcapがすでにOSにロードされている場合には、Nmapが高い権限を持たないユーザにも役に立つ場合がある。Nmapがリリースされた1997年当時は、共用のシェルアカウントしか使えないユーザが多かったので、root権限が必要という条件は重大な制約になった。だが今や、世の中は変わった。コンピュータはますます安くなり、常時接続のインターネットアクセスを利用するユーザは激増し、デスクトップのUNIXシステム(Linux や MAC OS Xなど)も広く普及している。WindowsバージョンのNmapも利用可能になり、さらに多くのデスクトップでNmapを実行できるようになっている。これらの理由により、ユーザが制限のある共用シェルアカウントからNmapを実行する必要性が少なくなってきている。これは好都合なことである。高い権限を必要とするオプションを利用できれば、Nmapははるかに大きな効果と柔軟性を発揮するからだ。ほとんどのスキャンタイプを利用できるのは、高い権限を持つユーザに限られる。こうしたスキャンでは生パケットが送受信されるが、これを行うのにUNIXシステムではrootアクセス権が必要だからである。Windowsでは管理者アカウントの使用が推奨されるが、このプラットフォームでは、WinPcapがすでにOSにロードされている場合には、Nmapが高い権限を持たないユーザにも役に立つ場合がある。Nmapがリリースされた1997年当時は、共用のシェルアカウントしか使えないユーザが多かったので、root権限が必要という条件は重大な制約になった。だが今や、世の中は変わった。コンピュータはますます安くなり、常時接続のインターネットアクセスを利用するユーザは激増し、デスクトップのUNIXシステム(Linux や MAC OS Xなど)も広く普及している。WindowsバージョンのNmapも利用可能になり、さらに多くのデスクトップでNmapを実行できるようになっている。これらの理由により、ユーザが制限のある共用シェルアカウントからNmapを実行する必要性が少なくなってきている。これは好都合なことである。高い権限を必要とするオプションを利用できれば、Nmapははるかに大きな効果と柔軟性を発揮するからだ。 + +Nmapは正確な結果を出そうと試みるが、その洞察はすべて、ターゲットマシン(もしくは前面のファイアウォール)から送り返されるパケットに基づいて得られたものであるという点に留意する必要がある。RFCに準拠していないホストがますます広く使われるようになっているが、これらのホストからは、Nmapのプローブに対して、当然想定される応答は返ってこない。FIN、Null、Xmasスキャンなどは特に、この問題の影響を受けやすい。これらは特定のスキャンタイプに固有の問題なので、個々のスキャンタイプの項で述べることにする。 + +本節では、Nmapがサポートする10個あまりのスキャンテクニックについて述べる。この手法は一度に1つしか使えないが、UDPスキャン()だけは例外で、TCPスキャンタイプのいずれか1つと組み合わせて用いることができる。ポートスキャンタイプのオプションは、覚えやすいようにの形式になっている。ここでCは、スキャン名のなかの目立つ文字で、通常は頭文字になる。この規則の例外の1つは、廃止予定のFTPバウンススキャン()である。デフォルトでは、NmapはSYNスキャンを実行するが、ユーザが生パケットを送信するための然るべき権限(UNIX上ではrootアクセス権が必要)を持っていない場合や、IPv6のターゲットが指定された場合は、代わりにConnect()スキャンが用いられる。ここで一覧したスキャンのなかで、高い権限を持たないユーザが実行できるのは、connect()スキャンと ftpバウンススキャンだけである。 + + + + + (TCP SYN スキャン) + + +SYNスキャンはデフォルトであり、正当な理由で最もよく使用されるスキャンオプションである。強制的なファイアウォールによる妨害のない、高速なネットワーク上では、数千ポート毎秒という高速なスキャンを実行できる。SYNスキャンは、TCPコネクションを確立しないため、比較的秘匿性が高い。また、NmapのFin/Null/Xmas、Maimon、Idleスキャンのように特定のプラットフォームの特質に左右されることはなく、規格準拠のTCPスタックなら何に対しても機能する。さらには、openclosed、およびfilteredというポートの状態を明確かつ確実に区別することができる。 + +この技法は、完全なTCPコネクションを開くわけではないので、 ハーフオープン(half-open)スキャンと呼ばれることも多い。あたかも実際にコネクションを開くつもりがあるかのように、SYNパケットを送信し、応答を待つ。SYN/ACKの応答は、ポートが待ち受け状態(open)であることを示し、またRST(reset)は、待ち受け状態にないことを示している。数回再送信しても何の応答もない場合、ポートはfilteredと見なされる。また、ICMP到達不能エラー(タイプ 3、コード 1、2、3、9、10、13)が送り返された場合も、ポートはfilteredと見なされる。 + + + + + + + (TCP connect() スキャン) + + + TCP Connect()スキャンは、SYNスキャンを選択できない場合のデフォルトのTCPスキャンタイプである。ユーザが生パケットの権限を持たないか、IPv6ネットワークをスキャンする場合がこれにあてはまる。Nmapは、他のほとんどのスキャンタイプのように生パケットに書き込むのではなく、connect()システムコールを発行して、ターゲットのマシンやポートにとのコネクションを確立するよう下位OSに要求する。これは、Webブラウザ、P2Pクライアント、その他ほとんどのネットワーク対応アプリケーションがコネクションを確立するために使用するのと同じ高レベルのシステムコールである。これは、「BerkeleyソケットAPI」というプログラミングインターフェースの一部である。Nmapは、生パケットの応答を回線から読み込むのではなく、このAPIを使って、接続を試みるたびにステータス情報を入手する。 + +SYNスキャンが利用できる場合は通常、そちらを使用した方がよい。Nmapは生パケットよりも、高レベルのシステムコールであるconnect()に対するほうが制御の自由度が低いので、処理効率も悪くなるからだ。connect()システムコールは、SYNスキャンが行うようにハーフオープン接続をリセットするのではなく、ターゲットのopenポートとのコネクションを確立する。この処理は、同じ情報を得るのにさらに多くの時間とパケットを必要とするだけでなく、ターゲットマシンのログに接続が記録される可能性も高くなる。まともなIDSならどちらも検知するはずだが、たいがいのマシンにはそのような警告システムは備わっていない。平均的なUNIXシステムで実行されているサービスの多くは、Nmapが接続を確立し、その後データ送信を行わずに接続を閉じた場合、syslogに簡単な記録や時には不可解なエラーメッセージを追加する。真にお粗末なサービスは、これが起きた場合に停止してしまうが、まずめったにないことだ。管理者は、特定のシステムからの接続試行がかなりの回数にわたってログに記録されているのを発見したら、このconnect()スキャンのターゲットになっていると見なすべきである。 + + + + + + + (UDP スキャン) + + +インターネット上で最も広く利用されているサービスの大部分は、TCPプロトコルで実行されているが、UDPサービスも広く導入されている。DNS、SNMP、DHCP(それぞれ登録ポートは 53、161/162、67/68)の3つは、最もよく利用されているUDPサービスである。UDPスキャンは通常、TCPよりも処理に時間がかかり難易度も高いので、セキュリティ監査人のなかにはこれらのポートを無視する人もいる。だがこれは誤りである。悪用可能なUDPサービスは極めてよくあるものであり、攻撃者がこうしたプロトコルを見過ごすわけはないからだ。好都合なことに、NmapはUDPポートの一覧表を作成するのに役立てることができる。 + +UDPスキャンを作動させるには、オプションを指定する。SYN スキャン()などのTCPスキャンタイプと組み合わせて用いて、同じ実行時間中に両方のプロトコルをチェックできる。 + +UDPスキャンは、空の(データなし)UDPヘッダを各ターゲットポートに送ることで機能する。ICMPポート到達不能エラー(タイプ3、コード 1、2、9、10、13)が返された場合、ポートはclosed(閉じている)状態にある。その他のICMPポート到達不能エラー(タイプ3、コード3)が返された場合、ポートはfiltered(フィルタあり)と見なされる。まれにサービスがUDPパケットで応答することがあるが、その場合はポートがopenであることがわかる。数回の再試行の後も応答がない場合、ポートはopen|filteredに分類される。これは、ポートが開いているか、もしくはパケットフィルタが通信を阻んでいることを意味する。バージョンスキャン()を用いて、実際に開いているポートとフィルタ処理されたポートを識別することもできる。 + +UDPスキャンに関する大きな課題は、処理の高速化である。Openポートやfilteredポートから応答が送り返されることはほとんどないため、Nmapはそのままタイムアウトし、プローブや応答が行方不明になった場合に備えて再試行を行うことになる。閉じたポートは、さらに大きな問題になる場合が多い。閉じたポートからは通常、ICMPポート到達不能エラーが返されるが、閉じたTCPポートがSYNやConnectスキャンに応答してRSTパケットを送る場合とは異なり、多くのホストでは、ICMPポート到達不能メッセージがデフォルトでレート制限されている。Linux や Solarisは、この点に関して特に厳しい。例えば、Linux 2.4.20カーネルは、宛先到達不能メッセージを毎秒1個(net/ipv4/icmp.cで指定)に制限している。 + +Nmapはレート制限を検出し、それに応じて処理速度を下げて、ターゲットマシンで落とされるような無用なパケットでネットワークを溢れさせないようにする。残念ながら、Linux方式で毎秒1パケットに制限されると、65,536個のポートをスキャンするのに18時間あまりかかる。UDPスキャンの速度を上げるためのアイデアには、次のようなものがある。同時並行でスキャンするホストの数を増やす、よく使われるポートだけを先に重点的にスキャンする、ファイアウォールの背後からスキャンする、オプションを使って低速なホストをスキップする。 + + + + + + + ; ; (TCP Null、FIN、およびXmasスキャン) + + +これら3つのスキャンタイプ(次の節で述べるオプションを併用するとさらにいろいろなことができる)は、TCP RFCの巧妙な抜け穴を突いて、openポートとclosedポートを識別するためのものである。TCP RFCの65ページには、宛先ポートの状態が CLOSEDならば... RSTを含まない入力セグメントは、その応答としてRSTを送信するとある。次のページでは、SYN、RST、ACKなどのビットセットを含まない、openポート宛てパケットについて述べてあり、ここに至ることはなさそうであるが、もし至ったらセグメントを破棄してリターンするとある。 + +このRFC文書に準拠しているシステムをスキャンすると、SYN、RST、ACKなどのフラグビットを含まないパケットに対しては、ポートが閉じている場合はRSTが返され、ポートが開いている場合は何の応答も返されないことになる。これら3つのフラグビットが含まれない限り、他の3つ(FIN、PSH、URG)をどのように組み合わせてもよい。Nmapは以下の3つのスキャンタイプでこの弱点を突く。 + + + Null スキャン () + 何のビットも設定しない(tcpヘッダのフラグは0) + + FIN スキャン () + TCP FINビットだけを設定する + + Xmas スキャン () + FIN、PSH、URGのフラグをすべて設定し、クリスマスツリーのようにパケットをライトアップする + + +これら3つのスキャンタイプは、プローブパケットに設定されるTCPフラグの違いを除けば、まったく同じ動作を示す。RSTが返された場合、ターゲットポートはclosedと見なされ、何の応答もない場合はopen|filteredになる。ポートがfilteredに分類されるのは、ICMP到達不能エラー(タイプ 3、コード 1、2、3、9、10、13)が返された場合である。 + +これらのスキャンの最大の利点は、特定のステートレスなファイアウォールやパケットフィルタリング・ルータをすり抜けることができる点である。さらには、SYNスキャンよりもやや秘匿性が高いことも利点として挙げられる。しかし、あまり当てにしないように。最近のIDS製品はほとんど、これらを検知するように設定できるからだ。不利な点は、すべてのシステムがRFC 793に忠実に準拠しているわけではないことだ。ポートが開いているか否かに関係なく、プローブに対してRST応答を送信するシステムは数多くある。これにより、すべてのポートはclosedに分類されることになる。メジャーなOSでこれを行うのは、マイクロソフトWindows、多くのシスコ製デバイス、BSDI、IBM OS/400などが挙げられる。それでもこのスキャンは、ほとんどのUNIXベースのシステムに対しては有効である。またもう1つ不利な点は、openポートと特定のfilteredポートを区別できないので、応答がopen|filteredに分類されることである。 + + + + + + + (TCP ACK スキャン) + + +このACKスキャンは、openポート(open|filteredも)を判別しないという点で、これまで述べてきたスキャンとは異なっている。ファイアウォールのルールセットを明らかにするために用いられ、ファイアウォールがステートフルか否か、どのポートがフィルタされているかなどを決定する。 + +ACKスキャンのプローブパケットは、ACKフラグだけが設定されている(を用いている場合を除く)。フィルタなしのシステムをスキャンする場合は、openポートとclosedポートの両方からRSTパケットが返される。Nmapはこれらをunfilteredとして分類する。すなわち、ポートはACKパケットで到達可能だが、openclosedかは判別できないことを意味する。応答を返さないポートや、特定のICMPエラーメッセージ(タイプ 3、コード 1、2、3、9、10、13)を返すポートはfilteredに分類される。 + + + + + + + (TCP ウィンドウスキャン) + + +ウィンドウスキャンは、以下の点を除いては、ACKスキャンとまったく同じものである。すなわち、RSTが返されたら常にunfilteredと分類するのではなく、特定のシステムの実装に関する情報を用いて、openポートとclosedポートを識別する点である。これは、返されるRSTパケットのTCPウィンドウのフィールドを調査して判断する。一部のシステムでは、openポートで正の値のウィンドウサイズ(RSTパケットに対しても)が使われ、closedポートではゼロになる。これにより、ウィンドウスキャンは、RSTが返された場合は常にポートをunfilteredに分類するのではなく、RSTパケット内のTCPウィンドウサイズの値が正であるかゼロであるかによって、それぞれopenポートかclosedポートかに分類する。 + +このスキャンは、インターネット上では少数派のシステムの実装に関する情報に基づいているので、必ずしも信用できるとは限らない。通常、この実装をサポートしていないシステムは、すべてのポートがclosedという応答を返す。もちろん、対象マシンに開ポートが本当に1つもない場合もあり得る。スキャンしたポートのほとんどがclosedでも、よく使われるポート番号(22、25、53など)がいくつかfilteredである場合、このシステムは影響を受ける可能性が最も高い。またまれに、システムがまさに正反対の挙動を示す場合もある。スキャンの結果、開ポートが1000個で、closed や filteredが3個あることがわかった場合、この3個のポートこそが、本当はopenポートである可能性はかなり高い。 + + + + + + + (TCP Maimon スキャン) + + +Maimonスキャンは、発見者であるUriel Maimon氏の名前にちなんで名付けられた。この技法に関する同氏の論文は、「Phrack」誌の第49号(1996年11月発行)に掲載された。この技法を搭載したNmapは、これの2号後の第51号で公開された。Maimonスキャンは、プローブがFIN/ACKであるという点以外は、Null、FIN、Xmasスキャンとまったく同じものである。RFC 793 (TCP)によると、この種のプローブの応答としては、ポートがopenか closedかに関係なく、RSTパケットが生成されることになっている。だがMaimon氏は、BSD由来のシステムの多くで、ポートが開いている場合には、単にパケットが破棄されるだけになるという現象を見出した。 + + + + + + + (カスタム TCP スキャン) + + +本物のNmap上級ユーザなら、あらかじめ用意されたスキャンタイプを使うだけで満足している必要はない。このオプションを使うと、任意のTCPフラグを指定することで、ユーザ独自のスキャンを設計することができる。さあ、創造力を全開にして、Nmapのmanページをただ流し読みして具体的なルールを追加しているようなメーカーのIDSの裏をかいてやろう。 + +の引数は、例えば9(PSH と FIN)などの数字のフラグ値で指定することもできるが、記号名を使った方が簡単である。URGACKPSHRSTSYNFINをごちゃまぜに組み合わせればよいだけだ。例えばで全部指定できるわけだが、もっともこれは、実際のスキャンには使えない。引数を指定する順序は不同である。 + +またここでは、使いたいフラグだけでなく、TCPスキャンタイプ(など)も指定できる。この基本タイプによって、応答を解釈する方法をNmapに伝える。例えば、SYNスキャンであれば、応答なしはfilteredポートであることと見なし、FINスキャンであれば、同じ応答なしをopen|filteredと解釈するわけだ。Nmapは、この基本のスキャンタイプと同じ動作をするが、異なる点は、ユーザが指定するTCPフラグを代わりに使うことである。基本のスキャンタイプが指定されない場合は、SYNスキャンが使用される。 + + + + + + + (Idle スキャン) + + + + この高度なスキャン手法を使用すると、対象ホストに対して完全に匿名でTCPポートスキャンを実行できる(スキャンする側の実IPアドレスからは、対象ホストにパケットが送信されない)。それだけではなく、ゾンビホスト上で連続的に生成されるIPフラグメントID(識別子)が予測可能であることを巧妙に利用した独自のサイドチャネル攻撃を実行して、対象ホスト上のopenポートに関する情報を収集することもできる。IDSシステムでは、このスキャンはこちらで指定したゾンビマシン(稼動中でかつ特定の条件を満たす必要がある)から行われているものとして表示される。この非常に興味深いスキャンタイプは複雑すぎて本稿ではとても全容を説明しきれないので、完全な詳細を掲載した非公式の論文を以下に投稿しておくことにする: + + このスキャンタイプは、(その匿名性のために)格別に秘匿性が高いことに加え、マシン間のIPベースの信頼関係を明らかにすることができる。ポートリストには、指定したゾンビホストから見たopenポートが表示される。よって、(ルータ/パケットフィルタのルールから)信頼関係にあると思われる様々なゾンビマシンを使ってターゲットをスキャンしてみることもできる。 + + IPIDの変化について、ゾンビホストの特定のポートを調査したい場合は、コロンの後にポート番号を付けたものをゾンビホストに追加して指定できる(ゾンビホスト:プローブポート)。ここでポートを指定しない場合、NmapはTCP Ping用にデフォルトで使用するポート(80)を用いる。 + + + + + + + (IP プロトコル スキャン) + + +IPプロトコルスキャンを使うと、ターゲットマシン上でどのIPプロトコル(TCP、ICMP、IGMPなど)がサポートされているかを特定できる。繰り返し表示されるのは、TCP や UDPのポート番号ではなくて、IPプロトコル番号なので、厳密にはポートスキャンとは言えない。とはいえ、スキャンするプロトコル番号を選定するのにオプションを使い、結果は標準的なポートテーブル形式でレポートし、実際のポートスキャン手法と同じスキャンエンジンを基礎に用いている。そのため、ポートスキャンに十分近いものとして、ここに含めた。 + +プロトコルスキャンは機能として有用であるだけでなく、オープンソースソフトウェアとしての強力さを示すものでもある。この機能については、基本となるアイデアは極めて単純だが、筆者自身追加しようと思ったこともなかったし、周りからそうした要望が寄せられることもなかった。そして2000年の夏、Gerhard Rieger氏がアイデアを考案し、素晴らしい実装パッチを作成して、「nmap-hackers」メーリングリストに投稿してくれた。筆者はこのパッチをNmapのツリーに組み込んで、その翌日に新バージョンとして公開した。市販のソフトウェアで、その機能向上のために設計段階から寄与するほど熱心なユーザを持つソフトはほとんどない + +プロトコルスキャンは、UDPスキャンと同様の仕組みで機能する。すなわち、UDPパケットのポート番号フィールドをすべて繰り返し試行する代わりに、IPパケットヘッダを送信して、8bitのIPプロトコル番号フィールドをすべて繰り返し試行する。このヘッダは通常は空で、何のデータも、求められるプロトコルに適したヘッダすら含まれていない。これには例外が3つあり、TCP、UDP、ICMPである。これらのプロトコルについては、適切なプロトコルヘッダが含まれる。そうしないとヘッダを送信しないシステムがあるからで、Nmapはすでにこれらを作成する機能を備えている。プロトコルスキャンは、ICMPポート到達不能メッセージではなくて、ICMPprotocol到達不能メッセージが返されるのを待つ。Nmapはターゲットホストから何らかの応答を何らかのプロトコルで受信した場合、そのプロトコルをopenとして分類する。ICMPプロトコル到達不能エラー(タイプ 3、 コード 2)が返されたら、プロトコルはclosedと分類される。その他のICMP到達不能エラー(タイプ 3、 コード 1、3、9、10、13)が返されたら、プロトコルはfilteredとマークされる(またこれにより、ICMPがopenであることも同時に明らかになる)。数回再送しても何の応答もない場合、プロトコルはopen|filteredとして分類される。 + + + + + + + + + (FTP バウンス スキャン) + + +FTPプロトコル(RFC 959)の興味深い特徴の1つは、いわゆるプロキシFTP接続に対応していることである。これにより、ユーザは一台のFTPサーバに接続し、そのファイルを第三者サーバに送るように要求できる。これは、様々なレベルの悪用にうってつけの機能なので、たいていのサーバでは、サポートするのを止めている。例えば、この機能を悪用して、FTPサーバに他のホストをポートスキャンさせることも可能である。単に、ターゲットホストの興味あるポートに順にファイルを送信するよう、そのFTPサーバに要求するだけでよい。エラーメッセージには、ポートが開いているか否かが記述される。これは、ファイアウォールをすり抜けるための有効な手段になる。組織のFTPサーバは、どんなインターネットホストよりも、他の内部ホストにアクセスしやすい場所に設置されている場合が多いからだ。Nmapは、オプションでftpバウンススキャンを実行できる。引数はusername:password@server:portのような形式になる。Serverは、この脆弱性の影響を受けるFTPサーバの名前かIPアドレスを指定する。通常のURLの場合と同様に、匿名ログインの認証情報(user: +anonymous password:-wwwuser@)が使われる場合は、username:passwordの部分は省略できる。serverのデフォルトのFTPポート(21)を用いる場合は、ポート番号(と前のコロン)も省略可能である。 + +この脆弱性は、Nmapがリリースされた1997年に大きく広まったが、今ではほとんど修正されている。それでも、脆弱なサーバは、いまだにあちらこちらにあるので、その他の方法がすべて失敗した場合は、試してみるだけの価値はある。ファイアウォールの回避が目的なら、ターゲットネットワークをスキャンして開いている21番ポート(もしくはバージョン検出ですべてのポートをスキャンする場合はftpサービスなら何でもよい)を探し出し、それぞれのポートを用いてバウンススキャンを試してみることだ。Nmapを使うと、対象のホストが脆弱か否かを見分けることができる。単に自分の行動の形跡を隠そうとしているだけであれば、ターゲットネットワーク上のホストだけに対象を限定する必要はない(し、むしろそうするべきではない)。脆弱なFTPサーバを求めてインターネットアドレスを無作為にスキャンする場合は、始める前に、システム管理者はこのような方法で自分のサーバを不正に使用されることを迷惑がる場合もあることを頭に入れておく必要がある。 + + + + + + + + ポートの指定とスキャンの順序 + + Nmapには、これまでに述べたすべてのスキャン手法に加えて、どのポートをスキャンするかや、スキャンの順序をランダムにするか順序通りにするかなどを指定するためのオプションが用意されている。デフォルトでは、Nmapは、1024番(を含む)までの全ポートと、1025番以降のポートはスキャン対象のプロトコルに応じてnmap-servicesファイルに記載されたポートをスキャンする。 + + + + + (指定されたポートのみスキャン) + + + + このオプションで、スキャンしたいポートを指定できる。この指定は、デフォルトより優先される。ポート番号は個別に指定しても、ハイフン区切りの範囲(例:1-1023)で指定してもよい。範囲の先頭や終端の値は省略できる場合があり、この場合は範囲の先頭に1、終端に65535がそれぞれ使われる。したがって、と指定すると、1番から65535番までのポートをスキャンできる。ゼロ番ポートのスキャンは、明示的に指定することで実行できる。IPプロトコルスキャン()を行うには、このオプションでスキャンしたいプロトコル番号を指定する(0-255)。 + + TCPポートとUDPポート両方のスキャンを実行する場合は、ポート番号の前にT:U:という限定子を付けることで、特定のプロトコルを指定できる。この限定子は、次に別の限定子が指定されるまで有効になる。例えば、 という引数を指定すると、UDPポートの53番、111番、137番と、列挙したTCPポートのスキャンが実行される。UDPとTCPポート両方のスキャンを実行するためには、および最低1つのTCPスキャンタイプ(など)を指定する必要があるので注意すること。プロトコル限定子が特に指定されていない場合、指定したこれらのポート番号はすべてのプロトコルリストに追加される。 + + + + + + + (高速 (限定したポートだけ) スキャン) + + + + Nmapに同梱されているnmap-servicesファイル(では「protocols」ファイル)に列挙されているポートだけをスキャンするように指定する。こうすることで、ホスト上の全65535ポートをスキャンするよりもはるかに高速になる。このリストには非常に多く(1200以上)のTCPポートが含まれているので、デフォルトのTCPスキャン(約1650ポート)との速度差はそれほど大きくはない。オプションを使って、自分で独自に作成した小さなnmap-servicesファイルを指定すると、この速度差をかなり大きくすることができる。 + + + + + + (ポートの順番を無作為にしない) + + + デフォルトでは、Nmapはスキャンするポートの順番を無作為に選ぶようになっている(効率化のために特定のよく使われるポートを最初のほうに移動した場合を除く)。このような無作為化は通常であれば望ましいが、代わりに番号順にポートスキャンを行いたい場合はこのオプションを指定する。 + + + + + + + サービスとバージョンの検出 + + リモートマシンをターゲットにしてNmapを実行した結果、25/tcp、80/tcp、53/udpの各ポートが開いていることが判明したとしよう。Nmapは、約2200個のよく知られたサービスから成るnmap-servicesのデータベースを用いて、これらのポートがそれぞれメールサーバ(SMTP)、Webサーバ(HTTP)、ネームサーバ(DNS)に相当するとレポートする。通常、この検索結果は正確である。すなわち、TCPポート25番で待ち受けするデーモンの大部分は、実際にメールサーバである。だが、これをすべて鵜呑みにしてはいけない。通常とは異なるポートでサービスが実行されるケースも実際にあり得る。 + + たとえNmapが正しくて、上で仮定したサーバがそれぞれSMTP、HTTP、DNSサーバを実行している場合でも、これは多くの情報にはならない。自社やクライアントの脆弱性調査(簡単なインベントリ調査の場合でも)を実施する際には、どのメールサーバやDNSサーバが動作中であるかを知りたいはずである。正確なバージョン番号を入手することは、サーバがどのような攻撃に対して脆弱であるかを判断するのに大いに役に立つ。バージョン検出はこうした情報を入手するのに役立つ手法である。 + + 別のスキャン手法を用いてTCPポートや UDPポートを発見したら、そこで何が実行されているかについての詳細を明らかにするために、これらのポートをバージョン検出によってさらに綿密に調査する。nmap-service-probesデータベースには、様々なサービスの問い合わせを行うためのプローブや、応答を識別して解析するための照合表現が含まれている。Nmapは以下の情報の特定を試みる:サービスプロトコル(例:ftp、ssh、telnet、http)、アプリケーション名(例:ISC Bind、Apache httpd、Solaris telnetd)、バージョン番号、ホスト名、デバイスタイプ(例:プリンタ、ルータ)、OSファミリ(例:Windows、 Linux) さらには、Xサーバが接続に対してopen状態にあるかどうかや、SSHプロトコルのバージョン、KaZaAのユーザ名などのその他様々な詳細情報の特定が試みられる場合もある。もちろんたいていのサービスは、これらの情報をすべて提供できるわけではない。NmapにOpenSSLのサポート機能が組み困れている場合は、SSLサーバに接続して、この暗号化層の背後で待ち受けしているサービスを推定する。RPC(Remote Procedure Call)サービスが発見された場合は、RPCプログラムとバージョン番号を特定するためにNmapのRPCグラインダー()が自動的に使用される。UDPポートスキャンを実行しても、「open」か「filtered」かを判定できなかった一部のポートは、open|filtered状態として保留される。バージョン検出は、これらのポートから応答を導き出して、可能な場合はその状態を「open」に変更しようと試みる。open|filteredのTCPポートも同様に取り扱われる。ここで注目すべき点は、バージョン検出がNmapのオプションで有効になる機能の1つに含まれることである。バージョン検出のメカニズム、使用法、カスタマイズ方法に関する論文は、以下で入手できる: + + Nmapがサービスからの応答を受信しても、データベースに一致するものが見つからなかった場合は、特別なフィンガープリントとURLが出力される。このURLは、ポートで何が動作しているかが確実に分かっている場合に、フィンガープリントを投稿していただくためのものだ。あなたの発見がいろいろな人のためになるよう、2、3分もかからないのでぜひ投稿していただきたい。こうした投稿のおかげで、Nmapは、smtp, ftp, httpなどの350以上のプロトコルに対する約3000件のパターン照合例を備えるまでになっている。 + + バージョン検出は、以下のオプションで実行および制御が可能である: + + + + + + + (バージョン検出) + + + 上で述べたようなバージョン検出を実行する。またもう1つの方法として、オプションを使うと、OS検出とバージョン検出の両方を実行できる。 + + + + + + + (バージョン検出の対象からすべてのポートを除外しない) + + + デフォルトでは、Nmapのバージョン検出は、TCPポート9100番をスキップするようになっている。一部のプリンタはこのポートに送られたものは何でも出力するので、HTTP GETリクエストやバイナリ形式のSSLセッションリクエストなどのページが何十枚も印刷されることになるからだ。この動作を変更するには、nmap-service-probesの当該の「除外」(Exclude)ディレクティブを変更あるいは削除するか、もしくはを指定すると、Excludeディレクティブに関係なくすべてのポートがスキャンされるようにできる。 + + + + + + (バージョンスキャンの強度を設定) + + + + Nmapは、バージョンスキャン()を実行する際に、1から9までの「希少」(rarity)値が割り振られた一連のプローブを送信する。この希少値が小さいプローブほど、よく用いられる各種サービスに対して有効であり、この希少値が大きいプローブほど、用途が限られることになる。強度レベルは、どのプローブを適用するべきかを指定するオプションである。この数字が大きいほど、サービスが正しく特定される確率は高くなる。だが、強度が高いスキャンは、それだけ時間がかかる。強度は0から9の間で指定する必要があり、デフォルトは7である。nmap-service-probesportsディレクティブによって、ターゲットポートにプローブを登録すると、このプローブは強度レベルに関係なく試行される。これにより、DNSプローブは常に開ポート53番に対して試行され、SSLプローブはポート443番に対して実行されるようにすることなどができる。 + + + + + + + (ライトモードを有効にする) + + + これは、の場合に便利なエイリアスである。このライトモードを使うと、スキャンを通常よりずっと高速に行うことができるが、サービスを特定できる確率はやや低くなる。 + + + + + + (プローブを1つずつ試行する) + + + の場合に有用なエイリアスで、各ポートに対してプローブが1つずつ試行されるようにする。 + + + + + + (バージョンスキャンの動作状況を追跡する) + + + これにより、Nmapは、どのようなバージョンスキャンが実行されているかに関する広範なデバッグ情報を出力する。この情報は、によって得られるものの一部である。 + + + + + + (RPC スキャン) + + この手法は、Nmapの他の様々なポートスキャン手法と連携して機能する。「open」状態であることが確認されたすべてのTCP/UDPポートに対して、SunRPCプログラムのNullコマンドを大量に送信し、ポートがRPCポートであるかどうかを判定し、そうである場合は、そこで実行されているプログラム名とバージョン番号の特定を試みる。従って、ターゲットのポートマッパーがファイアウォールの背後にある(あるいはTCPラッパーで保護されている)場合でも、rpcinfo -pの結果と同じ情報を効率的に取得することができる。現時点では、囮(おとり)は、RPCスキャンとは連携して機能しない。要求があれば、バージョンスキャン()の一部として自動的に有効になる。すでにバージョン検出に含まれており、そちらのほうがずっと包括的なので、が必要になることはめったにない。 + + + + + + + + + OS 検出 + + Nmapの最も有名な機能の1つは、TCP/IPスタック・フィンガープリンティングを用いた、リモートからのOS検出機能である。Nmapは、一連のTCPやUDPのパケットをリモートホストに送り、その応答をほぼ全面的に調査する。TCP ISN(イニシャルシーケンス番号)サンプリング、TCPオプションのサポートや順序の調査、IPIDサンプリング、TCP初期ウィンドウサイズ調査などの数多くのテストを実施した後、Nmapはこれらの結果を、既知のOSフィンガープリントが1500件以上データベース化されたnmap-os-fingerprintsと照合し、一致するものがあった場合はそのOSに関する詳細情報を出力する。各フィンガープリントには、フリーテキスト形式のOSの解説、ベンダ名を与える分類(例:Sun)、下位のOS(例:Solaris)、OSの世代(例:10)、デバイスの種類(汎用、ルータ、スイッチ、ゲーム機など)が含まれる。 + + 条件(例えば少なくともopenポート1つとclosedポート1つの存在がわかっているなど)は整っているが、NmapがターゲットマシンのOSを推測できない場合は、フィンガープリント投稿用URLがNmapから提供される。対象のマシンで動作しているOSが何か(確実に)わかっている場合は、当該のフィンガープリントをこのURLを使って投稿できる。こうした投稿が行われることで、Nmapが認識できるOSのデータベースに新たなデータが蓄積され、あらゆるユーザがさらに精度の高い調査を行えるようになる。 + + OS検出を行うことで、そのプロセスのなかで収集される情報を利用した別のテストをいくつか行うこともできる。例えば、アップタイムの測定がその1つで、TCPのタイムスタンプオプション(RFC 1323)を用いて、マシンが最後に再起動されたのはいつかを推定する。これは、その情報を返したマシンに関してのみ報告される。もう一つのテストは、TCPシーケンス番号の予測可能性の分類である。これにより、リモートホストに対して偽造したTCP接続を確立するのがどの程度困難であるかがおおよそ判定できる。これは、発信元IPベースの信頼関係(rlogin、ファイアウォール、フィルタなど)の弱点を悪用したり、攻撃の出所を隠蔽したりする場合に役立つ。この種のスプーフィングはもはやめったに行われないが、これに対して脆弱なマシンがいまだに数多くある。難易度を表す実際の数値は、統計的なサンプリングに基づいているために上下する可能性がある。通常はworthy challenge(価値ある挑戦)trivial joke(つまらないジョーク)などの言葉の表現による分類を利用する方がよい。これは、冗長()モードの標準出力にのみレポートされる。オプションとともに冗長モードが有効になっている場合、IPIDシーケンス番号の生成に関する情報もレポートされる。ほとんどのマシンは、インクリメンタル(incremental)に分類される。これは、送信するパケットごとに、IPヘッダのIDフィールドの値を1ずつ増加させることを意味する。この仕組みのせいで、これらのマシンは高度な情報収集攻撃やスプーフィング攻撃に対して脆弱になっている。 + + OS検出のメカニズム、使用法、カスタマイズ方法について述べた論文は、以下で入手できる(十数ヶ国語の翻訳版あり): + + OS検出は、以下のオプションで実行および制御できる: + + + + + (OS検出を実行) + + + 上で述べたOS検出を実行する。また別な方法としてオプションを使うと、OS検出とバージョン検出の両方を実行できる。 + + + + + + (OS検出を有望なターゲットに絞る) + + + 少なくとも1つのopenおよびclosedのTCPポートが見つかれば、OS検出の効率はかなり上がる。このオプションを設定すると、Nmapは上の基準に満たないホストにはOS検出を試行しないようになる。これにより、かなりの時間が節約できる。多くのホストに対してスキャンを行う場合は特にそうである。 あるいは で、OS検出の実行をいつ要求するかだけが重要になる。 + + + + + + ; (OS検出の結果を推測) + + + Nmapが完全に一致するOSを検出できない場合、それに近似するものを候補として挙げる場合がある。Nmapがこれをデフォルトで行うためには、近似はかなり近いものでなければならない。上のどちらか(同等)のオプションを指定すると、Nmapはより大まかな近似をアグレッシブに行うようになる。 + + + + + + + + + タイミングとパフォーマンス + Nmapの開発を行ううえで、常に優先事項の1つとして念頭に置いているのが「パフォーマンス」である。筆者のローカルネットワーク上のホストにデフォルトスキャン(nmap +hostname)を実行するのにかかる時間は、5分の1秒である。瞬き1回程度の時間だが、何万、いや何十万というホストをスキャンする場合は、この時間も積算されるわけだ。さらには、UDPスキャンやバージョン検出などの特定のスキャンオプションによって、スキャン時間が大幅に増加する可能性がある。特定のファイアウォール設定、特に応答レート制限の場合も同様である。Nmapには、スキャン速度を上げるための並行処理や高度なアルゴリズムが使用されているが、Nmapをどのように実行するかを最終的に決めるのはユーザである。熟練したユーザは、自分たちの時間的制約を満たしつつ、関心のある情報だけを取得するように、Nmapコマンドに入念な細工を施すものだ。 + + スキャン時間を改善するテクニックとしては、重要でないテストの省略や、Nmapを最新版にアップグレードする(パフォーマンスの強化は頻繁に行われている)などが挙げられる。タイミング(時間調節)パラメタを最適化すると、かなりの違いが生じる場合もある。この種のオプションを、以下に列挙する。 + + + + + + ; + (並列スキャンのグループサイズを調節する) + +Nmapには、複数のホストを並行してポートスキャンやバージョンスキャンする能力がある。これは、ターゲットのIP空間をいくつかのグループに分割し、一度に1グループずつスキャンすることで行われる。一般に、グループの規模を大きくするほど、効率がよくなる。デメリットは、グループ全体のスキャンが終了してからでないと、ホストの結果が得られないことである。そのため、グループサイズが50から始めた場合、ユーザがレポートを受け取るのは、(冗長モードで最新情報が提供される場合を除く)最初の50台のホストが完了してからになる。 + +デフォルトでは、Nmapはこうした競合問題に対して、妥協的なアプローチを採る。すなわち、最初の結果がすぐに得られるように、5程度の小さなグループサイズから始めて、それから1024くらいにまで増やすようにする。初めに設定する数値は、指定するオプションによって決まる。効率上の理由で、Nmapは、UDPスキャンやポート数の少ないTCPスキャンに対しては比較的大きなグループサイズを用いる。 + +グループサイズの最大値がで指定されている場合、Nmapがこのサイズを超過することは決してない。グループサイズの最小値をで指定すると、Nmapはグループサイズがこの値よりも小さくならないようにしようとする。Nmapは、オプションで指定された最小値の条件を満たすのに十分な数のターゲットホストが、所定のインターフェース上に残っていない場合は、指定より小さいグループサイズを使わざるを得なくなる場合もある。グループサイズを特定の範囲内に収めるために、最大値と最小値の両方を設定する場合もあるが、これが必要になるケースはめったにない。 + +このオプションの主な使用法は、スキャンをより高速に完了できるように、グループサイズの最小値に大きな値を指定することである。クラスC規模のネットワークをスキャンするには通常、256を指定する。数多くのポートに対してスキャンを実行する場合は、これ以上の数値を設定しても、あまり効果は期待できない。ポート数がごくわずかのスキャンを行う場合は、ホストのグループサイズを2048以上に設定すると有効だろう。 + + + + + + + ; + (プローブの並列処理を調節する) + + +ホストグループに向けて送信されるプローブの総数を決めるオプションで、ポートスキャンやホスト発見に用いられる。デフォルトでは、Nmapは、ネットワークパフォーマンスに基づいて、常に変化する理想的な並列処理可能数を算出している。パケットが続けて破棄される場合は、Nmapは処理速度を落とし、送信するプローブの数を減らす。理想的なプローブ数は、ネットワークが示すパフォーマンスの高さに応じて、緩やかに増加する。これらのオプションは、この変数に対して上限と下限を設定する。デフォルトでは、理想的な並列処理可能数は、ネットワークの信頼性が低い場合は1まで下がり、最高の状態の場合は数百まで上がる場合もある。 + +最も一般的な使用法は、に1より大きな数値を設定して、パフォーマンスの低いホストやネットワークに対するスキャンの処理速度を上げることである。ただし、軽く使うにはリスクを伴うオプションであり、あまりに大きな値を設定すると、精度に悪影響が及ぶ場合がある。またこれにより、ネットワーク状態に基づいて並列処理可能数を動的に制御するNmapの能力を低下させることにもなる。10程度にしておくのが妥当かと思われるが、この値の調節は最後の手段としてしか行わない。 + +Nmapがホストに対して一度に2つ以上のプローブを送れないようにするために、オプションに「1」が設定される場合がある。これは、(下で述べる)オプションと組み合わせて用いると便利である。もっとも、後者のオプションは通常は単独でも十分に役立つものである。 + + + + + + + , + , + (プローブのタイムアウトを調節する) + + +Nmapは、プローブを中止もしくは再送信するまで、プローブの応答を待機する時間をどのくらいにするかを決める実行タイムアウト値を保持している。この値は、それまでに送信したプローブの応答時間に基づいて算出される。ネットワークの待ち時間が、かなり長くて変化しやすい場合、タイムアウト値は数秒にまで達する可能性もある。また、反応が鈍いホストをスキャンする際には、控え目な(高い)レベルから始めて、しばらくの間そのままの値にしておく場合もある。 + +これらのオプションはミリ秒単位で設定する。にデフォルトより小さな値を指定すると、スキャン時間を大幅に短縮できる。厳重なフィルタ処理が施されたネットワークに対してpingなし()スキャンを行う場合は特にそうなる。とはいえ、あまりアグレッシブに小さくしすぎないように。小さすぎる値を指定してしまったために、応答が送信されている間に数多くのプローブがタイムアウトして再送信されてしまい、結果的にスキャンの実行に通常より余計に時間がかかる可能性があるからだ。 + +すべてのホストがローカルネットワーク上にある場合、の値は100ミリ秒(ms)にするのが、アグレッシブに小さく指定するとしても妥当な値である。ルーティングが関係してくる場合は、ICMP pingユーティリティか、ファイアウォールを通過できる可能性が高いhping2などのカスタムパケット作成ツールを用いて、最初にネットワーク上のホストにpingを実行する必要がある。10個程度のパケットを送信してみて、最大往復時間(RTT)を調べること。の値は、この値を2倍にするとよい。また、の値は、これを3倍か4倍にしたものにするとよいだろう。筆者は通常、pingで調査した時間の大小に関係なく、最大RTTを100ms未満に設定することはないし、1000msを超える値にすることもない。 + +は、ほとんど使用されないオプションであるが、ネットワークの信頼性があまりに低いために、Nmapのデフォルト値でも小さく設定しすぎになる場合に役立つと思われる。Nmapは単にタイムアウト時間を指定された最小値まで小さくするだけなので、ネットワークが信頼できると思われる場合は、この要求は異常であり、nmap-devメーリングリストにバグとして報告されるはずである。 + + + + + + + + (遅いターゲットホストを見切る) + + + +ホストのなかには、とにかくスキャンに長い時間がかかるものがある。理由としては、実行手順の不手際、信頼性の低いネットワークハードウェアやソフトウェア、パケットレート制限、厳重なファイアウォールなどが考えられる。スキャン対象ホスト全体の数パーセントを占める、最も反応が遅いホストによって、スキャン時間の大半を使われてしまうこともある。このような無駄はカットして、遅いホストは最初から省くほうがよい場合がある。これは、待機しても構わない時間をにミリ秒単位の数値で指定することで実行できる。筆者は、Nmapが単一ホストに対して30分を超える時間を浪費しないように、1800000という値を指定することが多い。注意すべき点は、Nmapはこの30分の間に、同時に他のホストもスキャンできるので、まったくの無駄にはならないことだ。タイムアウトするホストはスキップされ、ポートテーブル、OS検出、バージョン検出などの結果は出力されない。 + + + + + + + ; + (プローブ間の遅滞時間を調節する) + + +指定したホスト宛てに送られるプローブの送信間隔において、ミリ秒単位の数値で指定した時間だけNmapを待機状態にする。これは、レート制限が行われている場合に特に役に立つ。Solarisマシンは(制限が特に厳しく)、通常はUDPスキャンのプローブパケットに対して、ICMPメッセージの応答を毎秒1回しか返さない。Nmapがそれ以上のパケットを送ってもすべて無駄になる。 に1000を指定すると、Nmapは毎秒1回という遅いレートを保つことになる。Nmapは、レート制限を検出し、それに応じてスキャンの進行を遅らせようとするが、どの程度のレートが最適であるかがすでにわかっている場合は明示的に指定してもよい。 + + は他にも、しきい値ベースの侵入検知や侵入防止システム(IDS/IPS)の回避に使用される。 + + + + + + + + (タイミングのテンプレートを設定する) + + + +前節で述べたような、タイミングのきめ細やかな制御はとても効果が大きいが、分かりにくいと感じるユーザもいるようだ。さらには、最適化を試みているスキャンを実行するよりも、適切な数値を選ぶほうが時間がかかるという事態に陥る可能性もある。そこでNmapには、6つのタイミング用テンプレートを用いたもっと簡単なアプローチが用意されている。テンプレートは、オプションと番号(0 - 5)か名前で指定できる。テンプレート名は、paranoid (0)、sneaky (1)、polite (2)、normal (3)、aggressive (4)、insane (5)である。最初の2つは、IDS回避用のテンプレートである。Politeモードは、スキャン処理速度を落とし、帯域幅とターゲットマシンのリソースの使用量を少なくするためのものである。Normalモードはデフォルトなので、としても特に何もしない。Aggressiveモードは、ユーザが適度に高速で信頼性の高いネットワーク上にいることを想定して、スキャン速度を上げる。最後にInsaneモードは、非常に高速なネットワーク上にいるか、あるいは速度と引き換えに精度の一部を犠牲にしても構わない場合を想定したモードである。 + +これらのテンプレートを利用すると、ユーザは、的確なタイミング値の選定はNmapに任せつつ、どの程度アグレッシブなスキャンを実行したいかを指定できる。また、今のところきめ細かい制御のオプションが存在しない、速度の微調整の一部をこのテンプレートで行うこともできる。例えば、は、TCPポートに対するスキャン処理の動的な遅延時間が10msを越えないようにすることができ、またでは、この値の上限が5msに制限される。テンプレートを最初に指定する場合に限り、きめ細かい制御オプションとテンプレートを組み合わせて用いることができる。そうしないと、テンプレートの標準値がユーザの指定した値で上書きされてしまう。適度に最近の信頼性が高いネットワークをスキャンする場合は、がお勧めである。きめ細かい制御オプションを追加する場合でも、このオプションを(コマンドラインの最初に)付けておくことで、テンプレートによって有効になる細部にわたる最適化のメリットを享受できる。 + +適正なブロードバンド接続やイーサネット接続の環境にいる場合は、常時を利用することをお勧めする。を好む人もいるが、私にはアグレッシブすぎるように思われる。を指定しているユーザもたまにいるが、ホストをクラッシュさせる可能性が低いと見ているからか、自分のことを全般的に礼儀正しい(polite)と思っているからのようだ。こうしたユーザは単に、「-T Polite」が実際にはいかに遅いものであるかを理解していないだけだ。Politeモードは、デフォルトスキャンの10倍の時間がかかる。デフォルトのタイミングオプション()に関しては、マシンのクラッシュや帯域幅が問題になることはめったにないので、慎重なスキャンユーザには通常はこれを勧めている。タイミング値をあれこれ操作して、これらの問題を軽減しようとするよりも、バージョン検出を省略するほうがずっと効率的である。 + +は、IDSの警告を回避するには役立つかもしれないが、何千ものマシンやポートをスキャンするには非常に長い時間がかかる。そのように長いスキャンを行う場合は、あらかじめ用意されたの値に頼るよりも、必要に応じて的確なタイミング値を設定するほうが好ましいだろう。 + +の主な効果は、スキャンを連続的に実行して一度に1つのポートしかスキャンされないようにすることと、各プローブを送信する間に5分間待機することである。は似ているが、それぞれプローブ間の待機時間が15秒と0.4秒しかない。はNmapのデフォルト動作で、並列処理が含まれる。に相当し、TCPスキャンの最大遅延時間を10msに設定する。に相当し、TCPスキャンの最大遅延時間を5msに設定する。 + + + + + + + + ファイアウォール/IDS の回避とスプーフィング + +多くのインターネット先駆者たちは、あらゆるノード間のネットワーク接続を可能にする、世界共通のIPアドレス空間を有する世界規模のオープンネットワークの構想を描いていた。これにより、ホストは文字通りピアとして機能し、お互いに情報のやり取りができるようになる。ユーザは、自宅のすべてのシステムに仕事場からアクセスして、エアコンの設定を変えたり、早めに来た客のためにドアを開錠したりできるだろう。このような世界規模の相互接続性の構想の拡大は、アドレス空間の不足とセキュリティ上の問題によって阻害されている。1990年代初期、組織は特に相互接続性を軽減する目的で、ファイアウォールを導入し始めた。大規模なネットワークと玉石混淆のインターネットとの間に、アプリケーションプロキシ、ネットワークアドレス変換、パケットフィルタなどによる防御線が張り巡らされた。情報の自由な流れは、認可された通信チャンネルとそこを通るコンテンツに対する厳しい規制にとって代わられた。 + +ファイアウォールなどのネットワーク上の障害物によって、ネットワークのマッピングは著しく困難になる。これは、もうこれ以上軽減されることはないはずだ。いつ行われるかわからない探索行為を阻止することが、こうした機器を実装する主な目的である場合が多いからである。それでも、Nmapは、この複雑なネットワークを理解するのに役立てたり、フィルタが目的通りに機能していることを検証したりするための機能を数多く備えている。また、実装が不完全な防御策を回避する仕組みにも対応している。自身のネットワークセキュリティ状況を理解する最善の方法の1つは、それを打ち破ってみることだ。自分が攻撃者になったつもりで、本節のテクニックを自分自身のネットワークに対して実行してみるとよい。FTPバウンススキャン、Idleスキャン、フラグメンテーション攻撃などを仕掛けたり、自分のプロキシの1つにトンネルを通したりしてみよう。 + +企業は、ネットワーク活動を制限することに加えて、侵入検知システム(IDS)によるトラフィック監視を強化してきている。メジャーなIDSにはすべて、Nmapによるスキャンを検知するように設計されたルールが標準で搭載されている。これは、スキャンが攻撃に先立って行われる場合があるからだ。これらの製品の多くは最近、侵入防止システム(IPS)に姿を変えている。IPSは、悪意があると見なされるトラフィックを積極的にブロックする。ネットワーク管理者やIDSベンダにとって残念なことに、パケットデータを解析して悪意を確実に検知するのは困難な課題である。根気とスキル、それにNmapの特定のオプションの手助けがあれば、攻撃者はたいていの場合、IDSに検知されないで通り過ぎることができる。その一方で、管理者は大量の誤検知結果の対処に追われることになる。IDSの誤検知によって、悪意のない活動が誤診され、警告が発せられたりブロックされたりする。 + +Nmapには、ファイアウォールルールを回避したりIDSをこっそりすり抜けたりするための機能は搭載しないようにするべきだと言われることがたまにある。こうした人々の言い分は、その手の機能は、管理者がセキュリティ向上のために利用するのと同じくらいの確率で、攻撃者に悪用されるおそれがあるというものだ。この論理の問題点は、いずれにしろこの種の手法は攻撃者に悪用されるに決まっているということだ。攻撃者は、別のツールを見つけてきたり、Nmapに機能を組み込んだりするものだからである。一方、管理者は、自分たちの業務がそれだけますますやりにくくなると思われるだろう。最新型の、パッチを適用したFTPサーバを導入することは、FTPバウンス攻撃を実装しているツールの配布を阻止しようとすることよりも、はるかに強力な防御策になる。 + +ファイアウォールやIDSシステムを検出して破壊するための「魔法の弾丸」のようなNmapオプションなど存在しない。それには、スキルと経験が必要なのだ。チュートリアルについては、本リファレンスガイドの範囲を超えている。本稿の目的は単に、関連したオプションを列挙し、それで何ができるかについて説明することだけである。 + + + + + (パケットをフラグメント化する); + (指定したMTUを用いる) + + + + オプションを指定すると、要求されたスキャン(pingスキャンを含む)は小さく断片化されたIPパケットを利用するようになる。これを行う目的は、TCPヘッダを複数のパケットに分割することで、パケットフィルタや侵入検知システム(IDS)などの厄介なセキュリティ策にスキャンを検知されにくくすることである。ただし、以下の点には注意が必要だ。すなわち、プログラムのなかには、このような小さなパケットの処理によって問題を生じるものがあることだ。旧式のスニファ「Sniffit」は、最初のフラグメントを受信した瞬間にセグメンテーション障害を起こした。このオプションを一度指定すると、NmapはIPヘッダを8バイトかそれ以下の大きさのパケットに分割する。つまり、20バイトのTCPヘッダは3つのパケットに分割されることになる。8バイトのパケットが2つと、残りの1つが4バイトになる。もちろん、各フラグメントにもIPヘッダがある。を再度指定すると、フラグメントあたり16バイトが使われる(フラグメントの数は減る)。あるいは、オプションで、ユーザ独自の分割サイズを指定することもできる。を使う場合は、同時には指定しないこと。分割サイズは8の倍数にする必要がある。断片化されたパケットは、すべてのIPフラグメントを待ち行列に入れるパケットフィルタやファイアウォール(例えば、LinuxカーネルのCONFIG_IP_ALWAYS_DEFRAGオプションなど)を通り抜けることはできないが、ネットワークによっては、この断片化によって生じるパフォーマンスの低下に耐えきれないために、これを無効にしているところがある。またそれ以外にも、各フラグメントがそれぞれ異なる経路を通ってネットワークに至る可能性があるために、この機能を有効にできないところもある。一部の発信元システムでは、カーネルで発信パケットのフラグメント化を解消するものもある。コネクション追跡モジュールの「iptables」を備えるLinuxなどがこれにあたる。送信パケットがきちんとフラグメント化されていることを確認するために、Etherealなどのスニファを実行しながら、スキャンを行うようにすること。自身のホストのOSが原因で問題が生じる場合は、IP層を回避して「生」イーサネット フレームを送るために、を試してみるとよい。 + + + + + + + (おとりを使ってスキャンを隠蔽する) + + + おとり(囮)スキャンを実行する。おとりスキャンとは、実際のスキャンの他に、おとりとして指定したホスト(複数可)もターゲットネットワークをスキャンしているようにリモートホストに見せかけるためのものである。この結果、対象ホストのIDSは、それぞれ異なる複数のIPアドレスから、5から10のポートスキャンが実行されたことを報告する場合もあるが、実際にどのIPがスキャンを実行していたもので、どれが無実のおとりだったのかを知られることはない。このおとりスキャンは、ルータの経路追跡、応答の破棄、その他の動的メカニズムによって阻止される可能性があるが、通常は攻撃元のIPアドレスを隠蔽する技法として非常に効果的である。 + + 各おとりホストはコンマで区切る。おとりの1つとしてME(自分)オプションを用いて、ユーザの本物のIPアドレスをその位置に表示することもできる。MEをおとりホストの6番目以降に置くと、(Solar Designerの優れたscanlogdなどの)よく使われる一部のポートスキャン検出ツールが、ユーザのIPアドレスを明らかにすることはほぼ不可能である。MEオプションを使わない場合、ユーザはNmapが無作為に選んだ位置に置かれる。 + 注意すべき点は、おとりとして使用するホストが稼動中でないと、ターゲットに誤ってSYN flood攻撃を仕掛けることになる。また、ネットワーク上で実際に稼動しているホストが1つしかない場合は、どのホストがスキャンを実行しているかを容易に特定されてしまう。また、ホスト名よりもIPアドレスを使った方がよいだろう(おとりネットワークのネームサーバのログに記録されないようにするため)。 + + おとりは、初期段階に行うpingスキャン(ICMP、SYN、ACK、その他利用できるものなら何でも)と、実際のポートスキャンの実行段階の両方で使用される。また、リモートOS検出()を行う際にも使われる。だが、バージョン検出やTCP connect()スキャンとは連携しない。 + + おとりを多く使いすぎると、スキャンの速度が低下するだけでなく、精度も下がるおそれがあることに注意する。また、一部のISPは偽装パケットをフィルタで除外しているが、偽装したIPパケットを制限しているところは少ない。 + + + + + + (ソースアドレスを偽装する) + + + 一部の環境では、Nmapがユーザのソースアドレスを特定できない場合がある(その場合はかならず、Nmapからユーザに通知がある)。こうした状況では、オプションを使って、パケットの送信に利用したいインターフェースのIPアドレスを指定すること。 + + このフラグの他の利用方法として考えられるのは、スキャンを偽装して、第三者(誰か別の人間)がスキャンを実行しているとターゲットに思い込ませることだ。企業が、ライバル企業から繰り返しポートスキャンを受けたとしたらどうなるだろうか。この種の用途に用いるには、たいていの場合オプションが必要になるだろう。また通常はも使った方が望ましい。 + + + + + + + (特定のインターフェースを使用する) + + + パケットを送受信する際に、どのインターフェースを利用するかをNmapに伝えるためのオプション。Nmapは、インターフェースを自動的に検知できるようになっているが、検知できない場合はその旨がユーザに通知される。 + + + + + + + (ソースポート番号を偽装する) + + + +よく見かける設定ミスの1つは、ソースポート番号だけを基準にして、トラフィックを信頼していることである。これがどのようにして起きるかを理解するのは簡単である。管理者が真新しいファイアウォールをセットアップすると必ず、恩知らずのユーザから、アプリケーションが機能しなくなったという苦情が殺到することになるものだ。特に、外部サーバからのUDP DNS応答がネットワークに入れなくなることが原因で、DNSが動かなくなる場合がある。この他に、FTPもよく見られる例である。アクティブFTP転送が行われる際に、リモートサーバは、要求されたファイルを転送するために、再びクライアントへのコネクションを確立しようとする。 + +これらの問題に対するセキュアなソリューションは、多くの場合、アプリケーションレベルのプロキシや、プロトコル解析型ファイアウォールモジュールの形で存在する。だが残念ながら、もっと簡単で、安全性の低いソリューションもあるのだ。多くの管理者は、DNS応答は53番ポートから、アクティブftpは20番ポートから来ることに注目し、これらのポートからの内向きトラフィックを無条件に許可してしまうという罠に陥る。こうしたファイアウォールの抜け穴の存在に気付いて悪用するような攻撃者がいるとは思ってもいない場合が多い。また別のケースでは、管理者がこうした処置を、より安全性の高いソリューションを実装するまでの短期間の応急処置と見なしている場合もある。そして結局、セキュリティを向上させることなどすっかり忘れてしまうわけだ。 + +こうした罠に陥るのは何も、多忙なネットワーク管理者だけではない。この種の安全性の低いルールが標準で装備されてくる製品は膨大な数にのぼる。マイクロソフト社にも、責任の一端はある。Windows 2000 や Windows XPに標準装備されているIPsecフィルタには、88番ポート(Kerberos)からのTCP や UDPのトラフィックをすべて許可するという暗黙のルールが含まれている。この他に有名なケースでは、Zone Alarm社製パーソナルファイアウォールの2.1.25以下のバーションでは、ソースポートが53番(DNS)と67番(DHCP)の内向きUDPパケットをすべて許可するようになっていた。 + +Nmapには、この種の弱点を突くためのオプションとして、(これらは同等のもの)が用意されている。単ポート番号を指定すると、可能な場合であれば、Nmapはそのポートからパケットを送信する。特定のOS検出検査が正しく機能するようにするために、Nmapは様々なポート番号を使用する必要がある。NmapはDNS要求の処理にシステムのライブラリを用いているので、このフラグを指定していても、DNS要求には無視されることになる。SYNスキャンを含む大部分のTCPスキャン、およびUDPスキャンは、このオプションに完全に対応している。 + + + + + + + (送信パケットにランダムデータを付加する) + + + 通常、Nmapはヘッダのみを含む最小限のパケットを送信する。従って、TCPパケットは通常40バイト、ICMPエコー要求パケットは28バイト程度の大きさしかない。このオプションは、Nmapが送信するほとんどのパケットに、指定したバイト数のランダムデータを付加するようにする。OS検出()パケットにはデータは付加されないが、ほとんどのping およびポートスキャンのパケットには付加される。これにより、処理速度は低下するが、スキャンを幾分でも目立たなくすることができる。 + + + + + + (IPのTTLフィールド値を設定する) + + + 送信パケットのIPv4生存時間(TTL:Time-to-Live)フィールドを指定した値に設定する。 + + + + + + (ターゲットホストの順番を無作為化する) + + + このオプションは、Nmapがスキャンを実行する前に、各グループあたり最大8096のホストをランダムに並び替えるようにする。これにより、特にスキャン速度を遅く設定するタイミングオプションと併用する場合は、各種ネットワーク監視システムにスキャンが検知される可能性を小さくすることができる。より大規模なグループを無作為化したい場合は、nmap.hのPING_GROUP_SZを増やして再コンパイルする。別の手段としては、リストスキャンでターゲットIPリストを作成し()、これをPerlスクリプトで無作為化して、でリストをそのままNmapに渡す。 + + + + + + (MACアドレスを偽装する) + + + + Nmapが送信するすべての生イーサネット フレームに、指定したMACアドレスを使うようにする。このオプションは、Nmapが実際にイーサネットレベルのパケットを送信するように、が必要条件になる。MACアドレスは、さまざまな形式で指定できる。文字列の0だけが指定された場合は、NmapはセッションのMACアドレスを完全に無作為に選ぶ。指定した文字列が偶数の16進数(一組ずつ状況に応じてコロンで区切る)の場合は、NmapはこれをMACアドレスとして使用する。12桁未満の16進数が指定された場合は、Nmapは残りの6バイトにランダムな値を補充する。引数が0や16進文字列ではない場合は、Nmapはnmap-mac-prefixes を調べて、指定した文字列を含むベンダ名を見つける(大文字と小文字は区別されない)。一致するものがあった場合、そのベンダのOUI(Organizationally Unique Identifier:3バイトのベンダコード)を使用し、残りの3バイトにはランダムに記入する。有効な引数は、Apple001:02:03:04:05:06deadbeefcafe0020F2Ciscoなどになる。 + + + + + + + + + 出力 + + セキュリティツールの実用性は、生成される出力で決まる。複雑なテストやアルゴリズムも、結果が整理された、わかりやすい形で提示されなければ、ほとんど価値はない。ユーザや他のソフトウェアによるNmapの使い方がこれほど数多くあることを考えると、たった1つですべてのユーザが満足するようなフォーマットが存在するはずもない。そこでNmapには、人間が直接読めるようにしたインタラクティブ方式や、ソフトウェアで簡単に解析できるXML方式などのさまざまな出力フォーマットが用意されている。 + +Nmapには様々な出力フォーマットが備わっているだけでなく、出力やデバッグメッセージの冗長性を制御するオプションも用意されている。出力結果は標準出力(stdout)や指定したファイルに送られる。ファイルにはデータを追加したり上書きしたりできる。また、出力ファイルは、中断したスキャンを再開するためにも使われる。 + +Nmapの出力は、5種類のフォーマットが利用できる。デフォルトはinteractive output(インタラクティブ出力)と呼ばれるもので、標準出力に送られる。また、出力には、normal output(通常出力)というのがある。これは、インタラクティブに似ているが、異なる点は、実行時間情報や警告が表示される回数が少ないことである。その理由は、この出力が、インタラクティブにではなくて、スキャン完了後に解析するために提供されるものだからである。 + +XML出力は、最も重要な出力タイプの1つであり、HTMLに変換し、NmapのGUIやデータベースにインポートして、プログラムで容易に解析できる。 + +残り2つの出力タイプは、grepで検索可能なシンプルな出力で、ターゲットホストに関するほとんどの情報が1行で表示されるものと、自分のことを>sCRiPt KiDDi3だと思うユーザ向けのsCRiPt KiDDi3 0utPUt(出力)だ。 + +インタラクティブ出力はデフォルトで、関連するコマンドラインオプションはないが、他の4つのフォーマットオプションでは、同じ構文が使われる。取る引数は1つで、結果を保存するファイル名である。複数のフォーマットを指定してもよいが、各フォーマットは1度しか指定できない。例えば、自分の調査用に通常の出力を保存し、同時に同じスキャン結果をプログラムの解析用にXML形式で保存したい場合もあるだろう。これは、というオプションを使って実行できる。なお、ここでは簡潔にするためにmyscan.xmlのような単純なファイル名を用いているが、通常はもっと説明的な名前にするのが推奨されている。どのようなファイル名にするかは、個人の好みの問題だが、筆者はスキャンの実施日と簡単なコメントを組み入れた長い名前を使い、スキャン対象の企業名にちなんだ名前のディレクトリに入れている。 + +これらのオプションは結果をファイルに保存するが、同時にNmapは通常通りインタラクティブ出力を標準出力(stdout)に書き出している。例えば、nmap -oX myscan.xml targetというコマンドで、XML出力がmyscan.xmlに書き込まれ、同じ結果のインタラクティブ出力が標準出力に書き出される。この出力は、が指定されなかった場合でも行われる。ハイフン(-)文字を引数としてフォーマットタイプの1つに渡すと、これを変更することができる。すなわち、Nmapはインタラクティブ出力を停止して、代わりにユーザが指定した形式の結果を、標準出力ストリーム(stdout)に書き出すことになる。nmap -oX - targetというコマンドでは、XML出力だけがstdoutに送られる。この場合も、重大なエラーは標準エラーストリーム(stderr)に書き出される場合がある。 + +Nmapの一部の引数とは異なり、ログファイルオプションのフラグ(例:)とファイル名やハイフンとの間のスペースは必須である。この注意を無視して、引数をのように指定したら、Nmapの下位互換機能により、それぞれG-Xscan.xmlという名前の標準フォーマットの出力ファイルが作成される。 + +またNmapには、スキャン結果の冗長性を制御するオプションや、出力ファイルに上書きしないで追加書き込みするためのオプションも用意されている。これらのオプションについてはすべて以下で説明する。 + +Nmapの出力フォーマット + + + (通常出力) + + 通常の出力が指定した名前のファイルに書き込まれるようにする。上で述べた通り、これはインタラクティブ出力と一部異なる。 + + + + + + (XML 出力) + + + XML出力が指定した名前のファイルに書き込まれるようにする。Nmapには文書型定義(DTD)が組み込まれており、XMLパーサーはこれを用いて、NmapのXML出力を検証する。本来はプログラムによる使用を目的としたものだが、人間がNmapのXML出力を解釈するのにも役立つ。DTDには、フォーマットの文法要素が定義されており、これらの要素が取ることのできる属性や値が列挙されていることが多い。最新版は以下から常時入手できる: + + XMLは、ソフトウェアで容易に解析できる定型書式を提供する。C/C++、Perl、Python、Javaなどを含む、あらゆるメジャーなコンピュータ言語用のXMLパーサーが、フリーで入手できるようになっている。これらの言語のほとんどについては、Nmapの出力と実行に特化して処理するためのバインディングも作成されている。例えば、Perl CPAN(Comprehensive Perl Archive Network)のNmap::ScannerNmap::Parserなどがある。重要なアプリケーションがNmapとインターフェースで連結する場合はほとんど、XMLが推奨フォーマットになる。 + + XML出力はXSLスタイルシートを参照して、出力結果の書式をHTMLに変換できる。これを使用する最も簡単な方法としては、単にFirefoxやIEなどのWebブラウザでXML出力を読み込むだけでよい。デフォルトでは、これはNmapを実行したマシン上(もしくは同じ構成のマシン)でのみ機能する。これは、nmap.xslのファイルシステムのパスがハードコード化されているためである。Webに接続したマシン上であればHTMLとして表示されるような、移植性のあるXMLファイルを作成する方法については、オプションの項を参照のこと。 + + + + + + + (ScRipT KIdd|3 oUTpuT) + + スクリプトキディ出力は、インタラクティブ出力に似ているが、異なる点は、「l33t HaXXorZ」(leet hacker)向けに後処理してあることだ。Nmapは以前より、一貫性のある大文字やスペルの使い方のせいで、この人たちに見下されてきた。ユーモアを解さない人々は、スクリプトキディの手助けをしているとして筆者に非難の言葉を浴びせる前に、まず気付くべきだ。このオプションが、彼らをからかうためのものだということを。 + + + + + + (Grep検索可能出力) + + +この出力フォーマットを最後に取り上げたのは、廃止予定だからだ。XML出力フォーマットのほうがはるかに強力であり、熟練ユーザにとっての使い勝手もほぼ変わらない。XMLはパーサーの標準で、多数の優れたXMLパーサーが利用可能になっているのに対し、grep可能出力は筆者独自のスクリプトに過ぎない。XMLは拡張性が高く、Nmapの新機能がリリースされるたびに対応可能だが、grep可能出力にはこうした機能を追加する余地がないため、割愛せざるを得ないことも多い。 + +とはいえやはり、grep可能出力はいまだに広く使われている。各対象ホストが一行ずつ列挙されているというシンプルな形式で、grep、awk、cut、sed、diff、PerlなどのUNIXの標準ツールを使って簡単に検索や解析を行うことができる。筆者も通常、コマンドラインで行うちょっとしたテストのために使用している。sshポートが開いているホストや、Solarisを実行しているホストなどを見つける場合、簡単なgrep検索を行うと、こうしたホストをすべて特定し、パイプでawkやcutコマンドに送って、目的のフィールドを書き出すことができる。 + +Grep可能出力は、コメント行(パウンド(#)記号で始まる行)とターゲット行で構成される。ターゲット行は、6つのラベル付きフィールドの組み合わせになっており、それぞれのフィールドはタブで区切られ、最後にコロンが付く。各フィールドは、HostPortsProtocolsIgnored StateOSSeq IndexIPIDStatusになっている。 + +これらのフィールドの中で通常最も重要なのは、Ports(ポート)であり、ここからそれぞれの興味あるポートに関する詳細情報が得られる。ポートエントリのカンマ区切りリストになっており、各ポートエントリは、1つの興味あるポートを表し、7つのスラッシュ(/)で区切られたサブフィールドから成る。各サブフィールドはPort numberStateProtocolOwnerServiceSunRPC +infoVersion infoである。 + +XML出力の場合と同様に、本稿でこのフォーマットのすべてを論ずることはできない。Nmapのgrep可能出力フォーマットについての詳細な解説は以下で入手できる: + + + + + + (全フォーマットに出力する) + + 簡便のために、を指定すると、スキャン結果を通常、XML、grep可能の3つのフォーマットで一度に保存できるようにした。それぞれ、basename.nmap、basename.xml、basename.gnmapというファイルに保存される。たいていのプログラムと同じく、以下の例のようにファイル名の前にディレクトリパスを付けることもできる:~/nmaplogs/foocorp/(UNIX)、c:\hacking\sco(Windows) + + + + + + 冗長性とデバッグのオプション + + + (冗長性レベルを上げる) + + + 冗長性レベルを上げて、Nmapが進行中のスキャンに関してさらに多くの情報を書き出すようにする。開きポートは見つかり次第表示され、スキャンの実行に数分以上かかると見なされる場合は予測される完了時間が提示される。2回使用するとさらに冗長レベルは上がるが、3回以上の使用は無効である。 + + ほとんどの変更の効果が表れるのはインタラクティブ出力だけだが、通常出力とスクリプトキディ出力にも一部効果がある。その他の出力タイプは、コンピュータ処理するための出力なので、ユーザの手を煩わさなくとも、デフォルトでかなり詳細な情報が与えられている。それでも、その他の出力モードでもいくつか変更される点があり、詳細情報を一部省略することで、出力サイズを大幅に減らすことができる。例えば、grep可能出力のコメント行で、スキャン対象の全ポートの一覧表を提供するものは、かなり長くなる可能性があるので、冗長モードでのみ書き出される。 + + + + + + + (デバッグレベルを上げる/設定する) + + + +冗長モードでも満足する情報が得られない場合は、さらに大量の情報を得るためにデバッグを利用できる。冗長オプション()の場合と同様に、デバッグもコマンドラインのフラグ()で有効になり、これを複数回指定することで、デバッグレベルを上げることができる。もしくは、デバッグレベルはに引数として与えることでも設定できる。例えば、でレベル9に設定される。これは最も効果の高いレベルであり、ごく少数のポートやターゲットに対して非常に単純なスキャンを実行するのでない限り、数千行に及ぶ出力が生成される。 + +デバッグ出力が有用なのは、Nmapにバグがある疑いがある場合や、Nmapが何をなぜ行っているのかについて単純によく分からなくなった場合である。この機能は主に開発者向けのものなので、デバッグ行は必ずしも誰が見てもすぐ分かるわけではない。例えば、このような出力が得られる: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000。こうした行の内容が理解できない場合は、無視するか、ソースコードを見て調べるか、開発リスト(nmap-dev)に助けを求めるかなどをする他ない。見れば内容が分かる行もなかにはあるが、デバッグレベルが上がるほど、メッセージも分かりにくくなる。 + + + + + + + (送受信したパケットやデータを追跡する) + + + Nmapが送受信した全パケットのサマリーを書き出すようにする。デバッグで用いられる場合が多いが、Nmapが見えないところで何を行っているかを新しいユーザが理解するための手段として役立てることができる。何千もの行が書き出されないようにするには、などを指定して、スキャン対象のポートの数を制限するとよいだろう。バージョン検出サブシステムの挙動にのみ関心がある場合は、代わりにを使用すること。 + + + + + + (インターフェースや経路の一覧を表示する) + + + Nmapが検出したインターフェースやシステム経路のリストを書き出す。これは、ルーティング問題やデバイスのキャラクタリゼーションの誤り(例えばNmapがPPP接続をイーサネットとして処理すること)などをデバッグするのに役立つ。 + + + + + + その他の出力オプション + + + + (出力ファイルは上書きせず追加する) + + + などの出力フォーマットのフラグにファイル名を指定すると、デフォルトではそのファイルは上書きされる。既存のファイルの内容はそのままにして、新しい結果を追加したい場合は、このオプションを指定する。こうしてNmapを実行すれば、ここで指定した出力ファイルはすべて、上書きではなくて追加されることになる。だがこれは、XMLスキャン(-oX)のデータに対してはあまり有効ではない。XMLの結果ファイルは通常、手動で修正しないと適正に解析できないからだ。 + + + + + + (中断したスキャンを再開する) + + + + 対象が広範囲にわたるNmapの実行には非常に長い時間がかかり、数日ほどに及ぶ場合もある。そのようなスキャンは、常に完了するまで続けて実行できるとは限らない。様々な制約によってNmapを就業時間内に実行できなくなったり、ネットワークがダウンしたり、Nmapが動作しているマシンが計画的あるいは予定外に再起動させられたり、Nmap自体がクラッシュしたりなどが起こる可能性があるからだ。その他いかなる理由であっても同様に、Nmapを実行している管理者は、ctrl-Cを押すことによって実行をキャンセルできる。このような場合、スキャン全体を最初から再開するのは望ましくないだろう。幸いにも、通常出力()やgrep可能出力()のログが残っていれば、ユーザは、実行を中断された際のターゲットに対するスキャンを再開するようNmapに命じることができる。これを行うには、 オプションを指定し、通常/grep可能の出力ファイルを引数として渡す。Nmapはその出力ファイルをパースして、前に指定されたのと同じものを使うので、それ以外の引数は指定できない。nmap --resumelogfilenameとして、Nmapを呼び出す。Nmapは、前回の実行で指定されたデータファイルに新たな結果を追加する。この再開オプションは、XML出力フォーマットをサポートしていない。2回の実行結果を結合して1つの妥当なXMLファイルにするのは困難であるためだ。 + + + + + + (XML出力変換のXSLスタイルシートを設定する) + + + Nmapには、XML出力を閲覧したりHTMLに変換したりするためのnmap.xslというXSLスタイルシートが同梱されている。XML出力には、xml-stylesheetディレクティブが組み込まれており、Nmapが最初にインストールした場所(もしくはWindows上の現在作業中のフォルダ)にあるnmap.xmlを参照する。最近のWebブラウザにNmapのXML出力を読み込むと、ブラウザはファイルシステムからnmap.xsl を読み出して、出力結果の処理に使用する。別のスタイルシートを使いたい場合は、このオプションの引数として指定する。引数はフルパス名かURLで指定する。よく用いられる例を以下に示す: + +これで、スタイルシートの最新バージョンがInsecure.Orgからブラウザに読み込まれる。これにより、Nmap(および nmap.xsl)がインストールされていないマシン上でも、結果を閲覧しやすくなる。そのため、URLのほうが便利な場合が多いが、デフォルトではプライバシー上の理由で、ローカルファイルシステムでのnmap.xslの場所が使われている。 + + + + + + (XSLスタイルシート宣言をXMLから除外する) + + + NmapがXML出力をXSLスタイルシートと関連付けないようにする。xml-stylesheet ディレクティブは無視される。 + + + + + + + + + + その他のオプション + 本節では、他の節のどこにも適合しないオプションで、重要な(およびそれほど重要でない)ものについて述べる。 + + + + + (IPv6スキャンを有効にする) + + + + Nmapは2002年より、その最もよく使われる機能に対してIPv6のサポートを提供している。特に、pingスキャン(TCPのみ)、connect()スキャン、バージョン検出などはすべてIPv6に対応している。コマンド構文は、オプションを追加する以外は従来通りである。もちろん、ホスト名ではなくてアドレスを指定する場合は、IPv6の構文を使う必要がある。ただし、アドレス表示は3ffe:7501:4819:2000:210:f3ff:fe03:14d0のようになるので、ホスト名を使う方がよい。出力も従来とほぼ同じであり、興味のあるポート行のアドレスがIPv6方式になっているのが唯一のIPv6の証拠である。 + + IPv6は必ずしも世界を席巻しているわけではないが、一部(通常はアジア)の国々ではかなり普及しており、最近のOSのほとんどでサポートされている。NmapをIPv6で使用するためには、スキャンのソースとターゲットの両方をIPv6対応に設定する必要がある。自分のISP(他の多くのISPと同様の)からIPv6アドレスを割り当てられていない場合は、様々な場所で入手可能なフリーのトンネルブローカーがNmapとうまく連携して機能する。優れたトンネルブローカーの1つに、BT Exact社が以下で運営しているものがある:。 Hurricane Electric社が以下で提供しているものも使ったことがある:。「6to4 tunnels」という人気のフリーソフトもある。 + + + + + + (アグレッシブ・スキャンオプション) + + + このオプションは、Additional(付加的)、Advanced(高度)、Aggressive(アグレッシブ)なオプションを有効にする。だが、このうちのどれを表すのかはまだ明確には決めていない。現在はこのオプションを指定すると、OS検出()とバージョンスキャン()を実行できる。今後、さらに多くの機能が追加されるだろう。ポイントは、ユーザが数多くのフラグをまとめて覚えなくても済むように、複数のスキャンオプションを包括的にまとめて実行できるようにすることである。このオプションが有効にするのは機能のみで、同じくそうしたいと思われるタイミングオプション(例えば)や冗長オプション()などは、有効にならない。 + + + + + + (Nmapの特別データファイルの位置を指定する) + + + Nmapは、実行時に特別なデータを、nmap-service-probesnmap-servicesnmap-protocolsnmap-rpcnmap-mac-prefixesnmap-os-fingerprintsという名前のファイルに取得する。Nmapはまず、(ある場合は) オプションで指定したディレクトリ内で、これらのファイルを探す。ここで見つからなかったファイルは、「NMAPDIR」環境変数で指定したディレクトリから検索する。次に、実在する有効なUID(POSIXシステムの場合)やNmapの実行ファイル(Win32の場合)が格納されているディレクトリの~/.nmap を探し、その次に、組み込みディレクトリの/usr/local/share/nmap/usr/share/nmapを探す。それでもない場合は最後の手段として、Nmapはカレントディレクトリを検索する。 + + + + + + (raw(生の)イーサネット層で送信する) + + + Nmapが、上層のIP(ネットワーク)層ではなくて、rawイーサネット(データリンク)層でパケットを送信するようにする。デフォルトでは通常、Nmapは動作しているプラットフォームに最適の層を選ぶようになっている。raw ソケット (IP層)は一般に、UNIXマシンには最適であるが、マイクロソフト社がraw ソケットに対応する機能を無効にしているため、Windows OSにはイーサネットフレームが必要になる。Nmapは、他に選択肢がない(非イーサネット接続などの)場合は、このオプションがあるにもかかわらずUNIX上ではいまだにraw IPパケットを使用する。 + + + + + + + (raw IPレベルで送信する) + + + Nmapがパケットを送信するのに、下位のイーサネットフレームではなくて、raw IPソケットを介して送るようにする。これは、上で述べたを補完するオプションである。 + + + + + + (ユーザが十分な権限を持つことを想定する) + + + Nmapが、通常はUNIXシステム上のroot権限を必要とする操作を行うのに十分な特権を持つことを想定する。こうした操作には、生ソケットの送信やパケット盗聴などがある。デフォルトでは、Nmapはこのような操作が要求された場合でも、geteuid()がゼロでなければ実行を中止するようになっている。 は、Linuxカーネル機能や、権限のないユーザが生パケットスキャンを実行できるように設定可能な同様のシステムとともに用いると便利である。注意点は、このオプションフラグを、特権を必要とするオプション(SYNスキャンやOS検出など)より前に指定することだ。オプションに相当する別の方法には、「NMAP_PRIVILEGED」変数の設定がある。 + + + + + + (インタラクティブモードで開始する) + + + Nmapをインタラクティブモードで開始する。このモードでは、対話型のプロンプトによって、複数のスキャンを(同時進行かバックグラウンドかで)簡単に開始することができる。これは、マルチユーザシステムからスキャンを行う場合に役に立つ。システムのセキュリティ検査を行う際に、どのシステムをスキャンしているかをシステム上の誰にも知られずに実施したい場合が多いからだ。 を使ってインタラクティブモードにしたら、h と入力してヘルプを表示してみよう。このオプションはめったに使用されない。なぜなら、適切なシェルのほうが、使い慣れているし、機能も揃っているからだ。このオプションには、シェルコマンドを実行するためのbang演算子(!)が組み込まれている。setuid rootでNmapをインストールしない多くの理由の1つがこれである。 + + + + + + ; (バージョン番号を表示する) + + + Nmapのバージョン番号を書き出して終了する。 + + + + + + ; (ヘルプのサマリーページを表示する) + + + 最も一般的なコマンドフラグについての短いヘルプ画面を表示する。Nmapを引数なしで実行しても同様の結果が得られる。 + + + + + + + + 実行時の対話型操作 + + この機能はまだNmapに存在しない。この項は内容を追加するか削除する必要がある。 + + Nmapの実行中に、すべてのキープロセスをキャプチャする。これにより、停止して再開という手順を経ないでも、プログラムとの情報のやり取りが可能になる。特定の特殊キーで、オプションを変更する。その他のキーは、スキャンに関する情報を伝えるステータスメッセージを表示する。仕様としては、小文字は書き出される情報量を増やし大文字は減らす + + + + / + + + 冗長レベルを上げる / 下げる + + + + + / + + + デバッグレベルを上げる / 下げる + + + + + / + + + パケット追跡を有効にする / 無効にする + + + + + その他 + + + 書き出されるステータスメッセージは以下のようになる: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + 使用例 + 以下に、Nmapの使用例を、単純なものからやや複雑で難解なものまでいくつか示した。例で使用したIPアドレスやドメイン名は、あくまでも具体性を持たせることが目的であるため、実際のスキャンでは、それらを自分のネットワークのアドレスまたはホスト名で置き換えることに注意する。筆者は個人的に、他人のネットワークに対してポートスキャンを実行することは違法行為には当たらないと見ているが、ネットワーク管理者のなかには、自分のネットワークを勝手にスキャンされるのを快く思わずに苦情を訴える者もいるかもしれない。最初に許可を得たほうが得策である。 + + ユーザには、テスト目的で、ホストscanme.nmap.orgをスキャンする許可が与えられている。この許可の対象は、Nmapによるスキャンに限定されるものであり、エクスプロイトやサービス妨害攻撃のテストは含まれない。帯域幅を節約するために、このホストに対するスキャンは、一日につき十数回以上は行わないようにすること。このフリーのスキャン対象提供サービスが悪用された場合、サービスは停止され、NmapはFailed to resolve given hostname/IP: scanme.nmap.org(指定したホスト名/IP:scanme.nmap.orgの解決に失敗しました)という報告を出す。これらの許可は、scanme2.nmap.orgscanme3.nmap.org等の各ホストにも適用されるが、これらのホストは、現在は存在しない。 + + + nmap -v scanme.nmap.org + + このオプションを利用すると、scanme.nmap.orgというマシン上の予約済みTCPポートすべてに対してスキャンを実行する。また、が指定されているため、冗長モードが有効になる。 + + nmap -sS -O scanme.nmap.org/24 + + scanme.nmap.orgが属しているクラスCネットワーク上のマシン255台のうちで稼動している各マシンに対して、SYNスキャン(ステルススキャン)を実行する。また、稼動中の各ホスト上で動作しているOSの特定も同時に試行する。SYNスキャンとOSの検出を行うため、root権限が必要となる。 + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + 198.116のクラスBアドレス空間で、8ビットで表せる255のサブネットに属するホストのうち、前半(1-127)のIPアドレスを持つホストに対して、ホストの列挙とTCPスキャンを行う。このスキャンを行う目的は、対象システムでsshd、DNS、POP3d、IMAPd、4564番ポートが動作しているかどうかを調査することだ。これらのポートのなかで開いている(open)ことが判明したポートすべてに対してバージョン検出を使用して、何のアプリケーションが動作しているかを特定する。 + + + nmap -v -iR 100000 -P0 -p 80 + + + Nmapは100,000台のホストを無作為に選び、Webサーバ(80番ポート)のスキャンを行う。ホストの列挙は で無効にしてある。各ターゲットホスト上で1つのポートしか調査しないのに、どのホストが稼動中であるかを特定するためにプローブを送るのは無駄だからだ。 + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + 4096個のIPをスキャンしてWebサーバを見つけ出し(pingなしで)、結果出力をgrep可能およびXMLフォーマットで保存する。 + + + host -l company.com | cut -d -f 4 | nmap -v -iL + - + + + company.comに存在するホストを発見するためにDNSのゾーン転送を実行し、発見したIPアドレスをnmapに渡す。このコマンドは、筆者のGNU/Linuxマシンで使用しているものだ。他のシステムには、ゾーン転送を実行するための別のコマンドがある。 + + + + + バグ + + Nmapも作者と同様に完全ではない。それでもNmapのほうは、ユーザによるバグの報告やパッチの作成のおかげで、よりよいものにしてゆくことができる。Nmapを使っていて、思い通りに動かない場合は、まずから入手できる最新のバージョンにアップグレードしてみる。問題が続くようなら、すでに発見・対処が行われた問題かどうかを調査して確かめる。エラーメッセージをGoogle検索したり、でNmap-devアーカイブを閲覧したりしてみる。このmanページも全体に目を通した方がよい。それでもどうにもならない場合は、バグレポートをnmap-dev@insecure.org宛てにメールで送ること。メールには、使用しているNmapのバージョンと、Nmapを実行しているOSの名前とバージョンなどの情報だけでなく、問題に関して分かったことは何でも書いていただきたい。問題の報告やNmapの使い方についての質問などは、nmap-dev@insecure.org宛てに送るほうが、筆者宛てに直接送るよりも返事がある可能性ははるかに高い。 + + またバグレポートより、バグを修正するためのコードパッチのほうが歓迎される。ユーザ自身のコード変更によるパッチファイルの作成方法についての基本的な注意事項は で参照できる。パッチは、nmap-dev宛てに送る(推奨)か、筆者Fyodorまで直接送っていただきたい。 + + + + 作者 + Fyodor + fyodor@insecure.org + () + + + ここ数年で何百人もの人々から、Nmapに対して貴重な貢献をしていただいた。この詳細については、Nmapとともに配布されているCHANGELOGファイルを参照のこと。CHANGELOGファイルは以下からも入手できる: + + + + + 法的通知事項 + + + 著作権と使用許諾 + +Nmapセキュリティスキャナの著作権は、Insecure.Com LLCに帰属している(1996-2005)。また、Nmapは、Insecure.Com LLCの登録商標。このプログラムはフリーソフトウェアであり、Free Software Foundation(FSF)が発行するGNU一般公衆利用許諾契約書のバージョン2で定められている条件に従い、再配布、改変することが可能である。これは、特定の条件下でNmapを使用、改変、再配布する権利を保証するものである。Nmapの技術を独自仕様のソフトウェアに組み込むことを希望する場合は、喜んで別の形態のライセンスを販売する(その際は、sales@insecure.comに連絡)。多くのセキュリティスキャナのベンダーは、ホスト発見、ポートスキャン、OS検出、サービス/バージョンの検出などの、Nmap技術のライセンスを受けている。 + +GPL(一般公有使用許諾)は、派生著作物に対して重要な制約を課していることに注意する必要がある。けれども、この用語の詳細な定義はいまだに与えられていない。ここでは誤解を避けるため、以下のいずれかの事項が行われた場合に、アプリケーションが、GPLにおける派生著作物を構成するものと見なす: + + +Nmapのソースコードを統合する +nmap-os-fingerprintsnmap-service-probesなどの、Nmapの著作権のあるデータファイルを読み込む +Nmapを実行して結果を解析処理する(通常のシェルや実行メニューのアプリケーションとは異なる。これらは未処理のNmap出力を単に表示するだけなので、派生著作物にはならない) +InstallShield社の製品のような独自開発の実行可能インストーラに統合/組込/集約する +上で述べたことを行うような、ライブラリにリンクしたりプログラムを実行したりする + + +Nmapという用語は、Nmapの一部あるいは派生物を含めるために用いられるべきである。このリストは排他的な性質のものではなく、一般的な例を用いて、派生著作物の解釈を明確にすることを意図したものである。これらの制約事項は、実際にNmapを再配布する場合にのみ適用される。例えば、Nmap向けの独自開発フロントエンドを作成して販売することには何ら支障はない。ただし、その製品を単体で配布することと、ユーザにNmapのダウンロード先として以下を示すことが必要である: + +われわれはこれらを、GPLにさらに追加された制約とは見なしていない。そうではなくて、派生著作物 という用語がGPL準拠のNmap製品に適用される場合に、それをどのように解釈するかを明確にするためのものと見なしている。これは、Linus Torvalds氏が、Linuxカーネルモジュールに派生著作物 がどのように適用されるかについての自分の解釈を表明したやり方に似ている。われわれの解釈はNmapだけに言及するもので、その他のGPL製品について述べているわけではない。 + +GPL準拠でない著作物におけるNmapの使用に対する、GPLライセンスによる制約について質問がある場合は喜んでお答えするつもりだ。上で述べたように、独自開発のアプリケーションやアプライアンスにNmapを統合するための代替ライセンスも提供している。このライセンス契約はすでに多くのセキュリティベンダに販売されており、その内容には通常、永久ライセンス、サポートやアップデートの優先提供、Nmap技術の開発継続のための資金援助などが含まれている。詳細については電子メールでsales@insecure.com に問い合わせていただきたい。 + +Insecure.Com LLCは、GPLの取り決めに対する特例として、NmapのコードとOpenSSLライブラリとのリンクを認めており、この2つをリンクで組み合わせたものを配布している。OpenSSLライブラリは、同梱のCopying.OpenSSLファイルにリストされたものと同一のライセンスのもとで配布されている。OpenSSL以外の使用されているすべてのコードに対しては、あらゆる点でGNU GPLに従わなければならない。このファイルの一部を変更する場合、そのファイルの自身のバージョンにこの例外を拡大して適用できるが、そのように行う義務を負うものではない。 + +上記の条件以外の条件が記載されたライセンス契約書とともにこれらのファイルを入手した場合、そのライセンス契約書は、ここで述べた内容に優先する。 + + + + ソースコードの入手可能性とコミュニティへの寄与 + +われわれは、ユーザーにこのプログラムのソースコードを提供している。その理由は、ユーザが実際にプログラムを実行する前に、そのプログラムがどんな動作を行うのかを正確に知る権利がある、と考えているからだ。また、ソフトウェアに対して脆弱性を見つけるための監査を行うこともできる(まだ1つも見つかったことはないが)。 + +ソースコードは、新しいプラットフォームへの移植、バグの修正、新しい機能の追加を可能にする。コードに何らかの変更を加えた場合は、主要ディストリビューションに組み込まれる可能性もあるため、その内容をfyodor@insecure.org までぜひお送りいただきたい。ただし、変更したコードをFyodorまたはInsecure.orgの開発用メーリングリストの1つに送信することで、そのコードを無制限かつ非独占的に再利用、改変、再ライセンスする権利をFyodorおよびInsecure.Com LLCに提供するものと見なす。Nmapは常にオープンソースで利用できるようにする予定だが、これが重要なのは、コードのライセンス再発行ができなかったことで、他のフリーソフトウェア・プロジェクト(KDEやNSAMなど)に壊滅的な問題が発生したことがあったためである。また上で述べた通り、サードパーティに対してコードの再ライセンスを行こともある。自分が寄与したコードに特別なライセンス条件を指定したい場合は、コードの送信時にその旨を伝えて欲しい。 + + +無保証 + +このプログラムは、人々の役に立つことを期待して配布されているが、その保証は一切行わない。すなわち、商品適格性や特定目的への適合性の黙示保証は一切行わない。詳細については、GNU一般公有使用許諾契約書を参照のこと。GNU GPLは、 から、またはNmapに同梱のCOPYINGファイルで参照できる。 + +またNmapは、不完全なアプリケーション、TCP/IPスタック、OSなどをクラッシュさせることが確認されていることに注意すること。きわめてまれなこととはいえ、記憶に留めておく必要がある。ダウンタイムを受容する準備ができていない限り、Nmapをミッションクリティカルなシステムに対して実行してはならない 。Nmapがシステムやネットワークに障害を与える可能性がある点については認めたうえで、Nmapの使用により発生しうるいかなる損害や問題に対しても一切の責任を負わないものとする。 + + +不適切な使用 +システム障害のリスクがわずかながらあることや、悪意のある攻撃者が攻撃を実行する前の調査手段としてNmapを好んで利用することなどのせいで、管理しているシステムがスキャンされると気分を害し、場合によっては苦情を申し立てる管理者もいる。従って、たとえネットワークを軽くスキャンする際も、事前に管理者の許可を取っておくことを推奨する。 + +セキュリティ上の理由から、Nmapは特権(suid rootなど)でインストールしてはならない。 + + +サードパーティ ソフトウェア +Nmapには、 Apache Software Foundation によって開発されたソフトウェアが含まれており、改訂版のLibpcap +portable packet capture library が、Nmapとともに配布されている。Windows版Nmapでは、libpcapより派生したWinPcap ライブラリが用いられる。正規表現のサポートは、Philip Hazel氏作成のオープンソースのソフトウェアである PCRE ライブラリパッケージで提供されている。特定のRAWネットワーク機能では、Dug Song氏作のLibdnetネットワークライブラリが使用される。修正バージョンが、Nmapとともに配布されている。Nmapはオプションで、SSLバージョン検出をサポートするために、 OpenSSL 暗号化ツールキット とリンクできる。ここで述べたすべてのサードパーティ・ソフトウェアは、BSD方式のソフトウェアライセンスのもとで、自由に再配布できる。 + + +米国輸出管理分類 +米国輸出管理:Insecure.Com LLCでは、NmapはUS ECCN(輸出管理分類番号)5D992に該当すると考えている。5D992に分類されるものは、5D002で規制されない情報セキュリティソフトウェアとなっており、この分類に唯一適用される規制は、AT(テロ防止)規制である。ATは、ほぼすべての物品に適用され、イランや北朝鮮などの少数の無法国家への輸出を禁止する規制である。このため、Nmapの輸出には、特別なライセンスや許可、あるいは政府の承認を一切必要としない。 + + + + + +
diff --git a/docs/man-xlate/nmap-man-pl.xml b/docs/man-xlate/nmap-man-pl.xml new file mode 100644 index 000000000..a0463e9f7 --- /dev/null +++ b/docs/man-xlate/nmap-man-pl.xml @@ -0,0 +1,3293 @@ + + +
+ + Opis programu Nmap + + + + nmap + 1 + + + nmap + Narzędzie do eksploracji sieci i skaner portów/zabezpieczeń + + + + + nmap + + Typ Skanowania + + + Opcje + + + specyfikacja celu + + + + + Opis + + Nmap (ang. Network Mapper) jest narzędziem open source + do eksploracji sieci i audytów bezpieczeństwa. Został zaprojektowany do + szybkiego skanowania dużych sieci, ale również działa dobrze w stosunku do + pojedynczych adresów. Nmap wykorzystuje niskopoziomowe pakiety IP do + wykrywania które adresy są dostępne w sieci, jakie udostępniają usługi + (nazwa aplikacji i wersja), na jakich systemach operacyjnych pracują (wersja + systemu), jakie typy systemów zaporowych (firewall) są wykorzystywane i + dziesiątek innych cech. Nmap jest powszechnie wykorzystywany do audytów + bezpieczeństwa, również wielu administratorów sieci i systemów wykorzystuje + go wykonywania rutynowych czynności, takich jak inwentaryzacja zasobów sieci, + zarządzanie aktualizacjami oprogramowania i monitorowania systemów oraz ich + czasu działania (uptime). + + Wynikiem działania Nmapa jest lista przeskanowanych adresów z + dodatkowymi informacjami zależnymi od wykorzystanych opcji. Jedną z + głównych informacji jest lista interesujących portów. + Zawiera ona numery portów wraz z protokołami, nazwami usługi i + wykrytym stanem. Stan może zostać opisany jako + otwarty, + filtrowany, + zamknięty, lub + niefiltrowany. + Otwarty oznacza, że aplikacja na badanym adresie oczekuje na + połączenia/pakiety przychodzące na ten port. + Filtrowany oznacza, że system zaporowy + lub inne urządzenie blokujące ruch sieciowy nie dopuszcza + komunikacji do tego portu i z tego powodu Nmap nie jest w stanie określić + czy badany port jest otwarty czy + zamknięty. + Zamknięty port nie posiada aplikacji, + która obsługuje komunikację sieciową. Porty sklasyfikowane jako + niefiltrowane odpowiadały na zapytania + Nmapa, jednak nie było możliwe określenie, czy były one otwarte czy + zamknięte. Nmap raportuje kombinacje stanów + otwarty|filtrowany i + zamknięty|filtrowany jeśli nie jest w + stanie określić, który z dwóch podanych stanów lepiej opisuje stan portu. + Lista portów może również zawierać informacje o wykrytych wersjach + oprogramowania, jeśli została włączona detekcja wersji. Jeśli została + wybrana opcja skanowania dostępnych protokołów (), + Nmap zamiast listy portów dostarczy informacji na temat dostępności + poszczególnych protokołów IP. + + Poza listą interesujących portów, Nmap może dostarczyć dodatkowych + informacje na temat badanych adresów, takich jak odwrotne nazwy DNS, + prawdopodobne systemy operacyjne, typu urządzeń i adresy sprzętowe + MAC. + + Typowy wynik skanowania Nmapa jest przedstawiony w + . W tym przypadku wykorzystano tylko opcję + , wykrywającą wersje systemu operacyjnego, + dla szybszego działania i dwa adresy docelowe. + +Przykładowe wyniki skanowania Nmapa + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + +Najnowszą wersję Nmapa można pobrać z +. Najnowsza wersja dokumentacji man +jest dostępna pod adresem +. + + + + + Uwagi do tłumaczenia + Przemysław Galczewski + sako(at)avet.com.pl + () + + + Dokument ten zawiera nieoficjalne polskie tłumaczenie + oryginalnej dokumentacji + Nmapa w wersji 2991. Dołożyłem wszelkich starań, aby było ono jak + najbardziej zbliżone do oryginału, a przy tym fachowe i zrozumiałe. + Nie jest przy tym gwarantowane, że jest ono tak samo dokładne i aktualne jak + oficjalna wersja angielska. Dokument ten może być modyfikowany i + rozpowszechniany na zasadach Creative + Commons Attribution License. + Polska wersja tego dokumentu jest dostępna w formatach + HTML, + NROFF i + XML. + Wszelkie uwagi + dotyczące tłumaczenia proszę kierować bezpośrednio do mnie. + + + + + Skrócona lista opcji + +Skrócona lista opcji jest wyświetlana przy uruchomieniu Nmapa bez +dodatkowych parametrów, a jej najnowsza wersja jest zawsze dostępna pod adresem +. +Skrócona lista pozwala łatwiej zapamiętać najpopularniejsze opcje, ale +nie zastąpi wgłębienia sie w resztę tej dokumentacji. +Wiele z pozostałych opcji nie jest nawet zawartych na liście skróconej. + + +Użycie: nmap [Typ(y) skanowania] [Opcje] {specyfikacja celu} +SPECYFIKACJA CELU: + Można podać nazwy hostów, adresy IP, sieci, itp. + Przykłady: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <plik_wejściowy>: Odczytanie listy hostów/sieci z pliku + -iR <ilość hostów>: Wybranie losowych adresów + --exclude <host1[,host2][,host3],...>: Wyłączenie hostów/sieci + --excludefile <plik_wyłączeń>: Wyłączenie listy hostów/sieci z pliku +WYKRYWANIE HOSTÓW: + -sL: Lista skanowania - tylko wyświetla listę hostów do skanowania + -sP: Skanowanie Ping - tylko wykrywanie dostępności hostów + -P0: Traktuj wszystkie hosty jako dosępne - pomijanie wykrywania + -PS/PA/PU [lista_portów]: Wykrywanie TCP SYN/ACK lub UDP na wybranych portach + -PE/PP/PM: Zykrywanie za pomocą ICMP echo, timestamp, zapytania o maskę sieci + -n/-R: Nie używaj zapytań DNS/Zawsze odpytuj DNS [domyślnie: czasami] + --dns-servers <serv1[,serv2],...>: Używaj określonych serwerów DNS + --system-dns: Używaj systemowych ustawień DNS +TECHNIKI SKANOWANIA: + -sS/sT/sA/sW/sM: Skanowania TCP SYN/Connect()/ACK/Window/Maimon + -sN/sF/sX: Skanowania TCP Null, FIN i Xmas + --scanflags <flagi>: Ręczne narzucanie flag TCP + -sI <host zombie[:port]>: Idlescan + -sO: Skanowanie protokołów IP + -b <host pośredni ftp>: Skanowanie FTP bounce +SPECYFIKACJA PORTÓW I KOLEJNOŚCI SKANOWANIA: + -p <zakres portów>: Skanuj tylko podane porty + Przykład: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Szybkie skanowanie - tylko porty zawarte w pliku nmap-services + -r: Skanuj porty kolejno - wyłączenie losowania kolejności +DETEKCJA USŁUG/WERSJI: + -sV: Wykrywaj wersję usługi na otwartych portach + --version-intensity <poziom>: Od 0 (tylko niektóre) do 9 (Używaj wszystkich testów) + --version-light: Limituj do najpopularniejszych testów (poziom 2) + --version-all: Używaj wszystkich testów (poziom 9) + --version-trace: Pokazuj dokładne informacje podczas skanowania (do usuwania błędów) +DETEKCJA OS: + -O: Włączenie wykrywania systemu operacyjnego + --osscan-limit: Limitowanie wykrywania OS do obiecujących hostów + --osscan-guess: Zgaduj wersję OS bardziej agresywnie +WYDAJNOŚĆ I ZALEŻNOŚCI CZASOWE: + -T[0-5]: Ustaw szablon (wyższy jest szybszy) + --min-hostgroup/max-hostgroup <rozmiar>: Rozmiary grup do równoległego skanowania + --min-parallelism/max-parallelism <msec>: Zrównoleglenie testów + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specyfikuje czas testów + --max-retries <ilość>: Ustala ilość możliwych powtórzeń testu + --host-timeout <msec>: Pomijaj po zadanym czasie + --scan-delay/--max-scan-delay <msec>: Ustalenie opóźnienia pomiędzy testami +OPCJE FIREWALL/IDS: + -f; --mtu <wartość>: fragmentacja pakietów (opcjonalnie z podanym MTU) + -D <decoy1,decoy2[,ME],...>: Ukrywaj skanowanie za pomocą innych hostów + -S <Adres_IP>: Podmieniaj adres nadawcy + -e <interfejs>: Używaj podanego interfejsu + -g/--source-port <portnum>: Używaj podanego portu źródłowego + --data-length <num>: Dodawaj losowe dane do wysyłanych pakietów + --ttl <wartość>: Ustaw czas życia pakietów + --spoof-mac <adres mac/prefix/producent>: Podmieniaj adres MAC + --badsum: Wysyłaj pakiety z nieprawidłową sumą kontrolną TCP/UDP +WYJŚCIE: + -oN/-oX/-oS/-oG <plik>: Zapisz wyniki w podanym pliku normalnie, w XML, s|<rIpt kIddi3 + i formacie grepowalnym + -oA <nazwabazowa>: Zapisz wyniki w trzech formatach jednocześnie + -v: Podwyższenie poziomu raportowania (podwójne użycie powiększa efekt) + -d[poziom]: Ustaw lub podwyższ poziom debugowania (do najwyższego 9) + --packet-trace: Pokazuj wszystkie wysyłane i odbierane pakiety + --iflist: Wyświetl listę interfejsów i routingu (do wykrywania błędów) + --append-output: Dołącz nowe wyniki do już istniejących w pliku + --resume <nazwapliku>: Wznów przerwane skanowanie + --stylesheet <ścieżka/URL>: plik styli XSL do konwersji wyników w XML do formatu HTML + --webxml: Domyślny styl z Insecure.Org + --no-stylesheet: Wyłączenie dodawania styli do plików z wynikami XML +RÓŻNE: + -6: Włączenie skanowania IPv6 + -A: Włączenie detekcji OS i wersji usług + --datadir <katalog>: Podanie katalogu z plikami danych Nmapa + --send-eth/--send-ip: Wysyłaj za pomocą ramek ethernet lub pakietów IP + --privileged: Zakładaj że użytkownik ma odpowiednie uprawnienia + -V: Wyświetl numer wersji Nmapa + -h: Wyświetl stronę pomocy +PRZYKŁADY: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + Specyfikacja celu + +Wszystko co nie jest opcją Nmapa w parametrach wywołania (lub jej +argumentem) jest traktowane jako specyfikacja celu skanowania. +Najprostszym przypadkiem jest sam adres do przeskanowania. + +Czasami chcesz przeskanować całą sieć, dlatego Nmap obsługuje format +CDIR. Możesz dołączyć do adresu /ilośćbitów i nmap +przeskanuje każdy adres, który zawiera się w podanym zakresie. +Na przykład, 192.168.10.0/24 przeskanuje 256 adresów pomiędzy 192.168.10.0 +(binarnie: 11000000 10101000 00001010 +00000000) i 192.168.10.255 (binarnie: +11000000 10101000 00001010 11111111) +włącznie. Podanie 192.168.10.40/24 spowoduje dokładnie takie samo zachowanie. +Załóżmy, że host scanme.nmap.org ma adres 205.217.153.62, podanie +scanme.nmap.org/16 spowoduje przeskanowanie 65,536 adresów IP pomiędzy +205.217.0.0 i 205.217.255.255. Najmniejszą dopuszczalna wartość to /1, +co stanowi połowę Internetu. Największa wartość to 32, która oznacza +skanowanie pojedynczego adresu IP. + +Notacja CIDR jest krótka i zwięzła, jednak nie zawsze wystarczająco +elastyczna. Na przykład, chcesz przeskanować 192.168.0.0/16 z pominięciem +wszystkich adresów kończących się .0 i .255, ponieważ są one najczęściej +adresami typu broadcast. Nmap obsługuje to poprzez podawanie zakresów adresów +za pomocą oktetów. Zamiast podawać normalny adres IP, możesz podać listę +adresów lub zakresów oddzieloną przecinkami. Na przykład 192.168.0-255.1-254 +pominie wszystkie adresy kończące się .0 lub .255. +Zakresy nie są limitowane do końcowych oktetów: podanie 0-255.0-255.13.37 +pozwoli na przeskanowanie wszystkich adresów kończących się 13.37. Tego typu +skanowania mogą być przydatne podczas przeprowadzania badań Internetu. + +Adresy IPv6 mogą być podawane jedynie w pełnej formie IPv6 lub nazwy +hosta. Zapis z wykorzystaniem CIDR i zakresów nie jest obsługiwany przy IPV6, +jednak rzadko byłoby to przydatne. + +Nmap akceptuje podawanie wielu hostów w linii poleceń i nie muszą one +być tego samego typu. Komenda nmap scanme.nmap.org +192.168.0.0/8 10.0.0,1,3-7.0-255 zrobi to co powinna. + +Zwykle adresy są podawane w linii poleceń, jednak poniższe opcje +pozwalają na alternatywną specyfikację celu: + + + + + (Odczytanie z pliku) + + + odczytuje specyfikację celu z pliku + plik-wejściowy. Podawanie długiej listy + adresów z linii poleceń jest dosyć niewygodne. Na przykład Twój + serwer DHCP może posiadać listę 10,000 aktualnie dzierżawionych + adresów, które chcesz przeskanować. Możliwe również, że chcesz + przeskanować wszystkie adresy IP z wykluczeniem + aktualnie dzierżawionych aby uzyskać listę nielegalnie przypisanych + adresów statycznych. Po prostu wygeneruj listę adresów i podaj ją + Nmapowi jako argument do parametru . + Poszczególne definicje mogą być zgodne z dowolnym formatem + akceptowanym przez Nmapa w linii poleceń (adres IP, nazwa, CIDR, + IPv6 lub zakres). Każdy wpis musi być oddzielony od następnego za + pomocą jednej (lub wiecej) spacji, znaków tabulacji lub znaków + nowej linii. Możesz również podać znak + (-) zamiast nazwy pliku jeśli + chesz aby Nmap pobrał adresy ze standardowego wejścia zamiast z + pliku. + + + + + + (Wybierz losowe cele) + + + Do przeprowadzania badań Internetu, możesz używać wyboru + losowych adresów. Argument ilość hostów + informuje Nmapa ile losowych adresów ma wygenerować. Adresy prywatne, + typu multicast lub niewykorzystywane są automatycznie pomijane + przy generowaniu. Argument 0 + pozwala na przeprowadzanie skanowania bez końca. Pamiętaj, że + niektórzy administratorzy nie lubią skanowania ich sieci i może się + im to nie spodobać. Używaj tej opcji na własne ryzyko! Jeśli + poczujesz się naprawdę znudzony w deszczowe popołudnie, wyprubuj + komendę nmap -sS -PS80 -iR 0 -p + 80 do wykrycia losowych serwerów WWW do przeglądania + udostępnianych przez nie stron. + + + + + + (Wyłączenie hostów/sieci) + + + Podana lista celów do wyłączenia z zakresu skanowania, jeśli + wchodzą w zakres aktualnego skanowania. Lista musi być podana + zgodnie ze standardowym formatem akceptowanycm przez Nmapa, więc może + zawierać nazwy, adresy w formacie CDIR, zakresy, itp. Opcja ta jest + przydatna, jeśli sieć którą chcesz przeskanować zawiera systemy + nietykalne lub krytyczne, o których wiadomo, że nie tolerują dobrze + skanowania lub też sieci administrowane przez innych ludzi. + + + + + + (Lista wyłączeń z pliku) + + + Opcja ta oferuje taką samą funkcjonalność jak + z tą rożnicą, że wykluczone cele + (oddzielone spacjami, znakami tabulacji lub nowej linii) są pobierane + z pliku plik_wyłączeń, a nie z linii + poleceń. + + + + + + + Wykrywanie hostów + + Jednym z pierwszych kroków rekonesansu sieciowego jest redukcja + (czasami ogromnych) zakresów adresów IP do listy aktywnych lub + interesujących hostów. Skanowanie każdego portu na każdym adresie + IP jest wolne i przeważnie niepotrzebne. Oczywiście to co czyni host + interesującym głównie zależy od celu skanowania. Administratorzy sieci + mogą być zainteresowani hostami udostępniającymi określoną usługę podczas + gdy audytorzy bezpieczeństwa mogą chcieć przyjrzeć się każdemu urządzeniu + posiadającemu adres IP. Administratorowi może wystarczać wykorzystanie + pinga ICMP do zlokalizowania hostów w jego wewnętrznej sieci, podczas gdy + audytor przeprowadzający zewnętrzne testy penetracyjne może wykorzystywać + dziesiątki różnych testów do ominięcia reguł filtrowania systemu + zaporowego. + + Ponieważ niezbędne są różne metody wykrywania hostów, Nmap oferuje + szeroki wachlarz opcji pozwalających na wybieranie wykorzystywanych technik. + Wykrywanie hostów często jest zwane skanowaniem Ping, jednak wykracza + daleko poza proste wysyłanie zapytania ICMP echo request znanego z + programu ping. + Użytkownik może pominąć etap wykrywania poprzez wykorzystanie opcji skanowania + listy (), poprzez wyłączenie pingowania + () lub wykorzystania różnych kombinacji wieloportowego + badania za pomocą testów TCP SYN/ACK, UDP, i ICMP. Celem tych testów jest + uzyskanie informacji o adresach IP, które są aktualnie dostępne (są + wykorzystywane przez urządzenie sieciowe lub komputer). W przypadku wielu + sieci tylko mały procent wykorzystywanych adresów IP jest równocześnie + aktywnych. Jest to szczególnie powszechne w sieciach prywatnych zgodnych + z adresacją RFC1918, takich jak 10.0.0.0/8. Ta sieć zawiera 16 milionów + adresów IP, ale widziałem nie raz firmy wykorzystujące niecały tysiąc z + nich. Opcja wykrywania hostów pozwala na szybkie wykrycie rzeczywiście + wykorzystywanych adresów IP z całej dostępnej puli. + + Jeśli nie podano opcji wybierającej metodę wykrywania hostów, Nmap + wysyła pakiety TCP ACK na port 80 i zapytanie ICMP Echo Request query + do każdego badanego adresu. Wyjątkiem od tej reguły jest skanowanie + ARP przeprowadzane dla aktualnego segmentu sieci ethernet. W + przypadku uruchamiania przez nie uprzywilejowanych użytkowników + systemów UNIX, wysyłany jest pakiet SYN zamiast ACK z wykorzystaniem + wywołania systemowego connect(). + Ustawienia domyślne są tożsame z opcjami . + Takie wykrywanie hostów jest najczęściej wystarczające podczas + skanowania sieci lokalnej, jednak podczas audytów bezpieczeństwa + zalecane jest wykorzystywanie bardziej zaawansowanych opcji. + + Opcje (które wybierają sposób pingowania) mogą + być łączone. Możesz poprawic dokładność wykrywania hostów za systemem + zaporowym poprzez stosowanie wielu różnych portów/flag TCP i typów ICMP. + Zwracam uwagę, że wykrywanie hostów ARP () jest + z założenia włączane podczas testów sieci lokalnej w ramach tego samego + segmentu, nawet jeśli podasz inne opcje , ponieważ + praktycznie zawsze tak jest szybciej i efektywniej. + + Opcje kontroli wykrywania hostów. + + + + + (Lista skanowania) + + Lista skanowania jest okrojoną funkcją wykrywania hostów, która + po prostu wyświetla wszystkie adresy z podanych zakresów skanowania i + nie wysyła żadnych pakietów do nich. Domyślnie Nmap wykonuje + odwrotne zapytania DNS o badane adresy aby poznać ich nazwy. Często + niespodzianką jest jak dużo informacji mogą udzielić już same nazwy + hostów. Na przykład + fw.chi.playboy.com jest systemem + zaporowym w biurze Playboy Enterprises w Chicago. Na końcu Nmap + podaje także całkowitą liczbę adresów IP. Lista skanowania jest + dobrym sposobem na sprawdzenie i uzyskanie pewności, że prawidłowo + podano zakres skanowania. Jeśli nie rozpoznajesz nazw domen na + uzyskanej liście, warto sprawdzić podany zakres, co pozwala unikąć + niepotrzebnego skanowania sieci nieznanej firmy. + + Ideą tej opcji jest wyświetlanie prostej listy adresów, z tego + powodu bardziej zaawansowana funkcjonalność taka jak skanowanie + portów, wykrywanie systemu operacyjnego czy pingowanie nie może być + łączone z tą metodą. Jeśli chcesz wyłączyć pingowanie podczas + skanowania, poczytaj na ten temat w opisie opcji + . + + + + + + (Skanowanie Ping) + + + Ta opcja nakazuje Nmapowi przeprowadzać tylko + skanowanie typu Ping (wykrywanie hostów), a wynikiem jej + działania jest lista aktywnych hostów. Dodatkowe testy (takie jak + skanowanie portów lub wykrywanie systemu operacyjnego) nie są + przeprowadzane. Metoda ta idzie krok dalej niż lista skanowania i + może być wykorzystywana w podobnym celu. Pozwala na przeprowadzenie + delikatnego rekonesansu bez zwracania zbytniej uwagi. Posiadanie + wiedzy na temat ilości aktywnych hostów jest bardziej wartościowe + dla atakujących niż sama lista adresów zawierająca adres IP i + nazwę hosta. + + Również administratorzy systemów często korzystają z tej + opcji. Pozwala ona na łatwe i szybkie określenie liczby hostów w + sieci lub monitorowanie dostępności serwerów. Opcja ta często jest + nazywna Ping Sweep i daje bardziej wiarygodne wyniki niż pingowanie + adresu broadcast, ponieważ niektóre adresy mogą na niego nie + odpowiedzieć. + + Domyślnie opcja wysyła pakiety ICMP echo + request i pakiety TCP na port 80. W przypadku wykonywania z konta + nie uprzywilejowanego użytkownika wysyłane są pakiety SYN (z + wykorzystaniem funkcji systemowej + connect()) na port 80 badanego + hosta. Jeśli uprzywilejowany użytkownik próbuje przeskanować adresy + w lokalnej sieci ethernet, wykorzystywane są zapytania ARP + (), chyba że dodano opcję + . + Dla większej wygody opcja może być łączona w + dowolny sposób z innymi metodami wykrywania hostów (opcje + , nie dotyczy ). + + Jeśli wybrano któryś z typów testów i numer portu, nie są + wykorzystywne domyślne ustawienia (ACK i echo request). + Wykorzystywanie tych opcji jest szczególnie zalecane, jeśli + pomiędzy badanym systemem, a hostem na którym jest uruchomiony + Nmap jest system zaporowy, inaczej niektóre (lub wszystkie) hosty + nie zostaną wykryte. + + + + + + + + (Bez pinga) + + + Ta opcja wyłącza całkowicie wykrywanie hostów. Normalnie + Nmap próbuje wykryć aktywne adresy przed rozpoczęciem właściwego + skanowania. Domyślnie Nmap przeprowadza tylko testy takie jak + skanowanie portów, wykrywanie wersji i systemu operacyjnego tylko + dla hostów, które zostały wcześniej wykryte jako aktywne. Wyłączenie + wykrywania hostów za pomocą opcji powoduje, + że Nmap próbuje wykonać wszystkie żadane typy skanowania na + każdym podanym adresie IP. Jeśli więc jako cel + w linii pleceń podano klasę B (/16), wszystkie 65,536 adresów + zostanie przeskanowane. Drugi znak w opcji jest + zerem, a nie literą O. Wykrywanie hostów jest pomijane jak przy + wyświetlaniu listy skanowania, jednak zamiast zatrzymać się i + wyświetlić listę, Nmap kontynuuje i przeprowadza założone testy + na każym adresie IP, tak jak by był wykryty jako aktywny. + + + + + + (TCP SYN Ping) + + + Opcja ta powoduje wysyłanie pustych pakietów TCP z ustawioną + flagą SYN. Domyślnie port docelowy to 80 (konfigurowalne przed + kompilacją za pomocą stałej DEFAULT_TCP_PROBE_PORT w pliku + nmap.h), ale inny port może być + podany jako parametr. Możliwe jest również podanie listy portów, + odzielonych przecinkami + (np. ), co spowoduje + przeprowadzenie testów na wszystkich podanych portach równolegle. + + + Ustawiona flaga SYN sugeruje badanemu systemowi, że próbujesz + nawiązać z nim połączenie. Normalnie zdalny port będzie zamknięty + i zostanie wysłany z powrotem pakiet z flagą RST (reset). Jeśli + port będzie otwarty, host będzie próbował wykonać drugi krok z + trójstopniowego procesu nawiązywania połączenia odpowiadając za + pomocą pakietu TCP SYN/ACK. Nmap zamiast wysłać pakiet ACK, który by + pomyślnie zakończył nawiązywanie połączenia, w tym momencie przerwie + połączenie wysyłając pakiet RST. Pakiet RST jest wysyłany przez + kernel systemu na którym pracuje Nmap automatycznie, w odpowiedzi + na niespodziwany pakiet SYN/ACK, a nie przez samego Nmapa. + + Nmap nie zwraca uwagi czy port jest otwarty czy zamknięty. + W zależności od uzyskanej omówionej wcześniej odpowiedzi (RST lub + SYN/ACK) host jest uznawany za dostępny. + + W systemach UNIX, tylko użytkownik uprzywilejowany - + root - może wysyłać niskopoziomowe + pakiety raw TCP. W przypadku użytkowników nie posiadających + odpowiednich uprawnień wykorzystywane jest obejście w postaci + wykorzystania funkcji systemowej connect() do wykonania połączeń ze + wskazanymi portami. Jeśli connect() zwróci poprawność wykonania + operacji lub błąd odmowy połączenia ECONNREFUSED, stos TCP musiał + otrzymać pakiet z flagami SYN/ACK lub RST i host jest uznawany za + dostępny. Jeśli próba nawiązania połączenia została przerwana po + przekroczeniu maksymalnego czasu oczekiwania, host jest oznaczany + jako niedostępny. To obejście jest również wykorzystywane dla + protokołu IPv6, ponieważ wysyłanie niskopoziomowych pakietów raw TCP + nie jest jeszcze dostępne w Nmapie. + + + + + + + (TCP ACK Ping) + + Metoda TCP ACK ping jest dosyć podobna do powyżej opisanego + SYN ping. Różnica, jak łatwo zgadnąć, polega na wykorzystaniu flagi + ACK zamiast SYN. Flaga ACK jest wykorzystywana do potwierdzania + otrzymania danych za pomocą utworzonego wcześniej połączenia TCP, + jednak w tym wypadku połączenie takie nie istnieje. Z tego powodu + badany system powinien zawsze odpowiedzieć pakietem z flagą RST, + świadczącą o nie isnieniu takiego połączenia. + + Opcja , tak jak SYN, używa portu numer 80 i + również może przyjmować listę portów jako argument (w takim samym + formacie). Jeśli program został uruchomiony przez + nie uprzywilejowanego użytkownika lub badany jest adres IPv6, + wykorzystywane jest opisane wcześniej obejście za pomocą connect(). + Obejście to nie jest idealne, ponieważ funkcja connect() wysyła + pakiet SYN zamiast oczekiwanego ACK. + + Powodem udostępniania zarówno metody SYN jak i ACK jest + zwiększenie szansy na ominięcie systemu zaporowego. Wielu + administratorów konfiguruje routery i proste systemy zaporowe tak, + żeby blokowały przychodzące pakiety SYN, poza przychodzącymi do + publicznych serwerów takich jak WWW czy pocztowych. Zabezpiecza to + przed przychodzeniem innych połączeń przy jednoczesnym nie + zakłucaniu pozostałej transmisji wychodzącej do Internetu. Takie + bezstanowe (non-stateful) rozwiązanie zajmuje mało zasobów systemu + zaporowego/routera i jest szeroko wspierane przez filtry sprzętowe i + programowe. Linuxowy firewall Netfilter/iptables dla wygody posiada + opcję , która implementuje takie właśnie + bezstanowe filtrowanie. W przypadku takiego systemu zaporowego testy + wykorzystujące metodę SYN ping () zostaną + prawdopodobnie zablokowane w przypadku zamkniętych portów. W tym + przypadku metoda ACK pozwoli na obejście tych zabezpieczeń. + + Innym popularnym typem jest firewall wykorzystujący stany + (stateful) do blokowania niechcianych pakietów. Taka funkcjonalność + jest najczęściej spotykana w wysokiej klasy systemach zaporowych, które + stają się z roku na rok coraz popularniejsze. Linuxowy + Netfilter/iptables posiada opcję , która + kategoryzuje pakiety na podstawie stanu połączenia. Metoda SYN + prawdopodobnie będzie działała poprawnie dla tego typu systemów, + ale już pakiet z ACK zostanie rozpoznany jako nieprawidłowy i + zostanie zablokowany. Rozwiązaniem tego problemu jest wykorzystywanie + jednocześnie obu metod SYN i ACK poprzez podanie parametrów + i . + + + + + + (UDP Ping) + + + Kolejną metodą wykrywania hostów jest UDP ping, który wysyła + puste (o ile nie wykorzystano opcji ) + pakiety UDP na wskazane porty. Lista portów jest podawana w takim + samym formacie jak dla wcześniej opisanych opcji + i . Jeśli nie podano numerów portów, domyślnie + używany jest port 32338. Port ten może być zmieniony przed + kompilacją poprzez zmianę stałej DEFAULT_UDP_PROBE_PORT w pliku + nmap.h. Wybór tak mało + popularnego portu został podyktowany chęcią uniknięcia wysyłania + pakietów do otwartych portów, co w przypadku tego testu nie + przyniosło by oczekiwanego efektu. + + W przypakdu kiedy port jest zamknięty na badaniej maszynie, w + odpowiedzi na pakiet UDP powinien zostać odesłany pakiet ICMP + port unreachable oznaczający brak możliwości komunikacji z wybranym + portem. Po otrzymaniu takiej odpowiedzi Nmap oznacza host jako + dostępny. Inne typy odpowiedzi ICMP, takie jak host/sieć niedostępna + czy przekroczony czas życia TTL oznaczają, że badany host nie jest + dostępny, podobnie interpretowany jest brak odpowiedzi. Jeśli badany + port jest otwarty, większość typowych usług zignoruje pusty pakiet i + nie zostanie wysłana żadna informacja zwrotna. Właśnie dla tego + domyślnie testowanym portem jest 31338, który jest bardzo rzadko + wykorzystywany. Wiele usług, takich jak chargen, odpowie na pusty + pakiet co spowoduje, że Nmap uzna host za dostępny. + + Główną zaletą tego typu skanowania jest fakt, że omija systemy + zaporowe i filtry skupiające sie tylko na TCP. Przykładowo, miałem + kiedyś szerokopasmowy router bezprzewodowy Linksys BEFW11S4. + Zewnętrzny interfejs tego urządzenia filtrował domyślnie wszystkie + porty TCP, za to testy UDP zwracały odpowiedzi ICMP port unreachable, + co ujawnia istnienie urządzenia. + + + + + + + ; + ; + (Typy ICMP Ping) + + + Dodatkowo poza opisanymi wcześniej metodami wykrywania hostów + TCP i UDP, Nmap może wysyłać standardowe pakiety ICMP znane z + typowego programu ping. + Nmap wysyła pakiety ICMP typu 8 (echo request) do badanego hosta i + oczekuje typu 0 (echo reply) w odpowiedzi. Niestety wiele hostów i + systemów zaporowych blokuje tego typu pakiety, zamiast odpowiadać + prawidłowo i zgodnie z + RFC + 1122. Z tego powodu skanowania nieznanych hostów w internecie + za pomocą tej metody przeważnie nie są wiarygodne. Jednakże + administratorzy systemów monitorujący wewnętrzne sieci mogą z + powodzeniem efektywnie wykorzystywać tą metodę. Takie wykorzystanie + zapytań ICMP echo request jest możliwe za pomocą opcji + . + + Zapytanie echo request jest standardowym zapytaniem ICMP ping, + jednak Nmap nie poprzestaje na tym. Standard ICMP + (RFC + 792) opisuje także zapytania timestamp request, information + request, i address mask request o kodach odpowiednio 13, 15 i 17. + Podczas kiedy założonym efektem działania tych zapytań jest uzyskanie + informacji typu maska sieci czy aktualny czas, mogą być one + wykorzystane do wykrywania aktywności hostów. System który odpowiada, + jest uznawany za aktywny. Nmap nie obsługuje zapytań information + request, jako że nie są one często spotykane. RFC 1122 zaleca, że + host NIE POWINIEN obsługiwać tych zapytań. + Zapytania timestamp i address mask mogą być wysyłane z wykorzystaniem + opcji odpowiednio i . + Odpowiedzi timestamp reply (ICMP kod 14) lub address mask reply + (kod 18) ujawniają aktywność hosta. Te dwa zapytania mogą być + pomocne, kiedy administrator specyficznie blokuje zapytania + echo request zapominając przy tym blokować inne typy ICMP, które + mogą być wykorzystane w tym samym celu. + + + + + + + (ARP Ping) + + + Jednym z najczęściej spotykanych scenariuszy wykorzystania + Nmapa jest skanowanie sieci lokalnej ethernet. W większości sieci + LAN, w szczególności wykorzystujących adresację prywatną zalecaną + przez RFC1918, większość adresów IP nie jest wykorzystywana. Kiedy + Nmap próbuje wysłać pakiet raw IP taki jak ICMP echo + request, by poprawnie zaadresować ramkę ethernet system operacyjny + musi określić (ARP) docelowy adres sprzętowy korespondujący z + docelowym adresem IP. + + Takie zachowanie jest często powolne i problematyczne, ponieważ + systemy operacyjne nie zostały napisane z uwzględnieniem potrzeby + wysyłania milionów zapytań ARP o niedostępne hosty w krótkim + czasie. + + Skanowanie ARP wykorzystuje zoptymalizowany algorytm Nmapa + do wysyłania zapytań ARP. Po otrzymaniu odpowiedzi Nmap nie musi + się nawet martwić o oparte na IP pakiety ping, ponieważ już wie, + że host jest aktywny. Takie zachowanie pozwala na dużo szybsze + i bardziej wiarygodne skanowanie. Z tego powodu zachowanie takie + jest domyślne podczas skanowania sieci, którą Nmap wykryje jako sieć + lokalną należącą do tego samego segmentu. Nawet jeśli zostaną podane + inne typy skanowania ping (takie jak lub + ), Nmap używa ARP zamiast nich do wykrywaia + hostów w lokalnej sieci ethernet. Jeśli nie chcesz używać ARP do + skanowania, dodaj opcję . + + + + + + + (Wyłącz zapytania DNS) + + + Nakazuje Nmapowi nigdy nie używać zapytań + odrotnych do serwerów DNS o nazwy przypisane do adresów IP. Jako że + zapytania DNS są najczęściej długo trwają, opcja ta przyspiesza + pracę. + + + + + + (Wymuś zapytania DNS) + + + Nakazuje Nmapowi zawsze wykonywać + odwrotne zapytania do serwera DNS o nazwy dla skanowanych adresów + IP. Domyślnie zapytania są wykonywane tylko dla aktywnych + hostów. + + + + + + (Używaj systemowego DNS) + + + Domyślnie Nmap określa nazwy dla adresów IP poprzez wysyłanie + zapytań bezpośrednio do serwerów DNS skonfigurowanych w systemie, o + ile są dostępne. Wiele zapytań (często dziesiątki) jest wykonywanych + równolegle dla uzyskania wiekszej szybkości. Dodanie tej opcji + wymusza wykorzystywanie rozwiązywania nazw za + pośrednictwem systemu operacyjnego (każdorazowo o pojedyncze IP za + pomocą funkcji getnameinfo()). Ta opcja jest wolniejsza i jest + użyteczna tylko w sporadycznych przypadkach, chyba że w Nmapie jest + błąd w kodzie DNS - prosze się z nami skontaktować w tym przypadku. + W przypadku skanowania sieci IPv6, rozwiązywanie nazw jest zawsze + wykonywane z wykorzystaniem systemu operacyjnego. + + + + + + (Serwery do wykonywania zapytań DNS) + + + Domyślnie Nmap próbuje odczytać serwery DNS wpisane do pliku + resolv.conf (UNIX) lub rejestru (Win32). Alternatywnie, możesz użyć + tej opcji do podania własnych serwerów. Opcja ta nie jest + uwzględniana, jeśli użyto również opcji + lub skanowane są adresy IPv6. Używanie wielu serwerów DNS jest często + dużo szybsze, niż tylko jednego. + + + + + + + Podstawy skanowania portów + + Przez lata funkcjonalność Nmapa była sukcesywnie powiększana, + z początku był tylko efektywnym skanerem portów i to nadal pozostaje + jego główną funkcją. Prosta komenda nmap + target skanuje ponad 1660 portów + TCP na wybranym celu skanowania. Podczas + kiedy większość skanerów tradycyjnie zalicza wszystkie porty do + kategorii otwarty lub zamknięty, Nmap jest dużo dokładniejszy. + Rozróżnia sześć możliwych stanów każdego portu: + otwarty, + zamknięty, + filtrowany, + niefiltrowany, + otwarty|filtrowany, or + zamknięty|filtrowany. + +Te stany nie są rzeczywistymi stanami portów, opisują jak Nmap je widzi. +Na przykład, skanowanie Nmapa z wnętrza sieci pokazuje port 135/TCP jako +otwarty, podczas kiedy skanowanie przez Internet może określić stan portu +jako filtrowany. + +Sześć stanów portów Nmapa + + otwarty + Aplikacja aktywnie akceptuje na tym porcie połączenia TCP + lub pakiety UDP. Znalezienie takich portów jest głównym celem skanowania. + Osoby obeznane z bezpieczeństwem wiedzą, że każdy otwarty port to potencjalny + cel ataku. Atakujący i wykonujący testy penetracyjne chcą wykorzystać luki w + oprogramowaniu poprzez otwarte porty, podczas gdy administratorzy starają się + zamykać lub chronić je za pomocą systemów zaporowych przed niepożądanymi + użytkownikami. Otwarte porty są także interesujące przy skanowaniach nie + związanych z oceną bezpieczeństwa, ponieważ pokazują usługi dostępne w sieci. + + + zamknięty + + Zamknięty port jest dostępny (odbiera i odpowiada na + pakiety Nmapa), ale nie ma żadnej aplikacji, która by obsłużyła połaczenie. + Porty te mogą być pomocne przy sprawdzaniu czy host jest aktywny (wykrywanie + hostów lub skanowanie Ping) oraz przy wykrywaniu systemu operacyjnego. + Ponieważ są dostępne zamknięte porty, warto skanować dalej w poszukiwaniu + otwartych. Administratorzy mogą chcieć blokować takie porty za pomocą + systemów zaporowych, wtedy ich stan zostanie określony jako filtrowany, + opisany dalej. + + filtrowany + + Nmap nie może określić czy port jest otwarty z powodu + filtrowania komunikacji. Filtrowanie może być przeprowadzane na + dedykowanym urządzeniu, za pomocą reguł routera lub programowego firewalla + na hoście. Takie porty są frustrujące dla atakujących, ponieważ dostarczają + znikomych ilości informacji. Porty czasami odpowiadają komunikatami ICMP + takim jak typ 3 kod 13 (destination unreachable: communication + administratively prohibited), ale filtry blokują wysyłanie takiego komunikatu + bez wysyłania typowej odpowiedzi. Takie zachowanie zmusza Nmapa do + kilkukrotnego powtarzania pakietów na wypadek ich zaginięcia na przykład + na skutek przeciążenia sieci, co spowalnia skanowanie w sposób drastyczny. + + + niefiltrowany + Stan niefiltrowane oznacza że port jest dostępny, ale Nmap + nie jest w stanie ustalić czy port jest otwarty czy zamknięty. Tylko + skanowanie ACK, które jest używane do mapowania reguł firewalla, może + przypisać portom taki stan. Skanowanie niefiltrowanych portów za pomocą + innych typów skanowania takich jak Window, SYN czy FIN może pomóc określić + czy port jest otwarty czy zamknięty. + + otwarty|filtrowany + Nmap podaje taki stan w przypadku portów, dla których nie + jest w stanie określić czy port jest otwarty, czy filtrowany. Taki zachowanie + występuje podczas typów skanowania, przy których porty nie dają odpowiedzi. + Brak odpowiedzi może również oznaczać, że filtr pakietów zablokował połączenie + lub wysyłaną odpowiedź. Z tego powodu Nmap nie ma pewności czy port jest + otwarty, czy filtrowany. W ten sposób klasyfikują porty skanowania UDP, FIN, + Null, Xmas i skanowanie protokołów. + + zamknięty|filtrowany + Ten stan jest używany przez Nmapa do oznaczania portów, dla + których nie jest możliwe ustalenie czy port jest zamknięty czy filtrowany. + Taki stan może się pojawiać tylko podczas skanowania IPID Idle. + + + + + + Techniki skanowania portów + +Jako początkujący mechanik samochodowy, mogłem godzinami męczyć się z +wykonaniem naprawy posiadanymi narzędziami (młotek, taśma izolacyjna, +klucz francuski itp.). Kiedy popadłem w depresję i w końcu zaprowadziłem +mojego gruchota do prawdziwego mechanika, pogrzebał w przepastnej skrzyni +z narzędziami i wyciągnął specjalne narzędzie, którym wykonał naprawę +błyskawicznie i bez kłopotów. Sztuka skanowania polega dokładnie na tym samym. +Eksperci znają dziesiątki typów skanowania i wybierają jedną adekwatną (lub +kombinację kilku) do danego zadania. Z drugiej strony niedoświadczeni +użytkownicy i script kiddies próbują rozwiązać każdy problem za pomocą +domyślnego skanowania SYN. Nmap jest darmowy i dostępny dla wszyskich, +w związku z tym jedyną barierą jest odpowiednia wiedza. +To oczywiście bije na głowę świat motoryzacyjny, gdzie trzeba posiadać duże +umiejętności, żeby domyślić się, że potrzebne jest bardzo specyficzne +narzędzie, ale wtedy potrzeba jeszcze dużo pieniędzy na jego zakup. + +Większość typów skanowania jest dostępna tylko dla uprzywilejowanych +użytkowników, ponieważ tylko oni mogą wysyłać pakiety raw. +Takim użytkownikiem w przypadku systemów UNIX jest root. Używanie konta +administratora w systemach Windows jest zalecane, jednak Nmap przeważnie +działa poprawnie z konta zwykłego użytkownika przy zainstalowanej w systemie +bibliotece WinPcap. Wymóg posiadania uprawnień użytkownika root był poważnym +ograniczeniem kiedy pojawił się Nmap w 1997 roku, jako że użytkownicy posiadali +dostęp głównie tylko do współdzielonych kont. Świat się zmienił. Komputery są +tańsze, coraz więcej ludzi ma bezpośredni dostęp do Internetu i coraz +powszechniejsze stają się komputery z systemami UNIX (włączając Linuxa i MAC +OS X). Dostępna jest również Windowsowa wersja Nmapa, co powiększa możliwości +jego wykorzystywania. Z tych powodów coraz rzadziej zachodzi potrzeba +uruchamiania Nmapa z ograniczonych współdzielonych kont. Na szczęście większe +przywileje użytkowników przekładają się na większą elastyczność i możliwości +Nmapa. + +Nmap stara się podawać jak najbardziej dokładne wyniki, jednak trzeba +mieć na uwadze fakt, że wyniki są oparte na pakietach zwracanych przez badane +systemy (lub firewalle je ochraniające). Dlatego też zwracane informacje nie +muszą być wiarygodne i mogą wprowadzać Nmapa w błąd. Bardzo powszechne są +hosty nie zachowujące się zgodnie z RFC w odpowiedzi na zapytania Nmapa. +Rozwiązaniem są skanowania FIN, Null czy Xmas. Tego typu problemy zostały +opisane oddzielnie w częściach poświęconych poszczególnym typom skanowania. + +Ta sekcja opisuje dziesiątki typów skanowania dostępnych w Nmapie. +Jednocześnie może być wykorzystywana tylko jedna metoda, za wyjątkiem skanowania +UDP (), które może być łączone z dowolnymi typami skanowania +TCP. Dla łatwiejszego zapamiętania, opcje skanowania portów posiadają nazwy +w formie , gdzie +C jest przeważnie pierwszą dużą literą angielskiej +nazwy typu skanowania. Wyjątkiem jest przestarzała opcja skanowania FTP bouce +(). Domyślnie Nmap wykonuje skanowanie SYN, które jest +zastępowane connect(), jeśli użytkownik nie ma odpowiednich uprawnień do +wysyłania pakietów raw (co wymaga konta root w systemach UNIX) +lub w przypadku skanowania sieci IPv6. Z pośród przedstawionych poniżej typów +skanowania użytkownicy nie uprzywilejowani mogą jedynie używać typów connect() i +FTP bounce. + + + + + (Skanowanie TCP SYN) + + +Skanowanie SYN jest domyślną i najpopularniejszą metodą skanowania. +Jest to spowodowane tym, że może być przeprowadzone szybko, możliwe jest +skanowanie tysięcy portów na sekundę w szybkich sieciach nie chronionych +systemami zaporowymi. Skanowanie SYN jest relatywnie dyskretne i niewidoczne, +ponieważ nigdy nie otwiera połączeń do końca. Działa to dobrze w stosunku do +wszystkich stosów zgodnych z TCP, w przeciwieństwie do udziwnionych, dla +których Nmap ma tryby FIN/Null/Xmas, Maimon i Idle. SYN pozwala na +przejrzyste i wiarygodne rozróżnienie stanów portu pomiędzy +otwartym, +zamkniętym i +filtrowanym. + +Technika ta jest często określana jako skanowanie z połowicznym +otwieraniem połączeń (ang. half-open), ponieważ nie otwiera pełnego połączenia +TCP. Wysyłany jest pakiet SYN, tak jak by miało być otwarte prawdziwe +połączenie i czeka na odpowiedź. SYN/ACK oaznacza, że port oczekuje na +połączenia (jest otwarty), a RST (reset) identyfikuje port jako zamknięty. +Jeśli odpowiedź nie zostanie otrzymana pomimo kilku prób, port jest oznaczany +jako filtrowany. Port jest również oznaczany jako filtrowany w przypadku +otrzymania komunikatu błędu ICMP unreachable error (typ 3, kody 1, 2, 3, 9, 10 +lub 13). + + + + + + + (Skanowanie TCP connect()) + + +Skanowanie TCP Connect() jest wybierane domyślne, jeśli SYN nie jest dostęne. +Ma to miejsce kiedy użytkownik nie posiada uprawnień do wysyłania +pakietów raw lub podczas skanowania sieci IPv6. Zamiast wysyłać pakiety raw, +jak to ma miejsce przy innych typach skanowania, Nmap prosi system operacyjny o +zestawienie połączenia z badanym hostem za pomocą wywołania funkcji systemowej +connect(). Jest to taki sam wysoki poziom +wywołań systemowych, z jakich korzystają przeglądarki internetowe, oprogramowanie +Peer2Peer czy inne programy korzystające z połączeń sieciowych. Jest to część +interfejsu programistycznego znanego jako Berkeley Sockets API. Zamiast +odczytywać odpowiedzi za pomocą odwołań niskopoziomowych prosto z sieci, Nmap +wykorzystuje ten sam wysokopoziomowy interfejs do otrzymania informacji o stanie +operacji dla każdej próby połączenia oddzielnie. + +Kiedy skanowanie SYN jest dostępne, przeważnie jest lepszym wyborem. Nmap +ma dużo mniejszą kontrolę nad wywołaniem wysokopoziomowym +connect() niż nad pakietami raw, co jest dużo +mniej efektywne. Wywołanie systemowe otwiera pełne połączenie w przeciwieństwie +do metody SYN korzystającej z połowicznego połączenia. Nie tylko wymaga to +więcej czasu i wymaga więcej pakietów do uzyskania takich samych informacji, +ale również prawdopodobnie spowoduje zapisanie w logach badanego systemu próby +połączenia. Nowoczesne systemy detekcji intruzów IDS potrafia wykrywać takie +połączenia, ale większość systemów nie posiada odpowiednich systemów alarmowych. +Wiele usług w typowym systemie UNIX zapisze uwagę do logu systemowego i czasami +zagadkowy komunikat błędu, kiedy Nmap połączy się i natychmiast zamknie +połączenie bez wysyłania jakichkolwiek danych. Naprawdę żałosne usługi +przestaną działać po otrzymaniu takiego pakietu, ale nie jest to często +spotykane. Administrator widzący w logach informacje o wielu próbach nawiązania +połączenia z jednego adresu powinien wiedzieć, że jego system był skanowany za +pomocą metody connect(). + + + + + + + (Skanowanie UDP) + + +Większość popularnych usług w sieci Internet wykorzystuje protokół TCP, +ale również usługi UDP +są często spotykane. Najpopularniesze z nich to DNS, SNMP i DHCP (porty 53, +161/162 i 67/68). Ponieważ skanowanie UDP jest ogólnie wolniejsze i trudniejsze +niż TCP, wielu audytorów bezpieczeństwa ignoruje te porty. Jest to pomyłka, jako +że wiele usług UDP jest podatnych na zdalne ataki i atakujący nie ignorują tego +protokołu. Na szczęście Nmap umożliwia inwentaryzację portów UDP. + +Skanowanie UDP jest aktywowane za pomocą opcji +. Może być łączone z innymi typami skanowania TCP, takimi +jak SYN (), dla sprawdzenia obu protokołów w jednym +przebiegu. + +Skanowanie UDP polega na wysyłaniu pustych (bez danych) nagłówków +protokołu UDP do każdego portu docelowego. Jeśli w odpowiedzi zostanie zwrócony +komunikat ICMP port uchreachable (typ 3, kod 3), port jest uznawany za +zamknięty. Inne typy komunikatów ICMP +unreachable (typ 3, kody 1, 2, 9, 10 lub 13) oznaczają, że port jest +filtrowany. Czasami w odpowiedzi zwrócony +zostanie pakiet UDP, co oznacza, że porty jest +otwarty. Jeśli pomimo powtarzania transmisji +nie zostanie uzyskana żadna odpowiedź, port zostaje zaklasyfikowany jako +otwarty|filtrowany. Oznacza to, że port może +być otwarty lub filtr pakietów blokuje do niego dostęp. Wykorzystanie +skanowania wersji usług () może pomóc w odróżnieniu portów +na prawdę otwartych od filtrowanych. + +Największym wyzwaniem przy skanowaniu UDP jest przeprowadzenie go odpowiednio szybko. +Otwarte i filtrowane porty rzadko wysyłają jakąkolwiek odpowiedź, zmuszając +Nmapa do oczekiwania na odpowiedź i ponawiania transmisji na wypadek zagubienia +pakietów. Zamknięte porty są często jeszcze większym problemem. Zwykle wysyłają +pakiet ICMP port unreachable, jednak w odróżnieniu od pakietów z flagą RST znanych +ze skanowania SYN czy connect, wiele hostów domyślnie limituje szybkość wysyłania +pakietów ICMP port unreachable. Przykładami mogą być systemy Linux i Solaris. +Kernel Linuxa w wersji 2.4.20 limituje ilość pakietów o niedostępności portów do +jednego na sekundę (w net/ipv4/icmp.c). + +Nmap potrafi wykrywać limitowanie odpowiedzi i zwalnia odpowiednio proces +skanowania dla uniknięcia zaśmiecania sieci niepotrzebnymi pakietami, które i tak +nie zostaną wykorzystane. Niestety, skanowanie wszystkich 65,536 portów UDP +przy limicie Linuxowym jeden pakiet na sekundę powoduje, że skanowanie trwa ponad +18 godzin. Sposobami na przyspieszenie są skanowanie wielu hostów równolegle, +wykonywanie na początek szybkiego skanowania popularnych portów, skanowanie z poza +systemu zaporowego i używanie opcji do pomijania +zbyt wolnych hostów. + + + + + + + ; ; (Skanowania TCP Null, FIN i Xmas) + + +Te typy skanowania (większe możliwości posiada opcja + opisana w dalszej części) wykorzystują nieopisane +w TCP RFC +kombinacje flag do rozróżnienia pomiędzy stanami portów +otwarty oraz +zamknięty. Strona 65 opisuje, że jeśli +[docelowy] port jest ZAMKNIĘTY ... w odpowiedzi na pakiet nie zawierający RST należy +wysłać odpowiedź RST. Następna strona opisuje pakiety wysyłane na porty bez +flag SYN, RST lub ACK w następujący sposób: coś takiego nie powinno mieć +miejsca, jednak jeśli się zdarzy, pomiń taki pakiet. + +Podczas skanowania systemów zgodnych z zapisami w RFC, dowolny pakiet nie +zawierający flag SYN, RST lub ACK powinien wywoływać odpowiedź RST w przypadku +portu zamkniętego i całkowity brak odpowiedzi w przypadku portu otwartego. +Tak długo jak żadna z wymienionych flag nie została użyta, wszystkie inne +kombinacje flag (FIN, PSH i URG) są prawidłowe. Nmap wykorzystuje to do +przeprowadzania trzech typów skanowania: + + + Skanowanie Null () + Nie ustawia żadnych flag (pole flag w nagłówku tcp zawiera 0). + + Skanowanie FIN () + Ustawiona flaga FIN. + + Skanowanie Xmas () + Ustawione flagi FIN, PSH i URG, pakiet podświetlony jak choinka. + + +Te trzy tryby skanowania są takie same poza ustawionymi flagami w +pakietach. Jeśli w odpowiedzi zostanie otrzymany pakiet RST, port jest +uznawany za zamknięty, podczas gdy brak +odpowiedzi oznacza otwarty|filtrowany. +Port uznajemy za filtrowany, jeśli +otrzymany zostanie komunikat ICMP unreachable (typ 3, kod 1, 2, 3, 9, 10 lub +13). + +Główną zaleta tych typów skanowania jest to, że potrafią się one +przemykać przez bezstanowe systemy zaporowe i filtrowanie na routerach. +Inną zaletą jest tylko minimalnie większa wykrywalność niż skanowania SYN. +Nie można jednak na to liczyć - większość nowych systemów IDS może zostać +skonfigurowana do ich wykrywania. Ujemną stroną jest to, że nie wszystkie +systemy są zgodne z RFC793. Wiele systemów wysyła odpowiedzi RST niezależnie od +tego czy port jest otwarty czy nie. Powoduje to, że wszystkie porty pojawiają +się jako zamknięty. Najczęściej spotykane +systemy, które się tak zachowują to Microsoft Windows, wiele urządzeń Cisco, +BSDI, i IBM OS/400. Skanowania działają jednak dobrze w przypadku większości +systemów UNIXowych. Kolejnym minusem tych metod jest to, że nie potrafią +rozróżnić portów oznaczonych jako otwarty +od filtrowany, ujawniając jedynie stan +otwarty|filtrowany. + + + + + + + (Skanowanie TCP ACK) + + +Ten typ skanowanie jest inny niż omawiane powyżej, bo nigdy nie wykrywa +stanów portów otwarty (lub nawet +otwarty|filtrowany). Jest wykorzystywany +do mapowania reguł filtrowania, do sprawdzania czy fitrowanie jest oparte +o stany (stateful) lub nie i które porty są filtrowane. + +Pakiety skanowania ACK posiadają tylko flagę ACK (o ile nie została +użyta opcja ). Podczas skanowania systemów nie +posiadających filtrowania, porty o stanach +otwarty i +zamknięty +zwrócą pakiet RST. W obu przypadkach Nmap oznaczy je jako +niefiltrowane, co oznacza, że były +osiągalne dla pakietu ACK, ale nie zostało określone, czy posiadają stan +otwarty czy +zamknięty. Porty, które nie odpowiedzą +lub odpowiedzą za pomocą komunikatu o błędzie ICMP (typ 3, kody 1, 2, 3, 9, +10 lub 13), zostaną oznaczone jako filtrowany. + + + + + + + (Skanowanie TCP Window) + + +Skanowanie Window jest takie samo jak ACK, różnica polega na tym, że +potrafi odróżnić porty otwarte od zamkniętych, zamiast zawsze podawać stan +niefiltrowany, kiedy otrzymano flagę RST. +Jest to realizowane poprzez analizę pola Window pakietu zwrotnego RST. Na +niektórych systemach, otwarte porty zwracają dodatnią wartość rozmiaru okna +(także w pakietach RST), a przy zamkniętych o rozmiarze zero. Tak więc zamiast +zawsze przedstawiać port jako niefiltrowany +kiedy w odpowiedzi przyjdzie RST, skanowanie Window oznacza port jako +otwarty lub +zamknięty, w zależności czy odpowiednio +otrzymano w odpowiedzi rozmiar okna o wartości dodatniej lub zero. + +Ten typ skanowania polega na szczególnej implementacji stosu TCP, +występującej w rzadko spotykanych systemach w internecie, a więc nie można +zawsze na niej polegać. Zwykle systemy, które nie obsługują tej metody będą +zwracały porty oznaczone jako zamknięty. +Oczywiście jest również możliwe, że host na prawdę nie ma otwartych portów. +Jeśli większość przeskanowanych portów ma stan +zamknięty, jednak niektóre (takie jak 22, +25 czy 53) mają stan filtrowany, system +jest podejrzany. Czasami systemy potrafią się zachowywać zupełnie przeciwnie. +Jeśli skanowanie wykaże 1000 otwartych portów i tylko 3 zamknięte lub +filtrowane, wtedy te trzy prawdopodobnie są rzeczywiście otwarte. + + + + + + + (Skanowanie TCP Maimon) + + +Skanowanie Maimon zostało nazwane na cześć jego odkrywcy, Uriela Maimona. +Opisał tę technikę w Phrack Magazine w wydaniu #49 (Listopad 1996). Nmap, który +potrafił wykorzystać tę technikę został wypuszczony dwa wydania później. +Skanowanie to należy do rodziny Null, FIN i Xmass z tą różnicą, że używa flag +FIN/ACK. Zgodnie z RFC 793 (TCP), dla takiej kombinacji flag, pakiet RST +powinien być wygenerowany niezależnie czy port jest otwarty czy zamknięty. +Jednakże Uriel zauważył, że wiele systemów opartych na BSD po prostu pomija +odpowiedzi, jeśli port jest otwarty. + + + + + + + (Skanowanie TCP z definiowanymi flagami) + + +Prawdziwie zaawansowani użytkownicy Nmapa nie mogą być ograniczani +ilością oferowanych wbudowanych typów skanowania. Opcja + pozwala na projektowanie własnych typów skanowania +z wykorzystaniem wybranych flag TCP. Cieszcie się podczas wykorzystywania tej +techniki do oszukiwania systemów IDS, których twórcy pobieżnie przeglądali +dokumentację Nmapa dodając specyficzne reguły! + +Argument opcji może być numerycznym zapisem +flag, np 9 (PSH i FIN), lub dla ułatwienia można wykorzystywać symbliczne nazwy. +Można podać dowolną kombinację flag URG, +ACK, PSH, +RST, SYN i +FIN. Na przykład ustawia wszystkie flagi, choć nie jest to zbyt +użyteczna metoda skanowania. Kolejność podawania flag nie jest istotna. + +Dodatkowo przy podawaniu wybranych flag możliwe jest podanie typu +skanowania (takiego jak lub ). +Dodany typ skanowania informuje Nmapa jak ma interpretować otrzymane odpowiedzi. +Na przykład skanowanie SYN zakłada, że brak odpowiedzi oznacza stan portu +filtrowany, podczas gdy skanowanie FIN +potraktuje ten go jako otwarty|filtrowany. +Nmap będzie się zachowywał w taki sam sposób jak przy wybranym trybie +skanowania, jednak wykorzystane zostaną podane flagi. Jeśli bazowy typ +skanowania nie zostanie określony, zostanie wykorzystany domyślny typ SYN. + + + + + + + (Skanowanie Idle) + + + + Ta zaawansowana technika skanowania pozwala na prawdziwie + ślepe skanowanie TCP (co oznacza, że żaden pakiet nie zostanie + wysłany do badanego systemu z prawdziwego adresu IP Nmapa). + Zamiast tego wykorzystany zostanie host zombie, o przwidywalnym + działaniu stosu TCP polegającym na sekwencyjnym powiększaniu + numerów ID pakietów, do uzyskania informacji o otwartych portach + w badanym systemie. Systemy detekcji intruzów pokażą jako adres + atakującego zdefiniowany host zombie (musi spełniać określone + warunki). Ten fascynujący typ skanowania jest zbyt skomplikowany + żeby go dokładnie opisać w tej dokumentacji, dlatego napisałem + oddzielny nieformalny dokument na ten temat ze szczegółowymi + informacjami i jest on dostępny pod adresem + . + + Poza tym, że metoda ta jest niespotykanie poufna (z powodu + jej ślepej natury), ten typ skanowania pozwala na mapowanie reguł + zaufania pomiędzy maszynami bazujących na adresach IP. Wyniki + zawierają otwarte porty, z punktu widzenia hosta zombie + . Tak więc można próbować skanowania z wykorzystaniem + różnych hostów zombie, które można traktować jako zaufane (poprzez + router/reguły filtrowania pakietów). + + Można po dwukropku dodać numer portu, jeśli chcemy go + wykorzystać na hoście zombie do badania zmian IPID. W innym przypadku + Nmap wykorzysta domyślnie port używany przez tcp ping (80). + + + + + + + (Skanowanie protokołów IP) + + +Skanowanie to pozwala na wykrycie listy protokołów IP (TCP, ICMP, IGMP +itp), które są dostępne na danym hoście. Technicznie nie jest to skanowanie +portów, ponieważ sprawdza kolejne numery protokołów, a nie kolejne porty TCP +czy UDP. Opcja ta nadal używa parametru do wybrania numerów +protokołów do sprawdzenia, w formacie analogicznym do listy portów. Z tego +powodu metoda ta została zaklasyfikowana jako skanowanie portów i dlatego +znajduje się tutaj. + +Poza swoją własną funkcjonalnością, skanowanie protokołów demonstruje +potęgę oprogramowania open source. Podczas gdy podstawowa idea jest całkiem +prosta, nie pomyślałem o jej dodaniu, jak również nie otrzymałem żadnej +prośby o dodanie takiej funkcjonalności. Latem roku 2000, Gerhard Rieger +opracował koncepcję, stworzył odpowiednią poprawkę i wysłał ją na listę +dyskusyjną nmap-hackers. Włączyłem ją do drzewa Nmapa i wypuściłem nową +wersję następnego dnia. Niewiele komercyjnych programów posiada użytkowników +na tyle entuzjastycznych, żeby zaprojektować i stworzyć ich własne poprawki! + + +Skanowanie protokołów działa w sposób podobny do skanowania UDP, jednak +zamiast iteracji po kolejnych numerach portu, w nagłówkach pakietów zmienia się +8-mio bitowy numer protokołu. Nagłówki są przeważnie puste, nie zawierają +żadnych danych ani nawet poprawnego dla danego protokołu nagłówka. Trzema +wyjątkami są TCP, UDP i ICMP. Poprawne nagłówki dla tych protokołów są +konieczne, ponieważ niektóre systemy nie będą ich potrafiły wysłać oraz +dlatego, że Nmap posiada już odpowiednie funkcje do ich tworzenia. +Zamiast obserwować komunikaty ICMP unreachable, skanowanie protokołów nie polega +na komunikatach ICMP protocol unreachable. Jeśli Nmap +otrzyma jakąkolwiek odpowiedź w jakimkolwiek protokole, ustala stan protokołu +jako otwarty. Otrzymanie komunikatu ICMP +protocol unreachable (typ 3, kod 2) powoduje oznaczenie protokołu jako +zamknięty. Inne komuniakty ICMP protocol +unreachable (typ 3, kody 1, 3, 9, 10 lub 13) powodują oznaczenie protokołu jako +filtrowany (oraz równocześnie potwierdzają, +że protokół ICMP jest również otwarty). +Jeśli nie uzyskano odpowiedzi, protokół jest oznaczany jako +otwarty|filtrowany. + + + + + + + (Skanowanie FTP bounce) + + +Interesującą funkcją protokołu FTP +(RFC 959) jest +wspieranie tak zwanych połączeń proxy. Pozwala to użytkownikowi na połączenie +z jednym serwerem FTP i poproszenie o wysłanie plików do innego. Ta +funkcjonalność była przyczyną nadużyć na wielu poziomach, dlatego wiele serwerów +porzuciło dla niej wsparcie. Jednym z możliwych nadużyć jest sposobność do +zmuszenia serwera do skanowania portów na zewnętrznym hoście. Wystarczy po +prostu poprosić serwer o wysłanie pliku kolejno na każdy interesujący port badanego +systemu. Uzyskany komunikat o błędzie zwróci informację, czy porty był otwarty +czy zamknięty. Jest to dobra metoda do omijania systemów zaporowych, ponieważ +korporacyjne serwery FTP często są umieszczane w takim miejscu, że mają +możliwość komunikacji zarówno z hostami w internecie jak i w sieci lokalnej. +Nmap obsługuje skanowanie FTP bounce z wykorzystaniem opcji +. Opcja przyjmuje argument w postaci +nazwa_użytkownika:hasło@serwer:port. + +Serwer jest nazwą lub adresem IP podatnego serwera +FTP. Tak jak przy zwykłym adresie URL, można pominąć pola +nazwa_użytkownika:hasło, +w tym przypadku zostanie wykorzystana domyślna kombinacja dla użytkowników +anonimowych (użytkownik anonymous +hasło:-wwwuser@). Numer portu (i +poprzedzający go dwukropek) również może zostać pominięty, w tym przypadku +przy połączeniu z wybranym adresem serwer, zostanie +wykorzystany domyślny port serwera FTP (21). + +Podatność ta była szeroko spotykana w roku 1997, kiedy to Nmap został +wypuszczony, jednak z biegiem czasu jej znaczenie bardzo się zmniejszyło. +Dziurawe serwery FTP nadal się zdarzają, więc warto wyprubować i tę +metodę, jeśli inne zawiodą. Jeśli potrzebne jest obejście systemu zaporowego, +można przeskanować sieć w poszukiwaniu otwartych portów 21 (lub poprzez +wyszukanie ftp na innych portach z wykorzystaniem opcji do wykrywania wersji) +i wypróbować na wykrytych portach metodę bounce. Nmap poinformuje, czy usługa +jest podatna czy nie. Jeśli chcesz ukrywać swoje działania, nie trzeba (i nie +powinno) ograniczać się do hostów z badanej sieci. Przed rozpoczęciem +skanowania losowych adresów w sieci Internet w poszukiwaniu podatnych wersji +serwerów FTP trzeba mieć na uwadze, że wielu administratorów nie bedzie +zachwyconych wykorzystywaniem ich serwerów w ten sposób. + + + + + + + + Specyfikacja portów i kolejności skanowania + + Poza wszystkimi metodami skanowania opisanymi wcześniej, Nmap + oferuje opcję pozwalającą na podanie numerów portów do skanowania i + określenie, czy skanowanie ma przebiegać w kolejności sekwencyjnej czy + losowej. Domyślnie Nmap skanuje wszystkie porty do 1024 włącznie oraz + wyższe porty wyszczególnione w pliku + nmap-services. + + + + + (Skanuj tylko wybrane porty) + + + + Opcja pozwala na zdefiniowanie listy portów do skanowania, + zamiast domyślnej. Możliwe jest podanie pojedynczych portów + jak i zakresów oddzielonych myślnikiem (np. 1-1023). Zakres można + również pominąć, co spowoduje użycie całego zakresu (1-65535). Można + więc po prostu podać opcję do przeskanowania + wszystkich portów od 1 do 65535 włącznie. Można również podać port + zero, ale trzeba to zrobic jawnie. W przypadku połączenia tej opcji + ze skanowaniem protokołów (), określa ona numery + protokołów do sprawdzenia (0-255). + + Przy jednoczesnym skanowaniu portów TCP i UDP możliwe jest + oddzielne zdefiniowanie portów dla obu protokołów poprzez + poprzedzenie numerów znakami odpowiednio + T: i + U:. Jako argument opcji przyjmowany + jest ciąg znaków aż do następnej opcji. Na przykład, podanie spowoduje przeskanowanie + portów UDP o numerach 53,111 i 137 oraz podanych portów TCP. Przy + skanowaniu zarówno portów TCP jak i UDP, nie + można zapomnieć podać odpowiednich typów skanowania: + oraz przynajmniej jednego TCP (np. , + czy ). Jeśli nie podano + protokołu skanowania, na czas skanowania numery portów zostaną + dodane do domyślnej listy portów. + + + + + + + (Skanowanie Fast (ograniczona ilość portów)) + + + + Pozwala na określenie, że mają być skanowane tylko porty + zawarte w pliku nmap-services + z pakietu Nmapa (lub z pliku protokołów dla opcji + ). Opcja ta pozwala na szybsze skanowanie, + niż w przypadku wszystkich 65535 portów. Ponieważ lista ta + zawiera tylko nieco ponad 1200 portów, różnica w + szybkości w porównaniu do typowego skanowania TCP (około 1650 + portów) nie jest duża. Różnica może być większa, jeśli zostanie + podany własny, mały plik + nmap-services za pomocą + opcji . + + + + + + (Nie używaj losowej kolejności) + + + Domyślnie Nmap skanuje porty w kolejności losowej (poza + niektórymi najczęściej wykorzystywanymi portami, które są skanowane + na początku ze względów wydajnościowych). Takie zachowanie jest + normalnie pożądane, jednak można je wyłączyć za pomocą opcji + , wymuszającej sekwencyjną kolejność skanowania. + + + + + + + + Detekcja usług i wersji + + Przy skanowaniu zdalnego systemu, Nmap może wykryć otwarte porty + takie jak 25/tcp, 80/tcp czy 53/udp. Wykorzystując bazę danych zawierającą + około 2,200 popularnych usług, znajdującą się w pliku + nmap-services, Nmap odczyta + przypuszczalne nazwy usług dla wykrytych portów - odpowiednio serwer + pocztowy (SMTP), serwer WWW (HTTP) i serwer nazw (DNS). Takie działanie + jest zwykle poprawne, większość aplikacji słuchających na porcie 25, to + rzeczywiście serwery pocztowe. Jednakże, niech Twoja ocena bezpieczeństwa + niepolega na tych podpowiedziach! Ludzie mogą i często umieszczają usługi + na dziwnych portach. + + Nawet jeśli Nmap sie nie myli i hipotetyczny serwer z przykładu + powyżej udostępnia usługi SMTP, HTTP i DNS, nie jest to duża ilość + informacji na temat tych usług. Przeprowadzając testy bezpieczeństwa (lub + zwykłą inwentaryzację zasobów) swojej firmy lub klienta, potrzeba uzyskać + dokładniejsze informacje na temat usług: jaka aplikacja i w jakiej wersji + jest zainstalowana na serwerze SMTP czy DNS. Posiadanie tych informacji w + znaczący sposób wpływa na możliwość ustalenia podatności danej aplikacji. + Detekcja wersji pozwala na uzyskanie takiej informacji. + + Po tym jak zostaną wykryte za pomocą innych technik skanowania + dostępne usługi TCP i UDP, detekcja wersji odpytuje porty w celu określenia + dalszych szczegółów na temat aplikacji. Baza danych + nmap-service-probes zawiera opisy + wielu usług i próbuje dopasować je do uzyskanych informacji. Nmap stara się + najpierw określić protokół wykorzystywany przez usługę (np. ftp, ssh, + telnet, http), następnie nazwę aplikacji (np. ISC Bind, Apache httpd, + Solaris telnetd), wersję usługi, nazwę hosta, typ urządzenia (np. drukarka, + router), rodzinę systemów operacyjnych (np. Windows, Linux) i czasami + uzyskuje dodatkowe informacje (takie jak czy X serwer przyjmuje połączenia, + obsługiwane wersje protokołu SSH czy nazwę użytkownika KaZaA). Oczywiście + większość usług nie dostarczy wszystkich tych informacji. Jeśli Nmap został + skompilowany z OpenSSL, będzie potrafił łączyć się z serwerami SSL i + uzyskiwać informacje od usług ukrytych za szyfrowaną warstwą. Kiedy zostaną + wykryte usługi RPC, odpowiedni skaner () zostanie + automatycznie uruchomiony do ustalenia oprogramowania i wersji RPC. + Z powodu specyfiki UDP, po zakończeniu skanowania niektóre porty pozostają + w stanie otwarty|filtrowany, jako że ten + typ skanowania nie potrafi określić, czy port jest otwarty czy filtrowany. + Skanowanie wersji spróbuje uzyskać odpowiedź od takiego portu (tak jak to + robi przy otwartych portach) i jeśli to się uda, zmieni stan na otwarty. + Porty TCP w stanie otwarty|filtrowany są + traktowane w ten sam sposób. Należy zwrócić uwagę, że opcja + poza innymi rzeczami włącza wykrywanie wersji. Dodatkowa + dokumentacja na temat działania detekcji wersji jest dostępna pod adresem + . + + Jeśli Nmap otrzyma odpowiedź, ale nie jest w stanie dopasować jej do + żadnej znanej usługi, wyświetli specjalny odcisk palca (fingerprint) usługi + wraz z adresem URL, pod którym można go następnie wysłać wraz ze stosownym + opisem, jeśli jesteśmy pewni jakiej usłudze odpowiada. + Proszę poświęcić te kilka minut na wysłanie informacji o nieznanych + usługach, a będą mogli z tego skorzystać również inni użytkownicy Nmapa. + Dzięki temu sposobowi wysyłania Nmap rozpoznaje około 3,000 odcisków dla + ponad 350 protokołów usług, takich jak smtp, ftp, http itp. + + Detekcja wersji jest włączana i kontrolowana następującymi opcjami: + + + + + + + (Detekcja wersji usług) + + + Włącza detekcję wersji usług, opisaną powyżej. Alternatywnie + można użyć opcji do jednoczesnego włączenia + detekcji wersji usług i systemu operacyjnego. + + + + + + + (Nie pomijaj żadnych portów przy detekcji wersji) + + + Domyslnie, skanowanie wersji Nmapa pomija port TCP 9100, + ponieważ niektóre drukarki po prostu drukują wszystko, co zostanie + przysłane na ten port, powodując wydruk setek stron z zapytaniami + HTTP, binarnymi zapytaniami SSL itp. Takie zachowanie może zostać + wyłączone poprzez modyfikację lub usunięcie dyrektywy + Exclude w pliku + nmap-service-probes, lub poprzez + dodanie opcji , wymuszającej skanowanie + wszystkich portów niezależnie od dyrektywy + Exclude. + + + + + + (Ustaw poziom skanowania wersji) + + + + Podczas przeprowadzania skanowania wersji (), + Nmap przeprowadza serię testów, przy czym każdy z nich ma przypisany + swój poziom pomiędzy 1 a 9. Niskie poziomy działają poprawnie w + stosunku do najpopularniejszych usług, wysokie numery obejmują + mało popularne. Poziom skanowania określa które testy zostaną + wykonane. Czym wyższy poziom, tym większa szansa na prawidłowe + rozpoznanie mało popularnych usług. Domyśly poziom to 7. Jeśli + test zostanie powiązany z wykrytą usługą z pliku + nmap-service-probes, określoną + dyrektywą ports, zostanie on + wykonany niezależnie od ustalonego poziomu wykrywania wersji. + Zachowanie takie ma na celu zawsze poprawne wykrywanie domyślnych + usług na otwartych portach, wykrywanie serwera DNS na porcie 53, + SSL na porcie 443 itp. + + + + + + + (Włącz tryb delikatny) + + + Jest wygodniejszym odpowiednikiem ustalającym wartość + . Opcja ta pozwala na znaczne + przyspieszenie wykrywania wersji, kosztem dokładności. + + + + + + (Użyj wszystkich testów) + + + Odpowiednik opcji , + powodujący wykonanie wszystkich możliwych testów na każdym porcie. + + + + + + + (Śledzenie aktywności skanowania wersji) + + + Opcja włącza opcje śledzenia błędów podczas wykrywania wersji, + powodując wyświetlanie dodatkowych informacji na temat prowadzonych + działań. Opcja ta jest częścią większej . + + + + + + (Skanowanie RPC) + + Metoda ta działa w połączeniu z różnymi metodami skanowania + portów Nmapa. Na wszystkie wykryte wcześniej porty są wysyłane + komendy NULL SunRPC i za ich pomocą sprawdzane jest, czy dany port + należy do usług RPC. Jeśli tak, identyfikowana jest aplikacja i jej + wersja. Opcja pobiera takie same informacje jak komenda + rpcinfo -p, nawet jeśli host jest + chroniony za pomocą systemu zaporowego (lub TCP wrapperów). Hosty + pośrednie zombie nie są obsługiwane przy tym trybie skanowania. + Opcja jest automatycznie aktywowana jako część wykrywania wersji + usług (). Jako że detekcja wersji jest daleko + bardziej uniwersalna, opcja jest wykorzystywana + sporadycznie. + + + + + + + + + Wykrywanie systemu operacyjnego + + Jedna z najbardziej znanych możliwości Nmapa jest zdalna detekcja + systemu operacyjnego za pomocą odcisków palca (fingerprint) stosu TCP/IP. + Nmap wysyła serię pakietów TCP i UDP do zdalnego systemu i analizuje + praktycznie każdy bit z uzyskanych odpowiedzi. Po wykonaniu dziesiątek + testów takich jak próbkowanie ISN TCP, analiza opcji protokołu TCP i + kolejności, próbkowanie IPID i kontrola początkowych rozmiarów okna, Nmap + porównuje uzyskane wyniki z bazą z pliku + nmap-os-fingerprints + zawierającą ponad 1500 znanych odcisków systemów operacyjnych i wyświetla + wynik, jeśli udało sie go odnaleźć. + Każdy odcisk zawiera tekstowy opis systemu operacyjnego, nazwę jego + producenta (np. Sun), nazwę systemu (np. Solaris), generację (np. 10) i typ + urządzenia (przeznaczenie ogólne, router, switch, konsola do gier itp). + + Jeśli Nmap nie może ustalić systemu i warunki do jego wykrycia są + wystarczające (np. wykryto przynajmniej jeden otwarty i jeden zamknięty + port), Nmap poda adres URL, dzięki któremu, jeśli jesteśmy pewni, możliwe + jest wysłanie opisu nieznanego systemu, wraz z jego odciskiem. Wykonanie + tej operacji przyczynia się do rozbudowy bazy i poprawy wykrywania, na czym + korzystają wszyscy użytkownicy. + + Detekcja systemu operacyjnego pozwala na uzyskanie innych informacji, + które są zbierane podczas tego procesu. Jedną z nich jest czas od + uruchomienia hosta, co jest uzyskiwane poprzez wykorzystanie opcji TCP + timestamp (RFC 1323) do ustalenia kiedy host był restartowany. Informacja + ta jest podawana tylko wtedy, jeśli host jej dostarcza. Inną informacją jest + klasyfikacja przewidywalności numerów sekwencyjnych TCP. Badane jest + prawdopodobieństwo możliwości wstrzyknięcia pakietów w przechwycone + połączenie. Informacja ta jest przydatna w przypadku testowania połączeń + opartych na zaufaniu do adresu IP nadawcy (rlogin, filtry firewalla itp) + lub podczas ukrywania źródła ataku. Ten typ ataków jest obecnie rzadko + wykorzystywany, jednak niektóre systemy są nadal na niego podatne. + Podawany poziom trudności jest oparty na statystycznych próbkach i może + się zmieniać. Ogólnie lepiej jest używać angielskich określeń dla + poszczególnych klas, takich jak worthy challenge (stanowiący + wyzwanie) lub trivial joke (trywialny dowcip). Taki sposób + raportowania jest dostępny tylko przy domyślnym formacie raportu przy + włączonej opcji zwiększającej szczegółowość podawanych informacji + (). Jeśli użyto opcji w połączeniu z + , podane zostaną informacje o generowaniu numerów + sekwencyjnych IPID. Większość adresów należy do klasy + incremental (rosnące) co oznacza, że wartość pola ID w + nagłówkach pakietów IP jest zmieniana rosnąco w kolejnych pakietach. Taki + sposób powiększania numerów powoduje podatność na szereg ataków. + + Dokument opisujący działanie i używanie detekcji wersji jest + dostępny w wielu językach pod adresem + . + + Wykrywanie systemu operacyjnego jest włączane i kontrolowane przez + poniższe opcje: + + + + + (Włączenie wykrywania systemu operacyjnego) + + + Włącza wykrywanie systemu operacyjnego opisanego powyżej. + Alternatywnie można używać opcji , która włącza + jednocześnie wykrywanie systemu operacyjnego i wersji usług. + + + + + + (Limitowanie wykrywania do + obiecujących celów) + + + Wykrywanie systemu operacyjnego jest dużo bardziej efektywne, + jeśli wykryto przynajmniej po jednym otwartym i zamkniętym porcie TCP. + Użycie tej opcji spowoduje, że Nmap nie będzie próbował określać + systemu operacyjnego, jeśli nie zostały spełnione powyższe kryteria. + Wykorzystanie tego ograniczenia pozwala na znaczne skrócenie czasu, + zwłaszcza w połączeniu z opcją przy skanowaniu + wielu adresów. Opcja ma znaczenie tylko w połączeniu z + lub . + + + + + + ; + (Zgadywanie wersji systemu operacyjnego) + + + Jeśli Nmap nie może jednoznacznie dopasować systemu + operacyjnego, czasami może sugerować kilka różnych, zbliżonych + do siebie. Podobieństwo musi być bardzo duże, żeby Nmap zachował + się w ten sposób przy domyślnej konfiguracji. Wykorzystanie tej opcji + pozwala na większą swobodność przy próbach ustalenia wersji systemu. + + + + + + + + + + Zależności czasowe i wydajność + Zawsze najważniejszym priorytetem przy tworzeniu Nmapa była + wysoka wydajność. Domyślne skanowanie (nmap + nazwahosta) hosta w sieci lokalnej + zajmuje tylko jedną piątą sekundy. Jest to zadowalający czas, jednak przy + skanowaniu setek tysięcy adresów sumaryczny czas staje się bardzo duży. + Dodatkowo niektóre typy skanowania, takie jak skanowanie UDP i detekcja + wersji także wpływają negatywnie na czas wykonania, podobnie jak konfiguracja + systemów zaporowych, na przykład limitująca ilość pakietów. Nmap posiada + możliwości równoległego skanowania i odpowiednie zaawansowane algorytmy + przyspieszające skanowanie, a użytkownik posiada ogromne możliwości + wpływania na to jak są one wykorzystywane. Zaawansowani użytkownicy + uważnie przeglądający komendy Nmapa, nakazują mu dostarczanie tylko + istotnych informacji zgodnie z przyjętymi wymaganiami i założeniami + czasowymi. + + Techniki przyspieszające skanowanie dotyczą ograniczenia wykonywania + mało istotnych testów i częstej zmiany wersji Nmapa na najnowszą (zmiany + dotyczące przyszpieszenia pracy są wprowadzane dosyć często). Optymalizacja + parametrów dotyczących szybkości skanowania również ma duży wpływ i + została opisana poniżej. + + + + + + ; + (Zmiana ilości hostów w grupie) + +Nmap posiada możliwość skanowania portów i wersji na wielu hostach +równocześnie. Jest to realizowane poprzez dzielenie listy adresów docelowych +na grupy, które są następnie kolejno skanowane. Ogólnie skanowanie większych +grup jest bardziej efektywne. Wadą tego rozwiązania jest opóźnienie w podawaniu +wyników testów do czasu przeskanowania całej grupy. Przykładowo, jeśli Nmap +rozpoczął skanowanie w grupach po 50 adresów, żadne wyniki nie zostaną +wyświetlone (poza informacjami podawanymi przez -v) do czasu zakończenia +skanowania pierwszych 50 adresów. + +Domyślnie Nmap stosuje rozwiązanie kompromisowe. Rozpoczyna z grupą o +rozmiarze 5, co pozwala szybko wyświetlić pierwsze wyniki, a następnie +stopniowo powiększa rozmiar grupy aż do maksymalnie 1024. Dokładne +wykorzystywane rozmiary grup są uzależnione od podania dodatkowych opcji. +Dla uzyskania większej efektywności Nmap używa większych grup dla skanowań UDP +oraz przy skanowaniach TCP dotyczących zaledwie kilku portów. + +Jeśli maksymalny rozmiar grupy został określony za pomocą opcji +, Nmap nigdy nie przekroczy tego limitu. +Analogicznie podanie minimalnego rozmiaru za pomocą + wymusi stosowanie grup o przynajmniej takim +rozmiarze. Nmap może użyć mniejszej grupy tylko w przypadku, kiedy ilość +adresów do przeskanowania jest mniejsza niż założone minimum. Obie wymienione +opcje pozwalają na utrzymywanie rozmiaru grupy w podanym przedziale, jednak +jest to rzadko potrzebne. + +Podstawowym zastosowaniem tych opcji jest podawanie dużego minimalnego +rozmiaru grupy tak, żeby pełne skanowanie odbywało się szybciej. Często +stosowaną wartością jest 256, co pozwala na skanowanie w kawałkach o rozmiarze +klasy C. Przy skanowaniu wielu portów, stosowanie większych wartości +minimalnych przeważnie nie poprawi wydajności. W przypadku skanowania małych +ilości portów pomocne może być stosowanie grup o rozmiarze 2048 lub nawet +większym. + + + + + + + ; + (Kontrola współbierzności testów) + + +Opcja ta kontroluje ilość jednoczesnych dla danej grupy adresów +testów i jest wykorzystywana podczas wykrywania hostów i skanowania portów. +Domyślnie Nmap dobiera idealną ilość testów w zależności od parametrów sieci. +Jeśli jakiś pakiet zostanie zagubiony, zwalnia i zaczyna wykonywać +mniejszą ilość testów równolegle. Nmap próbuje powoli przyspieszać, jeśli nie +są gubione pakiety. Podane opcje pozwalają na określenie minimalnego i +maksymalnego limitu ilości jednocześnie wykonywanych testów. Normalnie ilość +ta może spaść do 1 przy złych warunkach sieciowych lub wzrosnąć do kilkuset +w idealnych warunkach. + +Najczęściej wykorzystywana jest opcja + do ustawiania wyższej niż 1 wartości przy +skanowaniu sieci przy złych warunkach. Zmiana tej opcji może być ryzykowna, +ponieważ ustawienie zbyt wysokiej wartości może sie odbić na poprawności testów. +Wykorzystanie jej także pociąga za sobą zmniejszenie możliwości Nmapa w +zakresie dynamicznego dostosowywania się do warunków panujących w sieci. +Ustalenie minimalnej ilości na 10 może być sensowne, jednak powinno być +stosowane w ostateczności. + +Opcja jest czasami wykorzystywana do +zmuszenia Nmapa do nie przeprowadzania więcej niż jednego testu równolegle, co +może być użyteczne w połączeniu z opcją (opisaną +dalej). + + + + + + + , + , + (Kontrola czasu oczekiwania na wykonanie testu) + + +Nmap posiada mechanizm kontrolujący czas oczekiwania na wynik testu, +zanim nie zostanie on ponowiony. Czas oczekiwania jest zależny od czasu +wykonania poprzednich testów. Jeśli opóźnienia w sieci okażą sie duże i +zmienne, czas oczekiwania może zwiększyć sie do kilku sekund. Początkowa +wartość jest dosyć konserwatywna (wysoka) i może taka pozostać w przypadku +skanowania nie odpowiadających hostów. + +Opcje przyjmują wartości w milisekundach, ale można dodać litery +s, m +lub h odnoszące się odpowiednio do sekund, +minut i godzin. Podanie niższych wartości i + niż domyślne, może znacząco skrócić czas +skanowania. Jest to głównie widoczne w przypadku skanowania bez wykorzystywania +pinga () oraz przy skanowaniu dobrze filtrowanych sieci. +Nie można również przesadzać w drugą stronę, ustawienie zbyt małego czasu +może przekładać sie na dłuższy czas skanowania przez niepotrzebne retransmisje +spowodowane upływem czasu oczekiwania na odpowiedź. + +Jeśli wszystkie skanowane hosty są w sieci lokalnej, sensownym agresywnym +ustawieniem opcje jest 100 milisekund. +Jeśli skanowany ma być inny segment, warto sprawdzić czasy odpowiedzi dla +protokołu ICMP - za pomocą narzędzia ping lub innego pozwalającego na +definiowanie pakietów mogących omijać system zaporowy, takiego jak hping2. +Interesującą nas wielkością jest maksymalny czas odpowiedzi dla 10 lub więcej +pakietów. Uzyskany czas może zostać po podwojeniu wykorzystany jako wartość dla +, a po pomnożeniu przez trzy lub cztery +dla . Nie jest zalecane ustawianie +maksymalnego rtt poniżej 100ms, niezależnie od czasów pingowania, podobnie +większego niż 1000ms. + + jest rzadko wykorzystywaną funkcją, +która może być przydatna jeśli komunikacja sieciowa jest tak niepewna, że nawet +domyślne ustawienia Nmapa są zbyt agresywne. Jako że Nmap redukuje czas +oczekiwania tylko do momentu w którym sieć zacznie działać poprawnie, potrzeba +dodatkowego wydłużania czasu oczekiwania nie jest normalna i powinna zostać +zaraportowana jako błąd na liście dyskusyjnej nmap-dev. + + + + + + + + (Maksymalna ilość prób ponawiania skanowania portów) + + + +Kiedy Nmap nie otrzyma odpowiedzi na skanowanie portu, może to oznaczać, +że port ten jest filtrowany. Możliwe jest jednak także, że pakiet testu lub +odpowiedzi po prostu zaginął w sieci, albo że host limituje ilość możliwych +odpowiedzi w jednostce czasu i właśnie tymczasowo je zablokował. Większą +pewność uzyskuje się dzieki powtarzaniu testu w przedstawionych przypadkach. +Jeśli Nmap wykryje problemy z komunikacją sieciową, może ponawiać próbę badania +portu wiele razy, zanim sie podda. Z jednej strony zwiększa to dokładność +testów, z drugiej wydłuża czas ich wykonania. Jeśli wydajność jest krytycznym +aspektem, skanowania mogą zostać przyspieszone poprzez limitowanie dozwolonej +ilości retransmisji. Ustawienie opcji , +całkowicie wyłączającej powtarzanie testów jest wykorzystywane sporadycznie. + + +Domyślnie (bez stosowania opcji ) dozwolone jest +maksymalnie 10 powtórzeń. Jeśli sieć działa prawidłowo i skanowane hosty nie +limitują ilości pakietów, Nmap zwykle wykorzystuje jedną retransmisję. Dlatego też +większość skanowań nie zostanie dotkniętych zmianą wartości + na trzy. Stosowanie tak niskich wartości pozwala +na znaczne przyspieszenie skanowania hostów limitujących ilość odpowiedzi. +Jeśli Nmap będzie zbyt szybko poddawał się przy skanowaniu portów, część +informacji nie zostanie zebrana, dlatego być może warto skorzystać z opcji +przerywającej test , która dotyczy całego hosta, +a nie tylko pojedynczych testów. + + + + + + + (Pomijaj powolne hosty) + + + +Skanowanie niektórych hostów trwa bardzo długo. +Może to być spowodowane niezbyt wydajnym sprzętem sieciowym lub +oprogramowaniem, limitowaniem ilości pakietów czy restrykcjami systemu +zaporowego. Niewielki procent hostów może zabrać większość czasu przeznaczonego +na skanowanie. Czasami najlepszym rozwiązaniem jest ich pominięcie z +wykorzystaniem opcji z parametrem oznaczającym +ilość milisekund, jakie jesteśmy w stanie poświęcić na czekanie per host. +Parametr można również podawać w sekundach, minutach lub godzinach dodając +odpowiednio litery s, +m lub h. +Często dodaję 30m żeby mieć pewność, że Nmap +nie będzie skanował jednego hosta dłużej niż pół godziny. Trzeba pamiętać, że +Nmap może równolegle w tym czasie skanować inne hosty, więc nie bedzie to czas +kompletnie stracony. Host który przekroczy czas jest pomijany i nie są dla +niego wyświetlane wyniki takie jak lista portów, system operacyjny czy wersje +usług. + + + + + + + ; + (Ustaw opóźnienie pomiędzy testami) + + +Opcja pozwala na narzucenie czasu w milisekundach jaki musi minąć +pomiędzy kolejnymi testami dla badanego hosta. Podobnie jak przy innych opcjach +pozwalających na określanie czasu, można dodać +s, +m lub h +do parametru do określenia go odpowiednio w sekundach, minutach lub godzinach. +Opcja ta jest szczególnie użyteczna w przypadku systemów limitujących ilość +pakietów. Solaris zwykle odpowiada na skanowanie UDP poprzez wysyłanie tylko +jednego pakietu ICMP na sekundę, więc wysyłanie zapytań szybciej jest zupełnie +nie potrzebne. Wykorzystanie opcji pozwala na +wymuszenie odpowiedniej prędkości skanowania. Normalnie Nmap stara się +wykryć jaka powinna być optymalna prędkość skanowania dla każdego hosta, jednak +ręczne dodanie takiej opcji nie zaszkodzi, o ile znana jest optymalna prędkość. + +Kiedy Nmap zwiększa czas opóźnienia, dostosowując go do +limitu ilości otrzymywanych odpowiedzi, czas skanowania dramatycznie rośnie. +Opcja pozwala na ustawienie maksymalnego +limitu do którego może być automatycznie zwiększane opóźnienie. Ustawienie +tej wartości zbyt nisko może spowodować niepotrzebne retransmisje i +pominięcie niektórych portów w przypadku hostów ściśle limitujących ilość +pakietów. + +Inną możliwością wykorzystanie opcji +jest omijanie systemów detekcji intruzów (IDS/IPS). + + + + + + + + (Ustawnienie szablonu zależności czasowych skanowania) + + + +Opisane wcześniej opcje do zmiany zależności czasowych pozwalają na +efektywne i precyzyjne sterowanie skanowaniem, jednak wiele osób uzna je za +niepotrzebnie skomplikowane. Dodatkowo w wielu przypadkach dobranie +odpowiedniej kombinacji parametrów może zająć więcej czasu, niż samo +skanowanie. Z tego powodu Nmap oferuje prostrze rozwiązanie w postaci +sześciu szablonów. Ich wybór jest możliwy poprzez wykorzystanie opcji + z parametrem oznaczającym numer lub nazwę szablonu. +Dostępne szablony to paranoid (0, paranoidalny), sneaky (1, podstępny), +polite (2, grzeczny), normal (3, normalny), aggressive (4, agresywny) i +insane (5, szalony). Pierwsze dwa wykorzystywane są do omijania systemów +IDS. Szablon polite spowalnia skanowanie powodując mniejsze obciążenie łącza +i zmniejszające wykorzystanie zasobów w badanym systemie. Domyślnie używany +jest normal, więc podawanie nic nie zmieni. Szablon +agresywny przyspiesza skanowanie przy założeniu że korzystamy z szybkiej i +nie przeciążonej sieci. Insane zakłada wykorzystanie ponad przeciętnie szybkiej +sieci lub jeśli chcemy uzyskać dużą szybkość kosztem możliwej utraty +dokładności. + +Szablony pozwalają poinformować Nmapa jak dużej agresywności od niego +oczekujemy przy jednoczesnym pozwoleniu mu na automatyczne dobieranie +pozostałych parametrów czasowych. Wprowadzane też są inne drobne modyfikacje, +do których nie istnieją odzielne opcje. Na przykład, +zabrania wzrostu dynamicznego opóźnienia skanowania powyżej 10ms dla portów +TCP, a w przypadku powyżej 5ms. Szablony mogą być używane +w połączeniu z innymi opcjami do ustawiania zależności czasowych o ile zostaną +umieszczone przed pozostałymi opcjami w linii poleceń +(inaczej domyślne ustawienia z szablonu zastąpią ustawione innymi opcjami). +Większość dzisiejszych sieci może być z powodzeniem skanowana z wykorzystaniem +opcji . + +Jeśli używasz łącza szerokopasmowego lub sieci ethernet, rekomendowane +jest stałe używanie szablonu . Wiele osób lubi +, lecz jest ono jak dla mnie trochę za agresywne. Ludzie +czasami używają ponieważ myślą, że zminiejszają szanse +na zawieszenie serwera lub uważają się za bardziej kulturalnych z założenia, +często nie zdając sobie sprawy z tego, jak wolne jest +- ich skanowania może trwać dziesięć razy dłużej. Zawieszanie hostów i problemy +z pasmem są rzadko spotykane przy domyślym , i ta opcja jest +polecana dla ostrożnych skanujących. Nie włączanie detekcji wersji jest daleko +bardziej efektywnym sposobem na unikanie problemów. + +Podczas gdy opcje i mogą być +użyteczne przy unikaniu wykrycia przez systemy IDS, są niesamowicie powolne +przy skanowaniu setek adresów lub portów. Przy tak długich skanowaniach możesz +raczej chcieć ustawić ręcznie poszczególne zależności czasowe, niż polegać na +predefiniowanych wartościach z i . + + +Głównym efektem działania jest ograniczenie ilości +równolegle przeprowadzanych testów do jednego i wprowadzenie odstępu pomiędzy +kolejnymi testami o długości 5 minut. Opcje i + są podobne, ale czakają już tylko odpowiednio 15 i 0.4 +sekundy pomiędzy testami. jest domyślnym ustawieniem Nmapa +włączając w to zrównoleglanie testów. jest odpowiednikiem +podania opcji i ustawienia maksymalnego opóźnienia przy skanowaniu +TCP na 10 milisekund. Opcja jest alternatywą dla + oraz ustawienia maksymalnego +czasu opóźnienia dla skanowania TCP na 5ms. + + + + + + + + Firewall/IDS i podszywanie się + +Wielu pionierów ineternetu wykorzystywało globalną otwartą sieć opartą +o uniwersalną przestrzeń adresową pozwalającą na tworzenie wirtualnych +połączeń pomiędzy dwoma dowolnymi węzłami. Pozwalało to hostom na równoprawną +komunikację przy której każdy mógł serwować i pobierać dane od drugiego. +Ludzie mogli uzyskać dostęp do wszystkich swoich systemów z dowolnego miejsca +w sieci. Wizja nieograniczonej łączności została ograniczona przez wyczerpujące +się zapasy wolnych adresów IP i względy bezpieczeństwa. We wczesnych latach +90-tych organizacje zaczęły masowo wprowadzać systemy zaporowe dla ograniczenia +możliwości komunikacji. Duże sieci zostały otoczone kordonem zabezpieczeń w +postaci proxy aplikacyjnych, translacji adresów i filtrowania pakietów. +Niczym nie ograniczany przepływ informacji ustąpił ścisłym regulacjom +dotyczącym dozwolonych dróg komunikacji i treści nimi przesyłanych. + +Zabezpieczenia sieciowe takie jak systemy zaporowe mogą bardzo utrudnić +uzyskiwanie informacji o sieci i jej architekturze. +Nmap posiada wiele funkcji pozwalających zrozumieć działanie złożonych sieci i +na weryfikacje działania filtrów pakietów i ich zgodności z założeniami. +Pozwala nawet na omijanie źle zaimplementowanych zabezpieczeń. Jednym z +najlepszych sposobów na poznanie bezpieczeństwa swojej sieci jest próba jego +przełamania. Zacznij myśleć jak atakujący, który stosuje techniki z tej części +dokumentacji przeciwko Twojej sieci. Uruchom skanowania FTP bounce, Idle, dodaj +fragmentację pakietów lub spróbuj uruchomić tunel omijający lokalne proxy. + +W połączeniu z ograniczeniami aktywności sieciowej, firmy coraz częściej +rozpoczynają monitorowanie ruchu sieciowego za pomocą systemów detekcji intruzów +(IDS). Wszystkie popularne systemy IDS mają dołączone reguły wykrywające +skanowania Nmapa, ponieważ skanowania takie czasami poprzedzają ataki. Wiele z tych +systemów ostatnio przeistoczyło się w systemy prewencji +(IPS), które aktywnie przeciwstawiają się niepożądanemu ruchowi. Niestety, dla +administratorów sieci i producentów systemów IDS, wiarygodne wykrywanie złych +intencji poprzez analizę pakietów jest ciężkim orzechem do zgryzienia. +Cierpliwi atakujący, posiadający odpowiednie umiejętności podparte +możliwościami Nmapa zwykle mogą ominąć systemy detekcji intruzów i ich +działania nie zostaną wykryte. W tym samym czasie administratorzy muszą się +zmagać z ogromną ilością fałszywych alarmów dotyczących niepoprawnie +zaklasyfikowanej zupełnie niewinnej komunikacji. + +Co jakiś czas ktoś sugeruje, że Nmap nie powinien oferować możliwości +omijania systemów zaporowych czy systemów IDS. Argumentują to możliwością +wykorzystania tych funkcji także przez atakujących, a nie tylko przez +administratorów podnoszących bezpieczeństwo swoich sieci. Problemem jest +sama logika, ponieważ atakujący i tak będą wykorzystywali tego typu metody +używając innych narzędzi lub samemu wprowadzając odpowiednią +funkcjonalność do kodu Nmapa. Równocześnie administratorzy będą mieli +utrudniony dostęp do odpowiednich narzędzi i ich praca będzie trudniejsza. +Uruchomienie nowoczesnego, bezpiecznego serwera FTP jest dużo skuteczniejszą +metodą ochrony niż ograniczanie dostępności do narzędzi pozwalających na +przeprowadzanie ataków FTP bounce. + +Nie ma magicznej kuli (lub opcji Nmapa) do przełamywania i obchodzenia +systemów zaporowych i IDS. Wymaga to umiejętności i doświadczenia. Dokładne +instrukcje wykraczają poza zakres tej dokumentacji, która jest jedynie listą +dostępnych opcji wraz z opisami jak one działają. + + + + + (fragmentacja pakietów); + (Używanie wybranego MTU) + + + + Opcja powoduje wykorzystywanie przy + skanowaniu (włączając w to skanowanie ping) małych pofragmentowanych + pakietów. Idea polega na podzieleniu nagłówka TCP na wiele pakietów, + co powoduje utrudnienia w ich przetwarzaniu przez filtry pakietów, + systemy detekcji intruzów oraz irytujące komplikacje przy ustalaniu + co się dzieje. Ale uwaga! Wiele programów ma problemy przy obsłudze + tego typu pakietów. Przestarzały sniffer Sniffit wykonuje + nieprawidłową operacje i zostaje zamknięty zaraz po odebraniu już + pierwszego z takich pakietów. Dodanie tej opcji spowoduje + automatyczne dzielenie wszystkich pakietów wysyłanych przez Nmapa + na mniejsze o rozmiarze maksymalnie 8 bajtów. Przykładowo 20 bajtowy + nagłówek TCP zostanie podzielony na 3 pakiety: najpierw dwa po 8 + bajtów i ostatni 4 bajty. Oczywiście każdy fragment dostaje własny + nagłówek IP. Dodanie drugiej opcji powiększa + wykorzystywany rozmiar fragmentów z 8 do 16 (redukując ilość + fragmentów). Możliwe jest również podanie własnego rozmiaru za + pomocą opcji . Nie używaj parametru + , jeśli używasz . Podawany + rozmiar musi być wielokrotnością 8. W niektórych systemach filtry + pakietów nie otrzymują bezpośrednio pakietów, tylko są one wstępnie + kolejkowane, tak jak w Linuxie przy ustawieniu opcji + CONFIG_IP_ALWAYS_DEFRAG w kernelu, jednak w wielu przypadkach takie + opcje nie są włączane ze względów wydajnościowych. Opcja taka nie + jest również włączana jeśli zachodzi możliwość routowania + poszczególnych pakietów różnymi ścieżkami. Niektóre systemy + operacyjne potrafią defragmentować pakiety wysyłane przez kernel, + Linux z iptables i modułem śledzenia połączeń jest jednym z + przykładów. Uruchamiając skanowanie można podsłuchać za pomocą + sniffera takiego jak Ethereal, czy wychodzące pakiety są rzeczywiście + pofragmentowane. Jeśli system powoduje tego typu problemy, można + wypróbować opcje , która pomija stos + TCP/IP i wysyła bezpośrenio ramki ethernetowe. + + + + + + + (Ukrywaj skanowanie za pomocą innych hostów) + + + Powoduje skanowanie, wykrywane jako przychodzące z kilku miejsc + równocześnie. System IDS może wykryć 5-10 różnych skanowań z różnych + adresów, jednak nie będzie w stanie ocenić który z nich jest + prawdziwym źródłem pochodzenia, a które tylko niewinnymi zasłonami. + Chociaż metoda ta może zostać rozpoznana poprzez śledzenie ścieżki + pakietów na routerach i innych aktywnych mechanizmów, ogólnie jest + efektywną techniką na ukrywanie swojego adresu IP. + + Podwając listę poszczególnych hostów-zasłon, trzeba je + oddzielić przecinkami, można również na tej liście umieścic + ME oznaczające pozycję własnego + adresu IP na liście. W przypadku wykorzystania przynajmniej 6-tej + pozycji na liście dla własnego IP, wiele popularnych systemów + wykrywających skanowania (na przykład scanlogd firmy Solar Designer) + nawet nie pokaże prawdziwego źródła pochodzenia pakietów na liście + ataków. Jeśli ME nie zostanie + dodane, Nmap umieści je losowo na liście. + + Należy zwrócić uwagę, ze hosty-przykrywki powinny być dostępne, + inaczej będzie można łatwo wykryć host skanujący i że można niechcący + dokonać ataku SYN flood na hosty skanowane. Bezpieczniej jest używać + adresów IP zamiast nazw systemów-przykrywek, bo nie zostawi to + informacji w logach ich serwera nazw. + + Przykrywki są używane zarówno przy początkowym skanowaniu ping + (z wykorzystaniem ICMP, SYN ACK itp), podczas skanowania portów jak i + przy wykrywaniu systemu operacyjnego. Technika ta nie działa podczas + wykrywania wersji i skanowania metodą connect(). + + Używanie zbyt wielu adresów hostów-przykrywek znacznie spowalnia + skanowanie i może nawet spowodować zmniejszenie dokładności. Dodatkowo + niektórzy dostawcy usług odfiltrowują pakiety podszywające się pod + adresy z innych sieci, jednak wielu nie robi tego wcale. + + + + + + (Ustawienie adresu nadawcy) + + + W niektórych przypadkach Nmap nie potrafi ustalić właściwego + adresu nadawcy (i wyświetli stosowny komunikat). W takim przypadku + należy za pomocą opcji podać adres lokalnego + interfejsu przez który mają być wysyłane pakiety. + + Inną możliwością tej opcji jest podmiana adresu nadawcy tak, + by cel skanowania uważał, że skanuje go ktoś inny. + Wyobraź sobie, ze firmę nagle zacznie skanować konkurencja! W + przypadku takiego użycia, zwykle będzie wymagana opcja + , a zalecana również . + + + + + + + (Użyj wybranego interfejsu) + + + Informuje Nmapa przez który interfejs ma wysyłać i odbierać + pakiety. Nmap powinien wykryć go automatycznie, ale jeśli mu się + nie uda, można to zrobić ręcznie. + + + + + + + (Używaj podanego portu źródłowego) + + + +Jednym z najczęściej spotykanych problemów konfiguracyjnych jest ufanie +danym przychodzącym z określonego portu źródłowego. Łatwo jest zrozumieć, czemu +tak się dzieje. Administrator instaluje nowiusieńki system zaporowy, którego +jedyną wadą są zgłoszenia od niepocieszonych użytkowników, którym nagle +przestały działać aplikacje. Przykładem może być DNS, ponieważ odpowiedzi na +zapytania z zewnętrznych serwerów przestały dochodzić do sieci. Innym +przykładem jest FTP, przy stosowaniu aktywnych połączeń zewnętrzne serwery +próbują utworzyć połączenia powrotne do klienta żądającego przesłania pliku. + + +Bezpieczne rozwiązanie dla tych problemów istnieje, często w formie +aplikacyjnych serwerów proxy lub analizy protokołu przez systemy zaporowe. +Niestety istnieją również inne łatwiejsze, ale i mniej bezpieczne +rozwiązania. Wielu administratorów wpada w pułapkę zakładając, że dane +przychodzące z portu 53 są zawsze odpowiedziami serwera DNS, a z 20 aktywnymi +połączeniami FTP i zezwalając na przechodzenie takiego ruchu przez system +zaporowy. Często zakładają, że żaden atakujący nie spróbuje wykorzystać +takiej luki. Zdaża się również, że problem taki zostaje wprowadzony do +konfiguracji jako tymczasowe rozwiązanie, jednak zapominają o jego zmianie +na bardziej bezpieczne. + +Przepracowani administratorzy nie są jedynymi, którzy wpadają w taką +pułapkę. Wiele komercyjnych produktów jest dostarczanych z podobnymi +problemami. Zdarzyło się to nawet firmie Microsoft, której filtry IPsec +dostarczone z Windows 2000 i XP zawierają regułę wpuszczającą cały ruch +TCP i UDP pochodzący z portu 88 (Kerberos). Innym dobrze znanym przykładem jest +Zone Alarm personal firewall, który do wersji 2.1.25 włącznie nie filtrował +pakietów UDP z portów 53 (DNS) i 67 (DHCP). + +Nmap oferuje dwie ekwiwalentne opcje i + pozwalające na wykorzystanie opisanej wyżej +funkcjonalności poprzez podanie numeru portu z którego wysyła dane, +o ile jest to tylko możliwe. Nmap musi używać różnych numerów portów dla +poprawnego działania niektórych testów wykrywających system operacyjny, +zapytania DNS również ignorują opcję , ponieważ +Nmap wykorzystuje do tego biblioteki systemowe. Większość typów skanowania +TCP, włączając skanowanie SYN obsługuje tę opcję we wszystkich przypadkach, +podobnie jak i UDP. + + + + + + + (Dodawaj losowe dane + do wysyłanych pakietów) + + + Domyślnie Nmap wysyła pakiety o minimalnej wielkości + zawierające jedynie sam nagłówek. Pakiety TCP mają 40 bajtów, a ICMP + tylko 28. Ta opcja pozwala dołączać do większości pakietów losowe + dane o podanym rozmiarze. Pakiety używane do detekcji systemu + operacyjnego () pozostają nie zmienione, ale przy + większości pakietów ping i skanowania portów opcja ta jest + wykorzystywana. Powiększanie pakietów spowalnia proces skanowania, + jednocześnie czyniąc go mniej podejrzanym. + + + + + + (Ustaw czas życia pakietu IP) + + + Ustawia czas życia (TTL) pakietów na podaną wartość. + + + + + + (Losowanie kolejności skanowania hostów) + + + Opcja powoduje włączenie losowania kolejności hostów w każdej + grupie do 8096 hostów przed ich skanowaniem. Zachowanie takie czyni + skanowanie mniej oczywistym dla wielu systemów monitorujących sieci, + zwłaszcza w połączeniu z opcją spowalniającą skanowanie. Możliwe jest + losowanie z jeszcze większych grup, poprzez zmianę stałej + PING_GROUP_SZ w pliku nmap.h + i rekompilacji. Innym rozwiązaniem jest wygenerowanie listy adresów + IP za pomocą opcji lista skanowania () i losowemu + pomieszaniu adresów na niej za pomocą skryptu Perla, oraz podaniu jej + Nmapowi za pomocą opcji . + + + + + + (Podmieniaj adres MAC) + + + + Podaje Nmapowi adres MAC z użyciem którego będą wysyłane + wszystkie pakiety ethernet. Opcja włącza również automatycznie + dla uzyskania pewności wysyłania + pakietów na poziomie ethernetu. Podany adres MAC może przyjmować + wiele postaci. Jeśli zostanie podany znak 0, + Nmap wybierze kompletnie losowy adres MAC na czas trwania danej + sesji. Podanie parzystej ilości cyfr heksadecymalnych + (mogą być oddzielone dwukropkami), spowoduje wykorzystanie jej jako + adresu MAC, przy czym jeśli podano mniej niż 12 cyfr szestnastkowych, + Nmap wypełni pozostałość 6 bajtów losowymi wartościami. Jeśli + podany ciąg nie jest 0 lub liczbą heksadecymalną, Nmap poszuka w + pliku nmap-mac-prefixes nazwy + producenta zawierającego podany ciąg (duże i małe litery nie są + rozróżniane) i jeśli znajdzie, użyje identyfikatora producenta + OUI (3 bajty) wypełniając pozostałe 3 bajty losowo. + Przykłady poprawnych argumentów to + Apple, 0, + 01:02:03:04:05:06, + deadbeefcafe, + 0020F2, Cisco itp. + + + + + + + (Wysyłanie pakietów z nieprawidłową sumą kontrolną TCP/UDP) + + + + Powoduje wstawianie do nagłówków wysyłanych pakietów + nieprawidłowych sum kontrolnych. Jako że prawie każdy stos IP + odrzuci tego typu pakiety, otrzymana odpowiedź najprawdopodobniej + pochodzi od systemu zaporowego lub IDS, które nie przejmują się + sumami kontrolnymi. Dokładniejszy opis tej techniki znajduje się + pod adresem + + + + + + + + + Wyjście + + Każde narzędzie jest tylko tak dobre, jak wyniki które się za jego + pomocą uzyskuje. Złożone testy i algorytmy nie są nic warte, jeśli ich + wyniki nie są zaprezentowane w odpowiedniej formie. Z związku z tym, że + użytkownicy Nmapa używają go w różny sposób, także w połączeniu z innymi + narzędziami, nie ma jednego formatu, który by wszystkich zadowolił. Dlatego + też Nmap oferuje kilka formatów, włączając w to tryb interaktywny i tryb + XML do lepszej integracji z innymi programami. + + Dodatkowo poza różnymi formatami wyjściowymi, Nmap posiada opcje + pozwalające na kontrolowanie poziomu szczegółowości dostarczanych informacji + oraz komunikatów do śledzenia błędów. Wyniki mogą być przekazywane do + standardowego wyjścia jak i do plików (w trybie zastępowania lub dołączania). + Wygenerowane pliki mogą również być wykorzystywane do wznowienia przerwanych + skanowań. + + Nmap pozwala na uzyskanie pięciu różnych formatów raportów. Domyślny + to format interaktywny i jest + wykorzystywany w połączeniu ze standardowym wyjściem. Jest także format + format normalny, podobny do + interaktywnego, jednak wyświetla mniej + rutynowych informacji i ostrzeżeń, ponieważ jest raczej przewidziany do + poźniejszej analizy, niż do interaktywnego oglądania w trakcie skanowania. + + Tryb XML jest jednym z najważniejszych, jako że może zostać + przekonwertowany na HTML lub bezporoblemowo przetworzony przez inne programy, + takie jak graficzne interfejsy użytkownika lub zaimportowany do bazy + danych. + + Pozostałe dwa najmniej skomplikowane to format pozwalający na łatwe + przetwarzanie za pomocą wyrażeń regularnych (grep), który zawiera większość + informacji o hoście w jednej linii, oraz format + sCRiPt KiDDi3 0utPUt. + + Podczas gdy format interaktywny jest domyślny i nie posiada dodatkowych + opcji, pozostałe cztery formaty używają tej samej składni w postaci jednego + argumentu, będącego nazwą pliku do którego mają zostać zapisane wyniki. + Możliwe jest podawanie wielu formatów jednocześnie, jednak każdy z nich może + być podany tylko raz. Na przykład, jeśli chcesz zapisać format normalny do + późniejszego przegladania i równocześnie XML do przetwarzania przez inne + programy, używamy składni . + W przykładach z tej dokumentacji dla ułatwienia używamy prostych nazw, takich + jak myscan.xml, jednak w codzinnym użyciu + zalecane jest stosowanie nazw bardziej opisowych. Nazwy te mogą być dowolnie + wybierane, zgodnie z własnymi preferencjami, osobiście preferuję długie nazwy + zawierające datę skanowania i słowo lub dwa opisujące skanowanie, umieszczone + w katalogu zawierającym nazwę firmy skanowaniej. + + Podczas zapisywania wyników do pliku Nmap nadal wyświetla interaktywną + formę raportu na standardowe wyjście. Przykładowo, komenda + nmap -oX myscan.xml cel zapisuje wyniki w + formacie XML do pliku myscan.xml + równocześnie wyświetlając je w trybie interaktywnym tak, jakby opcja + nie była podana. Możliwa jest zmiana tego zachowania + poprzez podanie znaku myślnika (-) zamiast nazwy pliku przy wybranym + formacie, co spowoduje wyświetlanie go zamiast formy interaktywnej. Tak więc + komenda nmap -oX - cel spowoduje + wyświetlenie tylko formatu XML na standardowym wyjściu stdout. Komunikaty + o poważnych błędach sa nadal wyświetlane za pomocą standardowego wyjścia + błędów stderr. + + Inaczej niż przy innych opcjach, spacja pomiędzy opcją (taką jak + ), a nazwą pliku lub myślnika nie jest wymagana. + Jeśli spacja zostanie pominięta przy opcjach takich jak + lub , z powodów + kompatybilności wstecznej Nmap zapisze wyniki w formacie normalnym w plikach + odpowiednio G- i + Xscan.xml. + + Nmap posiada również opcje pozwalające na ustalenie poziomu + szczegółowości podawanych informacji jak również pozwalające na + dołączanie wyników do już istniejących plików. Opcje te zostały opisane + poniżej. + +Formaty wyjściowe Nmapa + + + (Format normalny) + + Powoduje zapis w formacie normalnym + do wskazanego pliku. Jak napisano wyżej, format ten różni się nieco od + formatu interaktywnego. + + + + + + (Format XML) + + + Powoduje zapis w formacie XML + do wskazanego pliku. Nmap dołącza definicje formatu dokumentu (DTD), + który pozwala innym programom na weryfikację zawartości tego pliku. + Funkcja ta jest głównie przeznaczona do wykorzystania przez + oprogramowanie dodatkowe, jednak może pomóc w ręcznej analizie + zawartych danych. DTD opisuje jakie elementy XML mogą być legalnie + uzywane w pliku i często podaje jakie wartości mogą przyjmować + poszczególne znaczniki. Zawsze aktualna DTD wersja jest dostępna pod + adresem . + + XML jest stabilnym formatem, który może być łatwo przetwarzany + przez inne programy. Darmowe biblioteki do przetwarzania XML są + dostępne dla większości języków programowania, takich jak C/C++, Perl, + Python czy Java. Napisano nawet wiele procedur dostosowanych + specjalnie do potrzeb Nmapa. Przykładami są + Nmap::Scanner + i Nmap::Parser dla + Perla (CPAN). W wiekszości dużych aplikacji korzystających z + Nmapa preferowany jest właśnie format XML. + + W formacie XML jest również opisany styl XSL, który może zostać + wykorzystany do konwersji do HTML. Najprostrzym sposobem jest po + prostu wczytanie pliku XML do przeglądarki internetowej, takiej jak + Firefox czy IE. Domyślnie zadziała to tylko na komputerze na którym + był uruchamiany Nmap (lub skonfigurowanym podobnie), z powodu + umieszczenia ścieżki do pliku nmap.xsl + właściwej dla danego systemu. Za pomocą opcji + lub można utworzyć przenośny raport + XML, możliwy do obejrzenia w formacie HTML na każdym komputerze + podłączonym do Internetu. + + + + + + + (Format ScRipT KIdd|3) + + Format script kiddie jest podobny do interaktywnego, jednak jest + dodatkowo przetworzony na potrzeby l33t HaXXorZ, którzy nie byli zadowoleni + z domyślnego, uporządkowanego formatu Nmapa. Osoby bez poczucia humoru + powinny wiedzieć przed zarzucaniem mi pomagania script kiddies + , że opcja ta jest tylko żartem, a nie pomocą. + + + + + + (Format "grepowalny") + + + Ten format został opisany jako ostatni, jako że jest już przestarzały. + Format XML jest dużo lepszy i jest prawie tak samo wygodny dla zaawansowanych + użytkowników. XML jest standardem, do którego napisano dziesiątki bibliotek, + podczas gdy format grepowalny jest moim osobistym wymysłem. XML pozwala + również na łatwe rozszerzanie o nowe funkcje Nmapa w miarę ich dodawania, + podczas gdy w formacie grepowalnym muszą one być pomijane z powodu braku miejsca. + + + Niezależnie od tego, format ten jest nadal całkiem popularny. Jest + prostym formatem opisującym każdy host w oddzielnej linii i umożliwiający + bardzo proste wyszukiwanie i przetwarzanie za pomocą standardowych narzędzi + systemów UNIX takich jak grep, awk, cut, sed, diff i Perl. Format ten jest + wygodny do szybkiego odnajdywania potrzebnych danych, na przykład hostów + z otwartym portem SSH lub używających systemu Solaris i jest to możliwe + za pomocą wycinania interesujących informacji za pomocą prostych poleceń + awk czy cut. + + Format grepowalny składa sie z linii komentarzy (rozpoczynających się + od znaku #) i linii wyników. Linia wyników składa się z sześciu pól, + oddzielonych znakami tabulacji i przecinkami. Polami tymi są + Host, Ports, + Protocols, Ignored State, + OS, Seq Index, + IPID i Status. + + Najważniejszymi z tych pól są najczęściej pola + Ports, które zawierają informacje o + interesujących portach, w postaci listy oddzielonej przecinkami. Każda pozycja + na liście reprezentuje jeden otwarty port i opisuje go siedmioma, oddzielonymi + znakami (/) subpolami: Port number, + State, Protocol, + Owner, Service, + SunRPC info i Version info. + + Tak jak i w przypadku formaty XML, dokładny opis formatu grepowalnego + przekracza zakres tej dokumentacji i jest dostępny pod adresem + . + + + + + + (Wyjście we wszystkich formatach) + + Dla wygody można podać opcję + do zapisywania wyników w formacie normalnym, XML i grepowalnym + równocześnie. Wyniki zostaną zapisane odpowiednio w plikach o + nazwach nazwa.nmap, + nazwa.xml i + nazwa.gnmap. Tak jak i w przypadku innych + programów, nazwa może zostać poprzedzona scieżką, na przykład + ~/nmaplogs/foocorp/ w systemach + UNIX lub c:\hacking\sco pod Windows. + + + + + + Poziom szczegółowości i opcje diagnozowania błędów + + + (Podwyższenie poziomu raportowania) + + + Podwyższenie poziomu raportowania powoduje wyświetlanie przez + Nmapa większej ilości informacji na temat postępów skanowania. + Otwarte porty są pokazywane zaraz po ich wykryciu, podawany jest + także przewidywany czas zakończenia skanowania w przypadku kiedy Nmap + zakłada, że test potrwa dłużej niż kilka minut. Dwukrotne użycie tej + opcji powoduje dalsze powiększenie poziomu szczegółowości, trzykrotne + i dalsze nie dają już żadnego efektu. + + Większość zmian dotyczy trybu interaktywnego, niektóre odnoszą + się także do trybu normalnego i script kiddie. Pozostałe formaty są + przystosowane do przetwarzania przez maszyny, więc Nmap może zawsze + podawać szczegółowe informacje bez zmniejszania czytelności dla + człowieka. Są jednak i drobne różnice w innych formatach, na przykład + w formacie grepowalnym linia komentarza zawierająca listę skanowanych + hostów jest dodawana tylko w trybie podwyższonej szczegółowości, ze + względu na swoją dosyć znaczną długość. + + + + + + + (Ustawianie poziomu śledzenia błędów) + + + + Jeśli dostępne poziomy szczegółowości nie dostarczają wystarczającej + ilości informacji, opcje śledzenia błędów mogą Cię wrecz nimi zasypać! + Podobnie jak w przypadku wykorzystania opcji podwyższania szczegółowości + (), opcja włączająca umowanie nazwane śledzenie błędów, + włączana jest za pomocą parametru () i możliwe jest jej + wielokrotne dodawanie powiększające skutek. Alternatywnie można podać poziom + jako argument do opcji . Na przykład + ustawia poziom na dziewięć. Jest to najwyższy możliwy + poziom produkujący setki linii, o ile nie jest to proste skanowanie kilku + portów i hostów. + + Format ten jest użyteczny jeśli podejrzewamy istnienie błędu w Nmapie + lub jeśli po prostu chcemy wiedzieć co Nmap robi i czemu. Jako że opcja + ta jest przeznaczona głównie dla autorów, wyświetlane linie nie zawsze + są do końca zrozumiałe. Można otrzymać na przykład coś w stylu: + Timeout vals: srtt: -1 rttvar: -1 to: + 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. + Jeśli nie rozumiesz takiego zapisu, możesz go po prostu zignorować, poszukać + w kodzie źródłowym lub poprosić o pomoc na liście dyskusyjnej twórców Nmapa + (nmap-dev). Niektóre linie są dosyć czytelne, ale stają się coraz bardziej + skomplikowane wraz ze wzrostem poziomu śledzenia błędów. + + + + + + + (Śledzenie wysyłanych i odbieranych pakietów) + + + Powoduje wyświetlanie przez Nmapa krótkiej informacji na temat + każdego wysyłanego i odbieranego pakietu. Opcja ta jest często + używana podczas śledzenia błędów, ale zawiera również wartościowe + informacje dla nowych użytkowników, pozwalające zrozumieć co Nmap + robi. Uniknięcie wyświetlania tysięcy linii możliwe jest poprzez + ograniczenie ilości portów do skanowania, na przykład za pomocą + . Jeśli chcesz zobaczyć tylko to, co dzieje + się w trakcie wykrywania wersji, użyj raczej opcji + . + + + + + + (Pokazuj interfejsy i tablicę routingu) + + + Wyświetla listę interfejsów i tablice routingu wykryte przez + Nmapa. Opcja jest przydatna przy śledzeniu błędów w routingu lub + niepoprawnym wykrywaniu typów interfejsów (na przykład jeśli Nmap + traktuje połączenie PPP jako ethernet). + + + + + + Pozostałe opcje + + + + (Dołączaj wyniki do pliku) + + + Jeśli zostanie podana nazwa pliku jako argument do opcji + takiej jak czy , + domyślnie poprzednia zawartość pliku zostanie usunęta i zastąpiona + nową. Jeśli zachodzi potrzeba zachowania poprzedniej zawartości + pliku i dołączenie nowych wyników, należy dodać opcję + . Potraktowane tak zostaną wszystkie + podane pliki. Opcja nie działa zbyt dobrze z formatem XML, jako że + wynikowy plik nie może być pożniej bezbłędnie przetworzony bez ręcznych + poprawek. + + + + + + (Wznowienie przerwanego skanowania) + + + + Niektóre skanowania Nmapa mogą trwać bardzo długo, nawet kilka + dni. Problem pojawia się wtedy, kiedy nie jest możliwe ciągłe + prowadzenie skanowania, na przykład z powodu potrzeby działania tylko + w godzinach pracy, problemów z dostępnością sieci, (nie)przypadkowym + restartem komputera na którym działa Nmap lub wykonaniem przez niego + nieprawidłowej operacji. Użytkownik może również przerwać w każdej + chwili skanowanie za pomocą kombinacji + ctrl-C. W takich przypadkach ponowne + rozpoczynanie testów od początku może nie być pożądane. Na szczęście, + jeśli pozostały wyniki przerwanych testów w formacie normalnym + () lub grepowalnym (), + możliwe jest ich wznowienie od momentu przerwania. Służy do tego + opcja dla której argumentem musi byc + nazwa pliku w formacie normalnym lub grepowalnym. W tym przypadku nie + jest możliwe podawanie żadnych innych opcji, jako że Nmap przetworzy + podany plik i odtworzy wcześniej podane opcje. Po prostu uruchom + nmap --resume + nazwapliku, a Nmap dołączy do + wskazanego pliku nowe wyniki. Opcja ta nie obsługuje formatu XML, + jako że łączenie dwóch oddzielnych wynikóę skanowań w jeden plik + jest dosyć trudne. + + + + + + (Styl XSL do + transformacji formatu XML) + + + Nmap posiada domyślny styl XSL do przeglądania lub konwersji do + formatu XML w pliku nmap.xsl. + Plik wyjściowy XML zawiera dyrektywę + xml-stylesheet wskazującą na + nmap.xml, ze ścieżką do domyślej + lokalizacji tego pliku (lub bierzącego katalogu pod Windows). Dzięki + temu wystarczy po prostu załadować plik XML Nmapa do przeglądarki, + która sama odczyta sobie plik + nmap.xsl i użyje go do + prawidłowego wyświetlenia wyników. Możliwe jest również użycie innego + stylu poprzez podanie nazwy pliku jako argumentu dla opcji + . W tym przypadku konieczne jest podanie + pełnej ścieżki lub adresu URL. Typowe wywołanie ma postać + . + Dyrektywa ta nakazuje pobranie najnowszej wersji pliku ze stylem ze + strony Insecure.Org. Opcja robi dokładnie + to samo, będąc łatwiejszą do wpisania i zapamiętania. Używanie pliku + XSL ze strony Insecure.Org ułatwia przeglądanie wyników na systemie + nie posiadającym zainstalowanego Nmapa (czyli nie posiadającym pliku + nmap.xsl). Podawanie adresu URL + jest wygodniejsze, jednak domyślnie używany jest plik lokalny ze + względu za zachowanie poufności użytkownika. + + + + + + (Użyj stylu ze strony Insecure.Org) + + + Opcja jest wygodniejszym zapisem analogicznego + . + + + + + + (Nie używaj deklaracji stylu XSL w formacie XML) + + + Dodanie tej opcji powoduje wyłączenie dołączania stylu XSL + do pliku z wynikami w formacie XML. Zostaje pominięta dyrektywa + xml-stylesheet. + + + + + + + + + Różne opcje + Sekcja ta opisuje istotne (i nie istotne) opcje, które nie pasowały + gdzie indziej. + + + + + (Włączenie skanowania IPv6) + + + + Od roku 2002 Nmap obsługuje IPv6, w zakresie jego + najpopularniejszych funkcji. W szczególności dostępne jest skanowanie + ping (tylko TCP), connect() i wykrywanie wersji. Składnia opcji + jest taka sama jak zwykle, wystarczy tylko dodać opcję + . Oczywiście w przypadku podawania adresów zamiast + nazw, niezbędne jest podawanie ich zgodnie ze składnią IPv6. + Jako że adres może wyglądać podobnie do + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + zalecane jest używanie nazw hostów. Wyniki poza samym adresem + wyglądają tak samo jak i przy innych opcjach. + + Adresacja IPv6 nie zawładnęła jeszcze światem, jednak jest + często wykorzystywana w niektórych krajach (zwykle azjatyckich) i + większość obecnych systemów ją obsługuje. Oczywiście do używania + IPv6 musi być on prawidłowo skonfigurowany i dostępny zarówno na + hoście skanowanym, jak i skanującym. Jeśli dostawca usług nie + umożliwia uzyskania adresów IP (najczęściej tak właśnie jest), + jest dużo dostawców darmowych tuneli, które działają poprawnie z + Nmapem. Jednymi z lepszych są dostarczane przez BT Exact na stronie + i + Hurricane Electric na . Tunele + 6to4 są innym popularnym i darmowym rozwiązaniem. + + + + + + (Agresywne opcje skanowania) + + + Włącza dodatkowe zaawansowane i agresywne opcje skanowania. + Aktualnie są nimi wykrywanie systemu operacyjnego () + i wykrywanie wersji (). Więcej opcji być może + zostanie dodane w przyszłości. Głównym celem jest proste włączenie + najbardziej popularnych opcji skanowania bez konieczności + zapamiętywania wielu parametrów. Włączane są tylko opcje włączające + określoną funkcjonalność, nie zaś te dotyczące zależności czasowych + (takie jak ) czy poziomu szczegółowości + (), które można dodać niezależnie. + + + + + + (Określenie lokalizacji plików z danymi) + + + Podczas pracy Nmap pobiera dodatkowe informacje z plików + nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes i + nmap-os-fingerprints. + Nmap rozpoczyna poszukiwania tych plików od katalogu podanego jako + parametr dla opcji , jeśli została dodana. + Jeśli nie znajdzie plików w podanej lokalizacji, poszukuje ich w + katalogu określonych w zmiennej środowiskowej NMAPDIR, a następnie w + katalogu ~/.nmap dla + rzeczywistego i efektywnego UID (tylko systemy POSIX) i katalogu + z programem Nmap (tylko Win32). Jeśli i to nie przyniesie skutku, + poszukiwane są w lokalizacji podanej przy kompilacji, takiej jak + /usr/local/share/nmap lub + /usr/share/nmap. Na końcu + sprawdzany jest aktualny katalog. + + + + + + (Używanie niskopoziomowych ramek ethernet) + + + Opcja powoduje wysyłanie bezpośrednio ramek niskiego poziomu + ethernet (warstwa danych), zamiast poprzez stos IP (warstwa sieci). + Domyślnie Nmap wybiera metodę, która jest ogólnie lepsza dla danej + platformy, na której jest uruchomiony. Gniazda raw (warstwa IP) są + efektywniejsze w przypadku systemów UNIX, podczas gdy ramki ethernet + są niezbędne w przypadku systemów Windows, od czasu kiedy to + Microsoft wyłączył obsługę gniazd raw. Jeśli nie ma innej możliwości, + Nmap w systemach UNIX wybierze metodę ethernet, pomijając wybraną + przez użytkownika i niedostępną opcję. + + + + + + + (Wysyłaj pakiety raw IP) + + + Włącza wysyłanie pakietów przez gniazda raw IP, zamiast przez + ramki ethernet. Opcja jest przeciwieństwem opisanej wyżej opcji + . + + + + + + (Zakładaj że użytkownik ma odpowiednie uprawnienia) + + + Informuje Nmapa, że użytkownik jest wystarczająco + uprzywilejowany aby korzystać z wysyłania pakietów za pomocą + gniazd raw, podsłuchiwania pakietów i podobnych operacji zwykle + wymagających uprwawnień roota w systemach UNIX. Domyślnie Nmap + przerywa działanie w momencie wykrycia próby wykonania takich + operacji i funkcja geteuid() nie zwraca wartości zero. + Opcja jest użyteczna w systemach Linux + posiadających możliwości odpowiedniego przywilejowania użytkowników + do przeprowadzania wymienionych operacji. Upewnij się, że opcja + została podana przed innymi opcjami wymagającymi podwyższonych + uprwanień (skanowanie SYN, wykrywanie systemu operacyjnego itp). + Zmienna NMAP_PRIVILEGED może zostać ustawiona jako alternatywa dla + wykorzystania opcji . + + + + + + (Włącz tryb interaktywny) + + + Uruchamia Nmapa w trybie interaktywnym, który oferuje linię + poleceń umożlwiającą łatwe uruchamianie wilelu równoczesnych skanowań + (zarówno synchronicznych jak i w tle). Jest to użyteczne dla osób, + które pracują w środowisku wieloużytkownikowym i jednocześnie chcą + zbadać poziom bezpieczeństwa bez pokazaywania innym użytkownikom + systemu które dokładnie systemy są skanowane. Użycie opcji + włącza ten tryb, możliwe jest w nim + wciśnięcie h dla uzyskania pomocy. + Opcja ta nie jest zbyt popularna, jako że uruchamianie Nmapa z linii + poleceń jest całkiem wygodne. Należy przy tym zwrócić uwagę, że + w tym trybie możliwe jest wykonywanie poleceń systemowych za pomocą + operatora (!), więc jest to jeden z powodów, dla których nie powinno + się instalować Nmapa z ustawionym bitem setuid root. + + + + + + ; (Wyświetl numer wersji) + + + Wyświetla tylko numer wersji Nmapa. + + + + + + ; (Wyświetl pomoc) + + + Wyświetla krótki ekran pomocy opisujący najpopularniejsze + opcje, podobnie jak uruchomienie Nmapa bez parametrów. + + + + + + + + Interakcja w czasie pracy + + Podczas pracy Nmapa, przechwytywane są wszystkie naciśnięcia + klawiszy. Pozwala to na interakcję z programem bez przerywania go lub + restartowania. Niektóre specjalne klawisze zmieniają opcje, inne + wyświetlają status skanowania. Konwencja zakłada, że + małe litery zmniejszają ilość informacji, a + duże litery powiększają. Można również nacisnąć + ‘?’ dla + + + + / + + + Zwiększenia / Zmniejszenia poziomu szczegółowości + + + + + / + + + Zwiększenia / Zmniejszenia poziomu śledzenia błędów + + + + + / + + + Włączenia / Wyłączenia śledzenia pakietów + + + + + + + + Wyświetlenia ekranu pomocy + + + + + Wszystko inne + + + Wyświetla status w postaci: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Przykłady + Poniżej przedstawiono przykłady wykorzystania Nmapa, od prostych i + rutynowych do trochę bardziej skomplikowanych i ezoterycznych. Przykładowe + adresy IP i nazwy domen powinny zostać zastąpione adresami/nazwami z + twojej własnej sieci. Nie uważam, że skanowanie + portów powinno być nielegalne, jednak niektórzy administratorzy nie + tolerują nie autoryzowanego skanowania ich sieci i mogą zgłaszać swoje + protesty. Uzyskanie zgody jest pierwszym wyzwaniem. + + Do celu testów, masz zgodę do skanowania hosta + scanme.nmap.org. Zgoda pozwala jedynie + na skanowanie za pomocą Nmapa, nie zaś na testowanie exploitów czy + przeprowadzanie ataków typu Denial of Service. Dla oszczędności pasma, + proszę nie uruchamiaj więcej niż tuzina skanowań tego hosta dziennie. + W przypadku nadużyć, host zostanie wyłączony, a Nmap będzie zwracał + komunikat Failed to resolve given hostname/IP: + scanme.nmap.org. pozwolenie dotyczy także adresów + scanme2.nmap.org, + scanme3.nmap.org i następnych, choć + hosty te jeszcze nie istnieją. + + + nmap -v scanme.nmap.org + + Pozwoli na przeskanowanie wszystkich portów TCP adresu + scanme.nmap.org. Opcja + podwyższy poziom szczegółowości zwracanych informacji. + + + nmap -sS -O scanme.nmap.org/24 + + Uruchamia skanowanie SYN wszystkich 255 hostów znajdujących się + w tej samej klasie C, co host scanme.nmap.org. Dodatkowo + wykonywana jest próba detekcji systemu operacyjnego dla każdego hosta, + który jest aktywny. Wymaga to uprawnień użytkownika root, z powodu + wykorzystania skanowania SYN i wykrywania systemu operacyjnego. + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Uruchamia enumerację hostów i skanowanie TCP pierwszej połowy + każej z 255 możliwych 8-mio bitowych podsieci klasy B 198.116. + Wykrywane jest działanie usług sshd, DNS, pop3d, imapd i portu 4564. + Dla każdego z tych portów, który został wykryty jako otwarty + przeprowadzane jest wykrywanie wersji działającej aplikacji. + + + nmap -v -iR 100000 -P0 -p 80 + + + Poleca Nmapowi na wybranie 100,000 losowych hostów i przeskanowanie + ich w poszukiwaniu serwerów WWW (port 80). Enumeracja hostów jest wyłączona + za pomocą opcji , ponieważ wysyłanie najpierw pakietów + w celu określenia czy host jest aktywny nie ma sensu, jako że i tak jest + wykonywany test tylko na jednym porcie per host. + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Skanuje 4096 adresów IP w poszukiwaniu serwerów WWW (bez pingowania + ich) i zapisuje wyniki w plikach XML i grepowalnym. + + + + + Błędy + + Jak i jego autor, Nmap nie jest doskonały. Możesz jednak pomóc + przysyłając raporty dotyczące błędów lub nawet wysyłając własne poprawki. + Jeśli Nmap nie zachowuje sie w sposób którego oczekujesz, zacznij od + aktualizacji do najnowszej wersji dostępnej pod adresem + . Jeśli problem nadal + występuje, wykonaj trochę testów dla określenia czy podobny problem nie + został już wykryty i oznaczony. Spróbuj poszukać Googlem komunikatu + błędu lub poprzeglądaj archiwa listy dyskusyjnej Nmap-dev pod adresem + . Przeczytaj również cała dokumentację. + Jeśli nic nie pomoże, wyślij raport opisujący błąd po angielsku na adres + nmap-dev@insecure.org. Proszę dołącz wszystko co udało Ci + się ustalić na temat tego problemu, jak również informację o używanej + wersji Nmapa i systemie operacyjnym na którym jest uruchamiany. + Opisy problemów i pytania dotyczące używania Nmapa wysłane na adres + nmap-dev@insecure.org z większym prawdopodobieństwem doczekają sie + szybkiej odpowiedzi, niż wysłane bezpośrednio do Fyodora. + + Poprawki błędnego kodu są milej widziane, niż opisy błedów. + Podstawowe instrukcje tworzenia poprawek są opisane na stronie + . Poprawki + mogą być wysyłane na nmap-dev (rekomendowane) lub bezpośrednio do + Fyodora. + + + + Autor + Fyodor + fyodor@insecure.org + () + + + Setki ludzi wniosły wartościowy wkład w rozwój Nmapa. Szczegóły są + zamieszczane w pliku CHANGELOG, który + jest rozpowszechniany z Nmapem i jest również dostępny pod adresem + . + + + + + + Uwarunkowania prawne + + + Unofficial Translation Disclaimer / Oświadczenie dotyczące tłumaczenia + + This is an unnofficial translation of the Nmap + license details into polish. It was not written by + Insecure.Com LLC, and does not legally state the distribution terms + for Nmap -- only the original English text does that. However, we + hope that this translation helps polish speakers understand the + Nmap license better. + + To jest nieoficjalne tłumaczenie licencji Nmapa + na język polski. Nie zostało ono napisane przez Insecure.Com LLC, + i przez to nie może być uważane za wiążące, tak jak jego angielska wersja, + jednakże uważamy, że tłumaczenie to pozwoli lepiej zrozumieć licencję Nmapa. + + + + + + Prawa autorskie i licencjonowanie Nmap + +Prawa autorskie (1996-2005) do programu Nmap Security Scanner posiada +Insecure.Com LLC. Nmap jest także zastrzeżonym znakiem towarowym Insecure.Com +LLC. Ten program jest wolnym oprogramowaniem; możliwa jest jego redystrybucja +i/lub modyfikowanie zgodnie z zasadami licencji GNU General Public License +opublikowanej przez Free Software Foundation; Wersja 2. Gwarantuje ona prawo +do używania, modyfikowania i redystrybucji tego oprogramowania pod pewnymi +warunkami. Jeśli technologia Nmapa jest integrowana z innymi programami, możliwa +jest sprzedaż alternatywnych licencji (kontakt sales@insecure.com). +Wielu producentów skanerów bezpieczeństwa licencjonuje technologie Nmapa takie +jak wykrywanie hostów, skanowanie portów, wykrywanie systemów operacyjnych i +wykrywanie usług/wersji. + +GPL nakłada isotne ograniczenia w stosunku do produktów pochodnych +, jednak nie jest jeszcze dostępna dokładna ich definicja. +Dla uniknięcia nieporozumień zakładamy, że aplikacja jest produktem pochodnym +w przypadku gdy spełnia któryś z warunków: + + +Integruje kod źródłowy Nmapa +Odczytuje lub dołącza chronione prawami autorskimi pliki Nmapa, + takie jak nmap-os-fingerprints czy + nmap-service-probes. +Uruchamia Nmapa i przetwarza jego wyniki (w odróżnieniu od + aplikacji, które uruchamiają Nmapa i wyświetlają nie przetworzone raporty + i przez to nie są produktami pochodnymi). +Integrują/włączają/agregują Nmapa w wykonywalnym instalatorze, + tak jak stworzone za pomocą InstallShield. +Wykorzystują bibliotekę lub program wykonujący jedno z + powyższych. + + +Warunki Nmapa powinny dotyczyć części i pochodnych +programu Nmap. Powyższa lista ma na celu klarowne przedstawienie naszej +interpretacji programów pochodnych z przykładami. Ograniczenia dotyczą tylko +przypadków, w których Nmap jest rozpowszechniany razem z programem pochodnym. +Na przykład nic nie stoi na przeszkodzie napisania i sprzedawania własnego +interfejsu do Nmapa. Wystarczy rozprowadzać go oddzielnie podając użytkownikom +adres do pobierania Nmapa. + +Nie uważamy tego za ograniczenia dodane do GPL, ale jako klarowną +interpretację programów pochodnych, jako że dotyczy to naszego +produktu opartego na GPL. Jest to zbliżone do sposobu w jaki Linus Torvalds +opublikował swoją interpretację dotyczącą programów pochodnych, +opartych na modułach kernela Linuxa. Nasza interpretacja odnosi się tylko do +Nmapa - nie mówimy o żadnym innym produkcie GPL. + +Jeśli masz jakiekolwiek pytania dotyczące ograniczeń licencji GPL przy +zastosowaniach Nmapa w produktach nie opartych na GPL, chętnie pomożemy. +Jak wspomniano wyżej, oferujemy także alternatywną licencję do integrowania +Nmapa we własnych aplikacjach i urządzeniach. Licencje na integrację Nmapa +zostały sprzedane wielu producentom oprogramowania związanego z bezpieczeństwem +i ogólnie zawierają dożywotnią licencję oraz dostarczają priorytetowego +wsparcia technicznego wraz z aktualizacjami i pomagają opłacić dalszy rozwój +Nmapa. Proszę o kontakt z sales@insecure.com w celu uzyskania +dalszych informacji. + +Jako specjalny wyjątek dla warunków GPL, Insecure.Com LLC zezwala na +linkowanie kodu tego programu z dowolną wersją biblioteki OpenSSL, która jest +dystrybuowana na licencji identycznej do umieszczonej w pliku Copying.OpenSSL +oraz na dystrybucję obu w postaci zlinkowanej. Musisz przestrzegać licencji GPL +we wszystkich aspektach wykorzystania kodu, innym niż OpenSSL. +Jeśli zmodyfikujesz wspomniany plik, możesz rozszerzyć ten wyjątek o Twoją +wersję, ale nie jesteś do tego zobligowany. + +Jeśli otrzymałeś(aś) te pliki z pisemną licencją lub kontraktem +zmieniającym powyższe zapisy, mają one pierwszeństwo nad umieszczonymi tutaj. + + + + + Licencja Creative Commons dla tego podręcznika Nmap + Prawa (2005) do tego podręcznika Nmapa posiada Insecure.Com LLC. Jest on + udostępniany w oparciu o wersję 2.5 licencji + Creative Commons + Attribution License. Pozwala ona na redystrybucję i modyfikowanie + w potrzebnym zakresie tak długo, jak zostanie podane oryginalne źródło. + Alternatywnie możesz traktować ten dokument jako udostępniany na takiej + samej licencji jak Nmap (opisanej wcześniej). + + + + Dostępność kodu źródłowego i wkład społeczności + +Kod źródłowy dla tego programowania jest dostępny, ponieważ uważamy, że +użytkownicy mają prawo wiedzieć dokładnie co program robi, zanim go uruchomią. +Pozwala to także na przeprowadzenie audytu kodu pod kątem bezpieczeństwa +(jak dotąd nie wykryto problemu tego typu). + +Kod źródłowy pozwala również na przenoszenie Nmapa na nowe platformy, na +poprawianie błędów i dodawanie nowych funkcji. Mocno zachęcamy do wysyłania +swoich zmian na adres fyodor@insecure.org w celu możliwej +integracji z główną dystrybucją. Wysłanie tych zmian do Fyodora lub na jedną +z list dyskusyjnych dla deweloperów Insecure.Org, powoduje przekazanie praw do +nielimitowanego, nie wyłącznego prawa do ponownego wykorzystania, modyfikacji +i relicencjonowania tego kodu. Nmap zawsze będzie dostępny jako Open Source, +lecz jest to istotne z powodu dewastujących problemów jakie pojawiały się w +innych projektach Free Software (takich jak KDE i NASM). Okazjonalnie +licencjonujemy kod do firm trzecich, jak to wspomniano wyżej. Jeśli chcesz +dodać specjalną licencję dla swojego wkładu, wystarczy dołączyć odpowiednią +informację przy wysyłaniu kodu do nas. + + +Brak gwarancji + +Program ten jest rozpowszechniany z nadzieją, że będzie użyteczny, jednak +BEZ ŻADNEJ GWARANCJI; także bez założonej gwarancji PRZYDATNOŚCI HANDLOWEJ lub +PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. Zobacz licencję GNU General Public +License dla dalszych szczegółów pod adresem +, jej polskie nieoficjalne +tłumaczenie +lub w pliku COPYING dołączanym do Nmapa. + +Należy również zwrócić uwagę, że Nmap okazjonalnie potrafi spowodować +zaprzestanie działania źle napisanych aplikacji, stosu TCP/IP lub nawet całego +systemu operacyjnego. Jest to bardzo rzadko spotykane, ale ważne jest, aby o tym +pamiętać. Nmap nie powinien być nigdy uruchamiany przeciwko systemom +krytycznym, o ile nie jesteś przygotowany(a) na ewentualną przerwę +w działaniu. Potwierdzamy, że Nmap może spowodować awarię systemów lub sieci +i wypieramy się jakiejkolwiek odpowiedzialności za uszkodzenia lub problemy +spowodowane przez jego działanie. + + +Nieodpowiednie użycie +Z powodu istnienia niewielkiego ryzyka spowodowania awarii i ponieważ +niektóre czarne kapelusze lubią używać Nmapa do wykonania rekonesansu przed +atakiem systemu, administratorzy mogą się denerwować i zgłaszać swoje protesty +z powodu skanowania ich systemów. Z tego powodu, najczęściej zalecane jest +uzyskanie odpowiedniej zgody przed wykonaniem nawet delikatnego skanowania +sieci. + +Z powodów bezpieczeństwa, Nmap nie powinien być nigdy instalowany ze +specjalnymi uprawnieniami (np. suid root). + + +Oprogramowanie firm trzecich +Ten produkt zawiera oprogramowanie stworzone przez +Apache Software Foundation. +Zmodyfikowana wersja biblioteki Libpcap +portable packet capture library jest dołączana do dystrybucji Nmapa. +Wersja Nmapa dla systemu Windows wykorzystuje opartą na libpcap bibliotekę +WinPcap (zamiast libpcap). Obsługę +wyrażeń regularnych zapewnia biblioteka +PCRE, która jest oprogramowaniem +open source, napisanym przez Philip Hazel. Niektóre funkcje dotyczące niskiego +poziomu sieci wykorzystują bibliotekę +Libdnet, napisaną przez Dug +Songa. Zmodyfikowana jej wersja jest dołączana do dystrybucji Nmapa. Nmap może +być opcjonalnie linkowany z biblioteką kryptograficzną +OpenSSL, używaną do detekcji wersji +SSL. Wszystkie opisane w tym paragrafie programy firm trzecich są +rozpowszechniane na licencji BSD. + + +Klasyfikacja eksportowa Stanów Zjednoczonych +Ameryki Północnej +US Export Control: Insecure.Com LLC wierzy, że Nmap kwalifikuje się pod +oznaczenie US ECCN (export control classification number) 5D992. Kategoria ta +jest opisana jako Oprogramowanie dotyczące bezpieczeństwa informacji +nie objęte 5D002. Jedynym ograniczeniem tej kategorii jest AT +(anty-terroryzm), która odnosi się do większości dóbr i zabrania eksportu do +niektórych awanturniczych krajów takich jak Iran czy Północna Korea. Z tego +powodu Nmap nie wymaga żadnej specjalnej licencji, zgody lub innych autoryzacji +rządu USA. + + + + + +
diff --git a/docs/man-xlate/nmap-man-pt-br.xml b/docs/man-xlate/nmap-man-pt-br.xml new file mode 100644 index 000000000..9349776f7 --- /dev/null +++ b/docs/man-xlate/nmap-man-pt-br.xml @@ -0,0 +1,4083 @@ + + + +
+ + Guia de Referência do Nmap (Página do Manual) + + + + + nmap + + 1 + + + + nmap + + Ferramenta de exploração de rede e segurança / scanner de + portas + + + + + + + nmap + + + Tipo de Scan + + + + Opções + + + + especificação do alvo + + + + + + Descrição + + + + Este documento descreve a mais recente versão do Nmap, + disponível em + ou em . + Por favor, assegure-se de que você está utilizando a última versão + antes de reclamar que uma opção não funciona como foi + descrita. + + + + O Nmap (Network Mapper) é uma ferramenta de código + aberto para exploração de rede e auditoria de segurança. Ela foi + desenhada para escanear rapidamente redes amplas, embora também funcione + muito bem contra hosts individuais. O Nmap utiliza pacotes IP em estado + bruto (raw) de maneira inovadora para determinar quais hosts estão + disponíveis na rede, quais serviços (nome da aplicação e versão) os + hosts oferecem, quais sistemas operacionais (e versões de SO) eles estão + executando, que tipos de filtro de pacotes/firewalls estão em uso, e + dezenas de outras características. Embora o Nmap seja normalmente + utilizado para auditorias de segurança, muitos administradores de + sistemas e rede consideram-no útil para tarefas rotineiras tais como + inventário de rede, gerenciamento de serviços de atualização agendados, + e monitoramento de host ou disponibilidade de serviço. + + A saída do Nmap é uma lista de alvos escaneados, com informações + adicionais de cada um dependendo das opções utilizadas. Uma informação + chave é a tabela de portas interessantes. Essa tabela + lista o número da porta e o protocolo, o nome do serviço e o estado. O + estado pode ser aberto (open), filtrado + (filtered), fechado (closed), ou + não-filtrado (unfilterd). Aberto (open) significa que + uma aplicação na máquina-alvo está escutando as conexões/pacotes naquela + porta. Filtrado (filtered) significa que o firewall, + filtro ou outro obstáculo de rede está bloqueando a porta de forma que o + Nmap não consegue dizer se ela está aberta (open) ou + fechada (closed). Portas fechadas + (closed)não possuem uma aplicação escutando nelas, embora + possam abrir a qualquer instante. Portas são classificadas como + não filtradas (unfiltered)quando elas respondem às + sondagens do Nmap, mas o Nmap não consegue determinar se as portas estão + abertas ou fechadas. O Nmap reporta as combinações + aberta|filtrada (open|filtered)e + fechada|filtrada (closed|filtered)quando não consegue + determinar qual dos dois estados descrevem melhor a porta. A tabela de + portas também pode incluir detalhes de versão de software quando a + detecção de versão for solicitada. Quando um scan do protocolo IP é + solicitado (), o Nmap fornece informações dos + protocolos IP suportados ao invés de portas que estejam abertas. + + Além da tabela de portas interessantes, o Nmap pode fornecer + informações adicionais sobre os alvos, incluíndo nomes de DNS reverso, + possível sistema operacional, tipos de dispositivos e endereços + MAC. + + Um scan típico do Nmap é mostrado em . Os únicos argumentos que o Nmap utiliza + nesse exemplo são , para habilitar a detecção de SO e + a versão, para execução mais rápida, e os hostnames + de dois alvos. + + + Uma amostra de scan do Nmap + + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + A versão mais nova do Nmap pode ser obtida em . A versão mais nova da página do + manual está disponível em . + + + + Notas da Tradução + + Esta edição em Português (Brasil) do Guia de Referência do Nmap + foi traduzida da versão [3244] do original em Inglês por + Lucien Raven :> (aka:ekita) + lucienraven.at.yahoo.com.br e foi revisada por Humberto + Sartini humberto.at.onda.com.br. Embora tenhamos a + esperança de que esta tradução torne o Nmap mais acessível para os + brasileiros do mundo todo, não podemos garantir que ela esteja tão + completa ou atualizada quanto a versão original em Inglês. Este trabalho + pode ser modificado e redistribuído sob os termos da Licença de Atribuição + da Creative Commons. Algumas liberdades foram tomadas na + tradução de expressões, jargão e gíria. Para maiores detalhes sobre a + tradução, sugestões ou críticas, envie um e-mail para os tradutores -- + não esqueça de substituir '.at.' por '@'. [Rev:3244-01] + + + + Sumário das Opções + + Este sumário de opções é mostrado quando o Nmap é executado sem + argumentos, e a última versão está sempre disponível em . Ele ajuda as + pessoas a lembrar das opções mais comuns, mas não substitui a + documentação mais técnica do restante deste manual. Algumas opções + obscuras não estão incluídas aqui. + + + Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -P0: Treat all hosts as online -- skip host discovery + -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve] + --dns-servers <serv1[,serv2],...>: Specify custom DNS servers + --system-dns: Use OS's DNS resolver +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Scan only the ports listed in the nmap-services file) + -r: Scan ports consecutively - don't randomize +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-intensity <level>: Set from 0 (light) to 9 (try all probes) + --version-light: Limit to most likely probes (intensity 2) + --version-all: Try every single probe (intensity 9) + --version-trace: Show detailed version scan activity (for debugging) +OS DETECTION: + -O: Enable OS detection (try 2nd generation, then 1st if that fails) + -O1: Only use the old (1st generation) OS detection system + -O2: Only use the new OS detection system (no fallback) + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + Options which take <time> are in milliseconds, unless you append 's' + (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). + -T[0-5]: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes + --min-parallelism/max-parallelism <time>: Probe parallelization + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies + probe round trip time. + --max-retries <tries>: Caps number of port scan probe retransmissions. + --host-timeout <time>: Give up on target after this long + --scan-delay/--max-scan-delay <time>: Adjust delay between probes +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC address +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice for more effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --log-errors: Log errors/warnings to the normal-format output file + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --webxml: Reference stylesheet from Insecure.Org for more portable XML + --no-stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + Especificação de Alvo + + Tudo na linha de comando do Nmap que não for uma opção (ou + argumento de uma opção) é tratado como uma especificação de um + host-alvo. O caso mais simples é especificar um endereço IP como alvo ou + um hostname para ser escaneado. + + Algumas vezes você pode querer escanear uma rede inteira de hosts + adjacentes. Para isso o Nmap suporta o estilo de endereçamento CIDR. + Você pode acrescentar + endereçamentoCIDR + /númerodebits em um endereço + ou hostname e o Nmap irá escanear cada endereço IP para o qual os + primeiros númerosdebits sejam o mesmo que o + IP de referência ou o hostname dado. Por exemplo, 192.168.10.0/24 + escanearia os 256 hosts entre 192.168.10.0 (binário: 11000000 + 10101000 00001010 00000000) e 192.168.10.255 (binário: + 11000000 10101000 00001010 11111111), inclusive. + 192.168.10.40/24 faria exatamente a mesma coisa. Dado que o host + scanme.nmap.org está no endereço IP 205.217.153.62, a especificação + scanme.nmap.org/16 escanearia os 65.536 endereços IP entre 205.217.0.0 e + 205.217.255.255. O menor valor permitido é /1, que equivale a escanear + metade da Internet. O maior valor é 32, que escaneia apenas o host + nomeado ou endereço IP porque todos os bits de endereçamento estão + fixos. + + A notação CIDR é curta mas nem sempre flexível o suficiente. Por + exemplo, você pode querer escanear 192.168.0.0/16 mas desejar pular + todos os IPs terminados em .0 ou .255 porque eles são normalmente + endereços de broadcast. O Nmap suporta isso através de endereçamento por + faixa de octeto. Ao invés de especificar um endereço IP normal, você + pode especificar uma lista de números separada por vírgulas ou faixa de + números para cada octeto. Por exemplo, 192.168.0-255.1-254 irá pular + todos os endereços na faixa que terminarem com .0 e/ou .255. Faixas não + precisam ser limitadas ao octeto final: o especificador + 0-255.0-255.13.37 irá executar um scan em toda a Internet buscando os + endereços IP terminados em 13.37. Esse tipo de amostragem ampla pode ser + útil em levantamentos e pesquisas da Internet toda. + + Endereços IPv6 podem apenas ser especificados utilizando o + endereço ou hostname IPv6 completamente qualificado. Faixas CIDR e + octetos não são suportados para o IPv6 porque eles raramente são + úteis. + + O Nmap aceita múltiplas especificações de host na linha de + comando, e elas não precisam ser do mesmo tipo. O comando nmap scanme.nmap.org 192.168.0.0/16 + 10.0.0,1,3-7.0-255 executa o que se espera que dele. + + Embora os alvos sejam normalmente especificados na linha de + comando, as seguintes opções também estão disponíveis para controlar a + seleção de alvos: + + + + (Entrada à + partir de uma lista) + + + + -iL + + + Lê a especificação de alvos à partir de um + arquivodeentrada. Passar uma lista + enorme de hosts na linha de comando é muito ruim, ainda que seja + comumente desejável. Por exemplo, seu servidor DHCP pode exportar + uma lista de 10.000 endereços correntes em uso que você deseja + escanear. Ou talvez você deseje escanear todos os endereços IP + exceto aqueles usados para localizar hosts + que usam endereços IP estáticos não-autorizados. Simplesmente gere + uma lista de hosts a escanear e passe o nome do arquivo para o + Nmap como um argumento à opção . As entradas + podem estar em qualquer um dos formatos aceitos pelo Nmap na linha + de comando (endereço IP, hostname, CIDR, IPv6, ou faixas de + octetos). Cada entrada deve ser separada por um ou mais espaços em + branco, tabulações ou quebra de linhas. Você pode especificar um + hífen (-) como nome de arquivo se quiser que o + Nmap leia os nomes de hosts da entrada padrão (standard input) ao + invés de um arquivo. + + + + + (Escolhe alvos + aleatórios) + + + + -iR + + + Para levantamentos na Internet toda e outras pesquisas, você + pode querer escolher alvos de forma aleatória. O argumento + número de hosts diz ao Nmap quantos IPs + ele deverá gerar. IPs indesejáveis, tais como aqueles de certas + redes privativas, multicast e faixas de endereços não-alocadas são + automaticamente desconsideradas. O argumento 0 + (zero) pode ser especificado caso deseje um scan sem fim. Tenha em + mente que alguns administradores de rede "torcem o nariz" para + scans não-autorizados de suas redes e podem reclamar. Use esta + opção por sua conta e risco! Se você estiver realmente entediado + em uma tarde chuvosa, tente o comando nmap -sS -PS80 -iR + 0 -p 80 para localizar servidores web aleatórios para + navegar. + + + + + + (Exclui hosts/redes) + + + + --exclude + + + Especifica uma lista de alvos, separados por vírgula, a + serem excluídos do scan mesmo que façam parte da faixa de rede + especificada. A lista que você fornece utiliza a sintaxe normal do + Nmap, portanto ela pode incluir nomes de hosts, blocos de rede + CIDR, faixas de octetos, etc. Isso pode ser útil quando a rede que + você deseja escanear inclui servidores de missão crítica + intocáveis, sistemas que reajam contrariamente a escaneamento de + portas ou sub-redes administradas por outras pessoas. + + + + + + (Exclui a lista do arquivo) + + + + --excludefile + + + Oferece a mesma funcionalidade que a opção + , exceto que os alvos a excluir são + fornecidos em um "arquivo separado" , + delimitados por quebra de linhas, espaço em branco ou tabulação, + ao invés de na linha de comando. + + + + + + + Descoberta de Hosts + + Um dos primeiros passos em qualquer missão de reconhecimento de + uma rede é reduzir um conjunto (às vezes enorme) de faixas de endereços + IP, em uma lista de hosts ativos e interessantes. Escanear cada porta de + cada endereço IP é vagaroso e normalmente desnecessário. É claro que o + que torna um host interessante depende muito do propósito do scan. + Administradores de rede podem estar apenas interessados em hosts que + executam um determinado serviço, enquanto os auditores de segurança + podem se importar com cada dispositivo que possuir um endereço IP. Um + administrador pode se sentir à vontade em usar o ping ICMP para + localizar os hosts na rede interna, enquanto um profissional externo de + análise de vulnerabilidades (penetration tester) pode utilizar um + conjunto diversificado de dezenas de sondagens em uma tentativa de + burlar as restrições do firewall. + + As necessidades para o descobrimento de host são muito diversas e, + por isso, o Nmap oferece uma ampla variedade de opções para customizar + as técnicas utilizadas. A descoberta de host às vezes é chamada de ping + scan, mas ela vai muito além dos simples pacotes ICMP de echo request + associados com a ferramenta onipresente conhecida como ping. Os usuários + podem pular a etapa do ping inteiramente com uma lista de scan + () ou desabilitanto o ping (), + ou enfrentar a rede com combinações arbitrárias de sondagens + multi-portas TCP SYN/ACK, UDP e ICMP. O objetivo dessas sondagens é + solicitar respostas que mostrem que um endereço IP está realmente ativo + (é utilizado por um host ou dispositivo de rede). Em muitas redes, + apenas uma pequena percentagem dos endereços IP está ativa em um dado + momento. Isso é particularmente comum com o espaço de endereçamento + privativo abençoado pela RFC1918 como, por exemplo, 10.0.0.0/8. Essa + rede tem 16 milhões de IPs, mas eu já a vi sendo utilizado em empresas + com menos de mil máquinas. A descoberta de hosts pode encontrar essas + máquinas escassamente alocadas em um mar de endereços IP. + + Se nenhuma opção de descoberta de hosts for dada, o Nmap envia um + pacote TCP ACK destinado a porta 80 e uma procura ICMP Echo Request a + cada máquina-alvo. Uma exceção a isso é que um scan ARP é utilizado para + cada alvo localizado na rede ethernet local. Para usuários Unix sem + privilégios, com shell, um pacote SYN é enviado ao invés do ack + utilizando a chamada de sistema connect(). Esses + valores padrão equivalem às opções . Esta + descoberta de host freqüentemente é suficiente para escanear redes + locais, mas um conjunto de sondagens mais abrangentes é recomendado para + auditoria de segurança. + + As opções (que selecionam tipos de ping) + podem ser combinadas. Você pode aumentar as chances de penetrar em um + firewall rígido enviando muitos tipos de sondagens, utilizando + diferentes portas/flags TCP e códigos ICMP. Note também que a descoberta + por ARP () é feita por padrão contra alvos na rede + ethernet local mesmo que você especifique outras opções + , porque é quase sempre mais rápida e + eficiente. + + + + Por definição, o Nmap faz a descoberta de host e então executa um + escaneamento de portas contra cada host que ele determina que está + ativo. Isto é verdade mesmo que você especifique tipos de busca + não-padronizadas de hosts, tais como sondagens UDP + (). Leia sobre a opção para + saber como executar apenas uma descoberta de hosts, + ou utilize para pular a descoberta de hosts e + escanear as portas de todos os hosts-alvo. As seguintes opções controlam + a descoberta de hosts: + + + + (Scan Listagem) + + + + -sL + + + + Scan Listagem + + + O scan listagem é uma forma degenerada de descoberta de + hosts que simplesmente lista cada host da rede especificada, sem + enviar nenhum pacote aos hosts-alvos. Por padrão o Nmap fará a + resolução de DNS reverso dos hosts para descobrir seus nomes. + Ainda é surpreendente a quantidade de informações úteis que + simples nomes de hosts podem dar. Por exemplo, + fw.chi.playboy.com é o firewall do escritório + de Chicago da Playboy Enterprises. Nmap também reporta o número + total de endereços IP ao final. O scan listagem é um bom teste de + sanidade para assegurar que você está com a lista correta de + endereços IP dos seus alvos. Se os hosts mostrarem nomes de + domínios que você não reconhece, vale a pena investigar melhor + para evitar scanear a rede da empresa errada. + + Uma vez que a idéia é apenas mostrar uma lista dos + hosts-alvos, as opções de funcionalidade de nível mais alto tais + como scan de portas, detecção de SO, ou scan utilizando ping, não + podem ser combinadas com esta opção. Se você deseja desabilitar o + scan utilizando ping enquanto executa funções de nível elevado, + leia a opção . + + + + + (Scan usando Ping) + + + Esta opção diz ao Nmap para somente + + -sP + + Scan usando Ping + executar um scan usando o ping (descoberta de + hosts), e então mostrar os hosts disponíveis que responderam ao + scan. Nenhum teste adicional (tais como escaneamento de portas e + deteção de SO) é executado. Isto é um pouco mais intrusivo que o + scan listagem, e pode ser usado para os mesmos propósitos. Permite + um reconhecimento leve de uma rede-alvo sem chamar muita atenção. + Saber quantos hosts estão ativos é mais valioso para invasores que + a lista fornecida pelo scan listagem com cada endereço IP e seu + nome de host. + + Administradores de sistemas frequentemente acham esta opção + valiosa. Ela pode ser facilmente utilizada para contar o número de + máquinas disponíveis em uma rede ou monitorar a disponibilidade + dos servidores. Isto é normalmente chamado de varredura com ping + (ping sweep), e é mais confiável do que fazer um ping em um + endereço de broadcast, pois muitos hosts não respondem a pesquisas + com broadcast. + + A opção envia um ICMP echo request e um + pacote TCP para a porta 80 por padrão. Quando executada por um + usuário sem privilégios, um pacote SYN é enviado (usando uma + chamada connect()) para a porta 80 no alvo. + Quando um usuário privilegiado tenta escanear alvos na rede + ethernet local, requisições ARP () são + utilizadas, a menos que tenha sido + especificado. A opção pode ser combinada com + qualquer um dos tipos de sondagens de descobrimento (as opções + , excluindo ) para maior + flexibilidade. Se qualquer uma dessas opções de tipos de sondagens + e número de porta for utilizada, as sondagens padrão (ACK e echo + request) são sobrepostas. Quando firewalls restritivos estão + posicionados entre o host de origem que executa o Nmap e a + rede-alvo, utilizar essas técnicas avançadas é recomendado. Do + contrário, hosts podem ser perdidos quando o firewall ignorar as + sondagens ou as respostas delas. + + + + + (Sem ping) + + + + -P0 + + + Esta opção pula completamente o estágio de descoberta do + Nmap. Normalmente o Nmap utiliza este estágio para determinar as + máquinas ativas para escaneamento mais agressivo. Por padrão, o + Nmap apenas executa sondagens agressivas tais como escaneamento de + portas, detecção de versões, ou detecções do SO contra hosts que + foram verificados como ativos. Desabilitar a descoberta de hosts + com faz com que o Nmap teste as funções de + escaneamento solicitadas contra todos os + endereços IP alvos especificados. Portanto se um espaço de + endereçamento alvo do tamanho de uma classe B (/16) for + especificado na linha de comando, todos os 65.536 endereços IP + serão escaneados. O segundo caracter da opção + é um zero e não a letra O. A descoberta de hosts apropriada é + desconsiderada como no scan listagem, mas ao invés de parar e + mostrar a lista de alvos, o Nmap continua a executar as funções + solicitadas como se cada alvo IP estivesse ativo. + + + + + (Ping usando TCP + SYN) + + + + -PS + + + + Ping usando TCP SYN + + + Esta opção envia um pacote TCP vazio com a flag SYN marcada. + A porta de destino padrão é a 80 (configurada em tempo de + compilação pela variável DEFAULT_TCP_PROBE_PORT no + nmap.h), mas uma porta alternativa pode ser + especificada como um parâmetro. Até uma lista de portas separadas + por vírgula pode ser especificada (p.ex. + ), nesse caso as + sondagens serão tentadas contra cada porta em paralelo. + + A flag SYN sugere aos sistemas remotos que você está + tentando estabelecer uma comunicação. Normalmente a porta de + destino estará fechada e um pacote RST (reset) será enviado de + volta. Se acontecer de a porta estar aberta, o alvo irá dar o + segundo passo do cumprimento-de-três-vias (3-way-handshake) do TCP + respondendo com um pacote TCP SYN/ACK TCP. A máquina executando o + Nmap então derruba a conexão recém-nascida respondendo com um RST + ao invés de enviar um pacote ACK que iria completar o + cumprimento-de-três-vias e estabelecer uma conexão completa. O + pacote RST é enviado pelo kernel da máquina que está executando o + Nmap em resposta ao SYN/ACK inesperado, e não pelo próprio + Nmap. + + O Nmap não se importa se a porta está aberta ou fechada. + Tanto a resposta RST ou SYN/ACK discutidas anteriormente dizem ao + Nmap se o hosts está disponível e responsivo. + + Em caixas UNIX, apenas o usuário privilegiado + root é capaz, normalmente, de enviar e receber + pacotes TCP em estado bruto. Para usuários não privilegiados um + contorno é automaticamente empregado em concordância com a chamada + de sistema connect() iniciada contra cada porta-alvo. Isso tem o + efeito de enviar um pacote SYN ao host alvo, em uma tentativa de + se estabelecer uma conexão. Se o connect() retornar com sucesso + rápido ou com uma falha ECONNREFUSED, a pilha TCP subjacente deve + ter recebido um SYN/ACK ou RST e o host é marcado como disponível. + Se a tentativa de conexão for deixada largada até que um timeout + ocorra, o host é marcado como indisponível. Esse contorno também é + usado para conexões IPv6, pois o suporte a construção de pacotes + IPv6 em estado bruto ainda não está disponível no Nmap. + + + + + (Ping usando TCP + ACK) + + + + -PA + + + + Ping usando TCP ACK + + + O ping usando TCP ACK é muito similar ao recém-discutido + ping usando SYN. A diferença, como você poderia imaginar, é que a + flag TCP ACK é marcada ou invés da flag SYN. Tal pacote ACK finge + reconhecer dados de uma conexão TCP estabelecida, quando nenhuma + conexão existe de fato. Então os hosts remotos deveriam sempre + responder com pacotes RST, revelando sua existência no + processo. + + A opção utiliza a mesma porta padrão + que a sondagem SYN (80) e pode também obter uma lista de portas + destino no mesmo formato. Se um usuário privilegiado tenta isto, + ou se um alvo IPv6 é especificado, o contorno connect() discutido + anteriormente é utilizado. Esse contorno é imperfeito pois o + connect() está realmente enviando um pacote SYN ao invés de um + ACK. + + O motivo para oferecer ambas as sondagens ping, que utilizam + SYN e ACK, é maximizar as chances de passar por firewalls. Muitos + administradores configuram roteadores e outros firwalls simples + para bloquear pacotes SYN entrantes exceto aqueles destinados a + serviços públicos como o site web da empresa ou servidor de + correio eletrônico. Isso evita as demais conexões entrantes na + organização, permitindo aos usuários fazer conexões desobstruidas + à Internet. Essa aproximação não-orientada à conexão (non-stateful + ou stateless) consome uns poucos recursos no firewall/roteador e é + amplamente suportada por filtros de hardware e software. O + firewall de software Netfilter/iptables do Linux oferece a + conveniência da opção para implementar essa + abordagem stateless. Quando regras stateless do firewall tais como + essas são implementadas, sondagens de ping usando SYN + () muito provavelmente serão bloqueadas quando + forem enviadas à portas fechadas. Em tais casos, a sondagem ACK se + destaca pois ela simplesmente passa por essas regras. + + Outro tipo comum de firewall utiliza regras orientadas a + conexão que descartam pacotes inesperados. Esta característica era + encontrada inicialmente apenas em firewalls de alto-nível, embora + tenha se tornado mais comum com o passar dos anos. O sistema + Netfilter/iptables do Linux suporta esta característica através da + opção , que categoriza os pacotes baseados + no estado da conexão. Uma sondagem SYN tem maiores chances de + funcionar contra um sistema assim, pois pacotes ACK inesperados + são normalmente reconhecidos como falsos e descartados. Uma + solução para esse dilema é enviar ambas as sondagens SYN e ACK + especificando e . + + + + + (Ping usando UDP) + + + + -PU + + + + Ping usando UDP + + + Outra opção de descoberta de hosts é o ping usando UDP, que + envia um pacote UDP vazio (a menos que + seja especificado) para as portas + informadas. O argumento "listadeportas" tem o mesmo formato que os + discutidos anteriormente nas opções e + . Se nenhuma porta for especificada, o padrão + é 31338. Esse padrão pode ser configurado em tempo de compilação + alterando DEFAULT_UDP_PROBE_PORT no nmap.h. + Uma porta alta incomum é utilizada como padrão porque enviar para + portas abertas normalmente é indesejado para este tipo particular + de scan. + + Ao bater contra uma porta fechada na máquina-alvo, a + sondagem UDP deve causar um pacote ICMP de porta inalcançável como + resposta. Isso diz ao Nmap que a máquina está ativa e disponível. + Muitos outros tipos de erros ICMP, tais como host/rede + inalcançável ou TTL excedido são indicativos de um host inativo ou + inalcançável. A falta de resposta também é interpretada dessa + forma. Se uma porta aberta é alcançada, a maioria dos serviços + simplesmente ignoram o pacote vazio e falham em retornar qualquer + resposta. É por isso que a porta de sondagem padrão é 31338, que + pouco provavelmente estará em uso. Uns poucos serviços, tal como o + chargen, irá responder a um pacote UDP vazio, e com isso revelará + ao Nmap que a máquina está disponível. + + A principal vantagem deste tipo de scan é que ele passa por + firewalls e filtros que apenas examinam o TCP. Por exemplo, uma + vez eu tive um roteador broadband sem-fio Linksys BEFW11S4. A + interface externa desse dispositivo filtrava todas as portas TCP + por padrão, mas as sondagens UDP ainda causavam mensagens de porta + inalcançável, entregando assim o dispositivo. + + + + + ; ; + (Tipos de Ping do ICMP) + + + + -PE + + + + -PP + + + + -PM + + + + ICMP ping + + + Além dos tipos incomuns de descoberta de hosts TCP e UDP + discutidos anteriormente, o Nmap pode enviar os pacotes-padrão que + normalmente são enviados pelo onipresente programa ping. O Nmap + envia um pacote ICMP do tipo 8 (echo request) ao endereço IP alvo, + esperando como resposta um tipo 0 (Echo Reply) do host disponível. + Infelizmente para muitos exploradores de rede, muitos hosts e + firewalls atualmente bloqueiam esses pacotes, ao invés de + responder como é requerido pela RFC 1122. + Por essa razão, scans puramente ICMP são raramente confiáveis o + suficiente contra alvos desconhecidos na Internet. Mas para + administradores de sistemas monitorando uma rede interna eles + podem ser uma abordagem prática e eficiente. Utilize a opção + para ativar esse comportamento echo + request. + + Embora o echo request seja a pesquisa padrão de um ping + ICMP, o Nmap não pára aqui. A padronização do ICMP (RFC 792) + também especifica timestamp request, information request, e + pacotes address mask request como códigos 13, 15, e 17, + respectivamente. Apesar do propósito ostensivo dessas pesquisas + seja obter informações tais como a máscara do endereço e hora + corrente, eles podem ser facilmente utilizados para descoberta de + hosts. Um sistema que responda está ativo e disponível. O Nmap não + implementa atualmente os pacotes de requisição de informações, + pois eles não são amplamente suportados. A RFC 1122 insiste que + um host NÃO DEVERIA implementar essas mensagens. + Pesquisas de marcação de hora (Timestamp) e máscara de endereço + podem ser enviadas com as opções e + , respectivamente. Uma resposta timestamp + reply (código ICMP 14) ou uma resposta address mask reply (código + 18) revela que o host está disponível. Essas duas pesquisas podem + ser valiosas quando os administradores bloqueiam pacotes echo + request especificamente e esquecem que outras pesquisas ICMP podem + ser usadas com o mesmo propósito. + + + + + (Ping usando ARP) + + + + -PR + + + + Ping usando ARP + + + Um dos cenários de uso mais comuns do Nmap é escanear a LAN + ethernet. Na maioria das LANs, especialmente aquelas que utilizam + a faixa de endereçamento privativo abençoado pela RFC1918, a vasta + maioria dos endereços IP não são utilizados nunca. Quando o Nmap + tenta enviar um pacote IP em estado bruto, tal como um ICMP echo + request, o sistema operacional deve determinar o endereço físico + de destino (ARP) correspondente ao IP-alvo de forma que ele possa + endereçar adequadamente o frame ethernet. Isso normalmente é lento + e problemático, pois os sistemas operacionais não foram escritos + com a expectativa de que precisariam fazer milhões de requisições + ARP contra hosts indisponíveis em um curto período de + tempo. + + O scan ARP encarrega o Nmap e seus algoritmos otimizados de + fazer as requisições ARP. E se ele conseguir uma resposta de + volta, o Nmap não precisa nem se preocupar com os pacotes ping + baseados em IP, uma vez que ele já sabe que o host está ativo. + Isso torna o scan ARP muito mais rápido e mais confiável que os + scans baseados em IP. Portanto isso é feito por padrão quando se + escaneia hosts ethernet que o Nmap detecta estarem posicionados em + uma rede ethernet local. Mesmo se tipos diferentes de ping (tais + como ou ) seja + especificados, o Nmap usa o ARP no lugar para cada um dos alvos + que estiverem na mesma LAN. Se você não quiser de forma nenhuma + fazer um scan ARP, especifique . + + + + + (Não faça resolução DNS) + + + + -n + + + Diz ao Nmap para nunca fazer uma + resolução DNS reversa nos endereços IP ativos que ele encontrar. + Uma vez que o DNS é normalmente lento, isso acelera as + coisas. + + + + + (resolução DNS para todos os alvos) + + + + -R + + + Diz ao Nmap para sempre fazer uma + resolução DNS reversa nos endereços IP-alvos. Normalmente isto + apenas é executado quando uma máquina está ativa. + + + + + (Usa a resolução DNS do + sistema) + + + + --system-dns + + + Por padrão, o Nmap resolve o endereço IP através do envio de + pesquisas (queries) diretamente aos servidores de nome + configurados em seu host, e então escuta as respostas. Muitas das + pesquisas (dezenas) são executadas em paralalo para um melhor + desempenho. Especifique esta opção se desejar utilizar a resolução + DNS do seu sistema (um endereço IP por vez, através da chamada + getnameinfo()). Isto é mais lente e raramente útil, a não ser que + haja um bug no código de DNS do Nmap -- por favor, entre em + contato conosco se for o caso. A resolução DNS do sistema é sempre + usada em escaneamento IPv6. + + + + + (Servidores a utilizar para a pesquisa DNS reversa) + + + + --dns-servers + + + Por padrão o Nmap irá tentar determinar os seus servidores + DNS (para a resolução DNS reversa) através do arquivo resolv.conf + (UNIX) ou do registry (Win32). Opcionalmente você pode usar esta + opção para especificar servidores alternativos. Esta opção não é + honrada se você estiver usando ou um + escaneamento IPv6. Utilizar múltiplos servidores DNS é, + normalmente, mais rápido e mais furtivo do que pesquisar apenas em + um servidor. O melhor desempenho é frequentemente obtido + especificando-se todos os servidores que tem autoridade sobre a + faixa de endereços IP. + + + + + + + Fundamentos do Escaneamento de Portas + + Embora o Nmap tenha crescido em funcionalidade ao longo dos anos, + ele começou como um eficiente scanner de portas, e essa permanece sua + função principal. O simples comando nmap + alvo escaneia mais de 1660 portas + TCP no host alvo. Embora muitos scanner de + portas tenham tradicionalmente agrupado todas as portas nos estados + aberto ou fechado, o Nmap é muito mais granular. Ele divide as portas em + seis estados: aberto(open), + fechado(closed),filtrado(filtered), + não-filtrado(unfiltered), + open|filtered, ou + closed|filtered. + + Esses estados não são propriedades intrínsecas da porta, mas + descrevem como o Nmap as vê. Por exemplo, um scan do Nmap da mesma rede + como alvo pode mostrar a porta 135/tcp como aberta, enquanto um scan ao + mesmo tempo com as mesmas opções, à partir da Internet poderia mostrar + essa porta como filtrada. + + + Os seis estados de porta reconhecidos pelo Nmap + + + aberto (open) + + + Uma aplicação está ativamente aceitando conexões TCP ou + pacotes UDP nesta porta. Encontrar esse estado é freqüentemente o + objetivo principal de um escaneamento de portas. Pessoas + conscientes sobre a segurança sabem que cada porta aberta é um + convite para um ataque. Invasores e profissionais de avaliação de + segurança querem explorar as portas abertas, enquanto os + administradores tentam fechar ou proteger com firewalls sem + bloquear usuários legítimos. Portas abertas são também + interessantes para scans não-relacionados à segurança pois mostram + os serviços disponíveis para utilização na rede. + + + + + fechado (closed) + + + Uma porta fechada está acessível (ela recebe e responde a + pacotes de sondagens do Nmap), mas não há nenhuma aplicação + ouvindo nela. Elas podem ser úteis para mostrar que um host está + ativo em um determinado endereço IP (descoberta de hosts, ou scan + usando ping), e como parte de uma deteção de SO. Pelo fato de + portas fechadas serem alcançáveis, pode valer a pena escanear mais + tarde no caso de alguma delas abrir. Os administradores deveriam + considerar o bloqueio dessas portas com um firewall. Então elas + apareceriam no estado filtrado, discutido a seguir. + + + + + filtrado (filtered) + + + O Nmap não consegue determinar se a porta está aberta porque + uma filtragem de pacotes impede que as sondagens alcancem a porta. + A filtragem poderia ser de um dispositivo firewall dedicado, + regras de roteador, ou um software de firewall baseado em host. + Essas portas frustram os atacantes pois elas fornecem poucas + informações. às vezes elas respondem com mensagens de erro ICMP + tais como as do tipo 3 código 13 (destino inalcançável: + comunicação proibida administrativamente), mas os filtros que + simplesmente descartam pacotes sem responder são bem mais comuns. + Isso força o Nmap a tentar diversas vezes só para o caso de a + sondagem ter sido descartada por congestionamento da rede ao invés + de filtragem. Isso reduz a velocidade do scan + dramaticamente. + + + + + não-filtrado (unfiltered) + + + O estado não-filtrado significa que uma porta está + acessível, mas que o Nmap é incapaz de determinar se ela está + aberta ou fechada. Apenas o scan ACK, que é usado para mapear + conjuntos de regras de firewall, classifica portas com este + estado. Escanear portas não-filtradas com outros tipos de scan, + tal como scan Window, scan Syn, ou scan FIN, podem ajudar a + responder se a porta está aberta. + + + + + open|filtered + + + O Nmap coloca portas neste estado quando é incapaz de + determinar se uma porta está aberta ou filtrada. Isso acontece + para tipos de scan onde as portas abertas não dão nenhuma + resposta. A falta de resposta também pode significar que um filtro + de pacotes descartou a sondagem ou qualquer resposta que ela tenha + provocado. Portanto não sabe-se com certeza se a porta está aberta + ou se está sendo filtrada. Os scans UDP, IP Protocol, FIN, Null, e + Xmas classificam portas desta forma. + + + + + closed|filtered + + + Este estado é usado quando o Nmap é incapaz de determinar se + uma porta está fechada ou filtrada. É apenas usado para o scan + IPID Idle scan. + + + + + + + Técnicas de Escaneamento de Portas + + Como um novato executando um reparo automotivo, posso brigar por + horas tentando usar minhas ferramentas rudimentares (martelo, fita + adesiva, grifo, etc.) nas tarefas. Quando eu falho miseravelmente e + reboco minha lata-velha para um mecânico de verdade ele invariavelmente + pesca aqui e ali em um enorme baú de ferramentas até pegar a coisa + perfeita que torna a tarefa uma brincadeira. A arte de escanear portas é + similar. Os experts entendem as dezenas de técnicas de escaneamento e + escolhem as que são apropriadas (ou uma combinação) para uma dada + tarefa. Usuários inexperientes e script kiddies, por outro lado, tentam + resolver todos os problemas com o scan SYN padrão. Uma vez que o Nmap é + gratuito, a única barreira para a maestria em escaneamento de portas é o + conhecimento. Isso certamente é melhor que no mundo automotivo, onde + pode ser necessário uma grande habilidade para determinar que você + precisa de um compressor de molas e então você tem que pagar milhares de + dólares por um. + + A maioria dos tipos de scan está disponível apenas para usuários + privilegiados. Isso acontece porque eles enviam e recebem pacotes em + estado bruto, o que requer acesso de root em sistemas Unix. Utilizar a + conta de administrador no Windows é recomendado, embora o Nmap às vezes + funcione com usuários sem privilégios nessa plataforma quando o WinPcap + foi carregado no SO. Requerer privilégio de root era uma séria limitação + quando o Nmap foi lançado em 1997, pois muitos usuários apenas tinham + acesso a contas de shell compartilhadas. Agora o mundo é diferente. + Computadores estão mais baratos, muito mais pessoas tem acesso direto e + permanente à Internet, e computadores de mesa Unix (incluindo Linux e + MAC OS X) são comuns. Uma versão para o Windows do Nmap se encontra + disponível atualmente, permitindo que se rode em muito mais computadores + de mesa. Por todas essas razões, os usuários tem menos necessidade de + executar o Nmap à partir de contas de shell compartilhadas e limitadas. + Isso é muito bom pois as opções privilegiadas tornam o Nmap muito mais + poderoso e flexível. + + Embora o Nmap tente produzir resultados precisos, tenha em mente + que todas as deduções são baseadas em pacotes devolvidos pelas + máquinas-alvo (ou firewalls na frente delas). Tais hosts podem ser + não-confiáveis e enviar respostas com o propósito de confundir ou + enganar o Nmap. Muito mais comum são os hosts não-de-acordo-com-a-rfc + que não respondem como deveriam às sondagens do Nmap. As sondagens FIN, + Null e Xmas são particularmente suscetíveis a esse problema. Tais + questões são específicas de determinados tipos de scan e portanto são + discutidos nas entradas individuais de cada um dos tipos. + + Esta seção documenta as dezenas de técnicas de escaneamento de + portas suportadas pelo Nmap. Apenas um método pode ser utilizado de cada + vez exceto que um scan UDP () pode ser combinado com + qualquer um dos tipos de scan TCP. Como uma ajuda para a memória, as + opções dos tipos de escaneamento de portas estão no formato + , onde + C é um caracter proeminente no nome do scan, + normalmente o primeiro. A única exceção a essa regra é para o scan + depreciado FTP bounce (). Por padrão, o Nmap executa + um scan SYN, embora ele substitua por um scan connect se o usuário não + tiver os privilégios adequados para enviar pacotes em estado bruto + (requer acesso de root no UNIX) ou se alvos IPv6 forem especificados. + Dos scans listados nesta seção, os usuários não privilegiados podem + apenas executar os scans connect e ftp bounce. + + + + (scan TCP SYN) + + + + -sS + + + + scan TCP SYN + + + O scan SYN é a opção de scan padrão e mais popular por boas + razões. Pode ser executada rapidamente, escaneando milhares de + portas por segundo em uma rede rápida, não bloqueada por firewalls + intrusivos. O scan SYN é relativamente não-obstrusivo e camuflado, + uma vez que ele nunca completa uma conexão TCP. Ele também + trabalha contra qualquer pilha TCP padronizada ao invés de + depender de idiossincrasias de plataformas específicas como os + scans Fin/Null/Xmas, Maimon e Idle fazem. Ele também permite uma + diferenciação limpa e confiável entre os estados aberto + (open), fechado (closed), e + filtrado (filtered). + + Esta técnica é freqüentemente chamada de escaneamento de + porta entreaberta (half-open scanning), porque você não abre uma + conexão TCP completamente. Você envia um pacote SYN, como se fosse + abrir uma conexão real e então espera uma resposta. Um SYN/ACK + indica que a porta está ouvindo (aberta), enquanto um RST (reset) + é indicativo de uma não-ouvinte. Se nenhuma resposta é recebida + após diversas retransmissões, a porta é marcada como filtrada. A + porta também é marcada como filtrada se um erro ICMP de + inalcançável é recebido (tipo 3, código 1,2, 3, 9, 10, ou + 13). + + + + + (scan TCP connect) + + + + -sT + + + + scan TCP connect + + + O scan TCP connect é o scan padrão do TCP quando o scan SYN + não é uma opção. Esse é o caso quando o usuário não tem + privilégios para criar pacotes em estado bruto ou escanear redes + IPv6. Ao invés de criar pacotes em estado bruto como a maioria dos + outros tipos de scan fazem, o Nmap pede ao sistema operacional + para estabelecer uma conexão com a máquina e porta alvos enviando + uma chamada de sistema connect(). Essa é a + mesma chamada de alto nível que os navegadores da web, clientes + P2P, e a maioria das outras aplicações para rede utilizam para + estabelecer uma conexão. É parte da interface de programação + conhecida como API de Sockets de Berkeley. Ao invés de ler as + respostas em pacotes em estado bruto diretamente dos fios, o Nmap + utiliza esta API para obter informações do estado de cada + tentativa de conexão. + + Quando um scan SYN está disponível é normalmente a melhor + escolha. O Nmap tem menos controle sobre a chamada de alto nível + connect() do que sobre os pacotes em estado + bruto, tornando-o menos eficiente. A chamada de sistema completa + as conexões nas portas-alvo abertas ao invés de executar o reset + de porta entreaberta que o scan SYN faz. Isso não só leva mais + tempo e requer mais pacotes para obter a mesma informação, mas + também torna mais provável que as máquinas-alvo registrem a + conexão. Um sistema IDS decente irá detectar qualquer um deles, + mas a maioria das máquinas não tem esse tipo de sistema de alarme. + Muitos serviços na maioria dos sistema Unix irão acrescentar uma + nota no syslog, e às vezes uma mensagem de erro obscura, quando o + Nmap se conecta e então fecha a conexão sem enviar nenhum dado. + Serviços verdadeiramente patéticos irão travar quando isso + acontecer, embora isso seja incomum. Um administrador que vê um + punhado de tentativas de conexão nos registros vindos de um único + sistema deveria saber que foi escaneado com connect(). + + + + + (scans UDP) + + + + -sU + + + + scans UDP + + + Embora os serviços mais populares na Internet trafeguem + sobre o protocolo TCP, os serviços UDP são + amplamente difundidos. O DNS, o SNMP, e o DHCP (registrados nas + portas 53, 161/162, e 67/68) são três dos mais comuns. Pelo fato + do escaneamento UDP ser normalmente mais lento e mais difícil que + o TCP, alguns auditores de segurança ignoram essas portas. Isso é + um erro, pois serviços UDP passíveis de exploração são bastante + comuns e invasores certamente não ignoram o protocolo inteiro. + Felizmente o Nmap pode ajudar a inventariar as portas UDP. + + O scan UDP é ativado com a opção . Ele + pode ser combinado com um tipo de escaneamento TCP como o scan SYN + () para averigüar ambos protocolos na mesma + execução. + + O scan UDP funciona enviando um cabeçalho UDP vazio (sem + dados) para cada porta almejada. Se um erro ICMP de porta + inalcançável (tipo 3, código 3) é retornado, a porta está + fechada. Outros erros do tipo inalcançável + (tipo 3, códigos 1, 2, 9, 10, ou 13) marcam a porta como + filtrada. Ocasionalmente um serviço irá + responder com um pacote UDP, provando que está + aberta. Se nenhuma resposta é recebida após as + retransmissões, a porta é classificada como + aberta|filtrada. Isso significa que a porta + poderia estar aberta, ou talvez que filtros de pacotes estejam + bloqueando a comunicação. Scans de versões () + podem ser utilizados para ajudar a diferenciar as portas + verdadeiramente abertas das que estão filtradas. + + Um grande desafio com o escaneamento UDP é fazê-lo + rapidamente. Portas abertas e filtradas raramente enviam alguma + resposta, deixando o Nmap esgotar o tempo (time out) e então + efetuar retransmissões para o caso de a sondagem ou a resposta ter + sido perdida. Portas fechadas são, normalmente, um problema ainda + maior. Elas costumam enviar de volta um erro ICMP de porta + inalcançável. Mas, ao contrário dos pacotes RST enviados pelas + portas TCP fechadas em resposta a um scan SYN ou connect, muitos + hosts limitam a taxa de mensagens ICMP de porta inalcançável por + padrão. O Linux e o Solaris são particularmente rigorosos quanto a + isso. Por exemplo, o kernel 2.4.20 do Linux limita a quantidade de + mensagens de destino inalcançável a até uma por segundo (no + net/ipv4/icmp.c). + + O Nmap detecta a limitação de taxa e diminui o ritmo de + acordo para evitar inundar a rede com pacotes inúteis que a + máquina-alvo irá descartar. Infelizmente, um limite como o do + Linux de um pacote por segundo faz com que um scan de 65.536 + portas leve mais de 18 horas. Idéias para acelerar o escaneamento + UDP incluem escanear mais hosts em paralelo, fazer um scan rápido + apenas das portas mais comuns primeiro, escanear por detrás de um + firewall, e utilizar para pular os + hosts lentos. + + + + + ; ; + (scans TCP Null, FIN, e Xmas) + + + + -sN + + + + -sF + + + + -sX + + + + scan TCP NULL + + + + scan TCP FIN + + + + scan TCP Xmas + + + Esses três tipos de scan (existem outras opções, possíveis + com a opção descrita na próxima + seção) exploram uma brecha sutil na RFC do TCP + para diferenciarem entre portas abertas e + fechadas. A página 65 diz que se a porta + [destino] estiver FECHADA .... um segmento entrante que não + contenha um RST irá causar o envio de um RST como + resposta. Então a página seguinte discute os pacotes + enviados à portas abertas sem os bits SYN, RST ou ACK marcados, + afirmando que: é pouco provável que você chegue aqui, mas + se chegar, descarte o segmento, e volte. + + Quando se escaneia sistemas padronizados com o texto desta + RFC, qualquer pacote que não contenha os bits SYN, RST, ou ACK irá + resultar em um RST como resposta se a porta estiver fechada, e + nenhuma resposta se a porta estiver aberta. Contanto que nenhum + desses três bits estejam incluídos, qualquer combinação dos outros + três (FIN, PSH e URG) é válida. O Nmap explora isso com três tipos + de scan: + + + + scan Null () + + + Não marca nenhum bit (o cabeçalho de flag do tcp é + 0) + + + + + scan FIN () + + + Marca apenas o bit FIN do TCP. + + + + + scan Xmas() + + + Marca as flags FIN, PSH e URG, iluminando o pacote + como uma árvore de Natal. + + + + + Esses três tipos de scan são exatamente os mesmos em termos + de comportamento, exceto pelas flags TCP marcadas no pacotes de + sondagem. Se um pacote RST for recebido, a porta é considerada + fechada, e nenhuma resposta significa que está + aberta|filtrada. A porta é marcada como + filtrada se um erro ICMP do tipo inalcançável + (tipo 3, código 1, 2, 3, 9, 10, ou 13) for recebido. + + A vantagem principal desses tipos de scan é que eles podem + bisbilhotar através de alguns firewalls não-orientados à conexão e + de roteadores que filtram pacotes. Outra vantagem é que esses + tipos de scan são um pouco mais camuflados do que o scan SYN. Mas, + não conte com isso -- a maioria dos produtos IDS modernos podem + ser configurados para detectá-los. O maior problema é que nem + todos os sistemas seguem a RFC 793 ao pé-da-letra. Diversos + sistemas enviam respostas RST para as sondagens independentemente + do fato da porta estar aberta ou não. Isso faz com que todas as + portas sejam classificadas como fechadas. A + maioria dos sistemas operacionais que fazem isso são Microsoft + Windows, muitos dispositivos Cisco, BSDI, e o IBM OS/400. Esse + scan realmente funciona contra a maioria dos sistemas baseados em + Unix. Outro ponto negativo desses scans é que eles não conseguem + diferenciar portas abertas de alguns tipos de + portas filtradas, deixando você com a resposta + abera|filtrada. + + + + + (scan TCP ACK) + + + + -sA + + + + scan TCP ACK + + + Esse scan é diferente dos outros discutidos até agora pelo + fato de que ele nunca determina se uma porta está + aberta (ou mesmo + aberta|filtrada). Ele é utilizado para mapear + conjuntos de regras do firewall, determinando se eles são + orientados à conexão ou não e quais portas estão filtradas. + + O pacote de sondagem do scan ACK tem apenas a flag ACK + marcada (a menos que você use ). + Quando se escaneia sistemas não-filtrados, as portas + abertas e fechadas irão + devolver um pacote RST. O Nmap então coloca nelas o rótulo + não-filtradas (unfiltered), significando que + elas estão alcançáveis pelo pacote ACK, mas se elas estão + abertas ou fechadas é + indeterminado. Portas que não respondem, ou que devolvem certas + mensagens de erro ICMP (tipo 3, código 1, 2, 3, 9, 10, ou 13), são + rotuladas como filtradas. + + + + + (scan da Janela TCP) + + + + -sW + + + + Scan da Janela TCP + + + Scan da Janela é exatamente o mesmo que o scan ACK, exceto + que ele explora um detalhe da implementação de certos sistemas de + forma a diferenciar as portas abertas das fechadas, ao invés de + sempre mostrar não-filtrada quando um RST é + devolvido. Ele faz isso examinando o campo Janela TCP (TCP Window) + do pacote RST devolvido. Em alguns sistemas, as portas abertas + usam um valor positivo de tamanho de janela (mesmo para pacotes + RST), enquanto que as portas fechadas tem um valor igual a zero. + Então, ao invés de sempre mostrar uma porta como + não-filtrada quando se recebe um RST de volta, + o scan da Janela mostra a porta como aberta ou + fechada se o valor da Janela TCP no reset for + positivo ou zero, respectivamente. + + Este scan se baseia em um detalhe de implementação de uma + minoria de sistemas na Internet, portanto não se pode confiar + sempre nele. Sistemas que não suportam isso irão normalmente + devolver todas as portas como fechadas. É claro + que é possível que a máquina realmente não tenha nenhuma porta + aberta. Se a maioria das portas escaneadas estiver + fechada mas uns poucos números de portas comuns + (tais como 22, 25, 53) estão filtrados, o + sistema muito provavelmente está vulnerável. De vez em quando, os + sistemas irão mostrar exatamente o comportamento oposto. Se o seu + scan mostrar 1000 portas abertas e 3 fechadas ou filtradas, então + essas três podem muito bem ser as verdadeiramente abertas. + + + + + (scan TCP Maimon) + + + + -sM + + + + scan TCP Maimon + + + O scan Maimon recebeu o nome de seu descobridor, Uriel + Maimon. Ele descreveu a técnica na Phrack Magazine, edição 49 + (Novembro de 1996). O Nmap, que incluiu essa técnica, foi lançado + duas edições mais tarde. A técnica é exatamente a mesma que os + scans Null, FIN e Xmas, exceto que a sondagem é FIN/ACK. De acordo + com a RFC 793 (TCP), um pacote RST deveria ser gerado em resposta + a tal sondagem se a porta estiver aberta ou fechada. Entretanto, + Uriel notou que muitos sistemas derivados do BSD simplesmente + descartavam o pacote se a porta estivesse aberta. + + + + + (scan TCP Personalizado) + + + + --scanflags + + + Usuários verdadeiramente avançados do Nmap não precisam se + limitar aos tipos de scans enlatados oferecidos. A opção + permite que você desenhe seu próprio + scan permitindo a especificação de flags TCP arbitrárias. Deixe + sua imaginação correr solta enquanto dribla sistemas de detecção + de intrusão, cujos fabricantes apenas olharam rapidamente a página + man do Nmap adicionando regras específicas! + + O argumento do pode ser um + valor numérico da marca (flag) como o 9 (PSH e FIN), mas usar + nomes simbólicos é mais fácil. Apenas esprema alguma combinação de + URG, ACK, + PSH, RST, + SYN, e FIN. Por exemplo, + marca tudo, embora + não seja muito útil para escaneamento. A ordem em que essas marcas + são especificadas é irrelevante. + + Além de especificar as marcas desejadas, você pode + especificar um tipo de scan TCP (como o ou + ). Esse tipo-base diz ao Nmap como interpretar + as respostas. Por exemplo, um scan SYN considera nenhuma-resposta + como uma indicação de porta filtrada, enquanto + que um scan FIN trata a mesma como + aberta|filtrada. O Nmap irá se comportar da + mesma forma que o tipo de scan-base escolhido, exceto que ele irá + usar as marcas TCP que você especificar. Se você não escolher um + tipo-base, o scan SYN é utilizado. + + + + + (scan + Idle) + + + + -sI + + + + scan Idle + + + Este método avançado de scan permite um scan TCP realmente + cego das portas do alvo (significando que nenhum pacote é enviado + para o alvo do seu endereço IP real). Ao invés disso, um ataque + canal-lateral (side-channel) explora a previsível geração de + seqüencia de ID, conseqüencia da fragmentação do IP, no host + zumbi, para juntar informações sobre as portas abertas no alvo. + Sistemas IDS irão mostrar o scan como se viessem da máquina zumbi + que você especificou (que deve estar ativa e obedecer a alguns + critérios). Este tipo fascinante de scan é complexo demais para se + descrever completamente aqui, neste guia de referência, então eu + escrevi e postei um trabalho informal com detalhes completos em + . + + Além de ser extraordinariamente camuflado (devido à sua + natureza cega), este tipo de scan permite mapear relações de + confiança baseadas em IP entre máquinas. A listagem de portas + mostra as portas abertas da perspectiva do host + zumbi. Portanto você pode tentar escanear algo usando + vários zumbis que você acha que podem ser confiáveis (via regras + de roteador/filtro de pacotes). + + Você pode adicionar o sinal "dois-pontos", seguido do número + da porta, ao nome do host zumbi se quiser sondar uma porta em + particular no zumbi, verificando as mudanças de IPID. Do contrário + o Nmap irá utilizar a porta que ele normalmente usa por padrão + para pings tcp (80). + + + + + (Scans do protocolo IP) + + + + -sO + + + + Scans do protocolo IP + + + Scans do Protocolo IP permitem que você determine quais + protocolos IP (TCP, ICMP, IGMP, etc.) são suportados pelas + máquina-alvo. Isso não é, tecnicamente, um scan de portas, pois + ele varia os números do protocolo IP ao invés dos números de + portas TCP e UDP. Ainda assim, ele utiliza a opção + para selecionar os números de protocolos a + escanear, mostra os resultados dentro do formato normal da tabela + de portas e usa o mesmo mecanismo de escaneamento dos métodos de + descoberta de portas. Portanto ele é parecido o suficiente com um + scan de portas e por isso pertence à este lugar. + + Além de ser útil de seu jeito, o scan de protocolo mostra o + poder do software de código aberto. Embora a idéia fundamental + seja bastante simples, eu não havia pensado em adicioná-la e nem + havia recebido nenhuma solicitação para essa funcionalidade. + Então, no verão de 2000, Gerhard Rieger concebeu a idéia, escreveu + uma excelente alteração (patch) implementando-a, e a enviou para a + lista de discussão nmap-hackers. Eu incorporei a alteração na + árvore do Nmap e lancei uma nova versão no dia seguinte. Poucos + produtos de software comercial tem usuários entusiasmados o + suficiente para desenhar e contribuir com melhorias! + + O scan de protocolo funciona de uma forma similar a um scan + UDP. Ao invés de ficar repetindo alternando o campo de número de + porta de um pacote UDP, ele envia cabeçalhos de pacote IP e faz a + repetição alternando o campo de protocolo IP de 8 bits. Os + cabeçalhos normalmente estão vazios, sem conter dados, e nem mesmo + contendo o cabeçalho apropriado do suposto protocolo. As três + exceções são o TCP, o UDP e o ICMP. Um cabeçalho de protocolo + apropriado para estes é incluído, uma vez que alguns sistemas não + os enviarão caso não tenham, e porque o Nmap tem as funções para + criá-los Ao invés de observar as mensagens de erro ICMP de porta + inalcançável, o scan de protocolo fica de olho nas mensagens ICMP + de protocolo inalcançável. Se o Nmap recebe + qualquer resposta de qualquer protocolo do host-alvo, o Nmap marca + esse protocolo como aberto. Um erro ICMP de + protocolo não-alcançável (tipo 3, código 2) faz com que o + protocolo seja marcado como fechado. Outros + erros ICMP do tipo inalcançável (tipo 3, código 1, 3, 9, 10, ou + 13) fazem com que o protocolo seja marcado como + filtrado (embora eles provem, ao mesmo tempo, + que o ICMP está aberto). Se nenhuma resposta + for recebida após as retransmissões, o protocolo é marcado como + aberto|filtrado. + + + + + (Scan de + FTP bounce) + + + + -b + + + + Scan de FTP bounce + + + Uma característica interessante do protocolo FTP (RFC 959) é + o suporte à conexões denominadas proxy ftp. Isso permite que um + usuário conecte-se a um servidor FTP, e então solicite que + arquivos sejam enviados a um terceiro servidor. Tal característica + é sujeita a abusos em diversos níveis, por isso a maioria dos + servidores parou de suportá-la. Um dos abusos permitidos é fazer + com que o servidor FTP escaneie as portas de outros hosts. + Simplesmente solicite que o servidor FTP envie um arquivo para + cada porta interessante do host-alvo. A mensagem de erro irá + descrever se a porta está aberta ou não. Esta é uma boa forma de + passar por cima de firewalls porque os servidores FTP de empresas + normalmente são posicionados onde tem mais acesso a outros hosts + internos que os velhos servidores da Internet teriam. O Nmap + suporta o scan de ftp bounce com a opção . Ela + recebe um argumento no formato + nomedousuário:senha@servidor:porta. + Servidor é o nome ou endereço IP de um + servidor FTP vulnerável. Assim como em uma URL normal, você pode + omitir + nomedousuário:senha, + neste caso as credenciais de login anônimo (usuário: + anonymous senha:-wwwuser@) + serão usados. O número da porta (e os dois-pontos) podem ser + omitidos, e então a porta FTP padrão (21) no + servidor será utilizada. + + Esta vulnerabilidade espalhou-se em 1997 quando o Nmap foi + lançado, mas foi corrigida amplamente. Servidores vulneráveis + ainda estão por aí, então pode valer a pena tentar se tudo o mais + falhar. Se passar por cima de um firewall é o seu objetivo, + escaneie a rede-alvo procurando por uma porta 21 aberta (ou mesmo + por qualquer serviço FTP se você escanear todas as portas com a + detecção de versão), então tente um scan bounce usando-as. O Nmap + irá dizer se o host é vulnerável ou não. Se você estiver apenas + tentando encobrir suas pegadas, você não precisa (e, na verdade, + não deveria) limitar-se a hosts na rede-alvo. Antes de sair + escaneando endereços aleatórios na Internet, procurando por + servidores FTP, considere que os administradores de sistemas podem + não apreciar o seu abuso nos servidores deles. + + + + + + + Especificação de Portas e Ordem de Scan + + Somado a todos os métodos de scan discutidos anteriormente, o Nmap + oferece opções para especificar quais portas são escaneadas e se a ordem + de escaneamento é aleatória ou sequencial. Por padrão, o Nmap escaneia + todas as portas até, e incluindo, 1024, bem como portas com numeração + alta listadas no arquivo the nmap-services para + o(s) protocolo(s) escaneados. + + + + (Escaneia apenas + as portas especificadas) + + + + -p + + + Esta opção especifica quais portas que você deseja escanear + e prevalece sobre o padrão. Números de portas individuais são + suportadas, bem como as faixas separadas por um hífen (p.ex.: + 1-1023). Os valores iniciais e/ou finais da faixa podem ser + omitidos, o que faz com que o Nmap use 1 e 65535, respectivamente. + Portanto, você pode especificar para escanear + as portas de 1 até 65535. Escanear a porta zero é permitido se + você especificar explicitamente. Para o escaneamento do protocolo + IP (), esta opção especifica os números dos + protocolos que você deseja escanear (0-255). + + Quando escanear ambas as portas TCP e UDP, você pode + especificar um protocolo em particular, precedendo os números de + portas com T: ou U:. O + qualificador dura até que você especifique um novo qualificador. + Por exemplo, o argumento escanearia as portas UDP + 53, 111 e 137, bem como as portas TCP listadas. Note que para + escanear ambas as portas UDP e TCP, você tem que especificar + e pelo menos um tipo de scan TCP (tal como + , ou + ). Se nenhum qualificador de protocolo for + informado, os números de portas serão acrescentados à todas as + listas de protocolos. + + + + + (Scan Rápido (portas limitadas)) + + + + -F + + + Especifica que você deseja apenas escanear as portas + listadas no arquivo nmap-services que vem com + o nmap (ou o arquivo de protocolos para o ). + Isto é muito mais rápido do que escanear todas as 65535 portas de + um host. Pelo fato desta lista conter tantas portas TCP (mais de + 1200), a diferença de velocidade de um scan TCP padrão (cerca de + 1650 portas) não é dramática. A diferença pode ser enorme se você + especificar seu próprio minúsculo arquivo + nmap-services usando a opção + . + + + + + (Não usa as portas de forma + aleatória) + + + + -r + + + Por padrão, o Nmap usa a ordem das portas a serem escaneadas + de forma aleatória (exceto aquelas portas normalmente certamente + acessíveis que são movidas próximas ao início por motivos de + eficiência). Essa técnica de busca aleatória normalmente é + desejável, mas você pode especificar para um + escaneamento de portas sequencial. + + + + + + + Detecção de Serviço e Versão + + + scan de Versão + + + Aponte o Nmap para uma máquina remota e ele poderá lhe dizer que + as portas 25/tcp, 80/tcp e 53/udp estão abertas. Utilizar o banco de + dados nmap-services, com cerca de 2.200 serviços + bastante conhecidos, do Nmap iria relatar que aquelas portas + provavelmente correspondem a um servidor de correio eletrônico (SMTP), a + um servidor de páginas web (HTTP) e a um servidor de nomes (DNS) + respectivamente. Essa pesquisa normalmente é precisa -- a grande maioria + de daemons escutando na porta TCP 25 é, de fato, de servidores de + correio eletrônico. Entretanto, você não deveria apostar a sua segurança + nesta informação! As pessoas podem e executam serviços em portas + estranhas. + + Mesmo que o Nmap esteja certo, e o servidor hipotético acima + esteja executando os serviços SMTP, HTTP e DNS, isso não é informação o + bastante. Quando fizer uma avaliação de vulnerabilidades (ou mesmo um + simples inventário da rede) de sua empresa ou clientes, você realmente + deseja saber qual o programa-servidor de correio eletrônico ou de nomes + e as versões que estão rodando. Ter um número de versão exato ajuda + substancialmente na determinação de quais explorações (exploits) o + servidor está vulnerável. A detecção de versão ajuda a obter esta + informação. + + Depois que as portas TCP e/ou UDP forem descobertas usando + qualquer um dos outros métodos de scan, a detecção de versão interroga + essas portas para determinar mais informações sobre o que realmente está + sendo executado nessas portas. O banco de dados + nmap-service-probes do Nmap contém sondagens para + pesquisar diversos serviços e expressões de acerto (match expressions) + para reconhecer e destrinchar as respostas. O Nmap tenta determinar os + protocolos de serviços (p.ex.: ftp, ssh, telnet, http), o nome da + aplicação (p.ex.: ISC Bind, Apache httpd, Solaris telnetd), o número da + versão, o nome do host, tipo de dispositivo (p.ex.: impressora, + roteador), a família do SO (p.ex.: Windows, Linux) e às vezes detalhes + diversos do tipo, se um servidor X está aberto para conexões, a versão + do protocolo SSH ou o nome do usuário do KaZaA. É claro que a maioria + dos serviços não fornece todas essas informações. Se o Nmap foi + compilado com o suporte ao OpenSSL, ele irá se conectar aos servidores + SSL para deduzir qual o serviço que está escutando por trás da camada + criptografada. Quando os serviços RPC são descobertos, o "amolador" de + RPC (RPC grinder) do Nmap () é automaticamente + utilizado para determinar o nome do programa RPC e o número da versão. + Algumas portas UDP são deixadas no estado + aberta|filtrada depois que scan de porta UDP não + consegue determinar se a porta está aberta ou filtrada. A detecção de + versão irá tentar provocar uma resposta dessas portas (do mesmo jeito + que faz com as portas abertas), e alterar o estado para aberta se + conseguir. Portas TCP do tipo aberta|filtrada são + tratadas da mesma forma. Note que a opção do Nmap + habilita a detecção de versão, entre outras coisas. Um trabalho + documentando o funcionamento, uso e customização da detecção de versão + está disponível em . + + Quando o Nmap recebe uma resposta de um serviço mas não consegue + encontrá-la em seu banco de dados, ele mostra uma identificação + (fingerprint) especial e uma URL para que você envie informações se + souber com certeza o que está rodando nessa porta. Por favor, considere + dispor de alguns minutos para mandar essa informação de forma que sua + descoberta possa beneficiar a todos. Graças a esses envios, o Nmap tem + cerca de 3.000 padrões de acerto para mais de 350 protocolos, tais como + o smtp, ftp, http, etc. + + A detecção de versão é habilitada e controlada com as seguintes + opções: + + + + (detecção de versão) + + + + -sV + + + Habilita a detecção de versão, conforme discutido acima. + Alternativamente, você pode usar a opção para + habilitar tanto a detecção de SO como a detecção de versão. + + + + + (Não exclui nenhuma porta da + detecção de versão) + + + + --allports + + + Por padrão, a detecção de versão do Nmap pula a porta TCP + 9100 por causa de algumas impressoras que imprimem qualquer coisa + que seja enviada para essa porta, levando a dezenas de páginas com + requisições HTTP, requisições de sessões SSL binárias, etc. Esse + comportamento pode ser alterado modificando-se ou removendo a + diretiva Exclude no + nmap-service-probes, ou você pode especificar + para escanear todas as portas + independente de qualquer diretiva + Exclude. + + + + + + (Estabelece a intensidade do scan de versão) + + + + --version-intensity + + + Quando está executando um scan de versão + (), o nmap envia uma série de sondagens, cada + qual com um valor atribuído de raridade, entre 1 e 9. As sondagens + com números baixos são efetivas contra uma ampla variedade de + serviços comuns, enquanto as com números altos são raramente + úteis. O nível de intensidade especifica quais sondagens devem ser + utilizadas. Quando mais alto o número, maiores as chances de o + serviço ser corretamente identificado. Entretanto, scans de alta + intensidade levam mais tempo. A intensidade deve estar entre 0 e + 9. O padrão é 7. Quando uma sondagem é registrada na porta-alvo + através da diretiva nmap-service-probes + ports, essa sondagem é tentada + independentemente do nível de intensidade. Isso assegura que as + sondagens DNS sempre serão tentadas contra qualquer porta 53 + aberta, e a sondagem SSL será realizada contra a 443, etc. + + + + + (Habilita o modo leve + (light)) + + + + --version-light + + + Esse é um apelido conveniente para + . Esse modo leve torna o + escaneamento de versão muito mais rápido, mas é ligeiramente menos + provável que identifique os serviços. + + + + + (Tenta simplesmente todas as + sondagens) + + + + --version-all + + + Um apelido para , + assegurando que todas as sondagens sejam tentadas contra cada + porta. + + + + + (Monitora as atividades do + scan de versão) + + + + --version-trace + + + Isto faz com que o Nmap mostre informações de depuração + extensivas sobre o que o escaneamento de versão está fazendo. É um + sub-conjunto do que você obteria com + . + + + + + (Scan RPC) + + + + --sR + + + Este método trabalha em conjunto com os vários métodos de + escaneamento de portas do Nmap. Ele pega todas as portas TCP/UDP + descobertas no estado aberta e inunda-as com comandos NULL do + programa SunRPC, em uma tentativa de determinar se elas são portas + RPC e, se forem, quais programas e números de versão elas mostram. + Dessa forma você pode obter efetivamente a mesma informação que o + rpcinfo -p mesmo se o portmapper do alvo + estiver atrás de um firewall (ou protegido por TCP wrappers). + Chamarizes não funcionam ainda com o scan RPC. Isso é habilitado + automaticamente como parte do scan de versão + () se você o solicitar. Como a detecção de + versão inclui isso e é muito mais abrangente, o + raramente é necessário. + + + + + + + Detecção de SO + + + Detecção de SO + + + Uma das características mais conhecidas do Nmap é a detecção + remota de SO utilizando a identificação da pilha (stack fingerprinting) + do TCP/IP. O Nmap envia uma série de pacotes TCP e UDP ao host remoto e + examina praticamente todos os bits das respostas. Após executar dezenas + de testes como a amostragem TCP ISN, suporte e ordenamento das opções do + TCP, amostragem IPID e a checagem do tamanho inicial da janela, o Nmap + compara os resultados com o banco de dados + nmap-os-fingerprints com mais de 1500 + identificações de SO conhecidas e mostra os detalhes do SO se houver uma + correspondência. Cada identificação inclui uma descrição textual livre + do SO e uma classificação que fornece o nome do fabricante (p.ex.: Sun), + SO base (p.ex.: Solaris), geração do SO (p.ex.: 10) e tipo de + dispositivo (genérico, roteador, switch, console de jogo, etc.). + + Se o Nmap não conseguir identificar o SO da máquina, e as + condições forem favoráveis (p.ex.: pelo menos uma porta aberta e uma + porta fechada foram encontradas), o Nmap irá fornecer uma URL onde você + poderá enviar a identificação se souber (com certeza) o SO em execução + na máquina. Fazendo isso, você contribui para a gama de sistemas + operacionais conhecidos pelo Nmap e, com isso, ele será mais preciso + para todos. + + A detecção de SO habilita diversos outros testes que usam as + informações coletadas durante o processo. Um deles é a medição de + uptime, que utiliza a opção timestamp do TCP (RFC 1323) para supor + quando uma máquina foi reiniciada pela última vez. Isso apenas é + mostrado para as máquinas que fornecem essa informação. Outro é a + Classificação de Previsibilidade da Seqüencia do TCP. Ele mede + aproximadamente o grau de dificuldade de se estabelecer uma conexão TCP + forjada contra um host remoto. É útil para se explorar relações de + confiança baseadas no IP de origem (rlogin, filtros de firewall, etc.) + ou para ocultar a origem de um ataque. Esse tipo de enganação (spoofing) + raramente é executada hoje em dia, mas muitas máquinas ainda estão + vulneráveis a ele. O número de dificuldade real é baseado em amostragens + estatísticas e pode variar. Normalmente é melhor usar a classificação em + inglês, do tipo worthy challenge (um desafio que vale a + pena) ou trivial joke (uma piada, muito fácil). Isso só é + mostrado na saída normal do modo verbose (). Quando o + modo verbose é habilitado juntamente com o , a + Geração de Seqüencia IPID também é mostrada. A maioria das máquinas é + classificada como incremental , o que significa que elas + incrementam o campo ID no cabeçalho IP para cada pacote que envia. Isso + torna-as vulnerável a diversos ataques avançados de levantamento e + forjamento de informações. + + Um trabalho documentando o funcionamento, utilização e + customização da detecção de SO está disponível em mais de uma dezena de + línguas em . + + A detecção de SO é habilitada e controlada com as seguintes + opções: + + + + (Habilita a detecção de SO) + + + + -O + + + Habilita a deteção de SO, como discutido acima. + Alternativamente, você pode usar para + habilitar tanto a detecção de SO quanto a detecção de + versão. + + + + + (Limitar a detecção de SO a + alvos promissores) + + + + --osscan-limit + + + A detecção de SO é bem mais eficiente se ao menos uma porta + TCP aberta e uma fechada for encontrada. Escolha esta opção e o + Nmap não irá nem tentar a detecção de SO contra hosts que não + correspondam a este critério. Isso pode economizar um tempo + considerável, particularmente em scans contra + muitos hosts. Isso só importa quando a detecção de SO é solicitada + através de ou . + + + + + ; + (Resultados de tentativas de detecção de SO) + + + + --osscan-guess + + + Quano o Nmap não é capaz de detectar uma correspondência + exata de SO, às vezes ele oferece possibilidades aproximada. A + correspondência tem que ser muito próxima para o Nmap fazer isso + por padrão. Qualquer uma dessas opções (equivalentes) tornam as + tentativas do Nmap mais agressivas. O Nmap ainda assim irá dizer + quando uma correspondência imperfeita é mostrada e o nível de + confiança (porcentagem) de cada suposição. + + + + + + + Temporização (Timing) e Desempenho + + Uma das minhas prioridades mais altas no desenvolvimento do Nmap + tem sido o desempenho. Um scan padrão (nmap + hostname) de um host em minha rede + local leva apenas um quinto de segundo. Isso mal dá tempo de piscar o + olho, mas esse tempo aumenta conforme você está escaneando dezenas ou + centenas de milhares de hosts. Além disso, certos tipos de scan, como o + escaneamento UDP ou a detecção de versão, aumentam o tempo de + escaneamento substancialmente. Da mesma forma algumas configurações de + firewall fazem o mesmo, particularmente quando limitam a taxa de + resposta. Embora o Nmap se utilize de paralelismo e muitos outros + algoritmos avançados para acelerar esses scans, o usuário tem o controle + final sobre como o Nmap executa. Usuários avançados elaboram comandos do + Nmap cuidadosamente para obter apenas as informações que importam, + sempre se preocupando com as restrições de tempo. + + Técnicas para melhorar os tempos de scan incluem omitir testes + não-críticos e atualizar até a versão mais recente do Nmap (melhorias de + desempenho são feitas freqüentemente). Otimizar os parâmetros de tempo + também podem fazer uma grande diferença. Essas opções estão listadas + abaixo. + + Algumas opções aceitam um parâmetro de tempo. É especificado em milissegundos por + padrão, embora você possa acrescentar ‘s’, ‘m’ ou ‘h’ ao valor para + especificar segundos, minutos ou horas. Dessa forma, os argumentos + arguments 900000, 900s e 15m + fazem a mesma coisa. + + + + ; + (Ajuste dos + tamanhos dos grupos de scan paralelos) + + + + --min-hostgroup + + + + --max-hostgroup + + + O Nmap tem a habilidade de fazer um scan de portas ou de + versões em múltiplos hosts em paralelo. O Nmap faz isso dividindo + a faixa de endereços IP-alvo em grupos, e então escaneando um + grupo de cada vez. No geral, grupos maiores são mais eficientes. A + contrapartida é que os resultados dos hosts não pode ser fornecido + até que o grupo inteiro tenha terminado. Portanto, se o Nmap + começou com um tamanho de grupo igual a 50, o usuário não + receberia nenhum relatório (exceto pelas atualizações mostradas no + modo verbose) até que os primeiros 50 hosts tivessem + completado. + + Por padrão, o Nmap assume um compromisso para resolver esse + conflito. Ele começa com um tamanho de grupo pequeno, igual a + cinco, para que os primeiros resultados venham rápido, e então + aumenta o tamanho até que chegue em 1024. O número padrão exato + depende das opções fornecidas. Por questões de eficiência, o Nmap + usa tamanhos de grupo maiores para o UDP ou para scans TCP com + poucas portas. + + Quando o tamanho de grupo máximo é especificado com + , o Nmap nunca irá exceder esse + tamanho. Especifique um tamanho mínimo com + e o Nmap irá tentar manter o + tamanho dos grupos acima desse nível. O Nmap pode ter que usar + tamanhos menores do que você especificou, se não houverem + hosts-alvo suficientes restantes em uma dada interface, para + completar o mínimo especificado. Ambos podem ser configurados para + manter o tamanho do grupo dentro de uma faixa específica, embora + isso raramente seja desejado. + + O uso primário destas opções é especificar um tamanho de + grupo mínimo grande de forma que o scan completo rode mais + rapidamente. Uma escolha comum é 256 para escanear uma rede em + blocos de tamanho Classe C. Para um scan com muitas portas, + exceder esse número não irá ajudar muito. Para scans com poucos + números de portas, um tamanho de grupo de hosts de 2048 ou mais + pode ser útil. + + + + + ; + (Ajuste da + paralelização das sondagens) + + + + --min-parallelism + + + + --max-parallelism + + + Estas opções controlam o número total de sondagens que podem + estar pendentes para um grupo de hosts. Elas são usadas para o + escaneamento de portas e para a descoberta de hosts. Por padrão, o + Nmap calcula um paralelismo ideal e constantemente atualizado + baseado no desempenho da rede. Se os pacotes estiverem sendo + descartados, o Nmap reduz o ritmo e libera menos sondagens + pendentes. O número de sondagens ideal aumenta vagarosamente + conforme a rede se mostre mais confiável. Estas opções estabelecem + limites mínimo e máximo nessa variável. Por padrão, o paralelismo + ideal pode cair até 1 se a rede se mostrar não-confiável e subir + até diversas centenas em condições perfeitas. + + O uso mais comum é estabelecer + em um número maior que 1 para + melhorar a velocidade dos scans de hosts ou redes com desempenho + ruim. Esta é uma opção arriscada para se ficar brincando pois + configurar um valor alto demais pode afetar a precisão. Configurar + isso também reduz a habilidade do Nmap de controlar o paralelismo + dinamicamente baseado nas condições da rede. Um valor igual a dez + pode ser razoável, embora eu só ajuste esse valor como última + alternativa. + + A opção às vezes é + configurada para evitar que o Nmap envie aos hosts mais do que uma + sondagem por vez. Isso pode ser útil em conjunto com + (discutido mais tarde), embora esta + última normalmente sirva bem ao propósito por si só. + + + + + , + , + (Ajuste de + tempo de expiração (timeouts) das sondagens) + + + + --min-rtt-timeout + + + + --max-rtt-timeout + + + + --initial-rtt-timeout + + + O Nmap mantém um valor de tempo de expiração (timeout) de + execução para determinar quanto tempo ele deve esperar por uma + resposta de uma sondagem antes de desistir ou retransmitir essa + sondagem. Isso é calculado com base nos tempos de resposta de + sondagens anteriores. Se a latência da rede se mostrar + significativa e variável, esse tempo de expiração pode subir para + diversos segundos. Ele também começa com um nível conservador + (alto) e pode ficar desse jeito por um tempo, enquanto o Nmap + escaneia hosts não-responsivos. + + Especificar valores e + mais baixos que o padrão + pode reduzir o tempo de scan significativamente. Isso é + particularmente verdadeiro para scans sem ping + (), e para aqueles contra redes bastante + filtradas. Mas não se torne muito agressivo. O scan pode acabar + levando mais tempo se você especificar um valor tão baixo que + muitas sondagens irão expirar o tempo e serem retransmitidas + enquanto a resposta ainda está em trânsito. + + Se todos os hosts estão em uma rede local, 100 milissegundos + é um valor de razoavelmente + agressivo. Se houver roteamento envolvido, faça um ping de um host + da rede primeiro com o utilitário ICMP ping, ou com um formatador + de pacotes customizados como o hping2, que pode passar por um + firewall mais facilmente. Descubra o tempo máximo de round trip em + dez pacotes, mais ou menos. Coloque o dobro desse valor em + e o triplo ou quádruplo + para o . Normalmente eu não + configuro o rtt máximo abaixo de 100ms, não importa quais os + tempos de ping. Eu também não excedo o valor 1000ms. + + é uma opção raramente + utilizada que poderia ser útil quando uma rede é tão não-confiável + que mesmo o padrão do Nmap é muito agressivo. Considerando que o + Nmap apenas reduz o tempo de expiração para um valor mínimo quando + a rede parece ser confiável, esta necessidade não é comum e + deveria ser reportada à lista de discussão nmap-dev como um + bug. + + + + + + (Especifica o número máximo de retransmissões de sondagens de scan + de portas) + + + + --max-retries + + + Quando o Nmap não recebe nenhuma resposta a uma sondagem de + escaneamento de portas, isso pode significar que a porta está + filtrada. Ou talvez a sondagem ou a resposta simplesmente se + perdeu na rede. Também é possível que o host-alvo tenha habilitado + uma limitação de tráfego que tenha bloqueado temporariamente a + resposta. Então o Nmap tenta novamente retransmitindo a sondagem + inicial. Se o Nmap perceber que a confiabilidade da rede está + baixa, ele poderá tentar muitas vezes ainda, antes de desistir de + uma porta. Embora isso beneficie a exatidão, isso também aumenta o + tempo de escaneamento. Quando o desempenho é crítico, os + escaneamentos podem ser acelerados através da limitação do número + de retransmissões permitidas. Você pode até especificar + para evitar qualquer + retransmissão, embora isto seja raramente recomendado. + + O normal (sem nenhum padrão ) é permitir + dez retransmissões. Se a rede aparentar ser confiável e os + hosts-alvo não estiverem limitando o tráfego, o Nmap normalmente + fará apenas uma retransmissão. Portanto, a maioria dos + escaneamentos de alvos não serão sequer afetados com a redução do + para um valor baixo, como por + exemplo três. Tais valores podem acelerar significativamente o + escaneamento de hosts lentos (com limitação de tráfego). Você + normalmente perde alguma informação quando o Nmap desiste das + portas rapidamente, embora isso seja preferível a permitir que o + expire e você perca todas as + informações sobre o alvo. + + + + + (Desiste de + hosts-alvo lentos) + + + + --host-timeout + + + Alguns hosts simplesmente levam tempo + demais para serem escaneados. Isso pode ser + causado por um hardware ou software de rede com fraco desempenho + ou pouco confiável, limitação na taxa dos pacotes ou por um + firewall restritivo. Os poucos hosts mais lentos de todos os hosts + escaneados podem acabar sendo responsáveis pela maior parte do + tempo total gasto com o scan. Às vezes é melhor cortar fora o + prejuízo e pular esses hosts logo no início. Especifique a opção + com o valor máximo de tempo que + você tolera esperar. Eu normalmente especifico 30m para ter certeza de que o Nmap não + gaste mais do que meia hora em um único host. Note que o Nmap pode + estar escaneando outros hosts ao mesmo tempo em que essa meia hora + desse único host está correndo, então não é uma perda de tempo + total. Um host que expira o tempo é pulado. Nenhum resultado de + tabela de portas, detecção de SO ou detecção de versão é mostrado + para esse host. + + + + + ; + (Ajusta o atraso + entre sondagens) + + + + --scan-delay + + + + --max-scan-delay + + + Esta opção faz com que o Nmap aguarde um tempo determinado + entre cada sondagem enviada a um dado host. Isto é particularmente + útil no caso de limitação de taxas de transferência. Máquinas + Solaris (entre muitas outras) irão normalmente responder à pacotes + de sondagens de scans UDP com apenas uma mensagem ICMP por + segundo. Qualquer número maior que isso, enviado pelo Nmap, será + um desperdício. Um de 1s irá manter uma taxa de transferência + baixa. O Nmap tenta detectar a limitação de taxa e ajusta o atraso + no scan de acordo, mas não dói especificar explicitamente se você + já sabe qual a taxa que funciona melhor. + + Quando o Nmap ajusta o atraso no scan aumentando para tentar + igualar com a limitação na taxa de transferência, o scan fica + consideravelmente mais lento. A opção + especifica o maior atraso que o + Nmap irá permitir. Estabelecer um valor muito baixo pode levar à + uma retransmissão de pacotes inútil e à possíveis portas perdidas, + quando o alvo utiliza limitação rígida de taxa de + transferência. + + Outro uso do é para evitar os + sistemas de prevenção e detecção de intrusão (IDS/IPS) baseados em + limites. + + + + + + + + + + + --defeat-rst-ratelimit + + + Muitos hosts usam há bastante tempo a limitação de taxa de + transferência para reduzir o número de mensagens de erro ICMP + (tais como os erros de porta-inalcançavel) enviados. Alguns + sistemas agora aplicam limitações de taxa similares aos pacotes + RST (reset) que eles geram. Isso pode tornar o Nmap + consideravelmente mais lento pois o obriga a ajustar seu tempo de + forma a refletir essas limitações de taxa. Você pode dizer ao Nmap + para ignorar essas limitações de taxa (para scans de porta como o + Scan SYN que não trata portas que não + respondem como abertas) + especificando . + + Utilizar esta opção pode reduzir a precisão, pois algumas + portas irão aparecer como não-respondendo porque o Nmap não + esperou tempo suficiente para uma resposta RST com taxa limitada. + No caso de um scan SYN, o "não-respondendo" resulta na porta sendo + rotulada como filtrada ao invés + de no estado fechada que vemos + quando os pacotes RST são recebidos. Esta opção é útil quando você + se importa apenas com as portas abertas e distinguir entre + portasfechadas e filtradas não vale o tempo extra. + + + + + + (Estabelece um padrão de temporização) + + + + --T + + + Embora os controles de temporização de ajuste fino + discutidos nas seções anteriores sejam poderosos e efetivos, + algumas pessoas os consideram confusos. Ainda mais, escolher os + valores apropriados pode, às vezes, tomar mais tempo do que o + próprio scan que você está tentando otimizar. Por isso, o Nmap + oferece uma aproximação mais simples, com seis padrões de + temporização. Você pode especificá-los com a opção + e os números (0 - 5) ou os nomes. Os nomes de + padrões são paranóico (paranoid, 0), furtivo (sneaky, 1), educado + (polite, 2), normal (3), agressivo (agressive, 4) e insano + (insane, 5). Os dois primeiros são para evitar um IDS. O modo + educado (ou polido), diminui o ritmo de escaneamento para usar + menos banda e recursos da máquina alvo. O modo normal é o padrão + e, portanto, não faz nada. O modo agressivo + acelera os scans assumindo que você está em uma rede razoavelmente + rápida e confiável. Finalmente, o modo insano assume que você está + em uma rede extraordinariamente rápida ou está disposto a + sacrificar alguma precisão pela velocidade. + + Esses padrões permitem que o usuário especifique o quão + agressivo desejam ser, ao mesmo tempo que deixam o Nmap escolher + os valores de temporização exatos. Os padrões também fazem ajustes + pequenos na velocidade onde ainda não existem opções para controle + de ajuste fino. Por exemplo, proibe que o + atraso dinâmico de escaneamento exceda 10ms para portas TCP e + corta esse valor para 5 milissegundos. + Padrões podem ser utilizados em conjunto com controles de ajuste + fino e esses controles que você especificar irão ter precedência + sobre o padrão de temporização do parâmetro. Eu recomendo usar + quando escanear redes razoavelmente modernas + e confiáveis. Mantenha essa opção mesmo que você adicione + controles de ajuste fino, de forma que você possa se beneficiar + com as pequenas otimizações extras que ela habilita. + + Se você tiver uma conexão ethernet ou de banda-larga + decente, eu recomendaria sempre utilizar . + Algumas pessoas adoram o embora seja + agressivo demais para o meu gosto. As pessoas às vezes especificam + porque acham que diminui a probabilidade de + travar os hosts ou porque elas se consideram educadas no geral. + Normalmente elas não percebem o quão lento o realmente é. Esses scans podem levar dez vezes + mais tempo que um scan padrão. Travamento de máquinas e problemas + com a banda são raros com as opções de temporização padrão + () e, portanto, eu normalmente as recomendo + para escaneadores precavidos. Omitir a detecção de versão é bem + mais eficaz do que ficar brincando com os valores de temporização + para reduzir esses problemas. + + Embora o e o + possam ser usados para evitar alertas no IDS, eles irão leva muito + mais tempo para escanear milhares de máquinas ou portas. Para um + scan tão amplo, prefira estabelecer os valores exatos de + temporização que você precisa ao invés de depender dos valores + "engessados" de e + . + + O principal efeito de é serializar o + scan de forma que apenas uma porta é escaneada por vez, e então, + aguardar cinco minutos entre o envio de cada sondagem. + e são similares mas + aguardam apenas 15 segundos e 0,4 segundos, respectivamente, entre + as sondagens. é o comportamento padrão do + Nmap, que inclui o paralelismo. faz o mesmo + que e estabelece o atraso máximo de scan TCP + em 10 milissegundos. faz o mesmo que + e estabelece o atraso máximo de scan TCP em + 5ms. + + + + + + + Evitando e enganando o Firewall/IDS + + Muitos pioneiros da Internet vislumbraram uma rede mundial aberta + com um espaço de endereçamento IP universal que permitisse conexões + virtuais entre quaisquer dois nós. Isso permite que os hosts atuem como + verdadeiros semelhantes, servindo e obtendo informações uns dos outros. + As pessoas poderiam acessar seus computadores domésticos do trabalho, + mudando os ajustes do controle de climatização ou abrindo as portas para + convidados. Essa visão de conectividade universal foi sufocada pela + falta de espaço de endereçamento e preocupações com a segurança. No + início dos anos 1990, as empresas começaram a instalar firewalls para o + propósito claro de reduzir a conectividade. Rede enormes foram isoladas + da Internet-sem-fronteiras por proxies de aplicativos, tradução de + endereçamento de rede (network address translation) e filtros de + pacotes. O fluxo irrestrito de informações deu a vez à regulamentação + acirrada de canais de comunicação autorizados e ao conteúdo que neles + trafegam. + + As obstruções de rede, como o firewall, podem tornar o mapeamente + de uma rede extremamente difícil. E isso não vai se tornar mais fácil, + pois sufocar as sondagens casuais é, freqüentemente, o objetivo + principal de se instalar esses dispositivos. Apesar disso, o Nmap + oferece muitas ferramentas para ajudar a entender essas redes complexas, + e para verificar que os filtros estão funcionando como esperado. Ele até + suporta mecanismos para passar por cima de defesas mal implementadas. Um + dos melhores métodos para se entender a postura de segurança de uma rede + é tentar derrubá-la. Pense com a mente de uma pessoa que quer atacá-lo, + e aplique técnicas desta seção contra a sua rede. Lance um scan FTP + bounce, um scan idle, um ataque de fragmentação ou tente "tunelar" + (criar um túnel) através de um de seus próprios proxies. + + Além de restringir a atividade de rede, as empresas estão + monitorando o tráfego cada vez mais, com sistemas de detecção de + intrusão (IDS). Todos os principais IDS vêm com regras designadas para + detectar escaneamentos feitos com o Nmap porque os scans são, às vezes, + precursores de ataques. Muitos desses produtos foram recentemente + metamorfoseados em sistemas de prevenção de + intrusão (IPS) que bloqueiam o tráfego considerado malicioso de forma + ativa. Infelizmente, para administradores de rede e vendedores de IDS, + detectar confiavelmente as más intenções através da análise de dados de + pacotes é um problema difícil. Atacantes com paciência, habilidade e a + ajuda de certas opções do Nmap podem normalmente passar por um IDS sem + serem detectados. Enquanto isso, os administradores devem lidar com um + alto número de resultados do tipo falso-positivo, onde atividades + inocentes são diagnosticadas erroneamente e recebem alertas ou são + bloqueadas. + + De vez em quando, as pessoas sugerem que o Nmap não deveria + oferecer opções que permitam evitar as regras de firewalls ou passar + desapercebidos por IDSs. Elas argumentam que essas características são + tão sujeitas à má-utilização por atacantes quanto são utilizadas por + administradores para aumentar a segurança. O problema com esta lógica é + que esses métodos ainda assim seriam utilizados pelos atacantes, que + encontrariam outras ferramentas ou então acrescentariam essa + funcionalidade no Nmap. Enquanto isso, os administradores achariam muito + mais difícil executar suas tarefas. Instalar apenas servidores FTP + modernos e corrigidos é uma defesa muito melhor do que tentar evitar a + distribuição de ferramentas que implementem o ataque FTP bounce. + + Não existe uma carta mágica (ou opção do Nmap) para detectar e + subverter firewalls e sistemas IDS. É necessário habilidade e + experiência. Um tutorial está além do escopo deste guia de referência, + que apenas lista as opções relevantes e descreve suas funções. + + + + (fragmenta os pacotes); + (usando a MTU especificada) + + + + -f + + + + --mtu + + + A opção faz com que o scan solicitado + (incluindo scans usando ping) utilize pequenos pacotes IP + fragmentados. A idéia é dividir o cabeçalho TCP em diversos + pacotes para tornar mais difícil para os filtros de pacotes, os + sistemas de detecção de intrusão, e outros aborrecimentos, + detectar o que você está fazendo. Tenha cuidado com isto! Alguns + programas tem problemas para lidar com estes pequenos pacotes. O + sniffer da velha-guarda chamado Sniffit sofria uma falha de + segmentação assim que recebia o primeiro fragmento. Especifique + esta opção uma vez e o Nmap dividirá os pacotes em 8 bytes ou + menos após o cabeçalho IP. Portanto, um cabeçalho TCP de 20 bytes + seria dividido em 3 pacotes. Dois com oito bytes do cabeçalho TCP + e um com os quatro restantes. É claro que cada fragmento também + tem um cabeçalho IP. Especifique novamente + para usar 16 bytes por fragmento (reduzindo o número de + fragmentos). Ou então, você pode especificar o seu próprio tamanho + de quebra com a opção . Não especifique + também o se você usar o + . A quebra deve ser um múltiplo de 8. Embora + os pacotes fragmentados não passem por filtros de pacotes e + firewalls que enfilerem todos os fragmentos IP, tal como a opção + CONFIG_IP_ALWAYS_DEFRAG do kernel do Linux faz, algumas redes não + aguentam o impacto no desempenho que isso causa, deixando a opção + desabilitada. Outros não conseguem habilitar isso porque os + fragmentos podem seguir por rotas diferentes na rede. Alguns + sistemas de origem desfragmentam pacotes de saída no kernel. O + Linux e o módulo de reastreamento de conexão do iptables é um + exemplo desse tipo. Faça um scan enquanto executa um sniffer como + o Ethereal para ter a certeza de que pacotes enviados estão + fragmentados. Se o SO do seu host estiver causando problemas, + tente a opção para passar por cima da + camada IP e enviar frames ethernet em estado bruto. + + + + + + (Disfarça um scan usando chamarizes) + + + + -D + + + Faz com que um scan com chamarizes seja executado, o que + parece ao host remoto que, o(s) host(s) que você especificou como + chamarizes também estejam escaneando a rede-alvo. Com isso, o IDS + poderá reportar 5 a 10 scans de portas de endereços IP únicos, mas + não saberá qual IP estava realmente escaneando e qual era um + chamariz inocente. Embora isso possa ser desvendado através de + rastreamento de caminho de roteador, descarte de respostas + (response-dropping) e outros mecanismos ativos, normalmente é uma + técnica eficaz para esconder o seu endereço IP. + + Separe cada host-chamariz com vírgulas, e você pode + opcionalmente usar ME como um dos chamarizes + para representar a posição do seu endereço IP real. Se você + colocar ME na 6a. posição ou acima, alguns + detectores de scan de portas comuns (como o excelente scanlogd da + Solar Designer) pouco provavelmente irão mostrar o seu endereço + IP. Se você não utilizar o ME, o nmap irá + colocá-lo em uma posição aleatória. + + Observe que os hosts que você utilizar como chamarizes devem + estar ativos ou você poderá, acidentamente, inundar com SYN os + seus alvos. Também será bastante fácil determinar qual é o host + que está escaneando se houver apenas um host realmente ativo na + rede. Você pode preferir usar endereços IP ao invés de nomes (de + forma que as redes chamarizes não vejam você em seus logs dos + servidores de nomes). + + Chamarizes são utilizados tanto no scan com ping inicial + (usando ICMP, SYN, ACK ou qualquer outro), como também durante a + fase real de escaneamento de portas. Chamarizes também são usados + durante a detecção de SO remoto (). Chamarizes + não funcionam com a detecção de versão ou com o scan TCP + connect. + + Vale a pena observar que usar chamarizes demais pode deixar + seu scan lento e potencialmente até torná-lo menos preciso. Outra + coisa, alguns provedores de internet (ISP) irão filtrar os seus + pacotes disfarçados, mas muitos não restringem pacotes IP + disfarçados. + + + + + (Disfarça o endereço + de origem) + + + + -S + + + Em algumas circunstâncias, o Nmap pode não conseguir + determinar o seu endereço de origem (o Nmap irá dizer se for esse + o caso). Nesta situação, use o com o endereço + IP da interface que você deseja utilizar para enviar os + pacotes. + + Outro uso possível para esta flag é para disfarçar o scan e + fazer com que os alvos achem que alguma outra + pessoa está escaneando-as. Imagine uma empresa que está + constantemente sofrendo scan de portas de um concorrente! A opção + normalmente seria requerida para este tipo de + uso e seria recomendável. + + + + + (Usa a interface + especificada) + + + + -e + + + Diz ao Nmap qual interface deve ser utilizada para enviar e + receber pacotes. O Nmap deveria ser capaz de detectar isto + automaticamente, mas ele informará se não conseguir. + + + + + + (Disfarça o número de + porta de origem) + + + + --source-port + + + + --g + + + Um erro de configuração surpreendentemente comum é confiar + no tráfego com base apenas no número da porta de origem. É fácil + entender como isso acontece. Um administrador configura um + firewall novinho em folha, só para ser inundado com queixas de + usuários ingratos cujas aplicações param de funcionar. Em + particular, o DNS pode parar de funcionar porque as respostas DNS + UDP de servidores externos não conseguem mais entrar na rede. O + FTP é outro exemplo comum. Em tranferências FTP ativas, o servidor + remoto tenta estabelecer uma conexão de volta com o cliente para + poder transferir o arquivo solicitado. + + Soluções seguras para esses problemas existem, + freqüentemente na forma de proxies no nível da aplicação ou + módulos de firewall para análise de protocolo. Infelizmente também + há soluções mais fáceis e inseguras. Observando que as respostas + DNS chegam pela porta 53 e o FTP ativo pela porta 20, muitos + administradores caem na armadilha de apenas permitir tráfego vindo + dessas portas. Eles normalmente assumem que nenhum atacante irá + notar e explorar essas brechas no firewall. Em outros casos, os + administradores consideram isso uma medida provisória de curto + prazo até que eles possam implementar uma solução mais segura. + Então, eles normalmente se esquecem de fazer as atualizações de + segurança. + + Administradores de rede sobrecarregados não são os únicos a + caírem nessa armadilha. Diversos produtos foram empacotados com + essas regras inseguras. Mesmo a Microsoft é culpada. Os filtros + IPsec que vieram com o Windows 2000 e com o Windows XP contém uma + regra implícita que permite todo o tráfego TCP ou UDP da porta 88 + (Kerberos). Em outro caso bastante conhecido, versões do firewall + pessoal Zone Alarm, até a versão 2.1.25, permitiam qualquer pacote + UDP entrante com a porta de origem 53 (DNS) ou 67 (DHCP). + + O Nmap oferece as opções e + (elas são equivalentes) para + explorar essas fraquezas. Apenas forneça um número de porta e o + Nmap irá enviar pacotes dessa porta onde for possível. O Nmap + utiliza números de porta diferentes para que certos testes de + detecção de SO funcionem direito, e as requisições DNS ignoram a + flag porque o Nmap confia nas + bibliotecas de sistema para lidar com isso. A maioria dos scans + TCP, incluindo o scan SYN, suportam a opção completamente, assim + como o scan UDP. + + + + + (Acrescenta + dados aleatórios nos pacotes enviados) + + + + --data-length + + + Normalmente o Nmap envia pacotes minimalistas contendo + apenas o cabeçalho. Dessa forma os pacotes TCP têm normalmente 40 + bytes e os echo requests ICMP tem só 28. Esta opção faz com que o + Nmap acrescente o número informado de bytes aleatórios na maioria + dos pacotes que envia. Os pacotes de detecção de SO + () não são afetados, pois a precisão exige + consistência das sondagens, mas a maioria dos pacotes de ping e + scan de portas funcionam assim. Isso atrasa um pouco as coisas, + mas pode tornar um scan ligeiramente menos chamativo. + + + + + (Establece o valor do + campo time-to-live) + + + + --ttl + + + Estabelece que o campo tempo-de-vida (time-to-live) dos + pacotes enviados terá o valor informado. + + + + + (Torna aleatória a ordem + dos hosts-alvo) + + + + --randomize-hosts + + + Informa ao Nmap que ele deve embaralhar cada grupo de, no + máximo, 8096 hosts antes de escaneá-los. Isso torna os scans menos + óbvios a vários sistemas de monitoramento de rede, especialmente + quando você combina isso com as opções de temporização lentas. Se + você deseja fazer isso em grupos maiores, aumente o PING_GROUP_SZ + no nmap.h e recompile. Uma solução + alternativa é gerar uma lista de endereços IP-alvos com um scan de + lista (), embaralhar a + lista com um script Perl e então fornecer a lista completa para o + Nmap com . + + + + + (Disfarça o endereço MAC) + + + + --spoof-mac + + + Solicita ao Nmap que utilize o endereço MAC informado para + todos os frames ethernet em estado bruto (raw) que ele enviar. + Esta opção implica em para assegurar + que o Nmap realmente envie pacotes no nível ethernet. O MAC + fornecido pode assumir diversos formatos. Se for apenas a string + 0, o Nmap irá escolher um MAC completamente + aleatório para a sessão. Se a string informada for um número par + de dígitos hexa (com os pares opcionalmente separados por dois + pontos), o Nmap irá usa-la como o MAC. Se menos do que 12 dígitos + hexa forem informados, o Nmap preenche o restante dos 6 bytes com + valores aleatórios. Se o argumento não for um 0 ou uma string + hexa, o Nmap irá procurar no + nmap-mac-prefixes para encontrar o nome de um + fabricante contendo a string informada (não é sensível a + maiúsculas ou minúsculas). Se encontrar, o Nmap usa o OUI (prefixo + de 3 bytes) do fabricante e preenche os 3 bytes restantes + aleatoriamente. Exemplos de argumentos + válidos são Apple, + 0, 01:02:03:04:05:06, + deadbeefcafe, 0020F2 e + Cisco. + + + + + (Send packets with bogus TCP/UDP + checksums) + + + + --badsum + + + Solicita ao Nmap que utilize uma soma de verificação + (checksum) TCP ou UDP inválida para os pacotes enviados aos hosts. + Uma vez que virtualmente todos as pilhas (stack) IP do host irão + rejeitar esses pacotes, quaisquer respostas recebidas são + provavelmente vindas de um firewall ou IDS que nem se incomodou em + verificar a soma de verificação. Para mais detalhes desta técnica, + veja + + + + + + + Saída (Output) + + Qualquer ferramenta de segurança só é útil se a saída que ela gera + também o for. Testes e algoritmos complexos são de pouco valor se não + forem apresentados de uma forma organizada e compreensível. Dado o + número de formas que o Nmap é utilizado pelas pessoas e por outros + softwares, nenhum formato irá agradar a todos. Então o Nmap oferece + diversos formatos, incluindo o modo interativo para humanos lerem + diretamente e o XML para fácil interpretação por um software. + + Além de oferecer diversos formatos de saída, o Nmap fornece opções + para controlar a verbosidade da saída, bem como das mensagens de + depuração. Os tipos de saída podem ser enviados para a saída padrão + (standard output) ou para arquivos, o qual o Nmap pode acrescentar ou + então sobrescrever. Arquivos de saída também podem ser utilizados para + se retomar scans abortados. + + O Nmap torna a saída disponível em cinco formatos diferentes. O + padrão é chamado de saída interativa (interactive + output), e é enviada para a saída padrão (stdout). Há também a + saída normal (normal output), que é similar à + interativa exceto pelo fato de mostrar menos + informações e alertas sobre a execução uma vez que se espera que seja + feita uma análise somente após o scan completar, ao invés de + interativamente. + + A saída XML é um dos tipos de saída mais importantes pois permite + a conversão para HTML, é facilmente analisada por programas como a + interface gráfica do Nmap, ou pode ser importada em banco de + dados. + + Os dois tipos restantes de saída são a simples saída para + o grep (grepable output) que inclui a maioria das informações + de um host-alvo em uma única linha e a s4íd4 sCRiPt KiDDi3 + (sCRiPt KiDDi3 0utPUt) para usuários que se consideram 1r4d0z + (|<-r4d). + + Embora a saída interativa seja a padrão e não tenha associada + nenhuma opção de linha de comando, as outras quatro opções de formato + utilizam a mesma sintaxe. Elas recebem um argumento, que é o nome do + arquivo onde os resultados devem ser armazenados. Formatos múltiplos + podem ser especificados, mas cada formato só pode ser especificado uma + vez. Por exemplo, você pode querer armazenar a saída normal para seu uso + enquanto grava a saída XML do mesmo scan para análise utilizando + programas. Você pode fazer isso com as opções . Embora este capítulo use nomes simples como + myscan.xml por uma questão de brevidade, nomes mais + descritivos normalmente são recomendados. Os nomes escolhidos são uma + questão de preferência pessoal, embora eu use nomes longos que + incorporam a data do scan e uma palavra ou duas que descrevam o scan, + colocados em um diretório com o nome da empresa que eu estou + escaneando. + + Mesmo que essas opções gravem os resultados em arquivos, o Nmap + ainda assim mostra a saída interativa na stdout como de costume. Por + exemplo, o comando nmap -oX myscan.xml target grava + em XML no myscan.xml e enche a saída padrão com os + mesmos resultados interativos que teria mostrado se a opção + não tivesse sido especificada. Você pode mudar isso + passando um caracter hífen como argumento de um dos tipos de formato. + Isso faz com que o Nmap desative a saída interativa e apenas grave os + resultados no formato que você especificou para a saída padrão. Dessa + forma, o comando nmap -oX - target irá enviar apenas + a saída XML para a stdout. Erros sérios ainda podem ser mostrados na + saída padrão de erros, stderr. + + Ao contrário de alguns argumentos do Nmap, o espaço em branco + entre a flag da opção (como a ) e o nome do arquivo + ou hífen é obrigatório. Se você omitir as flags e informar argumentos + como ou , uma + característica de compatibilidade retroativa do Nmap irá causar a + criação de arquivos de saída do tipo normal format + chamados G- e Xscan.xml + respectivamente. + + O Nmap também oferece opções para controlar a verbosidade do scan + e para acrescentar informações nos arquivos de saída, ao invés de + sobrepor. Todas essas opções estão descritas abaixo. + + + Formatos de Saída do Nmap + + + (Saída + normal) + + + + -oN + + + Solicita que a saída normal (normal + output) seja direcionada para o arquivo informado. + Conforme discutido acima, é um pouco diferente da saída + interativa (interactive output). + + + + + (Saída em + XML) + + + + -oX + + + Solicita que a saída em XML (XML output) + seja direcionada para o arquivo informado. O Nmap inclui uma + definição do tipo de documento (document type definition, DTD) que + permite que os analisadores (parsers) XML validem a saída em XML + do Nmap. Embora seja primeiramente voltada para ser usada por + programas, também pode ajudar os humanos a interpretar a saída em + XML do Nmap. A DTD define os elementos válidos do formato, e + geralmente enumera os atributos e valores que eles podem receber. + A última versão está sempre disponível em . + + O XML oferece um formato estável que é facilmente + interpretado por software. Interpretadores (parsers) XML gratuitos + estão disponível para as principais linguagens de computador, + incluindo C/C++, Perl, Python e Java. As pessoas até já escreveram + extensões para a maioria dessas linguagens para manipular a saída + e a execução especificamente do Nmap. Exemplos são o Nmap::Scanner + e o Nmap::Parser em + Perl CPAN. Em quase todos os casos em que uma aplicação + não-trivial faz interface com o Nmap, o XML é o formato + preferido. + + A saída XML faz referência à uma folha de estilo que pode + ser usada para formatar os resultados em HTML. A forma mais fácil + de se utilizar isso é simplesmente carregar a saída XML em um + navegador web como o Firefox ou o IE. Por padrão, isso só irá + funcionar na máquina onde você rodou o Nmap (ou em uma máquina + similarmente configurada) devido ao caminho (path) do sistema de + arquivos (filesystem) gravado de forma inalterável do + nmap.xsl. Utilize a opção + ou para + criar arquivos XML portáveis que podem ser interpretados como um + HTML em qualquer máquina conectada à web. + + + + + (S4íd4 + ScRipT KIdd|3) + + + + -oS + + + A saída script kiddie é como a saída interativa, com a + diferença de ser pós-processada para atender melhor aos "hackers + de elite" (l33t HaXXorZ) que antigamente rejeitavam o Nmap devido + ao uso consistente de maiúsculas e minúsculas e a grafia correta. + Pessoas sem senso de humor devem observar que esta opção serve + para se fazer graça dos script kiddies antes de me xingar por + estar, supostamente, ajudando-os. + + + + + (Saída + para o grep) + + + + -oG + + + Este formato de saída é mencionado por último porque está + depreciado. O formato de saída XML é muito mais poderoso e é + bastante adequado para usuário avançados. O XML é um padrão para o + qual existem dezenas de excelentes interpretadores (parsers) + disponíveis, enquanto que a saída para o grep é um quebra-galho + feito por mim. O XML é extensível para suportar novas + características do Nmap conforme elas forem lançadas, por outro + lado, sempre tenho que omitir essas novas características da saída + para o grep por falta de onde colocá-las. + + Apesar disso, a saída para o grep é bastante popular. É um + formato simples que lista cada host em uma linha e pode ser + pesquisado de forma trivial, e interpretado por qualquer + ferramenta padrão do Unix, como o grep, awk, cut, sed, diff, e + Perl. Em mesmo uso-a para testes rápidos feitos na linha de + comando. Descobrir todos os hosts com a porta ssh aberta ou que + estão rodando o Solaris requer apenas um simples grep para + identificá-los, concatenado via pipe a um comando awk ou cut para + mostrar os campos desejados. + + A saída para o grep consiste de comentários (linhas + começadas com o símbolo #) e linhas-alvo. Uma linha-alvo inclui + uma combinação de 16 campos rotulados, separados por tab e + seguidos por dois-pontos. Os campos são Host, + Portas (Ports),Protocolos + (Protocols), Estado Ignorado (Ignored + State), SO (OS), Índice de + Seqüência (Seq Index), IPID e + Estado (Status). + + O campo mais importante é, normalmente, Portas + (Ports), que fornece detalhes de cada porta + interessante. É uma lista com a relação de portas, separada por + vírgula. Cada porta representa uma porta interessante, e tem o + formato de sete sub-campos separados por barra (/). Esses + sub-campos são: Número da Porta (Port number), + Estado (State), Protocolo + (Protocol), Proprietário (Owner), + Serviço (Service), informação sobre o + SunRPC (SunRPC info) e informação sobre a + Versão (Version info). + + Assim como na saída XML, esta página man não permite que se + documente o formato todo. Uma visão mais detalhada sobre o formato + de saída para o grep do Nmap está disponível em . + + + + + (Saída para todos os + formato) + + + + -oA + + + Para facilitar, você pode especificar para armazenar os + resultados de scan nos formatos normal, XML e para o grep de uma + vez. Eles são armazenados nos arquivos + nome-base.nmap, + nome-base.xml e + nome-base.gnmap, respectivamente. Como + na maioria dos programas, você pode colocar como prefixo aos nomes + de arquivos o caminho de um diretório, como + ~/nmaplogs/foocorp/ no UNIX ou + c:\hacking\sco no Windows. + + + + + + Opções de Verbosidade e depuração (debugging) + + + (Aumenta o nível de verbosidade) + + + + -v + + + Aumenta o nível de verbosidade, fazendo com que o Nmap + mostre mais informações sobre o progresso do scan. Portas abertas + são mostradas conforme são encontradas, e estimativas de tempo + para o término são fornecidas quando o Nmap acha que um scan irá + demorar mais do que alguns minutos. Use duas vezes para uma + verbosidade ainda maior. Usar mais do que duas vezes não surte + nenhum efeito. + + A maioria das alterações afetam apenas a saída interativa, e + algumas também afetam a saída normal e script kiddie. Os outros + tipos de saída foram feitos para serem processados por máquinas, + então o Nmap pode dar informações bastante detalhadas por padrão + nesse formatos sem cansarem o usuário humano. Entretanto, existem + algumas mudanças nos outros modos onde o tamanho da saída pode ser + reduzido substancialmente pela omissão de alguns detalhes. Por + exemplo, uma linha de comentário, na saída para o grep, que + fornece uma lista de todas as portas escaneadas só é mostrada no + modo verboso porque ela pode ser bem longa. + + + + + (Aumenta ou estabelece o nível de + depuração) + + + + -d + + + Se mesmo o modo verboso não fornece dados suficientes para + você, o modo de depuração está disponível para inundá-lo com muito + mais! Assim como na opção de verbosidade (), a + depuração é habilitada com uma flag na linha de comando + () e o nível de depuração pode ser aumentado + especificando-a múltiplas vezes. Alternativamente, você pode + estabelecer o nível de depuração fornecendo um argumento para o + . Por exemplo, estabelece + o nível nove. Esse é efetivamente o nível mais alto e irá produzir + milhares de linhas, a menos que você execute um scan muito simples + com poucas portas e alvos. + + A saída da depuração é útil quando há a suspeita de um bug + no Nmap, ou se você simplesmente está confuso com o que o Nmap + está fazendo e por quê. Como esta opção é, na maioria das vezes, + destinada a desenvolvedores, a linhas de depuração nem sempre são + auto-explicativas. Você pode obter algo como: + Timeout vals: srtt: -1 rttvar: -1 to: 1000000 + delta 14987 ==> srtt: 14987 rttvar: 14987 to: + 100000. Se você não entender uma linha, suas + únicas opções serão ignorá-la, procurar no código-fonte ou pedir + ajuda na lista de discussão de desenvolvimento (nmap-dev). Algumas + linhas são auto-explicativas, mas as mensagens ficam cada vez mais + obscuras conforme o nível de depuração é aumentado. + + + + + (Rastreia pacotes e dados + enviados e recebidos) + + + + --packet-trace + + + Faz com que o Nmap mostre um sumário de todos os pacotes + enviados ou recebidos. Isto é bastante usado para depuração, mas + também é uma forma valiosa para novos usuário entenderem + exatamente o que o Nmap está fazendo por baixo dos panos. Para + evitar mostrar milhares de linhas, você pode querer especificar um + número limitado de portas a escanear, como + . Se tudo o que lhe interessa for saber o + que se passa no subsistema de detecção de versão, use o + . + + + + + (Lista as interfaces e rotas) + + + + --iflist + + + Mostra a lista de interfaces e rotas do sistema conforme + detectados pelo Nmap. Isto é útil para depurar problemas de + roteamento ou erro de caracterização de dispositivo (como, por + exemplo, no caso do Nmap tratar uma conexão PPP como se fosse uma + Ethernet). + + + + + (Registrar os erros/avisos em um + arquivo de sáida em modo normal) + + + + --log-errors + + + Avisos e erros mostrados pelo Nmap normalmente aparecem + apenas na tela (saída interativa), deixando quaisquer arquivos de + saída com formato normal especificados íntegros. Mas quando você + quer realmente ver essas mensagens no arquivo de saída que você + especificou, inclua esta opção. É útil quando você não está vendo + a saída interativa ou está tentando depurar um problema. As + mensagens continuarão a aparecer no modo interativo. Isto não irá + funcionar para a maioria dos erros ligados à argumento inválidos + na linha de comando, ocorre que o Nmap pode ainda não ter + inicializado seus arquivos de saída ainda. Somado a isso, algumas + mensagens de erro/aviso do Nmap utilizam um sistema diferente que + ainda não suporta esta opção. Uma alternativa ao uso desta opção é + redirecionar a saída interativa (incluindo o fluxo de erros + padrão) para um arquivo. Embora a maioria dos shells Unix tornem + essa uma alternativa fácil, pode ser difícil fazer o mesmo no + Windows. + + + + + + Opções diversas (miscellaneous) de saída + + + (Acrescenta no arquivo de + saída, ao invés de sobrepor) + + + + --append-output + + + Quando você especifica um nome de arquivo na flag de formato + de saída, como ou , esse + arquivo é sobreposto por padrão. Se você preferir manter o + conteúdo existente do arquivo e acrescentar os novos resultados, + especifique a opção . Todos os + arquivos de saída especificados na execução do Nmap terão os + resultados acrescidos ao invés de sobrepostos. Isso não funciona + bem com os dados de scan para XML () pois o + arquivo resultante não será adequadamente interpretado até que + você conserte manualmente. + + + + + (Retoma um + scan abortado) + + + + --resume + + + Algumas execuções extensas do Nmap podem levar muito tempo + -- na ordem de dias. Tais scans nem sempre rodam até o fim. Podem + haver restrições que impeçam que o Nmap seja executado durante o + horário de expediente, a rede pode cair, a máquina onde o Nmap + está rodando pode sofrer um reboot planejado ou não, ou o Nmap + pode simplesmente travar. O administrador que está rodando o Nmap + poderia cancelá-lo por qualquer outra razão, bastando teclar + ctrl-C. Reiniciar um scan inteiro do começo pode + ser indesejável. Felizmente, se forem mantidas logs normal + () ou para o grep (), o + usuário pode pedir que o Nmap continue o escaneamento do alvo que + estava verificando quando a execução foi interrompida. + Simplesmente especifique a opção e + informe o arquivo da saída normal/para o grep como argumento. + Nenhum outro argumento é permitido, pois o Nmap analisa o arquivo + de saída e usa os mesmos argumentos especificados anteriormente. + Basta chamar o Nmap com nmap --resume + nomedoarquivodelog. O Nmap + irá acrescentar os novos resultados ao arquivo de dados + especificado na execução anterior. Essa retomada de execução não + suporta o formato de saída XML porque combinar as duas execuções + em um arquivo XML válido seria difícil. + + + + + (Informa + a folha de estilo XSL usada para transformar a saída XML) + + + + --stylesheet + + + O Nmap vem com uma folha de estilo (stylesheet) chamada + nmap.xsl para visualizar ou traduzir a saída + XML em HTML. A saída XML inclui uma diretiva + xml-stylesheet que mostra para o + nmap.xml onde ele foi inicialmente instalado + pelo Nmap (ou para o diretório corrente no Windows). Simplesmente + carregue a saída XML do Nmap em um navegador moderno e ele deve + conseguir achar o nmap.xsl no sistema de + arquivos e utilizá-lo para interpretar os resultados. Se você + deseja utilizar uma folha de estilo diferente, especifique-a como + um argumento para . Você deve + informar o caminho completo ou a URL. Uma chamada comum é + . Isso diz ao + navegador para carregar a versão mais atual da folha de estilo da + Insecure.Org. A opção faz a mesma coisa + com menos teclas e menor memorização. Carregar o XSL da + Insecure.org torna mais fácil de se ver os resultados em uma + máquina que não tenha o Nmap instalado (e, conseqüentemente o + nmap.xsl). Então, a URL é normalmente mais + útil, mas a localização nmap.xsl em um filesystem local é usada + por padrão por questões de privacidade. + + + + + (Carrega a folha de estilo da + Insecure.Org) + + + + --webxml + + + Esta opção conveniente é apenas um apelido para + . + + + + + (Omite do XML a declaração da + folha de estilo XSL) + + + + --no_stylesheet + + + Especifique esta opção para evitar que o Nmap associe + qualquer folha de estilo XSL à saída XML. A diretiva + xml-stylesheet é omitida. + + + + + + + Opções Diversas (Miscelânea) + + Esta seção descreve algumas opções importantes (e + não-tão-importantes) que realmente não couberam em nenhum outro + lugar. + + + + (Habilita o escaneamento IPv6) + + + + -6 + + + + IPv6 + + + Desde 2002, o Nmap oferece suporte a IPv6 na maioria de suas + opções mais populares. Em particular, o scan com ping (apenas + TCP), o scan com connect e a detecção de versão, todo suportam + IPv6. A sintaxe de comando é a mesma de sempre, exceto que você + irá também adicionar a opção . É claro que você + deve usar a sintaxe IPv6 se especificar um endereço no lugar de um + nome de host. Um endereço pode se parecer com + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + portanto os nomes de host são recomendados. A saída é a mesma de + sempre, com o endereço IPv6 na linha portas + interessantes sendo a única dica visível de se tratar + realmente de IPv6. + + Muito embora o IPv6 não ter, exatamente, se alastrado pelo + mundo, seu uso se torna mais significativo em alguns países + (normalmente asiáticos) e a maioria dos sistemas operacionais + modernos passam a suportá-lo. Para usar o Nmap com o IPv6, tanto a + origem, quanto o alvo de seu scan devem estar configurados para + IPv6. Se o seu provedor (ISP) (como a maioria) não aloca endereços + IPv6 para você, alguns intermediários, que fazem o túnel + gratuitamente, estão amplamente disponíveis e funcionam bem com o + Nmap. Um dos melhores é disponibilizado pela BT Exact em . Também tenho utilizado um, + fornecido pela Hurricane Electric em . Túneis 6para4 são outra abordagem + gratuita e popular. + + + + + (Opções agressivas de scan) + + + + -A + + + Esta opção habilita opções adicionais avançadas e + agressivas. Ainda não decidi exatamente qual das duas é a certa. + Atualmente ela habilita a Detecção de SO () e o + escaneamento de versão (). Mais + características poderão ser adicionadas no futuro. A questão é + habilitar um conjunto completo de opções de escaneamento sem que + as pessoas tenham que se lembrar de um grupo grande de flags. Esta + opção apenas habilita as funções e não as opções de temporização + (como a ) ou opções de verbosidade + () que você pode também querer. + + + + + (Especifica + a localização dos arquivos de dados do scan) + + + + --datadir + + + O Nmap obtém alguns dados especiais, em tempo de execução, + em arquivos chamados nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes e + nmap-os-fingerprints. O Nmap primeiramente + busca esses arquivos em um diretório especificado na opção + (se houver). Qualque arquivo que não + seja encontrado lá é procurado no diretório especificado pela + variável de ambiente NMAPDIR. A seguir vem o + ~/.nmap para se achar os UIDs reais e + efetivos (apenas em sistemas POSIX) ou a localização do executável + do Nmap (apenas Win32) e, então, a localização definida na + compilação, que pode ser + /usr/local/share/nmap ou + /usr/share/nmap . Como último recurso, o Nmap + irá procurar no diretório corrente. + + + + + (Use a transmissão pela ethernet + em estado bruto) + + + + --send-eth + + + Solicita ao Nmap para que envie pacotes na ethernet (data + link) em estado bruto (raw) ao invés de usar a camada de nível + mais alto IP (rede). Por padrão, o Nmap escolhe o que for melhor + para a plataforma onde está rodando. Soquetes (sockets) em estado + bruto (camada IP) são normalmente mais eficientes em máquinas + UNIX, enquanto que os frames ethernet são necessários nas + operações do Windows, uma vez que a Microsoft desabilitou o + suporte a soquetes em estado bruto. O Nmap ainda usa pacotes IP em + estado bruto no UNIX, independentemente desta opção, quando não há + outra alternativa (como no caso de conexões não-ethernet). + + + + + (Envia no nível do IP em estado + bruto) + + + + --send-ip + + + Pede ao Nmap que envie os pacotes pelos soquetes IP em + estado bruto ao invés de enviar pelo nível mais baixo dos frames + ethernet. É o complemento da opção + discutida anteriormente. + + + + + (Assume que o usuário é + altamente privilegiado) + + + + --privileged + + + Informa ao Nmap para simplesmente assumir que ele tem + privilégio suficiente para executar transmissões de soquetes em + estado bruto, farejar (sniff) pacotes e operações similares que + normalmente requerem privilégio de root em sistemas UNIX. Por + padrão, o Nmap se encerra se tal operação é solicitada mas o + geteuid() não é zero. é útil com as + possibilidades oferecidas pelo kernel do Linux, e sistemas + similares, que pode ser configurado para permitir que usuários + não-privilegiados executem scans de pacotes em estado bruto. + Assegure-se de informar esta flag de opção antes de outras flags + de opção que requeiram privilégios (scan SYN, detecção de OS, + etc.). A variável NMAP_PRIVILEGED pode ser configurada como uma + alternativa equivalente de . + + + + + (Release memory before + quitting) + + + + --release-memory + + + Esta opção é útil apenas para depuração de vazamentos de + memória (memory-leak). Ela faz com que o Nmap libere memória + alocada pouco antes de encerrar de forma a tornar os vazamentos de + memória reais mais fáceis de se ver. Normalmente o Nmap pula essa + parte pois o SO faz isso de qualquer forma no encerramento de um + processo. + + + + + (Inicial em modo + interativo) + + + + --interactive + + + Inicia o Nmap em modo interativo, que oferece um prompt + interativo do Nmap, permitindo o início de múltiplos scans (tanto + síncronos quanto em background). Isto é útil para pessoas que + escaneiam a partir de sistemas multi-usuários e que normalmente + querem testar a segurança sem deixar todo mundo saber exatamente + quais sistemas eles estão escaneando Use + para ativar este modo e então tecle + h para uma ajuda (help). Esta opção é raramente + utilizada porque um shell adequado é mais familiar e tem mais + opções. Esta opção inclui um operador exclamação (!) para a + execução de comandos de shell, o que é uma das muitas razões de + não se instalar o Nmap com setuid root. + + + + + ; (Mostra o + número da versão) + + + + -V + + + + --version + + + Mostra o número da versão do Nmap e sai. + + + + + ; (Mostra a página + do sumário de ajuda) + + + + -h + + + + --help + + + Mostra uma pequena tela com as flags de comandos mais + comuns. Executar o nmap sem nenhum argumento faz a mesma + coisa. + + + + + + + Interação em Tempo de Execução + + + Interação em Tempo de Execução + + + Durante a execução do Nmap, todas as teclas pressionadas são + capturadas. Isso permite que você interaja com o programa sem abortá-lo + ou reiniciá-lo. Algumas teclas especiais irão mudar as opções, enquanto + outras irão mostrar uma mensagem de estado dando informações sobre o + scan. A convenção é que letras minúsculas aumentam + a quantidade de informação e letras maiúsculas + diminuem. Você também pode pressionar + ‘?’ para obter ajuda. + + + + / + + + Aumenta / Diminui a quantidade de informações + (Verbosity) + + + + + / + + + Aumenta / Diminui o Nível de Depuração (Debugging + Level) + + + + + / + + + Habilita / Desabilita o Rastreamento de Pacotes (Packet + Tracing) + + + + + + + + + + Mostra uma tela de ajuda da interação em tempo de + execução + + + + + Qualquer outra letra + + + Mostra uma mensagem de estado como esta: + + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 + undergoing Service Scan + + Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 + remaining) + + + + + + + Exemplos + + Aqui estão alguns exemplos de utilização do Nmap, desde o simple e + rotineiro, até o um pouco mais complexo e esotérico. Alguns endereços IP + reais e nomes de domínio foram utilizados para tornar as coisas mais + concretas. Nesses lugares você deve substituir os endereços/nomes pelos + da sua própria rede. Embora eu não ache que o + escaneamento de portas de outras redes seja, ou deva ser considerado, + ilegal alguns administradores de rede não apreciam o escaneamento + não-solicitado de suas redes e podem reclamar. Obter a permissão + antecipadamente é a melhor opção. + + Para fins de teste, você tem permissão para escanear o host + scanme.nmap.org. Esta permissão inclui apenas o + escaneamento via Nmap e não tentativas de explorar vulnerabilidades ou + ataques de negação de serviço (denial of service). Para preservar a + banda, por favor não inicie mais do que uma dúzia de scans contra o host + por dia. Se esse serviço de alvo livre para escaneamento for abusado, + será derrubado e o Nmap irá reportar Failed to resolve + given hostname/IP: scanme.nmap.org. Essas permissões + também se aplicam aos hosts scanme2.nmap.org, + scanme3.nmap.org, e assim por diante, embora esses + hosts ainda não existam. + + + nmap -v scanme.nmap.org + + + Esta opção escaneia todas as portas TCP reservadas na máquina + scanme.nmap.org . A opção + habilita o modo verboso (verbose). + + + nmap -sS -O scanme.nmap.org/24 + + + Inicia um scan SYN camuflado contra cada máquina que estiver ativa + das 255 possíveis da rede classe C onde o Scanme reside. + Ele também tenta determinar qual o sistema operacional que está rodando + em cada host ativo. Isto requer privilégio de root por causa do scan SYN + e da detecção de SO. + + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Inicia uma enumeração de hosts e um scan TCP na primeira metade de + cada uma das 255 sub-redes de 8 bits possíveis na classe B do espaço de + endereçamento 198.116. Também testa se os sistemas estão executando + sshd, DNS, pop3d, imapd ou a porta 4564. Para cada uma destas portas + encontradas abertas, a detecção de versão é usada para determinar qual + aplicação está executando. + + + nmap -v -iR 100000 -P0 -p 80 + + + Pede ao Nmap para escolher 100.000 hosts de forma aleatória e + escaneá-los procurando por servidores web (porta 80). A enumeração de + hosts é desabilitada com uma vez que enviar + primeiramente um par de sondagens para determinar se um hosts está ativo + é um desperdício quando se está sondando uma porta em cada host + alvo. + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + + Este exemplo escaneia 4096 endereços IP buscando por servidores + web (sem usar o ping) e grava a saída nos formatos XML e compatível com + o programa grep. + + + + Bugs + + Como seu autor, o Nmap não é perfeito. Mas você pode ajudar a + torná-lo melhor enviando relatórios de erros (bug reports) ou mesmo + escrevendo correções. Se o Nmap não se comporta da forma que você + espera, primeiro atualize para a versão mais atual disponível em . Se o problema persistir, pesquise um + pouco para determinar se o problema já foi descoberto e encaminhado. + Tente procurar no Google pela mensagem de erro ou navegar nos arquivos + da Nmap-dev em . Se não encontrar + nada, envie uma mensagem com um relatório do erro para + nmap-dev@insecure.org. Por favor, inclua tudo o que + souber sobre o problema, bem como a versão do Nmap que você está + executando e em qual versão e sistema operacional você está + rodando-o. + + Correções codificadas para consertar os erros são ainda melhores + que os relatórios de erro. Instruções básicas para a criação de arquivos + de correções com as suas alterações estão disponíveis em . + + + + Autor + + Fyodor fyodor@insecure.org () + + Centenas de pessoas fizeram contribuições valiosas para o Nmap ao + longo dos anos. Isso está detalhado no arquivo CHANGELOG que é distribuído com o Nmap e + também está disponível em . + + + + Avisos Legais + + + Unofficial Translation Disclaimer / Aviso de Tradução + Não-Oficial + + This is an unnofficial translation of the Nmap license + details into Portuguese (Brazil). It was not written by + Insecure.Com LLC, and does not legally state the distribution terms + for Nmap -- only the original English text does that. However, we hope + that this translation helps Portuguese (Brazil) speakers understand + the Nmap license better. + + Esta é uma tradução não-oficial dos detalhes do + licenciamento do Nmap em português (Brasil). Ela não foi + escrita pela Insecure.Com LLC e não tem poder legal sobre os termos de + distribuição do Nmap -- apenas o texto original em inglês o tem. + Entretanto, esperamos que esta tradução auxilie os falantes de + português (Brasil) a compreender melhor a licença do Nmap. + + + + Copyright e Licenciamento do Nmap + + + copyright + + + + licenciamento + + + + GNU GPL + + + O Nmap Security Scanner é (C) 1996-2005 Insecure.Com LLC. O Nmap + também é uma marca registrada de Insecure.Com LLC. Este programa é um + software livre; você pode redistribuí-lo e/ou modificá-lo sob os + termos da Licença Pública Geral GNU (GNU General Public License) + conforme publicado pela Free Software Foundation; Versão 2. Isso + garante o seu direito de usar, modificar e redistribuir este software + sob certas condições. Se você desejar embutir a tecnologia do Nmap em + um software proprietário, poderemos querer vender licenças + alternativas (contate sales@insecure.com). Muitos + vendedores de scanner de segurança já licenciam a tecnologia do Nmap, + tal como a descoberta de hosts, escaneamento de portas, detecção de SO + e detecção de serviços/versões. + + Observe que a GPL impõe restrições importantes em + trabalhos derivados, embora ela não forneça uma + definição detalhada desse termo. Para evitar más-interpretações, + consideramos que uma aplicação constitui um trabalho + derivado, para o propósito desta licença, se ela se enquadra + em um dos seguintes ítens: + + + + Integra código fonte do Nmap + + + + Lê ou inclui arquivos de dados do Nmap que são protegidos + por copyright, tal como o + nmap-os-fingerprints ou + nmap-service-probes. + + + + Executa o Nmap e decompõe (parse) os resultados + (diferentemente de uma execução típica de um shell ou aplicações + de menu de execução, que simplesmente mostram a saída em estado + bruto do Nmap e portanto não constituem um trabalho + derivado). + + + + Integra/inclui/agrega o Nmap em um instalador executável + proprietário, tal como os produzidos pelo InstallShield. + + + + Estabelece uma ligação (link) com uma biblioteca ou executa + um programa que faz qualquer um dois ítens acima. + + + + O termo Nmap deve ser considerado como contendo + parte ou sendo trabalho derivado do Nmap. Esta lista não é definitiva, + mas deve ser entendida como uma forma de clarear nossa interpretação + de trabalho derivado com alguns exemplos comuns. Estas restrições + apenas se aplicam quando você realmente redistribui o Nmap. Por + exemplo, nada impede que você escreva e venda um front-end + proprietário para o Nmap. Apenas redistribua o seu produto + isoladamente e mostre às pessoas aonde elas podem baixar o Nmap. + + Nós não consideramos isso como restrições adicionais à GPL, mas + apenas uma elucidação de como nós interpretamos trabalhos + derivados pois elas se aplicam ao nosso produto Nmap + licenciado no formato GPL. Isso é idêntico à forma como Linus Torvalds + anunciou sua interpretação de como os trabalhos + derivados se aplicam aos módulos do kernel do Linux. Nossa + interpretação refere-se apenas ao Nmap - não respondemos por qualquer + outro produto GPL. + + Se você tiver qualquer dúvida quanto às restrições do + licenciamento GPL na utilização do Nmap em produtos não-GPL, + ficaríamos felizes em ajudar. Como mencionado acima, também oferecemos + licenças alternativas para a integração do Nmap em aplicações e + dispositivos proprietários. Esses contratos foram vendidos para muitas + empresas de segurança e geralmente incluem uma licença perpétua, bem + como disponibiliza um suporte e atualizações prioritários, e também + nos ajuda financeiramente o desenvolvimento contínuo da tecnologia do + Nmap. Por favor, envie um e-mail para + sales@insecure.com se desejar mais informações. + + + licença + + Exceção à OpenSSL + + + Como uma exceção especial aos termos da GPL, a Insecure.Com LLC + permite que uma ligação (link) do código deste program seja feito com + qualquer versão da biblioteca do OpenSSL que seja distribuída sob uma + licença idêntica àquela listada no arquivo Copying.OpenSSL incluso, e + distribuir combinações de ligação incluindo os dois. Você deve + obedecer à GPL GNU em todos os aspectos para todo o código utilizado + que não seja OpenSSL. Se você modificar este aquivo, você pode + estender esta exceção para a sua versão do arquivo, mas você não é + obrigado a fazer isso. + + Se você recebeu estes arquivos com um acordo de licenciamento + por escrito ou um contrato ditando termos que não sejam diferentes dos + acima, então essa licença alternativa tem precedência sobre estes + comentários. + + + + Licença da Creative Commons para este guia do Nmap + + Este Guia de Referência do Nmap é (C) 2005 da Insecure.Com LLC. + Está aqui colocado sob a versão 2.5 da Licença de + Atribuição da Creative Commons. Isso permite que você + redistribua e modifique o trabalho como desejar, contanto que você + credite a fonte original. Opcionalmente, você pode preferir tratar + este documento sob as mesmas regras de licenciamento do Nmap + (discutido anteriormente). + + + + Disponibilidade de código fonte e contribuições da + comunidade + + O código fonte é fornecido com este software porque acreditamos + que os usuários tem o direito de saber exatamente o que um programa + irá fazer antes de se executá-lo. Isso também permite que você audite + o software procurando por brechas na segurança (nenhuma foi encontrada + até agora). + + O código fonte também permite que você porte o Nmap para novas + plataformas, conserte problemas e adicione novas características. Você + é altamente encorajado a enviar suas alterações para + fyodor@insecure.org para uma possível incorporação na + distribuição principal. Enviar essas alterações para Fyodor ou para + alguém da lista de mensagens de desenvolvimento da Insecure.Org, + pressupõe que você está oferecendo a Fyodor e à Insecure.Com LLC o + direito ilimitado e não-exclusivo para reutilizar, modificar e + re-licenciar o código. O Nmap sempre estará disponível como um Open + Source, mas isto é importante porque a impossibilidade de re-licenciar + o código causou problemas devastadores para outros projetos de + Software Livre (tal como o KDE e o NASM). Nós também re-licenciamos + ocasionalmente o código para terceiros, conforme discutido + anteriormente. Se você deseja especificar condições de licenciamento + especiais das suas contribuições, apenas deixe isso claro quando + enviá-las. + + + + Sem Garantia + + + garantia + + + Este programa é distribuído na esperança de que será útil, mas + SEM QUALQUER GARANTIA; sem sequer a garantia implícita de + COMERCIALIZAÇÃO ou ADEQUAÇÃO A QUALQUER PROPÓSITO PARTICULAR. Veja a + Licença Pública Geral GNU para mais detalhes em , ou no arquivo COPYING + incluído com o Nmap. + + Também deve ser observado que o Nmap reconhecidamente trava + certas aplicações mal-escritas, a pilha TCP/IP e mesmo alguns sistemas + operacionais. O Nmap nunca deve ser executado + contra sistemas de missão-crítica a menos que você esteja + preparado para lidar com o serviço fora do ar (downtime). Nós + reconhecemos aqui que o Nmap pode travar os seus sistemas ou redes e + nós renunciamos toda e qualquer responsabilidade por qualquer dano ou + problema que o Nmap possa causar. + + + + Uso inapropriado + + Pelo fato de haver o menor risco de travamento e porque existem + pessoas mal-intencionadas (black hats) que gostam de usar o Nmap para + reconhecimento antes de atacar um sistema, existem administradores que + ficam chateados e podem reclamar quando o sistema deles é escaneado. + Portanto, é normalmente aconselhável que se solicite a permissão antes + de fazer um scan de uma rede, por mais leve que seja. + + O Nmap nunca deveria ser instalado com privilégios especiais + (p.ex.: suid root) por questões de segurança. + + + + Software de Terceiros + + Este produto inclui software desenvolvido pela Apache Software Foundation. Uma + versão modificada da biblioteca + portátil de captura de pacotes Libpcap é distribuída junto com + o Nmap. A versão para o Windows do Nmap, por outro lado, utiliza + biblioteca WinPcap, + derivada da libpcap. O suporte à expressões regulares é fornecido pela + biblioteca PCRE, que é um + software de código aberto, escrito por by Philip Hazel. Algumas + funções de rede em estado bruto utilizam a biblioteca de rede Libdnet, que foi escrita + por Dug Song. Uma versão modificada é distribuída com o Nmap. O Nmap + pode, opcionalmente, ser ligado ao conjunto de ferramentas de criptografia + do OpenSSL para o suporte à detecção de versão do SSL. Todos + os softwares de terceiros descritos neste parágrafo são distribuídos + gratuitamente sob o licenciamento de software no estilo BSD. + + + + Classificação do Controle de Exportação dos EUA + + + controle de exportação + + + Controle de Exportação dos EUA: A Insecure.Com LLC acredita que + o Nmap se enquadra no US ECCN (número de classificação para controle + de exportação) 5D992. Essa categoria é chamada de software de + Segurança da Informação não-controlado pela 5D002. A única + restrição à essa classificação é o AT (anti-terrorismo), que se aplica + a quase todos os produtos e nega a exportação à um punhado de nações + não-confiáveis tais como o Irã e a Coréia do Norte. Portanto, exportar + o Nmap não requer nenhuma licença ou permissão especial, ou qualquer + outro tipo de autorização governamental. + + + +
diff --git a/docs/man-xlate/nmap-man-pt-pt.xml b/docs/man-xlate/nmap-man-pt-pt.xml new file mode 100644 index 000000000..b3c72b5e0 --- /dev/null +++ b/docs/man-xlate/nmap-man-pt-pt.xml @@ -0,0 +1,3356 @@ + + + +
+ + Guia de Referncia do Nmap (Pgina Man) + + + + + nmap + + 1 + + + + nmap + + Ferramenta de explorao de Rede e Rastreio de Segurana / + Portas + + + + + + + nmap + + + Tipo de Rastreio(Scan) + + + + Opes + + + + Especificao do Alvo + + + + + + Descrio + + O Nmap (Network Mapper) uma ferramenta em cdigo + aberto para explorao de rede e auditoria de segurana. Foi + desenhada para rastrear(Scan) rapidamente redes amplas contudo funciona bem + com um nico anfitrio(host). Nmap usa pacotes IP em estado bruto(raw) sobre + novas formas para determinar que anfitries(hosts) esto disponveis + na rede, que servios (nome e verso da aplicao) esses anfitries(hosts) esto + disponibilizando, que sistemas operativos (e verses de SO) esto em uso, + que tipo de filtros de pacotes/firewalls esto em uso e dezenas de outras + caractersticas. Enquanto o Nmap frequentemente usado para + auditorias de segurana, muitos sistemas e administradores de + redes consideram-no til para as tarefas de rotina como o + inventrio da rede, gesto de actualizaes de servios + e monitorizar o uptime de anfitries ou servios. + + A sada do Nmap uma lista de alvos rastreados(scanned) com + informaes adicionais de cada um dependendo das opes utilizadas. + Uma informao chave a tabela de portas interessantes. Essa tabela + lista o nmero da porta e o protocolo, o nome do servio e o estado. O + estado pode ser aberto (open), filtrado + (filtered), fechado (closed), ou + no-filtrado (unfilterd). Aberto (open) significa que + uma aplicao na mquina-alvo est escutando as conexes/pacotes nessa + porta. Filtrado (filtered) significa que o firewall, + filtro ou outro obstculo de rede est bloqueando a porta de forma que + o Nmap no consegue dizer se ela est aberta (open) + ou fechada (closed). Portas fechadas + (closed)no possuem uma aplicao escutando nelas embora + possam abrir a qualquer instante. Portas so classificadas como + no filtradas (unfiltered)quando elas respondem s + sondagens do Nmap mas o Nmap no consegue determinar se as portas esto + abertas ou fechadas. O Nmap reporta as combinaes + aberta|filtrada (open|filtered)e + fechada|filtrada (closed|filtered)quando no consegue + determinar qual dos dois estados descrevem melhor a porta. A tabela de + portas tambm pode incluir detalhes de verso de software quando a + deteco de verso for solicitada. Quando um rastreio(scan) do protocolo IP + solicitado () o Nmap fornece informaes dos + protocolos IP suportados ao invs de portas que estejam abertas. + + Alm da tabela de portas interessantes o Nmap pode fornecer + informaes adicionais sobre os alvos, inclundo nomes de DNS reverso, + suposies de sistema operativo, tipos de dispositivos e endereos + MAC. + + Um rastreio(scan) tpico do Nmap mostrado em . Os nicos argumentos que o Nmap utiliza + nesse exemplo so para permitir a deteco de SO e + a verso para execuo mais rpida e os nomes + de anfitrio(hostnames) de dois alvos. + + + Uma amostra de rastreio(scan) do Nmap + + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + A verso mais nova do Nmap pode ser obtida em . A verso mais nova da pgina man + est disponvel em . + + + + Sumrio das Opes + + Este sumrio de opes mostrado quando o Nmap executado sem + argumentos e a ltima verso est sempre disponvel em . Ele ajuda as + pessoas a lembrar-se das opes mais comuns mas no substitui a + documentao mais tcnica do restante deste manual. Algumas opes mais + obscuras nem esto aqui includas. + + + Synopsis: nmap [Tipo(s) de Rastreio(Scan)] [Opes] {especificao do alvo} +ESPECIFICAO DO ALVO: + Pode-se usar nomes de anfitries(hostnames), Endereos IP, redes, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254 + -iL <inputfilename>: Entrada(Input) de listas de anfitries(hosts)/redes + -iR <num hosts>: Escolher alvos aleatoriamente + --exclude <host1[,host2][,host3],...>: Excluir anfitries(hosts)/redes + --excludefile <exclude_file>: Lista de excluses de um ficheiro +DESCOBERTA DE ANFITRIES(HOSTS): + -sL: List Scan - lista simplesmente os alvos para efectuar o rastreio(scan) + -sP: Ping Scan - apenas determnina se o anfitrio est online + -P0: Considera todos os anfitries como online -- salta a descoberta de anfitries + -PS/PA/PU [portlist]: rastreio de descoberta TCP SYN/ACK ou UDP para determinadas portas + -PE/PP/PM: Rastreio(scan) de descoberta ICMP echo, timestamp, and netmask request + -n/-R: Nunca resolver/Resolver sempre nomes de DNS [default: resolver algumas vezes] +TCNICAS DE SCAN: + -sS/sT/sA/sW/sM: Rastreios(Scans) TCP SYN/Connect()/ACK/Window/Maimon + -sN/sF/sX: Rastreios(Scans) TCP Null, FIN, and Xmas + --scanflags <flags>: Customizar as TCP scan flags + -sI <anfitrio(host) zombie[:probeport]>: Idlescan + -sO: Rastreio(Scan) de protocolo IP + -b <ftp relay host>: FTP bounce scan +ESPECIFICAO DO PORTO E ORDEM DE RASTREIO: + -p <port ranges>: Apenas efectuar o rastreio(scan) de portas especficas + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Rpido - Efectua o rastreio(Scan) apenas das portas especificadas no ficheiro nmap-services + -r: Efectuar o rastreio(Scan) das portas consecutivas e no aleatoriamente +DETECO DO SERVIO/VERSO: + -sV: Rastrear(scan) portas abertas para determinar a informao sobre o servio/verso + --version-light: Limitar aos rastreios mais provveis para identificao mais rpida + --version-all: Experimentar todos os rastreios para detectar a verso + --version-trace: Mostrar detalhadamente a actividade do rastreio(scan) + da verso (para debugging) +DETECO DO SO: + -O: Permite a deteco do SO + --osscan-limit: Limitar a deteco de SO aos alvos promissores + --osscan-guess: Efectuar o rastreio do SO de forma mais agressiva +TIMING AND PERFORMANCE: + -T[0-6]: Ajustar o tempo do modelo(template) (maior mais rpido) + --min-hostgroup/max-hostgroup <msec>: Tamanho dos grupos de rastreio(scan) + de anfitrio(host) paralelo + --min-parallelism/max-parallelism <msec>: Rastreio paralelismo + --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Ajustar o + tempo de retorno do rastreio. + --host-timeout <msec>: Desistir de um alvo aps este tempo + --scan-delay/--max_scan-delay <msec>: Ajustar esperas entre rastreios +FIREWALL/IDS EVASO E DISFARE(SPOOFING): + -f; --mtu <val>: fragmentar pacotes (opcional com dado MTU) + -D <decoy1,decoy2[,ME],...>: Disfara um rastreio(scan) com iscos + -S <IP_Address>: Disfarar(Spoof) endereo de origem + -e <iface>: Usar um interface especifico + -g/--source-port <portnum>: Usar um determinado numero de porta + --data-length <num>: Acrescentar dados aleatorios aos pacotes enviados + --ttl <val>: Ajustar o campo IP TTL tempo-de-vida + --spoof-mac <mac address, prefix, or vendor name>: Disfarar(Spoof) o endereo MAC +SAIDA(OUTPUT): + -oN/-oX/-oS/-oG <file>: Retorna os resultados do rastreio(scan) em XML normal, s|<rIpt kIddi3, + e formatados respectivamente para o ficheiro especificado + -oA <basename>: Saida(Output) nos trs formatos principais + -v: Aumenta o nivel de informao apresentada(verbosity) (usar 2x para aumentar o efeito) + -d[level]: Ajusta o nivel de debugging (t 9 significativo) + --packet-trace: Mostra todos os pacotes enviados e recebidos + --iflist: Mostra os interfaces do anfitrio e rotas (para debugging) + --append-output: Acrescenta, em vez de destruir/substituir, ficheiros de resultados + --resume <filename>: Continuar um rastreio cancelado(aborted) + --stylesheet <path/URL>: A XSL stylesheet para transformar retorno(output) XML para HTML + --no_stylesheet: Impedir que o Nmap de associar a XSL stylesheet com retorno(output) XML +OUTROS(MISC): + -6: Permitir rastreio(scanning) IPv6 + -A: Permitir deteco do SO e verso + --datadir <dirname>: Especifica a localizao do ficheiro de dados personalizado do Nmap + --send-eth/--send-ip: Enviar pacotes utilizando "raw ethernet frames" ou pacotes IP + --privileged: Assume que o utilizador possui os previlgios necessrios + -V: Mostra a verso + -h: Mostra esta pgina de sumrio de ajuda +EXEMPLOS: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + Especificao de Alvo + + Tudo na linha de comando do Nmap que no for uma opo (ou + argumento de uma opo) tratado como uma especificao de um anfitrio + (host)-alvo. O caso mais simples especificar um endereo IP como alvo ou + um nome de anfitrio(hostname) para ser rastreado(scaned). + + Algumas vezes pode querer efectuar o rastreio(scan) de uma rede + inteira de anfitries(hosts) adjacentes. + Para isso o Nmap suporta o estilo de endereamento CIDR. + Pode acrescentar /nmerodebits em um + endereo ou hostname e o Nmap ir efectuar o rastreio(scan) de cada + endereo IP para o qual os primeiros + nmerosdebits sejam o mesmo que + o IP de referncia ou o hostname dado. Por exemplo, 192.168.10.0/24 + escanearia os 256 hosts entre 192.168.10.0 (binrio: 11000000 + 10101000 00001010 00000000) e 192.168.10.255 (binrio: + 11000000 10101000 00001010 11111111), inclusive. + 192.168.10.40/24 faria exatamente a mesma coisa. Dado que o afitrio(host) + scanme.nmap.org est no endereo IP 205.217.153.62, a especificao + scanme.nmap.org/16 efectuaria o rastreio(scan) dos 65.536 endereos IP entre 205.217.0.0 e + 205.217.255.255. O menor valor permitido /1, que equivale ao rastreio(scan) + de metada da Internet. O maior valor 32, que faz o rastreio(scan) de apenas o + anfitrio(host) nomeado ou endereo IP porque todos os bits de endereamento esto + fixos. + + A notao CIDR curta mas nem sempre flexvel o suficiente. Por + exemplo, pode querer fazer o rastreio(scan) de 192.168.0.0/16 mas desejar + saltar todos os IPs terminados em .0 ou .255 porque eles so normalmente + endereos de broadcast. O Nmap suporta isso atravs de endereamento por + faixa de octeto. Ao invs de especificar um endereo IP normal, + pode especificar uma lista de nmeros separada por vrgulas ou faixa de + nmeros para cada octeto. Por exemplo, 192.168.0-255.1-254 ir saltar + todos os endereos na faixa que terminarem com .0 e/ou .255. Faixas no + precisam ser limitadas ao octeto final: o especificador + 0-255.0-255.13.37 ir executar um rastreio(scan) em toda a Internet buscando os + endereos IP terminados em 13.37. Esse tipo de amostragem ampla pode ser + til em levantamentos e pesquisas de toda a Internet. + + Endereos IPv6 podem apenas ser especificados utilizando o + endereo IP ou hostname IPv6 completamente qualificado. Faixas CIDR e + octetos no so suportados para o IPv6 porque eles raramente so + teis. + + O Nmap aceita mltiplas especificaes de anfitrio(host) na linha de + comando, e elas no precisam ser do mesmo tipo. O comando nmap + scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 executa o que + se espera dele. + + Embora os alvos sejam normalmente especificados na linha de + comando, as seguintes opes tambm esto disponveis para controlar a + seleo de alvos: + + + + (Entrada a + partir de uma lista) + + + L a especificao de alvos partir de um + arquivodeentrada. Passar uma lista + enorme de anfitries(hosts) na linha de comando muito ruim, ainda que seja + normalmente desejvel. Por exemplo, o seu servidor DHCP pode exportar + uma lista de 10.000 endereos correntes em uso que deseja + efectuar o rastreio(scan). Ou talvez deseje o rastreio(scan) dr todos os + endereos IP excepto aqueles usados para localizar + anfitries(hosts) que usam endereos IP estticos no-autorizados. + Simplesmente gere uma lista de anfitries(hosts) a efectuar o rastreio(scan) + e passe o nome do arquivo para o + Nmap como um argumento opo . As entradas + podem estar em qualquer um dos formatos aceites pelo Nmap na linha + de comando (endereo IP, hostname, CIDR, IPv6, ou faixas de + octetos). Cada entrada deve ser separada por um ou mais espaos em + branco, tabulaes ou newlines. Voc pode especificar um hfen + (-) como nome de arquivo se quiser que o Nmap + leia os nomes de anfitrio(hostsnames) da entrada padro (standard input) ao invs + de um arquivo. + + + + + (Escolhe alvos + aleatrios) + + + Para levantamentos na Internet toda e outras pesquisas, + pode querer escolher alvos de forma aleatria. O argumento + nmero de anfitries(hosts) diz ao Nmap quantos IPs + ele dever gerar. IPs indesejveis, tais como aqueles de certas + redes privadas, multicast e faixas de endereos no-alocadas so + automaticamente anuladas. O argumento 0 + (zero) pode ser especificado caso deseje um rastreio(scan) sem fim. Tenha em + mente que alguns administradores de rede no gostam de rastreios(scans) + no-autorizados de suas redes e podem apresentar queixa Use esta + opo por sua conta e risco! Se estiver realmente aborrecido + em uma tarde chuvosa, tente o comando nmap -sS -PS80 -iR + 0 -p 80 para localizar servidores web aleatrios para + navegar. + + + + + + (Exclui anfitries(hosts)/redes) + + + Especifica uma lista de alvos, separados por vrgula, a + serem excludos do rastreio(scan) mesmo que faam parte da faixa de rede + especificada. A lista que fornece utiliza a sintaxe normal do + Nmap, portanto ela pode incluir nomes de afitrio(hosts), blocos de rede + CIDR, faixas de octetos, etc. Isso pode ser til quando a rede que + deseja efectuar o rastreio(scan) inclui servidores de misso crtica + intocveis, sistemas que reconhecidamente reagem mal a + rastreio(scan) de portas ou sub-redes administradas por outras + pessoas. + + + + + + (Exclui a lista do arquivo) + + + Oferece a mesma funcionalidade que a opo + , excepto que os alvos a excluir so + fornecidos em um exclude_file , + delimitados por newline, espao em branco ou tabulao, ao invs + de na linha de comando. + + + + + + + Descoberta de Hosts + + Um dos primeiros passos em qualquer misso de reconhecimento de + uma rede reduzir um conjunto (s vezes enorme) de faixas de endereos + IP, em uma lista de anfitries(hosts) activos e interessantes. Efectuar + o rastreio(scan) de cada porta de + cada endereo IP lento e normalmente desnecessrio. claro que o + que torna um anfitrio(host) interessante depende muito do propsito do rastreio(scan). + Administradores de rede podem estar apenas interessados em hosts que + executam um determinado servio, enquanto os auditores de segurana + podem se importar com cada dispositivo que possuir um endereo IP. Um + administrador pode se sentir vontade em usar o ping ICMP para + localizar os anfitries(hosts) na rede interna, enquanto um profissional externo de + anlise de vulnerabilidades (penetration tester) pode utilizar um + conjunto diversificado de dezenas de sondagens numa tentativa de + enganar as restries da firewall. + + As necessidades para o descobrimento de anfitrio(host) so muito diversas e, + por isso, o Nmap oferece uma ampla variedade de opes para customizar + as tcnicas utilizadas. A descoberta de anfitrio(host) s vezes chamada de + rastreo ping(ping scan), mas ela vai muito alm dos simples pacotes ICMP de echo request + associados com a popular ferramenta conhecida como ping. Os usurios + podem saltar a etapa do ping inteiramente com uma lista de rastreio(scan) + () ou desactivado o ping (), + ou enfrentar a rede com combinaes arbitrrias de sondagens + multi-portas TCP SYN/ACK, UDP, e ICMP. O objetivo dessas sondagens + solicitar respostas que mostrem que um endereo IP est realmente activo + ( utilizado por um afitrio(host) ou dispositivo de rede). Em muitas redes, + apenas uma pequena percentagem dos endereos IP est activa em um dado + momento. Isso particularmente comum com o espao de endereamento + privado ao abrigo do RFC1918 como, por exemplo, 10.0.0.0/8. Essa + rede tem 16 milhes de IPs, mas eu j a vi sendo utilizado em empresas + com menos de mil mquinas. A descoberta de anfitries(hosts) pode encontrar essas + mquinas escassamente alocadas em um mar de endereos IP. + + Se nenhuma opo de descoberta de hosts for dada, o Nmap envia um + pacote TCP ACK destinado a porta 80 e uma procura ICMP Echo Request a + cada mquina-alvo. Uma exceo a isso que um rastreio(scan) ARP utilizado para + cada alvo localizado na rede ethernet local. Para usurios Unix sem + privilgios de shell, um pacote SYN enviado ao invs do ack + utilizando a chamada de sistema connect(). Esses + valores default equivalem s opes . Esta + descoberta de anfitrio(host) frequentemente suficiente para o rastreio(scan) + de redes locais, mas um conjunto de sondagens mais abrangentes recomendado para + auditoria de segurana. + + As opes (que seleccionam tipos de ping) + podem ser combinadas. Voc pode aumentar as chances de penetrar numa + firewall enviando muitos tipos de sondagens, utilizando + diferentes portas/flags TCP e cdigos ICMP. Note tambm que a descoberta + por ARP () feita por default contra alvos na rede + ethernet local mesmo que especifique outras opes + , porque quase sempre mais rpida e mais + eficiente. + + As seguintes opes controlam a descoberta de anfitries(hosts). + + + + (Listagem de rastreio(scan)) + + + A listagem de rastreio(scan) uma forma degenerada de descoberta de + anfitries(hosts) que simplesmente lista cada anfitrio(host) da + rede especificada, sem enviar nenhum pacote aos hosts-alvos. Por default o Nmap + far a resoluo de DNS dos anfitries(hosts) para descobrir seus nomes. + Ainda surpreendente a quantidade de informaes teis que + simples nomes de hosts podem dar. Por exemplo, + fw.chi.playboy.com o firewall do escritrio + de Chicago da Playboy Enterprises. Nmap tambm reporta o nmero + total de endereos IP ao final. A listagem de rastreio(scan) um bom teste de + sanidade para assegurar que est com a lista correta de + endereos IP dos seus alvos. Se os anfitries(hosts) mostrarem nomes de + domnios que no reconhece, vale a pena investigar melhor + para evitar o rastreio(scan) da rede da empresa errada. + + Uma vez que a idia apenas mostrar uma lista dos + hosts-alvos, as opes de funcionalidade de nvel mais alto tais + como o rastreio(scan) de portas, deteco de SO, ou rastreio(scan) utilizando ping, no + podem ser combinadas com esta opo. Se deseja desactivar o + rastreio(scan) utilizando ping enquanto executa funes de nvel elevado, + leia a opo . + + + + + (Rastreio(scan) usando Ping) + + + Esta opo diz ao Nmap para somente + executar um rastreio(scan) usando o ping (descoberta de anfitries(hosts)), e ento + mostrar os hosts disponveis que responderam ao scan. Nenhum teste + adicional (tais como o rastreio(scan) de portas e deteo de SO) + executado. Isto um pouco mais intrusivo que a listagem de rastreio(scan), e + pode ser usado para os mesmos propsitos. Permite um + reconhecimento leve de uma rede-alvo sem chamar muita ateno. + Saber quantos hosts esto ativos mais valioso para invasores que + a lista fornecida pela listagem de rastreio(scan) com cada endereo IP e seu + nome de anfitrio(host). + + Administradores de sistemas frequentemente acham esta opo + valiosa. Ela pode ser facilmente utilizada para contar o nmero de + mquinas disponveis em uma rede ou monitorar a disponibilidade + dos servidores. Isto normalmente chamado de varredura com ping + (ping sweep), e mais confivel do que fazer um ping num + endereo de broadcast, pois muitos anfitries(rastreio(scan)hosts) no respondem a pesquisas + com broadcast. + + A opo envia um ICMP echo request e um + pacote TCP para a porta 80 por default. Quando executada por um + usurio sem privilgios, um pacote SYN enviado (usando uma + chamada connect()) para a porta 80 no alvo. + Quando um usurio privilegiado tenta rastrear(scan) alvos na rede + ethernet local, requisies ARP () so + utilizadas, a menos que tenha sido + especificado. A opo pode ser combinada com + qualquer um dos tipos de sondagens de descobrimento (as opes + , excluindo ) para maior + flexibilidade. Se qualquer uma dessas opes de tipos de sondagens + e nmero de porta for utilizada, as sondagens default (ACK e echo + request) so sobrepostas. Quando firewalls restritivos esto + posicionados entre o host de origem que executa o Nmap e a + rede-alvo, utilizar essas tcnica avanadas recomendado. Do + contrrio, hosts podem ser perdidos quando o firewall ignorar as + sondagens ou as respostas delas. + + + + + (Sem ping) + + + Esta opo salta completamente a fase + de descoberta do + Nmap. Normalmente o Nmap utiliza este estgio para determinar as + mquinas activas para o rastreio(scan) mais agressivo. Por default, o + Nmap apenas executa sondagens agressivas tais como o rastreio(scan) de + portas, deteco de verses, ou deteces do SO contra afitries(hosts) que + foram verificados como activos. Desactivar a descoberta de anfitries(hosts) + com faz com que o Nmap teste as funes de + rastreio(scan) solicitadas contra todos os + endereos IP alvos especificados. Portanto se um espao de + endereamento alvo do tamanho de uma classe B (/16) for + especificado na linha de comando, todos os 65.536 endereos IP + sero alvo do rastreio(scan). O segundo caracter da opo + um zero e no a letra O. A descoberta de anfitries(hosts) apropriada + desconsiderada como na listagem de rastreio(scan), mas ao invs de parar e + mostrar a lista de alvos, o Nmap continua a executar as funes + solicitadas como se cada alvo IP estivesse activo. + + + + + (Ping usando TCP + SYN) + + + Esta opo envia um pacote TCP vazio com a flag SYN marcada. + A porta de destino default a 80 (configurada em tempo de + compilao pela varivel DEFAULT_TCP_PROBE_PORT no + nmap.h), mas uma porta alternativa pode ser + especificada como um parmetro. At uma lista de portas separadas + por vrgula pode ser especificada (p.ex. + ), nesse caso as + sondagens sero tentadas contra cada porta em paralelo. + + A flag SYN sugere aos sistemas remotos que est + tentando estabelecer uma comunicao. Normalmente a porta de + destino estar fechada e um pacote RST (reset) ser enviado de + volta. Se a porta estiver aberta, o alvo ir dar o + segundo passo do cumprimento-de-trs-vias (3-way-handshake) do TCP + respondendo com um pacote TCP SYN/ACK TCP. A mquina executando o + Nmap ento derruba a conexo recm-criada respondendo com um RST + ao invs de enviar um pacote ACK que iria completar o + cumprimento-de-trs-vias e estabelecer uma conexo completa. O + pacote RST enviado pelo kernel da mquina que est executando o + Nmap em resposta ao SYN/ACK inesperado, e no pelo prprio + Nmap. + + O Nmap no se importa se a porta est aberta ou fechada. + Tanto a resposta RST ou SYN/ACK discutidas anteriormente dizem ao + Nmap se o hosts est disponvel e responsivo. + + Em mquinas UNIX apenas o usurio privilegiado + root capaz, normalmente, de enviar e receber + pacotes TCP em estado bruto(raw packets). Para usurios no privilegiados um + contorno automaticamente empregado em concordncia com a chamada + de sistema connect() iniciada contra cada porta-alvo. Isso tem o + efeito de enviar um pacote SYN ao anfitrio(host) alvo em uma tentativa de + estabelecer uma conexo. Se o connect() retornar com sucesso + rpido ou com uma falha ECONNREFUSED, a pilha TCP subjacente deve + ter recebido um SYN/ACK ou RST e o anfitrio(host) marcado como disponvel. + Se a tentativa de conexo for abandonada at que um timeout + ocorra, o host marcado como indisponvel. Esse contorno tambm + usado para conexes IPv6, pois o suporte a construo de pacotes + IPv6 em estado bruto(raw) ainda no est disponvel no Nmap. + + + + + (Ping usando TCP + ACK) + + + O ping usando TCP ACK muito similar ao recm-discutido + ping usando SYN. A diferena como poderia imaginar, que a + flag TCP ACK marcada ou invs da flag SYN. O pacote ACK finge + reconhecer dados de uma conexo TCP estabelecida, quando nenhuma + conexo existe de facto. Ento os anfitries(hosts) remotos deveriam sempre + responder com pacotes RST revelando sua existncia no + processo. + + A opo utiliza a mesma porta default + que a sondagem SYM (80) e pode tambm obter uma lista de portas + destino no mesmo formato. Se um usurio privilegiado tenta isto, + ou se um alvo IPv6 especificado, o contorno connect() discutido + anteriormente utilizado. Esse contorno imperfeito pois o + connect() est realmente enviando um pacote SYN ao invs de um + ACK. + + O motivo para oferecer ambas as sondagens ping, que utilizam + SYN e ACK, maximizar as chances de passar por firewalls. Muitos + administradores configuram routers e outros firewalls simples + para bloquear a entrada de pacotes SYN excepto aqueles destinados a + servios pblicos como o site web da empresa ou servidor de + correio electrnico. Isso evita as demais conexes entradas na + organizao, permitindo aos usurios fazer conexes desobstruidas + Internet. Essa aproximao no-orientada conexo (non-stateful + ou stateless) consome poucos recursos no firewall/router e + amplamente suportada por filtros de hardware e software. O + firewall de software Netfilter/iptables do Linux oferece a + convenincia da opo para implementar essa + abordagem stateless. Quando regras stateless do firewall como + essas so implementadas, sondagens de ping usando SYN + () muito provavelmente sero bloqueadas quando + forem enviadas portas fechadas. Nesses casos, a sondagem ACK se + destaca pois ela simplesmente passa por essas regras. + + Outro tipo comum de firewall utiliza regras orientadas a + conexo que descartam pacotes inesperados. Esta caracterstica era + encontrada inicialmente apenas em firewalls de alto-nvel, embora + tenha se tornado mais comum com o passar dos anos. O sistema + Netfilter/iptables do Linux suporta esta caracterstica atravs da + opo , que categoriza os pacotes baseados + no estado da conexo. Uma sondagem SYN tem maiores chances de + funcionar contra um sistema assim, pois pacotes ACK inesperados + so normalmente reconhecidos como falsos e descartados. Uma + soluo para esse dilema enviar ambas as sondagens SYN e ACK + especificando e . + + + + + (Ping usando UDP) + + + Outra opo de descoberta de anfitries(hosts) o ping usando UDP, que + envia um pacote UDP vazio (a menos que + seja especificado) para as portas + informadas. A listadeportas tem o mesmo formato que os discutidos + anteriormente nas opes e + . Se nenhuma porta for especificada, o default + 31338. Esse default pode ser configurado em tempo de compilao + alterando DEFAULT_UDP_PROBE_PORT no nmap.h. + Uma porta alta no comum utilizada como default porque enviar para + portas abertas normalmente indesejado para este tipo particular + de rastreio(scan). + + Ao bater contra uma porta fechada na mquina-alvo, a + sondagem UDP deve criar um pacote ICMP de porta inalcanvel como + resposta. Isso diz ao Nmap que a mquina est activa e disponvel. + Muitos outros tipos de erros ICMP, tais como anfitrio(host)/rede + inalcanvel ou TTL excedido so indicativos de um anfitrio(host) inactivo ou + inalcanvel. A falta de resposta tambm interpretada dessa + forma. Se uma porta aberta alcanada, a maioria dos servios + simplesmente ignoram o pacote vazio e falham em retornar qualquer + resposta. por isso que a porta de sondagem default 31338, que + pouco provavelmente estar em uso. Uns poucos servios, tal como o + chargen, ir responder a um pacote UDP vazio, e com isso revelar + ao Nmap que a mquina est disponvel. + + A principal vantagem deste tipo de scan que ele passa por + firewalls e filtros que apenas examinam o TCP. Por exemplo, uma + vez eu tive um router broadband sem-fios Linksys BEFW11S4. A + interface externa desse dispositivo filtrava todas as portas TCP + por default, mas as sondagens UDP ainda causavam mensagens de + porta inalcanvel, denunciando assim o dispositivo. + + + + + ; ; + (Tipos de Ping do ICMP) + + + Alm dos tipos incomuns de descoberta de anfitries(hosts) TCP e UDP + discutidos anteriormente, o Nmap pode enviar os pacotes-padro que + normalmente so enviados pelo popular programa ping. O Nmap + envia um pacote ICMP do tipo 8 (echo request) ao endereo IP alvo, + esperando como resposta um tipo 0 (Echo Reply) do anfitrio(host) disponvel. + Infelizmente para muitos exploradores de rede, muitos anfitries(hosts) e + firewalls actualmente bloqueiam esses pacotes, ao invs de + responder como requerido pela RFC 1122. + Por essa razo, rastreios(scans) puramente ICMP so raramente confiveis o + suficiente contra alvos desconhecidos na Internet. Mas para + administradores de sistemas monitorando uma rede interna eles + podem ser uma abordagem prtica e eficiente. Utilize a opo + para activar esse comportamento echo + request. + + Embora o echo request seja a pesquisa padro de um ping + ICMP, o Nmap no pra aqui. A padronizao do ICMP (RFC 792) + tambm especifica timestamp request, information request, e + pacotes address mask request como cdigos 13, 15, e 17, + respectivamente. Apesar do propsito ostensivo dessas pesquisas + seja obter informaes tais como a mscara do endereo e hora + corrente, eles podem ser facilmente utilizados para descoberta de + anfitries(hosts). Um sistema que responda est activo e disponvel. O Nmap no + implementa actualmente os pacotes de requisio de informaes, + pois eles no so amplamente suportados. A RFC 1122 insiste que + um anfitrio(host) NO DEVERIA implementar essas mensagens. + Pesquisas de marcao de hora (Timestamp) e mscara de endereo + podem ser enviadas com as opes e + , respectivamente. Uma resposta timestamp + reply (cdigo ICMP 14) ou uma resposta address mask reply (cdigo + 18) revela que o host est disponvel. Essas duas pesquisas podem + ser valiosas quando os administradores bloqueiam pacotes echo + request especificamente e esquecem que outras pesquisas ICMP podem + ser usadas com o mesmo propsito. + + + + + (Ping usando ARP) + + + Um dos cenrios de uso mais comuns do Nmap o rastreio(scan) da LAN + ethernet. Na maioria das LANs, especialmente aquelas que utilizam + a faixa de endereamento privado ao abrigo do RFC1918, a vasta + maioria dos endereos IP nuca so utilizados. Quando o Nmap + tenta enviar um pacote IP em estado bruto(raw), tal como um ICMP echo + request, o sistema operativo deve determinar o endereo fsico + de destino (ARP) correspondente ao IP-alvo de forma que ele possa + enderear adequadamente o frame ethernet. Isso normalmente lento + e problemtico, pois os sistemas operativos no foram escritos + com a expectativa de que precisariam fazer milhes de requisies + ARP contra anfitries(hosts) indisponveis em um curto perodo de + tempo. + + O rastreio(scan) ARP encarrega o Nmap e seus algortmos optimizados de + fazer as requisies ARP. E se ele conseguir uma resposta de + volta, o Nmap no precisa de se preocupar com os pacotes ping + baseados em IP, uma vez que ele j sabe que o anfitrio(host) est activo. + Isso torna o rastreio(sca) ARP muito mais rpido e mais confivel que os + rastreios(scans) baseados em IP. Portanto isso feito por default quando se + faz o rastreio(scan) de anfitries(hosts) ethernet que o Nmap detecta estarem posicionados em + uma rede ethernet local. Mesmo se tipos diferentes de ping (tais + como ou ) sejam + especificados, o Nmap usa o ARP em vez, para cada um dos alvos + que estiverem na mesma LAN. Se no quiser de forma alguma + fazer um ratreio(scan) ARP, especifique . + + + + + (No faa resoluo DNS) + + + Diz ao Nmap para nunca fazer uma + resoluo DNS nos endereos IP activos que ele encontrar. + Uma vez que o DNS normalmente lento, isso acelera as + coisas. + + + + + (resoluo DNS para todos os alvos) + + + Diz ao Nmap para fazer sempre uma + resoluo DNS reversa nos endereos IP-alvos. Normalmente isto + apenas executado quando uma mquina est activa. + + + + + + + Fundamentos do Rastreio(Scan) de Portas + + Embora o Nmap tenha crescido em funcionalidades ao longo dos anos, + ele comeou como um eficiente scanner de portas e essa permanece a sua + funo principal. O simples comando nmap + alvo faz o rastreio(scan) a mais de 1660 portas + TCP no anfitrio(host) alvo. Embora muitos scanner de + portas tenham tradicionalmente agrupado todas as portas nos estados + aberto ou fechado, o Nmap muito mais granular. Ele divide as portas em + seis estados: aberto(open), + fechado(closed),filtrado(filtered), + no-filtrado(unfiltered), + aberto(open)|filtrado(filtered), ou + fechado(closed)|filtrado(filtered). + + Esses estados no so propriedades intrnsecas da porta mas + descrevem como o Nmap as v. Por exemplo, um rastreio(scan) do Nmap da mesma rede + como alvo pode mostrar a porta 135/tcp como aberta, enquanto um rastreio(scan) ao + mesmo tempo com as mesmas opes a partir da Internet poderia mostrar + essa porta como filtrada. + + + Os seis estados de porta reconhecidos pelo Nmap + + + aberto (open) + + + Uma aplicao est activamente aceitando conexes TCP ou + pacotes UDP nesta porta. Encontrar esse estado frequentemente o + objectivo principal de um rastreio(scan) de portas. Pessoas + conscientes sobre a segurana sabem que cada porta aberta um + convite para um ataque. Invasores e profissionais de avaliao de + segurana querem explorar as portas abertas, enquanto os + administradores tentam fechar ou proteger com firewalls sem + bloquear usurios legtimos. Portas abertas so tambm + interessantes para rastreios(scans) no-relacionados segurana pois mostram + os servios disponveis para utilizao na rede. + + + + + fechado (closed) + + + Uma porta fechada est acessvel (ela recebe e responde a + pacotes de sondagens do Nmap), mas no h nenhuma aplicao + ouvindo nela. Elas podem ser teis para mostrar que um anfitrio(host) est + activo em um determinado endereo IP (descoberta de hosts, ou rastreio(scan) + usando ping), e como parte de uma deteo de SO. Pelo facto de + portas fechadas serem alcanveis, pode valer a pena o rastreio(scan) mais + tarde no caso de alguma delas abrir. Os administradores deveriam + considerar o bloqueio dessas portas com um firewall. Ento elas + apareceriam no estado filtrado, discutido a seguir. + + + + + filtrado(filtered) + + + O Nmap no consegue determinar se a porta est aberta porque + uma filtragem de pacotes impede que as sondagens alcancem a porta. + A filtragem poderia ser de um dispositivo firewall dedicado, + regras de router, ou um software de firewall baseado em anfitrio(host). + Essas portas frustram os atacantes pois elas fornecem poucas + informaes. s vzes elas respondem com mensagens de erro ICMP + tais como as do tipo 3 cdigo 13 (destino inalcanvel: + comunicao proibida administrativamente), mas os filtros que + simplesmente descartam pacotes sem responder so bem mais comuns. + Isso fora o Nmap a tentar diversas vezes s para o caso de a + sondagem ter sido descartada por congestionamento da rede ao invs + de filtragem. Isso reduz a velocidade do rastreio(scan) + dramaticamente. + + + + + no-filtrado(unfiltered) + + + O estado no-filtrado significa que uma porta est + acessvel, mas que o Nmap incapaz de determinar se ela est + aberta ou fechada. Apenas o rastreio(scan) ACK, que usado para mapear + conjuntos de regras de firewall classifica portas com este + estado. O rastreio(scan) de portas no-filtradas com outros tipos de scan, + tal como scan Window, scan Syn, ou scan FIN, podem ajudar a + responder se a porta est aberta. + + + + + open|filtered + + + O Nmap coloca portas neste estado quando incapaz de + determinar se uma porta est aberta ou filtrada. Isso acontece + para tipos de rastreio(scan) onde as portas abertas no do nenhuma + resposta. A falta de resposta poderia tambm significar que um + filtro de pacotes descartou a sondagem ou qualquer resposta que + ela tenha provocado. Portanto o no sabe com certeza se a porta + est aberta ou se est sendo filtrada. Os rastreios(scans) UDP, IP Protocol, + FIN, Null, e Xmas classificam portas desta forma. + + + + + closed|filtered + + + Este estado usado quando o Nmap incapaz de determinar se + uma porta est fechada ou filtrada. apenas usado para o rastreio(scan) + IPID Idle scan. + + + + + + + Tcnicas de Rastreio(Scan) de Portas + + Como um novato executando uma reparao automvel posso perder + horas tentando usar minhas ferramentas rudimentares (martelo, fita + adesiva, grifo, etc.) nas tarefas. Quando eu falho miseravelmente e + reboco minha lata-velha para um mecnico de verdade ele invariavelmente + pesca aqui e ali em um enorme ba de ferramentas at pegar a coisa perfeita + que torna a tarefa numa brincadeira. A arte de rastrear(scaning) portas + similar. Os peritos entendem as dezenas de tcnicas de rastreio(scan) e + escolhem as que so apropriadas (ou uma combinao) para uma dada + tarefa. Usurios inexperientes e script kiddies, por outro lado, tentam + resolver todos os problemas com o scan SYN default. Uma vez que o Nmap + gratuito a nica barreira para a mestria em rastreio(scaning) de portas o + conhecimento. Isso certamente melhor que no mundo automvel onde + pode ser necessrio uma grande habilidade para determinar que + precisa de um compressor de molas e ento tem que pagar milhares de + euros por um. + + A maioria dos tipos de rastreio(scan) est disponvel apenas para usurios + privilegiados. Isso acontece porque eles enviam e recebem pacotes em + estado bruto(raw), o que requer acesso de root em sistemas Unix. Utilizar a + conta de administrador no Windows recomendado, embora o Nmap s vzes + funcione com usurios sem privilgios nessa plataforma quando o WinPcap + foi carregado no SO. Requerer privilgio de root era uma sria limitao + quando o Nmap foi lanado em 1997, pois muitos usurios apenas tinham + acesso a contas de shell compartilhadas. Agora o mundo diferente. + Computadores esto mais baratos, muito mais pessoas tem acesso directo e + permanente Internet e computadores desktop Unix (incluindo Linux e + MAC OS X) so comuns. Uma verso para o Windows do Nmap se encontra + actualmente disponvel permitindo que se use em muito mais computadores + desktop. Por todas essas razes os usurios tm menos necessidade de + executar o Nmap a partir de contas de shell compartilhadas e limitadas. + Isso muito bom pois as opes privilegiadas tornam o Nmap muito mais + poderoso e flexvel. + + Embora o Nmap tente produzir resultados precisos tenha em mente + que todas as dedues so baseadas em pacotes devolvidos pelas + mquinas-alvo (ou firewalls na frente delas). Tais anfitries(hosts) podem + no ser confiveis e enviar respostas com o propsito de confundir ou + enganar o Nmap. Muito mais comum so os anfitries(hosts) no-de-acordo-com-a-rfc + que no respondem como deveriam s sondagens do Nmap. As sondagens FIN, + Null e Xmas so particularmente suscetveis a esse problema. Tais + questes so especficas de determinados tipos de scan e portanto so + discutidos nas entradas individuais de cada um dos tipos. + + Esta seo documenta as dezenas de tcnicas de rastreio(scan) de + portas suportadas pelo Nmap. Apenas um mtodo pode ser utilizado de cada + vezm excepto que um scan UDP () pode ser combinado + com qualquer um dos tipos de scan TCP. Como uma ajuda para a memria as + opes dos tipos de rastreio(scan) de portas esto no formato + , onde + C um caracter proeminente no nome do rastreio(scan), + normalmente o primeiro. A nica excepo a essa regra para o rastreio(scan) + denominado FTP bounce (). Por default o Nmap executa + um rastreio(scan) SYN, embora ele substitua por um rastreio(scan) Connect() se o usurio no + tiver os privilgios adequados para enviar pacotes em estado bruto(raw) + (requer acesso de root no UNIX) ou se alvos IPv6 forem especificados. + Dos rastreios(scans) listados nesta seco os usurios no privilegiados podem + apenas executar os rastreios(scans) connect() e ftp bounce. + + + + (rastreio(scan) TCP SYN) + + + O rastreio(scan) SYN a opo de rastreio(scan) default e a mais + popular por boas razes. Pode ser executada rapidamente fazendo o rastreio(scan) + a milhares de portas por segundo em uma rede rpida, no bloqueada por firewalls + intrusivos. O rastreio(scan) SYN relativamente no-obstrusivo e camuflado, + uma vez que ele nunca completa uma conexo TCP. Ele tambm + trabalha contra qualquer pilha TCP padronizada ao invs de + depender de factores especficos de plataformas como os + rastreios(scans) Fin/Null/Xmas, Maimon e Idle fazem. Ele tambm permite uma + diferenciao limpa e confivel entre os estados aberto + (open), fechado (closed), e + filtrado (filtered). + + Esta tcnica freqentemente chamada de rastreio(scan) de + porta entreaberta (half-open scanning), porque no abre uma + conexo TCP completamente. Voc envia um pacote SYN, como se fosse + abrir uma conexo real e ento espera uma resposta. Um SYN/ACK + indica que a porta est ouvindo (aberta) enquanto um RST (reset) + indicativo de uma no-ouvinte. Se nenhuma resposta recebida + aps diversas retransmisses a porta marcada como filtrada. A + porta tambm marcada como filtrada se um erro ICMP de + inalcanvel recebido (tipo 3, cdigo 1,2, 3, 9, 10, ou + 13). + + + + + (rastreio(scan) TCP connect()) + + + O rastreio(scan) TCP Connect() o rastreio(scan) default do + TCP quando o rastreio(scan) SYN no uma opo. Esse o caso quando o + usurio no tem privilgios para criar pacotes em estado bruto(raw) ou rastrear + redes IPv6. Ao invs de criar pacotes em estado bruto(raw) como a maioria dos + outros tipos de rastreio(scan) fazem, o Nmap pede ao sistema operativo + para estabelecer uma conexo com a mquina e porta alvos enviando + uma chamada de sistema connect(). Essa a + mesma chamada de alto nvel que os navegadores da web, clientes + P2P, e a maioria das outras aplicaes para rede utilizam para + estabelecer uma conexo. parte do interface de programao + conhecida como API de Sockets de Berkeley. Ao invs de ler as + respostas em pacotes em estado bruto(raw) directamente dos fios, + o Nmap utiliza esta API para obter informaes do estado de cada + tentativa de conexo. + + Quando um rastreio(scan) SYN est disponvel normalmente a melhor + escolha. O Nmap tem menos controle sobre a chamada de alto nvel + connect() do que sobre os pacotes em estado + bruto(raw) tornando-o menos eficiente. A chamada de sistema completa + as conexes nas portas-alvo abertas ao invs de executar o reset + de porta entreaberta que o rastreio(scan) SYN faz. Isso no s leva mais + tempo e requer mais pacotes para obter a mesma informao mas + tambm torna mais provvel que as mquinas-alvo registrem a + conexo. Um sistema IDS decente ir detectar qualquer um deles, + mas a maioria das mquinas no tem esse tipo de sistema de alarme. + Muitos servios na maioria dos sistema Unix iro acrescentar uma + nota na syslog e s vzes uma mensagem de erro obscura, quando o + Nmap se conecta e ento fecha a conexo sem enviar nenhum dado. + Servios verdadeiramente patticos iro travar quando isso + acontecer embora isso seja incomum. Um administrador que v um + punhado de tentativas de conexo nos registros vindos de um nico + sistema deveria saber que foi rastreado(scanned) com connect. + + + + + (rastreios(scans) UDP) + + + Embora os servios mais populares na Internet operem + sobre o protocolo TCP, os servios UDP so + amplamente difundidos. O DNS, o SNMP e o DHCP (registrados nas + portas 53, 161/162, e 67/68) so trs dos mais comuns. Pelo facto + do rastreio(scan) UDP ser normalmente mais lento e mais difcil que + o TCP alguns auditores de segurana ignoram essas portas. Isso + um erro pois servios UDP passveis de explorao so bastante + comuns e invasores certamente no ignoram o protocolo inteiro. + Felizmente o Nmap pode ajudar a inventariar as portas UDP. + + O rastreio(scan) UDP activado com a opo . Ele + pode ser combinado com um tipo de rastreio(scan) TCP como o rastreio(scan) + SYN () para averiguar ambos protocolos na mesma + execuo. + + O SYN UDP funciona enviando um cabealho UDP vazio (sem + dados) para cada porta pretendida. Se um erro ICMP de porta + inalcanvel (tipo 3, cdigo 3) retornado a porta est + fechada. Outros erros do tipo inalcanvel + (tipo 3, cdigos 1, 2, 9, 10, ou 13) marcam a porta como + filtrada. Ocasionalmente um servio ir + responder com um pacote UDP provando que est + aberta. Se nenhuma resposa recebida aps as + retransmisses a porta classificada como + aberta|filtrada. Isso significa que a porta + poderia estar aberta ou talvez que filtros de pacotes estejam + bloqueando a comunicao. Rastreios(scans) de verses () + podem ser utilizados para ajudar a diferenciar as portas + verdadeiramente abertas das que esto filtradas. + + Um grande desafio com o rastreio(scan) UDP faz-lo + rapidamente. Portas abertas e filtradas raramente enviam alguma + resposta, deixando o Nmap esgotar o tempo (time out) e ento + efectuar retransmisses para o caso de a sondagem ou a resposta ter + sido perdida. Portas fechadas so normalmente um problema ainda + maior. Elas costumam enviar de volta um erro ICMP de porta + inalcanvel. Mas, ao contrrio dos pacotes RST enviados pelas + portas TCP fechadas em resposta a um rastreio(scan) SYN ou Connect, muitos + anfitries(hosts) limitam a taxa de mensagens ICMP de porta inalcanvel por + default. O Linux e o Solaris so particularmente rigorosos quanto + a isso. Por exemplo, o kernel 2.4.20 do Linux limita a quantidade + de mensagens de destino inalcanvel a at uma por segundo (no + net/ipv4/icmp.c). + + O Nmap detecta a limitao de taxa e diminui o ritmo de + acordo para evitar inundar a rede com pacotes inteis que a + mquina-alvo ir descartar. Infelizmente, um limite como o do + Linux de um pacote por segundo faz com que um rastreio(scan) de 65.536 + portas leve mais de 18 horas. Idias para acelerar o rastreio(scan) + UDP incluem rastrear(scan) mais anfitries(hosts) em paralelo, fazer um rastreio(scan) rpido + apenas das portas mais comuns primeiro, rastrear(scan) por detrs de um + firewall e utilizar para saltar os + anfitries(hosts) lentos. + + + + + ; ; + (rastreios(scans) TCP Null, FIN, e Xmas) + + + Estes trs tipos de rastreio(scan) (at mais so possveis com a opo + descrita na prxima seco) exploram + uma brecha subtil na RFC do TCP + para diferenciarem entre portas abertas e + fechadas. A pgina 65 diz que se a porta + [destino] estiver FECHADA .... um segmento de entrada que no + contenha um RST ir causar o envio de um RST como + resposta. Ento a pgina seguinte discute os pacotes + enviados a portas abertas sem os bits SYN, RST ou ACK marcados, + afirmando que: pouco provvel que chegue aqui, mas + se chegar, descarte o segmento e volte. + + Quando se rastreia(scan) sistemas padronizados com o texto desta + RFC, qualquer pacote que no contenha os bits SYN, RST ou ACK ir + resultar em um RST como resposta se a porta estiver fechada e + nenhuma resposta se a porta estiver aberta. Contanto que nenhum + desses trs bits esteja includos qualquer combinao dos outros + trs (FIN, PSH e URG) vlida. O Nmap explora isso com trs tipos + de rastreio(scan): + + + + rastreio(scan) Null () + + + No marca nenhum bit (o cabealho de flag do tcp + 0) + + + + + rastreio(scan) FIN () + + + Marca apenas o bit FIN do TCP. + + + + + rastreio(scan) Xmas() + + + Marca as flags FIN, PSH e URG, iluminando o pacote + como uma rvore de Natal. + + + + + Estes trs tipos de rastreio(scan) so exatamente os mesmos em termos + de comportamento exceto pelas flags TCP marcadas no pacotes de + sondagem. Se um pacote RST for recebido a porta considerada + fechada e nenhuma resposta significa que est + aberta|filtrada. A porta marcada como + filtrada se um erro ICMP do tipo inalcanvel + (tipo 3, cdigo 1, 2, 3, 9, 10, ou 13) for recebido. + + A vantagem principal destes tipos de rastreio(scan) que eles podem + bisbilhotar atravs de alguns firewalls no-orientados conexo e + de routers que filtram pacotes. Outra vantagem que esses + tipos de rastreio(scan) so um pouco mais camuflados do que o rastreio(scan) SYN. Mas + no conte com isso -- a maioria dos produtos IDS modernos podem + ser configurados para detect-los. O maior problema que nem + todos os sistemas seguem a RFC 793 ao p-da-letra. Diversos + sistemas enviam respostas RST para as sondagens independentemente + do facto da porta estar aberta ou no. Isso faz com que todas as + portas sejam classificadas como fechadas. A + maioria dos sistemas operativos que fazem isso so Microsoft + Windows, muitos dispositivos Cisco, BSDI e o IBM OS/400. Esse + rastreio(scan) funciona realmente contra a maioria dos sistemas baseados em + Unix. Outro ponto negativo desses rastreios(scans) que eles no conseguem + diferenciar portas abertas de alguns tipos de + portas filtradas deixando com a resposta + abera|filtrada. + + + + + (rastreio(scan) TCP ACK) + + + Este rastreio(scan) diferente dos outros discutidos at agora pelo + facto de que ele nunca determina se uma porta est + aberta (ou mesmo + aberta|filtrada). Ele utilizado para mapear + conjuntos de regras do firewall determinando se eles so + orientados conexo ou no e quais portas esto filtradas. + + O pacote de sondagem do rastreio(scan) ACK tem apenas a flag ACK + marcada (a menos que use ). + Quando se rastreia(scan) sistemas no-filtrados as portas + abertas e fechadas iro + devolver um pacote RST. O Nmap ento coloca nelas o rtulo + no-filtradas (unfiltered) significando que + elas esto alcanveis pelo pacote ACK, mas se elas esto + abertas ou fechadas + indeterminado. Portas que no respondem ou que devolvem certas + mensagens de erro ICMP (tipo 3, cdigo 1, 2, 3, 9, 10, ou 13), so + rotuladas como filtradas. + + + + + (rastreio(scan) da Janela TCP) + + + Rastreio(scan) da Janela exactamente o mesmo que o rastreio(scan) ACK excepto + que ele explora um detalhe da implementao de certos sistemas de + forma a diferenciar as portas abertas das fechadas ao invs de + sempre mostrar no-filtrada quando um RST + devolvido. Ele faz isso examinando o campo Janela TCP (TCP Window) + do pacote RST devolvido. Em alguns sistemas as portas abertas + usam um valor positivo de tamanho de janela (mesmo para pacotes + RST) enquanto que as portas fechadas tm um valor igual a zero. + Ento, ao invs de mostrar sempre uma porta como + no-filtrada quando se recebe um RST de volta, + o rastreio(scan) da Janela mostra a porta como aberta ou + fechada se o valor da Janela TCP no reset for + positivo ou zero, respectivamente. + + Este rastreio(scan) se baseia em um detalhe de implementao de uma + minoria de sistemas na Internet, portanto no se pode confiar + sempre nele. Sistemas que no suportam isso iro normalmente + devolver todas as portas como fechadas. claro + que possvel que a mquina realmente no tenha nenhuma porta + aberta. Se a maioria das portas rastreadas(scaned) estiver + fechada mas uns poucos nmeros de portas comuns + (tais como 22, 25, 53) esto filtrados, o + sistema muito provavelmente est vulnervel. De vez em quando os + sistemas iro mostrar exatamente o comportamento oposto. Se o seu + rastreio(scan) mostrar 1000 portas abertas e 3 fechadas ou filtradas, ento + essas trs podem muito bem ser as verdadeiramente abertas. + + + + + (rastreio(scan) TCP Maimon) + + + O rastreio(scan) Maimon recebeu o nome de seu descobridor, Uriel + Maimon. Ele descreveu a tcnica na Phrack Magazine, edio 49 + (Novembro de 1996). O Nmap, que incluiu essa tcnica, foi lanado + duas edies mais tarde. A tcnica exatamente a mesma que os + rastreios(scans) Null, FIN e Xmas, exceto que a sondagem FIN/ACK. De acordo + com a RFC 793 (TCP) um pacote RST deveria ser gerado em resposta + a tal sondagem se a porta estiver aberta ou fechada. Entretanto, + Uriel notou que muitos sistemas derivados do BSD simplesmente + descartavam o pacote se a porta estivesse aberta. + + + + + (rastreio(scan) TCP Customizado) + + + Usurios verdadeiramente avanados do Nmap no precisam se + limitar aos tipos de rastreios(scans) enlatados oferecidos. A opo + permite que desenhe seu prprio + rastreio(scan) permitindo a especificao de flags TCP arbitrrias. Deixe + sua imaginao correr solta enquanto dribla sistemas de deteco + de intruso cujos fabricantes apenas olharam rapidamente a pgina + man do Nmap adicionando regras especficas! + + O argumento do pode ser um + valor numrico da marca (flag) como o 9 (PSH e FIN), mas usar + nomes simblicos mais fcil. Apenas esprema alguma combinao de + URG, ACK, + PSH, RST, + SYN, e FIN. Por exemplo, + marca tudo, embora + no seja muito til para rastreio(scan). A ordem em que essas marcas + so especificadas irrelevante. + + Alm de especificar as marcas desejadas pode + especificar um tipo de rastreio(scan) TCP (como o ou + ). Esse tipo-base diz ao Nmap como interpretar + as respostas. Por exemplo, um rastreio(scan) SYN considera nenhuma-resposta + como uma indicao de porta filtrada enquanto + que um rastreio(scan) FIN trata a mesma como + aberta|filtrada. O Nmap ir se comportar da + mesma forma que o tipo de rastreio(scan)-base escolhido, excepto que ele ir + usar as marcas TCP que especificar. Se no escolher um + tipo-base, o rastreio(scan) SYN utilizado. + + + + + (rastreio(scan) + Idle) + + + Este mtodo avanado de rastreio(scan) permite um rastreio(scan) TCP realmente + cego das portas do alvo (significando que nenhum pacote enviado + para o alvo do seu endereo IP real). Ao invs disso um ataque + canal-lateral (side-channel) explora a previsvel gerao de + sequncia de ID, consequncia da fragmentao do IP no anfitrio(host) + zumbi, para juntar informaes sobre as portas abertas no alvo. + Sistemas IDS iro mostrar o rastreio(scan) como se viessem da mquina zumbi + que especificou (que deve estar activa e obedecer a alguns + critrios). Este tipo fascinante de rastreio(scan) complexo demais para se + descrever completamente aqui neste guia de referncia, ento eu + escrevi e postei um trabalho informal com detalhes completos em + . + + Alm de ser extraordinariamente camuflado (devido sua + natureza cega), este tipo de rastreio(scan) permite mapear relaes de + confiana baseadas em IP entre mquinas. A listagem de portas + mostra as portas abertas da perspectiva do anfitrio(host) + zumbi. Portanto pode tentar rastrear(scan) um alvo + usando vrios zumbis que acha que podem ser confiveis (via + regras de router/filtro de pacotes). + + Voc pode adicionar os dois-pontos seguindo do nmero da + porta ao nome do anfitrio(host) zumbi, se quiser sondar uma porta em + particular no zumbi verificando as mudanas de IPID. Do contrrio + o Nmap ir utilizar a porta que ele normalmente usa por default + para pings tcp (80). + + + + + (Rastreios(Scans) do protocolo IP) + + + Scans do Protocolo IP permitem que determine quais + protocolos IP (TCP, ICMP, IGMP, etc.) so suportados pelas + mquina-alvo. Isso no tecnicamente um rastreio(scan) de portas, pois + ele varia os nmeros do protocolo IP ao invs dos nmeros de + portas TCP e UDP. Ainda assim, ele utiliza a opo + para seleccionar os nmeros de protocolos a + rastrear(scan), mostra os resultados dentro do formato normal da tabela + de portas e at usa o mesmo mecanismo de rastreio(scan) dos + mtodos de descoberta de portas. Portanto ele parecido o + suficiente com um rastreio(scan) de portas e por isso pertence a este + lugar. + + Alm de ser til de certa forma, o rastreio(scan) de protocolo mostra o + poder do software de cdigo aberto. Embora a idia fundamental + seja bastante simples, eu no tinha pensado em adicion-la e nem + havia recebido nenhuma solicitao para essa funcionalidade. + Ento, no vero de 2000, Gerhard Rieger concebeu a idia, escreveu + uma excelente alterao (patch) implementando-a e enviou-a para a + lista de discusso nmap-hackers. Eu incorporei a alterao na + rvore do Nmap e lancei uma nova verso no dia seguinte. Poucos + produtos de software comercial tem usurios entusiasmados o + suficiente para desenhar e contribuir com melhorias! + + O rastreio(scan) de protocolo funciona de uma forma similar a um rastreio(scan) + UDP. Ao invs de ficar repetindo alternando o campo de nmero de + porta de um pacote UDP, ele envia cabealhos de pacote IP e faz a + repetio alternando o campo de protocolo IP de 8 bits. Os + cabealhos normalmente esto vazios, sem conter dados, nem mesmo + o cabealho apropriado do suposto protocolo. As trs + excepes so o TCP, o UDP e o ICMP. Um cabealho de protocolo + apropriado para estes includo, uma vez que alguns sistemas no + os enviaro caso no tenham e porque o Nmap tem as funes para + cri-los ao invs de observar as mensagens de erro ICMP de porta + inalcanvel, o rastreio(scan) de protocolo fica de olho nas mensagens ICMP + de protocolo inalcanvel. Se o Nmap recebe + qualquer resposta de qualquer protocolo do anfitrio(host)-alvo, o Nmap marca + esse protocolo como aberto. Um erro ICMP de + protocolo no-alcanvel (tipo 3, cdigo 2) faz com que o + protocolo seja marcado como fechado. Outros + erros ICMP do tipo inalcanvel (tipo 3, cdigo 1, 3, 9, 10, ou + 13) fazem com que o protocolo seja marcado como + filtrado (embora eles provem, ao mesmo tempo, + que o ICMP est aberto). Se nenhuma resposta + for recebida aps as retransmisses, o protocolo marcado como + aberto|filtrado. + + + + + (Rastreio(Scan) de + FTP bounce) + + + Uma caracterstica interessante do protocolo FTP (RFC 959) + o suporte a conexes denominadas proxy ftp. Isso permite que um + usurio conecte-se a um servidor FTP e ento solicite que + arquivos sejam enviados a um terceiro servidor. Tal caracterstica + sujeita a abusos em diversos nveis, por isso a maioria dos + servidores parou de suport-la. Um dos abusos permitidos fazer + com que o servidor FTP efectue o rastreio(scan) das portas de outros anfitries(hosts). + Simplesmente solicite que o servidor FTP envie um arquivo para + cada porta interessante do anfitrio(host)-alvo. A mensagem de erro ir + descrever se a porta est aberta ou no. Esta uma boa forma de + passar por cima de firewalls porque os servidores FTP de empresas + normalmente so posicionados onde tem mais acesso a outros anfitries(hosts) + internos que os velhos servidores da Internet teriam. O Nmap + suporta o rastreio(scan) de ftp bounce com a opo . Ela + recebe um argumento no formato + nomedousurio:senha@servidor:porta. + Servidor o nome ou endereo IP de um + servidor FTP vulnervel. Assim como em uma URL normal, pode + omitir + nomedousurio:senha, + neste caso as credenciais de login annimo (usurio: + anonymous senha:-wwwuser@) + sero usados. O nmero da porta (e os dois-pontos) podem ser + omitidos, e ento a porta FTP default (21) no + servidor ser utilizada. + + Esta vulnerabilidade espalhou-se em 1997 quando o Nmap foi + lanado mas foi corrigida amplamente. Servidores vulnerveis + ainda esto por a, ento pode valer a pena tentar se tudo o mais + falhar. Se passar por cima de um firewall o seu objetivo, + faa o rastreio(scan) da rede-alvo procurando por uma porta 21 aberta (ou mesmo + por qualquer servio FTP se rastrear(scan) todas as portas com a + deteco de verso), ento tente um rastreio(scan) bounce usando-as. O Nmap + ir dizer se o anfitrio(host) vulnervel ou no. Se estiver apenas + tentando encobrir suas pegadas, no precisa (e, na verdade, + no deveria) limitar-se a anfitries(hosts) na rede-alvo. Antes de sair + rastreando endereos aleatrios na Internet procurando por + servidores FTP, considere que os administradores de sistemas podem + no apreciar o seu abuso nos servidores deles. + + + + + + + Especificao de Portas e Ordem de Scan + + Somado a todos os mtodos de rastreio(scan) discutidos anteriormente, o Nmap + oferece opes para especificar quais portas so rastreadas(scaned) e se a ordem + de rastreio(scan) aleatria ou sequencial. Por default, o Nmap rastreia(scan) + todas as portas at, e incluindo, 1024, bem como portas com numerao + alta listadas no arquivo nmap-services para + o(s) protocolo(s) rastreados(scaned). + + + + (Rastreia apenas + as portas especificadas) + + + Esta opo especifica quais as portas que deseja rastrear(scan) + e prevalece sobre o default. Nmeros de portas individuais so OK, + bem como as faixas separadas por um hfen (p.ex.: 1-1023). Os + valores iniciais e/ou finais da faixa podem ser omitidos, o que + faz com que o Nmap use 1 e 65535 respectivamente. Portanto + pode especificar para rastrear(scan) as portas de 1 + at 65535. Escanear a porta zero permitido se especificar + explicitamente. Para o rastreio(scan) do protocolo IP + (), esta opo especifica os nmeros dos + protocolos que deseja rastrear(scan) (0-255). + + Quando rastrear(scan) ambas as portas TCP e UDP, pode + especificar um protocolo em particular precedendo os nmeros de + portas com T: ou U:. O + qualificador dura at que especifique um novo qualificador. + Por exemplo, o argumento faria o rastreio(scan) das portas UDP + 53, 111 e 137, bem como as portas TCP listadas. Note que para + rastrear(scan) ambas as portas UDP & TCP, tem que especificar + e pelo menos um tipo de rastreio(scan) TCP (tal como + , ou + ). Se nenhum qualificador de protocolo for + informado, os nmeros de portas sero acrescentados todas as + listas de protocolos. + + + + + (rastreio(scan) Rpido (portas limitadas)) + + + Especifica que deseja apenas rastrear(scan) as portas + listadas no arquivo nmap-services que vem com + o nmap (ou o arquivo de protocolos para o ). + Isto muito mais rpido do que rastrear(scan) todas as 65535 portas de + um anfitrio(host). Pelo facto desta lista conter tantas portas TCP (mais de + 1200), a diferena de velocidade de um rastreio(scan) TCP default (cerca de + 1650 portas) no dramtica. A diferena pode ser enorme se + especificar seu prprio minsculo arquivo + nmap-services usando a opo + . + + + + + (No usa as portas de forma + aleatria) + + + Por default o Nmap usa a ordem das portas a serem + rastreadas de forma aleatria (excepto aquelas portas normalmente + acessveis que so movidas prximas ao incio por + motivos de eficincia). Essa tcnica de busca aleatria + normalmente desejvel mas pode especificar + para um rastreio(scan) de portas + sequencial. + + + + + + + Deteco de Servio e Verso + + Aponte o Nmap para uma mquina remota e ele poder lhe dizer que + as portas 25/tcp, 80/tcp e 53/udp esto abertas. Utilizar o banco de + dados nmap-services com cerca de 2.200 servios + bastante conhecidos do Nmap iria relatar que aquelas portas + provavelmente correspondem a um servidor de correio eletrnico (SMTP), a + um servidor de pginas web (HTTP) e a um servidor de nomes (DNS) + respectivamente. Essa pesquisa normalmente precisa -- a grande maioria + de daemons escutando na porta TCP 25 de facto de servidores de + correio eletrnico. Entretanto no deveria apostar a sua segurana + nesta informao! As pessoas podem e executam servios em portas + estranhas. + + Mesmo que o Nmap esteja certo e o servidor hipottico acima + esteja executando os servios SMTP, HTTP e DNS, isso no informao o + bastante. Quando fizer uma avaliao de vulnerabilidades (ou mesmo um + simples inventrio da rede) de sua empresa ou clientes, realmente + deseja saber qual o programa-servidor de correio eletrnico ou de nomes + e as verses que esto rodando. Ter um nmero de verso exacto ajuda + substancialmente na determinao de quais exploraes (exploits) o + servidor est vulnervel. A deteco de verso ajuda a obter esta + informao. + + Depois que as portas TCP e/ou UDP forem descobertas usando + qualquer um dos outros mtodos de rastreio(scan), a deteco de verso interroga + essas portas para determinar mais informaes sobre o que realmente + sendo executado nessas portas. O banco de dados + nmap-service-probes do Nmap contm sondagens para + pesquisar diversos servios e expresses de acerto (match expressions) + para reconhecer e destrinchar as respostas. O Nmap tenta determinar os + protocolos de servios (p.ex.: ftp, ssh, telnet, http), o nome da + aplicao (p.ex.: ISC Bind, Apache httpd, Solaris telnetd), o nmero da + verso, o nome do anfitrio(host), tipo de dispositivo (p.ex.: impressora, + router), a famlia do SO (p.ex.: Windows, Linux) e s vezes detalhes + diversos do tipo, se um servidor X est aberto para conexes, a verso + do protocolo SSH ou o nome do usurio do KaZaA. claro que a maioria + dos servios no fornece todas essas informaes. Se o Nmap foi + compilado com o suporte ao OpenSSL ele ir se conectar aos servidores + SSL para deduzir qual o servio que est escutando por trs da camada + criptografada. Quando os servios RPC so descobertos, o "amolador" de + RPC (RPC grinder) do Nmap () automaticamente + utilizado para determinar o nome do programa RPC e o nmero da verso. + Algumas portas UDP so deixadas no estado + aberta|filtrada depois que rastreio(scan) de porta UDP no + consegue determinar se a porta est aberta ou filtrada. A deteco de + verso ir tentar provocar uma resposta dessas portas (do mesmo jeito + que faz com as portas abertas) e alterar o estado para aberta se + conseguir. Portas TCP do tipo aberta|filtrada so + tratadas da mesma forma. Note que a opo do Nmap + habilita a deteco de verso entre outras coisas. Um trabalho + documentando o funcionamento, uso e customizao da deteco de verso + est disponvel em . + + Quando o Nmap recebe uma resposta de um servio mas no consegue + encontr-la em seu banco de dados, ele mostra uma identificao + (fingerprint) especial e uma URL para que envie informaes se + souber com certeza o que est rodando nessa porta. Por favor considere + dispor de alguns minutos para mandar essa informao de forma que sua + descoberta possa beneficiar a todos. Graas a esses envios o Nmap tem + cerca de 3.000 padres de acerto para mais de 350 protocolos, tais como + o smtp, ftp, http, etc. + + A deteco de verso habilitada e controlada com as seguintes + opes: + + + + (deteco de verso) + + + Habilita a deteco de verso, conforme discutido acima. + Alternativamente pode usar a opo para + habilitar tanto a deteco de SO como a deteco de verso. + + + + + (No exclui nenhuma porta da + deteco de verso) + + + Por default a deteco de verso do Nmap salta a porta TCP + 9100 por causa de algumas impressoras que imprimem qualquer coisa + que seja enviada para essa porta, levando a dezenas de pginas com + requisies HTTP, requisies de sesses SSL binrias, etc. Esse + comportamento pode ser alterado modificando-se ou removendo a + directiva Exclude no + nmap-service-probes ou pode especificar + para rastrear(scan) todas as portas + independente de qualquer directiva + Exclude. + + + + + + (Estabelece a intensidade do rastreio(scan) de verso) + + + Quando est executando um rastreio(scan) de verso + () o nmap envia uma srie de sondagens, cada + qual com um valor atribudo de raridade, entre 1 e 9. As sondagens + com nmeros baixos so efectivas contra uma ampla variedade de + servios comuns, enquanto as com nmeros altos so raramente + teis. O nvel de intensidade especifica quais sondagens devem ser + utilizadas. Quando mais alto o nmero, maiores as chances de o + servio ser corretamente identificado. Entretanto rastreios(scans) de alta + intensidade levam mais tempo. A intensidade deve estar entre 0 e + 9. O default 7. Quando uma sondagem registrada na porta-alvo + atravs da directiva nmap-service-probes + ports, essa sondagem tentada + independentemente do nvel de intensidade. Isso assegura que as + sondagens DNS sempre sero tentadas contra qualquer porta 53 + aberta e a sondagem SSL ser realizada contra a 443, etc. + + + + + (Habilita o modo leve + (light)) + + + Esse um apelido conveniente para + . Esse modo leve torna o + rastreio(scan) de verso muito mais rpido, mas ligeiramente menos + provvel que identifique os servios. + + + + + (Tenta simplesmente todas as + sondagens) + + + Um apelido para , + assegurando que todas as sondagens sejam tentadas contra cada + porta. + + + + + (Monitora as atividades do + rastreio(scan) de verso) + + + Isto faz com que o Nmap mostre informaes de depurao + extensivas sobre o que o rastreio(scan) de verso est fazendo. um + sub-conjunto do que obteria com + . + + + + + (Scan RPC) + + + Este mtodo trabalha em conjunto com os vrios mtodos de + rastreio(scan) de portas do Nmap. Ele pega todas as portas TCP/UDP + descobertas no estado aberta e inunda-as com comandos NULL do + programa SunRPC em uma tentativa de determinar se elas so portas + RPC e se forem, quais programas e nmeros de verso elas mostram. + Dessa forma pode obter efectivamente a mesma informao que o + rpcinfo -p mesmo se o portmapper do alvo + estiver atrs de um firewall (ou protegido por TCP wrappers). + Chamarizes no funcionam ainda com o rastreio(scan) RPC. Isso habilitado + automaticamente como parte do rastreio(scan) de verso + () se o solicitar. Como a deteco de + verso inclui isso e muito mais abrangente, o + raramente necessrio. + + + + + + + Deteco de SO + + Uma das caractersticas mais conhecidas do Nmap a deteco + remota de SO utilizando a identificao da pilha (stack fingerprinting) + do TCP/IP. O Nmap envia uma srie de pacotes TCP e UDP ao anfitrio(host) remoto e + examina praticamente todos os bits das respostas. Aps executar dezenas + de testes como a amostragem TCP ISN, suporte e ordenamento das opes do + TCP, amostragem IPID e a observao do tamanho inicial da janela, o Nmap + compara os resultados com o banco de dados + nmap-os-fingerprints com mais de 1500 + identificaes de SO conhecidas e mostra os detalhes do SO se houver uma + correspondncia. Cada identificao inclui uma descrio textual livre + do SO e uma classificao que fornece o nome do fabricante (p.ex.: Sun), + SO base (p.ex.: Solaris), gerao do SO (p.ex.: 10) e tipo de + dispositivo (genrico, router, switch, consola de jogo, etc.). + + Se o Nmap no conseguir identificar o SO da mquina e as + condies forem favorveis (p.ex.: pelo menos uma porta aberta e uma + porta fechada foram encontradas), o Nmap ir fornecer uma URL onde + poder enviar a identificao se souber (com certeza) o SO em execuo + na mquina. Fazendo isso, contribui para o pool de sistemas + operacionais conhecidos pelo Nmap e, com isso, ele ser mais preciso + para todos. + + A deteco de SO habilita diversos outros testes que usam as + informaes coletadas durante o processo. Um deles a medio de + uptime, que utiliza a opo timestamp do TCP (RFC 1323) para supor + quando uma mquina foi reiniciada pela ltima vez. Isso apenas + mostrado para as mquinas que fornecem essa informao. Outro a + Classificao de Previsibilidade da Seqencia do TCP. Ele mede + aproximadamente o grau de dificuldade de se estabelecer uma conexo TCP + forjada contra um anfitrio(host) remoto. til para se explorar relaes de + confiana baseadas no IP de origem (rlogin, filtros de firewall, etc.) + ou para ocultar a origem de um ataque. Esse tipo de enganao (spoofing) + raramente executada hoje em dia, mas muitas mquinas ainda esto + vulnerveis a ele. O nmero de dificuldade real baseado em amostragens + estatsticas e pode variar. Normalmente melhor usar a classificao em + ingls, do tipo worthy challenge (um desafio que vale a + pena) ou trivial joke (uma piada, muito fcil). Isso s + mostrado na sada normal do modo verbose (). Quando o + modo verbose habilitado juntamente com o , a + Gerao de Seqencia IPID tambm mostrada. A maioria das mquinas + classificada como incremental , o que significa que elas + incrementam o campo ID no cabealho IP para cada pacote que envia. Isso + torna-as vulnervel a diversos ataques avanados de levantamento e + forjamento de informaes. + + Um trabalho documentando o funcionamento, utilizao e + customizao da dateco de verso est disponvel em mais de uma dezena + de lnguas em . + + A deteo de SO habilitada e controlada com as seguintes + opes: + + + + (Habilita a deteco de SO) + + + Habilita a deteo de SO como discutido acima. + Alternativamente pode usar para + habilitar tanto a deteco de SO quanto a deteco de + verso. + + + + + (Limitar a deteco de SO a + alvos promissores) + + + A deteco de SO bem mais eficiente se ao menos uma porta + TCP aberta e uma fechada for encontrada. Escolha esta opo e o + Nmap no ir nem tentar a deteco de SO contra anfitries(hosts) que no + correspondam a este critrio. Isso pode economizar um tempo + considervel, particularmente em rastreios(scans) contra + muitos anfitries(hosts). Isso s importa quando a deteco de SO solicitada + atravs de ou . + + + + + ; + (Resultados de tentativas de deteco de SO) + + + Quano o Nmap no capaz de detectar uma correspondncia + exacta de SO, s vzes ele oferece possibilidades aproximada. A + correspondncia tem que ser muito prxima para o Nmap fazer isso + por default. Qualquer uma dessas opes (equivalentes) tornam as + tentativas do Nmap mais agressivas. + + + + + + + Temporizao (Timing) e Desempenho + + Uma das minhas mais altas prioridades no desenvolvimento do Nmap + tem sido o desempenho. Um rastreio(scan) default (nmap + hostname) de um anfitrio(host) em minha rede + local leva apenas um quinto de segundo. Isso mal d tempo de piscar o + olho, mas esse tempo conforme est rastreando dezenas ou centenas + de milhares de anfitries(hosts). Alm disso, certos tipos de rastreio(scan) como o + rastreio(scan) UDP ou a deteco de verso, aumentam o tempo de + rastreio(scan) substancialmente. Da mesma forma algumas configuraes de + firewall fazem o mesmo, particularmente quando limitam a taxa de + resposta. Embora o Nmap se utilize de paralelismo e muitos outros + algoritmos avanados para acelerar esses rastreios(scans) o usurio tem o controle + final sobre como o Nmap executa. Usurios avanados elaboram comandos do + Nmap cuidadosamente para obter apenas as informaes que importam, + sempre se preocupando com as restries de tempo. + + Tcnicas para melhorar os tempos de rastreio(scan) incluem omitir testes + no-crticos e atualizar at a verso mais recente do Nmap (melhorias de + desempenho so feitas freqentemente). Otimizar os parmetros de tempo + tambm podem fazer uma grande diferena. Essas opes esto listadas + abaixo. + + + + ; + (Ajuste dos + tamanhos dos grupos de rastreio(scan) paralelos) + + + O Nmap tem a habilidade de fazer um rastreio(scan) de portas ou de + verses em mltiplos anfitries(hosts) em paralelo. O Nmap faz isso dividindo + a faixa de endereos IP-alvo em grupos e ento rastreando um + grupo de cada vez. No geral grupos maiores so mais eficientes. A + contrapartida que os resultados dos anfitries(hosts) no pode ser fornecido + at que o grupo inteiro tenha terminado. Portanto se o Nmap + comeou com um tamanho de grupo igual a 50, o usurio no + receberia nenhum relatrio (exceto pelas atualizaes mostradas no + modo verbose) at que os primeiros 50 anfitries(hosts) tivessem + completado. + + Por default, o Nmap assume um compromisso para resolver esse + conflito. Ele comea com um tamanho de grupo pequeno, igual a + cinco, para que os primeiros resultados venham rpido e ento + aumenta o tamanho at que chegue em 1024. O nmero default exacto + depende das opes fornecidas. Por questes de eficincia o Nmap + usa tamanhos de grupo maiores para o UDP ou para rastreios(scans) TCP com + poucas portas. + + Quando o tamanho de grupo mximo especificado com + , o Nmap nunca ir exceder esse + tamanho. Especifique um tamanho mnimo com + e o Nmap ir tentar manter o + tamanho dos grupos acima desse nvel. O Nmap pode ter que usar + tamanhos menores do que especificou, se no houverem + anfitries(hosts)-alvo suficientes restando em uma dada interface para + completar o mnimo especificado. Ambos podem ser configurados para + manter o tamanho do grupo dentro de uma faixa especfica, embora + isso raramente seja desejado. + + O uso primrio destas opes especificar um tamanho de + grupo mnimo grande de forma que o rastreio(scan) completo seja executado mais + rapidamente. Uma escolha comum 256 para rastrear(scan) uma rede em + blocos de tamanho Classe C. Para um rastreio(scan) com muitas portas + exceder esse nmero no ir ajudar muito. Para rastreios(scans) com poucos + nmeros de portas um tamanho de grupo de anfitries(hosts) de 2048 ou mais + pode ser til. + + + + + ; + (Ajuste da + paralelizao das sondagens) + + + Estas opes controlam o nmero total de sondagens que podem + estar pendentes para um grupo de anfitries(hosts). Elas so usadas para o + rastreio(scan) de portas e para a descoberta de anfitries(hosts). Por default + o Nmap calcula um paralelismo ideal e constantemente actualizado + baseado no desempenho da rede. Se os pacotes estiverem sendo + descartados o Nmap reduz o ritmo e liberta menos sondagens + pendentes. O nmero de sondagens ideal aumenta vagarosamente + conforme a rede se mostre mais confivel. Estas opes estabelecem + limites mnimo e mximo nessa varivel. Por default o paralelismo + ideal pode cair at 1 se a rede se mostrar no-confivel e subir + at diversas centenas em condies perfeitas. + + O uso mais comum estabelecer + em um nmero maior que um para + melhorar a velocidade dos rastreios(scans) de anfitries(hosts) ou redes com desempenho + ruim. Esta uma opo arriscada para se ficar brincando pois + configurar um valor alto demais pode afetar a preciso. Configurar + isso tambm reduz a habilidade do Nmap de controlar o paralelismo + dinamicamente baseado nas condies da rede. Um valor igual a dez + pode ser razovel, embora eu s ajuste esse valor como ltima + alternativa. + + A opo s vzes + configurada para evitar que o Nmap envie aos anfitries(hosts) mais do que uma + sondagem de cada vez. Isso pode ser til em conjunto com + (discutido mais tarde), embora esta + ltima normalmente sirva bem ao propsito por si s. + + + + + , + , + (Ajuste + de tempo de expirao (timeouts) das sondagens) + + + O Nmap mantm um valor de tempo de expirao (timeout) de + execuo para determinar quanto tempo ele deve esperar por uma + resposta de uma sondagem antes de desistir ou retransmitir essa + sondagem. Isso calculado com base nos tempos de resposta de + sondagens anteriores. Se a lentido da rede se mostra + significativa e varivel esse tempo de expirao pode subir para + vrios segundos. Ele tambm comea com um nvel conservador + (alto) e pode ficar desse jeito por um tempo enquanto o Nmap + rastreia(scan) anfitries(hosts) no-responsivos. + + Estas opes recebem um valor em milissegundos. Especificar + um e + mais baixos que o default + pode reduzir o tempo de rastreio(scan) significativamente. Isso + particularmente verdade para rastreios(scans) sem ping + () e para aqueles contra redes bastante + filtradas. Mas no se torne muito agressivo. O rastreio(scan) pode acabar + levando mais tempo se especificar um valor to baixo que + muitas sondagens iro expirar o tempo e serem retransmitidas + enquanto a resposta ainda est em trnsito. + + Se todos os anfitries(hosts) esto em uma rede local, 100 milissegundos + um valor de razoavelmente + agressivo. Se houver roteamento envolvido faa um ping de um anfitrio(host) + da rede primeiro com o utilitrio ICMP ping ou com um formatador + de pacotes customizados como o hping2, que pode passar por um + firewall mais facilmente. Descubra o tempo mximo de round trip em + dez pacotes mais ou menos. Coloque o dobro desse valor em + e o triplo ou qudruplo + para o . Normalmente eu no + configuro o rtt mximo abaixo de 100ms, no importa quais os + tempos de ping. Eu tambm no excedo o valor 1000ms. + + uma opo raramente + utilizada que poderia ser til quando uma rede to no-confivel + que mesmo o default do Nmap muito agressivo. Considerando que o + Nmap apenas reduz o tempo de expirao para um valor mnimo quando + a rede parece ser confivel, esta necessidade no comum e + deveria ser reportada lista de discusso nmap-dev como um + bug. + + + + + (Desiste + em anfitries(hosts)-alvo lentos) + + + Alguns anfitries(hosts) simplesmente levam tempo + demais para serem rastreados. Isso pode ser + causado por um hardware ou software de rede com fraco desempenho + ou pouco confivel, limitao na taxa dos pacotes ou por um + firewall restritivo. Os poucos anfitries(hosts) mais lentos de todos os anfitries(hosts) + escaneados podem acabar sendo responsveis pela maior parte do + tempo total gasto com o rastreio(scan). s vzes melhor cortar fora o + prejuzo e saltar esses anfitries(hosts) logo no incio. Isso pode ser feito + especificando com o nmero de + milissegundos que tolera esperar. Eu normalmente especifico + 1800000 para ter certeza de que o Nmap no ir gastar mais do que + meia hora em um nico anfitrio(host). Note que o Nmap pode estar escaneando + outros anfitries(hosts) ao mesmo tempo em que essa meia hora desse nico anfitrio(host) + est correndo, ento no uma perda de tempo total. Um anfitries(hosts) que + expira o tempo saltado. Nenhum resultado de tabela de portas, + deteco de SO ou deteco de verso mostrado para esse + anfitrio(host). + + + + + ; + (Ajusta o + atraso entre sondagens) + + + Esta opo faz com que o Nmap aguarde um determinado nmero + de milissegundos entre cada sondagem enviada a um dado anfitrio(host). Isto + particularmente til no caso de limitao de taxas de + transferncia. Mquinas Solaris (entre muitas outras) iro + normalmente responder a pacotes de sondagens de rastreios(scans) UDP com + apenas uma mensagem ICMP por segundo. Qualquer nmero maior que + isso, enviado pelo Nmap, ser um desperdcio. Um + de 1000 ir manter uma taxa de + transferncia baixa. O Nmap tenta detectar a limitao de taxa e + ajusta o atraso no rastreio(scan) de acordo, mas no di especificar + explicitamente se j sabe qual a taxa que funciona + melhor. + + Outro uso do para evitar os + sistemas de preveno e deteo de intruso (IDS/IPS) baseados em + limites. + + + + + + (Estabelece um padro de temporizao) + + + Embora os controles de temporizao de ajuste fino + discutidos nas sees anteriores sejam poderosos e efectivos, + algumas pessoas consideram-nos confusos. Escolher os + valores apropriados pode s vzes levar mais tempo do que o + prprio rastreio(scan) que est tentando optimizar. Por isso o Nmap + oferece uma aproximao mais simples com seis padres de + temporizao. Voc pode especific-los com a opo + e os nmeros (0 - 5) ou os nomes. Os nomes de + padres so paranico (paranoid, 0), furtivo (sneaky, 1), educado + (polite, 2), normal (3), agressivo (agressive, 4) e insano + (insane, 5). Os dois primeiros so para evitar um IDS. O modo + educado (ou polido), diminui o ritmo de rastreio(scan) para usar + menos banda e recursos da mquina alvo. O modo normal o default + e, portanto, no faz nada. O modo agressivo + acelera os rastreios(scans) assumindo que est em uma rede razoavelmente + rpida e confivel. Finalmente, o modo insano assume que est + em uma rede extraordinariamente rpida ou est disposto a + sacrificar alguma preciso pela velocidade. + + Estes padres permitem que o usurio especifique o quo + agressivo desejam ser, ao mesmo tempo que deixam o Nmap escolher + os valores de temporizao exactos. Os padres tambm fazem ajustes + pequenos na velocidade onde ainda no existem opes para controle + de ajuste fino. Por exemplo, proibe que o + atraso dinmico de rastreio(scan) exceda 10ms para portas TCP e + corta esse valor para 5 milissegundos. + Padres podem ser utilizados em conjunto com controles de ajuste + fino desde que o padro seja especificado primeiramente. Do + contrrio os valores default para os padres iro se sobrepor aos + valores que especificar. Eu recomendo usar + quando rastrear(scan) redes razoavelmente modernas + e confiveis. Mantenha essa opo (no comeo da linha de comando) + mesmo que adicione controles de ajuste fino, de forma que + possa se beneficiar com as pequenas otimizaes extras que + ela habilita. + + Se tiver uma conexo ethernet ou de banda-larga + decente, eu recomendaria sempre utilizar . + Algumas pessoas adoram o embora seja + agressivo demais para o meu gosto. As pessoas s vzes especificam + porque acham que diminui a probabilidade de + travar os anfitries(hosts) ou porque elas consideram-se educadas em geral. + Normalmente elas no percebem o quo lento o realmente . Esses rastreios(scans) podem levar dez vzes + mais tempo que um rastreio(scan) default. Travamento de mquinas e problemas + com a banda so raros com as opes de temporizao default + () e portanto, eu normalmente as recomendo + para escaneadores precavidos. Omitir a deteco de verso bem + mais eficaz do que ficar brincando com os valores de temporizao + para reduzir esses problemas. + + Embora o e o + possam ser usados para evitar alertas no IDS, eles iro leva muito + mais tempo para rastrear(scan) milhares de mquinas ou portas. Para um + rastreio(scan) to amplo prefira estabelecer os valores exatos de + temporizao que precisa ao invs de depender dos valores + "engessados" de e + . + + Os principais efeitos de serializar o + rastreio(scan) de forma que apenas uma porta rastreada de cada vez e ento + aguardar cinco minutos entre o envio de cada sondagem. + e so similares mas + aguardam apenas 15 segundos e 0,4 segundos, respectivamente, entre + as sondagens. o comportamento default do + Nmap, que inclui o paralelismo. faz o mesmo + que e estabelece o atraso mximo de rastreio(scan) TCP em 10 + milissegundos. faz o mesmo que + e + estabelece o atraso mximo de rastreio(scan) TCP em 5ms. + + + + + + + Evitando e enganando o Firewall/IDS + + Muitos pioneiros da Internet vislumbraram uma rede mundial aberta + com um espao de endereamento IP universal que permitisse conexes + virtuais entre quaisquer dois ns. Isso permite que os anfitries(hosts) actuem como + verdadeiros semelhantes, servindo e obtendo informaes uns dos outros. + As pessoas poderiam aceder a seus computadores domsticos do trabalho, + mudando os ajustes do controle de climatizao ou abrindo as portas para + convidados. Essa viso de conectividade universal foi sufocada pela + falta de espao de endereamento e preocupaes com a segurana. No + incio dos anos 1990 as empresas comearam a instalar firewalls para o + propsito claro de reduzir a conectividade. Rede enormes foram isoladas + da Internet-sem-fronteiras por proxies de aplicativos, traduo de + endereamento de rede (network address translation) e filtros de + pacotes. O fluxo irrestrito de informaes deu a vez regulamentao + acirrada de canais de comunicao autorizados e ao contedo que neles + trafegam. + + As obstrues de rede como o firewall podem tornar o mapeamente + de uma rede extremamente difcil. E isso no vai se tornar mais fcil, + pois sufocar as sondagens casuais freqentemente o objetivo + principal de se instalar esses dispositivos. Apesar disso o Nmap + oferece muitas ferramentas para ajudar a entender essas redes complexas + e para verificar que os filtros esto funcionando como esperado. Ele at + suporta mecanismos para passar por cima de defesas mal implementadas. Um + dos melhores mtodos para se entender a postura de segurana de uma rede + tentar derrub-la. Pense com a mente de uma pessoa que quer atac-lo + e aplique tcnicas desta seo contra a sua rede. Lance um rastreio(scan) FTP + bounce, um rastreio(scan) idle, um ataque de fragmentao ou tente "tunelar" + (criar um tnel) atravs de um de seus prprios proxies. + + Alm de restringir a atividade de rede as empresas esto + monitorando o trfego cada vez mais com sistemas de deteco de + intruso (IDS). Todos os principais IDS vm com regras designadas para + detectar rastreios(scans) feitos com o Nmap porque os rastreios(scans) so, s vzes, + precursores de ataques. Muitos desses produtos foram recentemente + metamorfoseados em sistemas de preveno de + intruso (IPS) que bloqueiam o trfego considerado malicioso de forma + activa. Infelizmente para administradores de rede e vendedores de IDS, + detectar confiavelmente as ms intenes atravs da anlise de dados de + pacotes um problema difcil. Atacantes com pacincia, habilidade e a + ajuda de certas opes do Nmap podem normalmente passar por um IDS sem + serem detectados. Enquanto isso, os administradores devem lidar com um + alto nmero de resultados do tipo falso-positivo onde actividades + inocentes so diagnosticadas erradamente e recebem alertas ou so + bloqueadas. + + De vez em quando as pessoas sugerem que o Nmap no deveria + oferecer opes que permitam evitar as regras de firewalls ou passar + desapercebidos por IDSs. Elas argumentam que essas caractersticas so + to sujeitas m-utilizao por atacantes quanto so utilizadas por + administradores para aumentar a segurana. O problema com esta lgica + que esses mtodos ainda assim seriam utilizados pelos atacantes que + encontrariam outras ferramentas ou ento acrescentariam essa + funcionalidade no Nmap. Enquanto isso os administradores achariam muito + mais difcil executar suas tarefas. Instalar apenas servidores FTP + modernos e corrigidos uma defesa muito melhor do que tentar evitar a + distribuio de ferramentas que implementem o ataque FTP bounce. + + No existe uma carta mgica (ou opo do Nmap) para detectar e + subverter firewalls e sistemas IDS. necessrio habilidade e + experincia. Um tutorial est alm do objectivo deste guia de referncia + que apenas lista as opes relevantes e descreve suas funes. + + + + (fragmenta os pacotes); + (usando a MTU especificada) + + + A opo faz com que o rastreio(scan) solicitado + (incluindo rastreios(scans) usando ping) utilize pequenos pacotes IP + fragmentados. A idia dividir o cabealho TCP em diversos + pacotes para tornar mais difcil para os filtros de pacotes, os + sistemas de deteco de intruso e outros aborrecimentos, + detectar o que est fazendo. Tenha cuidado com isto! Alguns + programas tem problemas para lidar com estes pequenos pacotes. O + sniffer da velha-guarda chamado Sniffit sofria uma falha de + segmentao assim que recebia o primeiro fragmento. Especifique + esta opo uma vez e o Nmap dividir os pacotes em 8 bytes ou + menos aps o cabealho IP. Portanto, um cabealho TCP de 20 bytes + seria dividido em 3 pacotes. Dois com oito bytes do cabealho TCP + e um com os quatro restantes. claro que cada fragmento tambm + tem um cabealho IP. Especifique novamente + para usar 16 bytes por fragmento (reduzindo o nmero de + fragmentos). Ou ento, pode especificar o seu prprio tamanho + de quebra com a opo . No especifique + tambm o se usar o + . A quebra deve ser um mltiplo de 8. Embora + os pacotes fragmentados no passem por filtros de pacotes e + firewalls que enfilerem todos os fragmentos IP, tal como a opo + CONFIG_IP_ALWAYS_DEFRAG do kernel do Linux faz, algumas redes no + aguentam o impacto no desempenho que isso causa deixando a opo + desabilitada. Outros no conseguem habilitar isso porque os + fragmentos podem seguir por rotas diferentes na rede. Alguns + sistemas de origem desfragmentam pacotes de sada no kernel. O + Linux e o mdulo de reastreamento de conexo do iptables um + exemplo desse tipo. Faa um rastreio(scan) enquanto executa um sniffer como + o Ethereal para ter a certeza de que pacotes enviados esto + fragmentados. Se o SO do seu anfitrio(host) estiver causando problemas + tente a opo para passar por cima da + camada IP e enviar frames ethernet em estado bruto(raw). + + + + + + (Disfara um rastreio(scan) usando chamarizes) + + + Faz com que um rastreio(scan) com chamarizes seja executado, o que + parece ao anfitrio(host) remoto que, o(s) anfitrio(host)(s) que especificou como + chamarizes tambm estejam rastreando a rede-alvo. Com isso, o IDS + poder reportar 5 a 10 rastreios(scans) de portas de endereos IP nicos, mas + no saber qual IP estava realmente efectuado o rastreio(scan) e qual era um + chamariz inocente. Embora isso possa ser desvendado atravs de + rastreamento de caminho de router, descarte de respostas + (response-dropping) e outros mecanismos activos, normalmente uma + tcnica eficaz para esconder o seu endereo IP. + + Separe cada anfitrio(host)-chamariz com vrgulas e pode + opcionalmente usar ME como um dos chamarizes + para representar a posio do seu endereo IP real. Se + colocar ME na 6a. posio ou acima, alguns + detectores de rastreio(scan) de portas comuns (como o excelente scanlogd da + Solar Designer) pouco provavelmente iro mostrar o seu endereo + IP. Se no utilizar o ME o nmap ir + coloc-lo em uma posio aleatria. + + Observe que os anfitries(hosts) que utilizar como chamarizes devem + estar activos ou poder acidentamente inundar com SYN os + seus alvos. Tambm ser bastante fcil determinar qual o anfitrio(host) + que est a efectuar o rastreio(scan) se houver apenas um anfitrio(host) realmente activo na + rede. Voc pode preferir usar endereos IP ao invs de nomes (de + forma que as redes chamarizes no vejam em seus logs dos + servidores de nomes). + + Chamarizes so utilizados tanto no rastreio(scan) com ping inicial + (usando ICMP, SYN, ACK ou qualquer outro) como tambm durante a + fase real de rastreio(scan) de portas. Chamarizes tambm so usados + durante a deteco de SO remoto (). Chamarizes + no funcionam com a deteco de verso ou com o rastreio(scan) TCP + connect(). + + Vale a pena observar que usar chamarizes demais pode deixar + seu rastreio(scan) lento e potencialmente at torn-lo menos preciso. Outra + coisa, alguns provedores ISP iro filtrar os seus pacotes + disfarados mas muitos no restringem pacotes IP + disfarados. + + + + + (Disfara o endereo + de origem) + + + Em algumas circunstncias o Nmap pode no conseguir + determinar o seu endereo de origem (o Nmap ir dizer se for esse + o caso). Nesta situao use o com o endereo + IP da interface que deseja utilizar para enviar os + pacotes. + + Outro uso possvel para esta flag para disfarar o rastreio(scan) e + fazer com que os alvos achem que alguma outra + pessoa est fazendo o rastreio(scan). Imagine uma empresa que est + constantemente sofrendo rastreios(scans) de portas de um concorrente! A opo + normalmente seria requerida para este tipo de + uso e seria recomendvel. + + + + + (Usa a interface + especificada) + + + Diz ao Nmap qual interface deve ser utilizada para enviar e + receber pacotes. O Nmap deveria ser capaz de detectar isto + automaticamente mas ele informar se no conseguir. + + + + + + (Disfara o nmero de + porta de origem) + + + Um erro de configurao surpreendentemente comum confiar + no trfego com base apenas no nmero da porta de origem. fcil + entender como isso acontece. Um administrador configura um + firewall novinho em folha s para ser inundado com queixas de + usurios ingratos cujas aplicaes param de funcionar. Em + particular, o DNS pode parar de funcionar porque as respostas DNS + UDP de servidores externos no conseguem mais entrar na rede. O + FTP outro exemplo comum. Em tranferncias FTP activas o servidor + remoto tenta estabelecer uma conexo de volta com o cliente para + poder transferir o arquivo solicitado. + + Solues seguras para esses problemas existem + frequentemente na forma de proxies no nvel da aplicao ou + mdulos de firewall para anlise de protocolo. Infelizmente tambm + h solues mais fceis e inseguras. Observando que as respostas + DNS chegam pela porta 53 e o FTP activo pela porta 20 muitos + administradores caem na armadilha de apenas permitir trfego vindo + dessas portas. Eles normalmente assumem que nenhum atacante ir + notar e explorar essas brechas no firewall. Em outros casos os + administradores consideram isso uma medida provisria de curto + prazo at que eles possam implementar uma soluo mais segura. + Normalmente ele esquecem-se de fazer as actualizaes de + segurana. + + Administradores de rede sobrecarregados no so os nicos a + carem nessa armadilha. Diversos produtos foram empacotados com + essas regras inseguras. Mesmo a Microsoft culpada. Os filtros + IPsec que vieram com o Windows 2000 e com o Windows XP contm uma + regra implcita que permite todo o trfego TCP ou UDP da porta 88 + (Kerberos). Em outro caso bastante conhecido, verses do firewall + pessoal Zone Alarm, at a verso 2.1.25, permitiam qualquer pacote + UDP entrante com a porta de origem 53 (DNS) ou 67 (DHCP). + + O Nmap oferece as opes e + (elas so equivalentes) para + explorar essas fraquezas. Apenas fornea um nmero de porta e o + Nmap ir enviar pacotes dessa porta onde for possvel. O Nmap + utiliza nmeros de porta diferentes para que certos testes de + deteco de SO funcionem direito e as requisies DNS ignoram a + flag porque o Nmap confia nas + bibliotecas de sistema para lidar com isso. A maioria dos rastreios(scans) + TCP, incluindo o rastreio(scan) SYN, suportam a opo completamente assim + como o rastreio(scan) UDP. + + + + + (Acrescenta + dados aleatrios nos pacotes enviados) + + + Normalmente o Nmap envia pacotes minimalistas contendo + apenas o cabealho. Dessa forma os pacotes TCP tm normalmente 40 + bytes e os echo requests ICMP tem s 28. Esta opo faz com que o + Nmap acrescente o nmero informado de bytes aleatrios na maioria + dos pacotes que envia. Os pacotes de deteco de SO + () no so afectados mas a maioria dos pacotes + de ping e rastreio(scan) de portas so. Isso atrasa as coisas mas pode + tornar um rastreio(scan) ligeiramente menos chamativo. + + + + + (Establece o valor do + campo time-to-live) + + + Estabelece que o campo tempo-de-vida (time-to-live) dos + pacotes enviados ter o valor informado. + + + + + (Torna aleatria a ordem + dos anfitries(hosts)-alvo) + + + Informa ao Nmap que ele deve embaralhar cada grupo de, no + mximo, 8096 anfitries(hosts) antes de efectuar o rastreio(scan). + Isso torna os rastreios(scans) menos + bvios a vrios sistemas de monitoramento de rede, especialmente + quando combina isso com as opes de temporizao lentas. Se + deseja que fazer isso em grupos maiores aumente o + PING_GROUP_SZ no nmap.h e recompile. Uma + soluo alternativa gerar uma lista de endereos IP-alvos com um + rastreio(scan) de lista (), embaralhar a + lista com um script Perl e ento fornecer a lista completa para o + Nmap com . + + + + + (Disfara o endereo MAC) + + + Solicita ao Nmap que utilize o endereo MAC informado para + todos os frames ethernet em estado bruto (raw) que ele enviar. + Esta opo implica em para assegurar + que o Nmap realmente envie pacotes no nvel ethernet. O MAC + fornecido pode assumir diversos formatos. Se for apenas a string + 0 o Nmap ir escolher um MAC completamente + aleatrio para a sesso. Se a string informada for um nmero par + de dgitos hexa (com os pares opcionalmente separados por dois + pontos) o Nmap ir usa-la como o MAC. Se menos do que 12 dgitos + hexa forem informados o Nmap preenche o restante dos 6 bytes com + valores aleatrios. Se o argumento no for um 0 ou uma string + hexa o Nmap ir procurar no + nmap-mac-prefixes para encontrar o nome de um + fabricante contendo a string informada (no sensvel a + maisculas ou minsculas). Se encontrar, o Nmap usa o OUI (prefixo + de 3 bytes) do fabricante e preenche os 3 bytes restantes + aleatoriamente. Exemplos de argumentos + vlidos so Apple, + 0, 01:02:03:04:05:06, + deadbeefcafe, 0020F2 e + Cisco. + + + + + + + Sada (Output) + + Qualquer ferramenta de segurana s til se a sada que ela gera + tambm o for. Testes e algortmos complexos so de pouco valor se no + forem apresentados de uma forma organizada e compreensvel. Dado o + nmero de formas que o Nmap utilizado pelas pessoas e por outros + softwares, nenhum formato ir agradar a todos. Ento o Nmap oferece + diversos formatos incluindo o modo interativo para humanos lerem + diretamente e o XML para fcil interpretao por um software. + + Alm de oferecer diversos formatos de sada, o Nmap fornece opes + para controlar a verbosidade da sada assim como as mensagens de + depurao. Os tipos de sada podem ser enviados para a sada padro + (standard output) ou para arquivos, o qual o Nmap pode acrescentar ou + ento sobrescrever. Arquivos de sada tambm podem ser utilizados para + se retomar rastreios(scans) abortados. + + O Nmap torna a sada disponvel em cinco formatos diferentes. O + default chamado de sada interativa (interactive + output) e enviada para a sada padro (stdout). H tambm a + sada normal (normal output) que similar + interativa excepto pelo facto de mostrar menos + informaes e alertas sobre a execuo uma vez que se espera que seja + feita uma anlise somente aps o rastreio(scan) completar, ao invs de + interativamente. + + A sada XML um dos tipos de sada mais importantes pois permite + a converso para HTML, facilmente analisada por programas como a + interface grfica do Nmap ou pode ser importada em banco de + dados. + + Os dois tipos restantes de sada so a simples sada para + o grep (grepable output) que inclui a maioria das informaes + de um anfitrio(host)-alvo em uma nica linha e a s4d4 sCRiPt KiDDi3 + (sCRiPt KiDDi3 0utPUt) para usurios que se consideram 1r4d0z + (|<-r4d). + + Embora a sada interativa seja a default e no tenha associada + nenhuma opo de linha de comando, as outras quatro opes de formato + utilizam a mesma sintaxe. Elas recebem um argumento que o nome do + arquivo onde os resultados devem ser armazenados. Formatos mltiplos + podem ser especificados mas cada formato s pode ser especificado uma + vez. Por exemplo, pode querer armazenar a sada normal para seu uso + enquanto grava a sada XML do mesmo rastreio(scan) para anlise utilizando + programas. Voc pode fazer isso com as opes . Embora este captulo use nomes simples como + myscan.xml por uma questo de brevidade, nomes mais + descritivos normalmente so recomendados. Os nomes escolhidos so uma + questo de preferncia pessoal, embora eu use nomes longos que + incorporam da data do rastreio(scan) e uma palavra ou duas que descrevam o rastreio(scan), + colocados em um diretrio com o nome da empresa que eu estou + rastreando. + + Mesmo que essas opes gravem os resultados em arquivos, o Nmap + ainda assim mostra a sada interativa na stdout como de costume. Por + exemplo, o comando nmap -oX myscan.xml target grava + em XML no myscan.xml e enche a sada padro com os + mesmos resultados interativos que teria mostrado se a opo + no tivesse sido especificada. Voc pode mudar isso + passando um caracter hfen como argumento de um dos tipos de formato. + Isso faz com que o Nmap desactive a sada interativa e apenas grave os + resultados no formato que especificou para a sada padro. Dessa + forma, o comando nmap -oX - target ir enviar apenas + a sada XML para a stdout. Erros srios ainda podem ser mostrados na + sada padro de erros, stderr. + + Ao contrrio de alguns argumentos do Nmap o espao em branco + entre a flag da opo (como a ) e o nome do arquivo + ou hfen obrigatrio. Se omitir as flags e informar argumentos + como ou , uma + caracterstica de compatibilidade retroactiva do Nmap ir causar a + criao de arquivos de sada do tipo normal format + chamados G- e Xscan.xml + respectivamente. + + O Nmap tambm oferece opes para controlar a verbosidade do rastreio(scan) + e para acrescentar informaes nos arquivos de sada ao invs de + sobrepor. Todas essas opes esto descritas abaixo. + + + Formatos de Sada do Nmap + + + (Sada + normal) + + + Solicita que a sada normal (normal + output) seja direcionada para o arquivo informado. + Conforme discutido acima, um pouco diferente da sada + interativa (interactive output). + + + + + (Sada em + XML) + + + Solicita que a sada em XML (XML output) + seja direcionada para o arquivo informado. O Nmap inclui uma + definio do tipo de documento (document type definition, DTD) que + permite que os analisadores (parsers) XML validem a saida em XML + do Nmap. Embora seja primeiramente voltada para ser usada por + programas tambm pode ajudar os humanos a interpretar a sada em + XML do Nmap. A DTD define os elementos vlidos do formato e + geralmente enumera os atributos e valores que eles podem receber. + A ltima verso est sempre disponvel em . + + O XML oferece um formato estvel que facilmente + interpretado por software. Interpretadores (parsers) XML gratuitos + esto disponvel para as principais linguagens de computador, + incluindo C/C++, Perl, Python e Java. As pessoas at j escreveram + extenses para a maioria dessas linguagens para manipular a sada + e a execuo especificamente do Nmap. Exemplos so o Nmap::Scanner + e o Nmap::Parser em + Perl CPAN. Em quase todos os casos em que uma aplicao + no-trivial faz interface com o Nmap, o XML o formato + preferido. + + A sada XML faz referncia a uma folha de estilo que pode + ser usada para formatar os resultados em HTML. A forma mais fcil + de se utilizar isso simplesmente carregar a sada XML em um + navegador web como o Firefox ou o IE. Por default, isso s ir + funcionar na mquina onde rodou o Nmap (ou em uma mquina + similarmente configurada) devido ao caminho (path) do sistema de + arquivos (filesystem) gravado de forma inaltervel do + nmap.xsl. Veja a opo + para ver uma forma de criar um + arquivo XML portvel que possa ser interpretado como um HTML em + qualquer mquina conectada web. + + + + + (S4d4 + ScRipT KIdd|3) + + + A sada script kiddie como a sada interativa, com a + diferena de ser ps-processada para atender melhor ao "hacker de + elite" ('l33t HaXXorZ') que antigamente rejeitava o Nmap devido ao + uso consistente de maisculas e minsculas e a grafia correta. + Pessoas sem senso de humor devem observar que esta opo serve + para se fazer graa dos script kiddies antes de me lixar por + estar, supostamente, ajudando-os. + + + + + (Sada + para o grep) + + + Este formato de sada mencionado por ltimo porque est + depreciado. O formato de sada XML muito mais poderoso e + bastante adequado para usurio avanados. O XML um padro para o + qual existem dezenas de excelentes interpretadores (parsers) + disponveis, enquanto que a sada para o grep um quebra-galho + feito por mim. O XML estensvel para suportar novas + caractersticas do Nmap conforme elas forem lanadas, por outro + lado, sempre tenho que omitir essas novas caractersticas da sada + para o grep por falta de onde coloc-las. + + Apesar disso a sada para o grep bastante popular. um + formato simples que lista cada anfitrio(host) em uma linha e pode ser + pesquisado de forma trivial e interpretado por qualquer + ferramenta padro do Unix como o grep, awk, cut, sed, diff e + Perl. Eu mesmo uso-a para testes rpidos feitos na linha de + comando. Descobrir todos os anfitries(hosts) com a porta ssh aberta ou que + esto com o SO Solaris requer apenas um simples grep para + identific-los, concatenado via pipe a um comando awk ou cut para + mostrar os campos desejados. + + A sada para o grep consiste de comentrios (linhas + comeadas com o smbolo #) e linhas-alvo. Uma linha-alvo inclui + uma combinao de 16 campos rotulados, separados por tab e + seguidos por dois-pontos. Os campos so Host, + Portas (Ports),Protocolos + (Protocols), Estado Ignorado (Ignored + State), SO (OS), ndice de + Seqncia (Seq Index), IPID e + Estado (Status). + + O campo mais importante normalmente Portas + (Ports), que fornece detalhes de cada porta + interessante. uma lista com a relao de portas separada por + vrgula. Cada porta representa uma porta interessante e tem o + formato de sete sub-campos separados por barra (/). Esses + sub-campos so: Nmero da Porta (Port number), + Estado (State), Protocolo + (Protocol), Proprietrio (Owner), + Servio (Service), informao sobre o + SunRPC (SunRPC info) e informao sobre a + Verso (Version info). + + Assim como na sada XML, esta pgina man no permite que se + documente o formato todo. Uma viso mais detalhada sobre o formato + de sada para o grep do Nmap est disponvel em . + + + + + (Sada para todos os + formatos) + + + Para facilitar pode especificar para armazenar os + resultados de rastreio(scan) nos formatos normal, XML e para o grep de uma + s vez. Eles so armazenados nos arquivos + nome-base.nmap, + nome-base.xml e + nome-base.gnmap, respectivamente. Como + na maioria dos programas pode colocar como prefixo nos nomes + de arquivos o caminho de um diretrio como + ~/nmaplogs/foocorp/ no UNIX ou + c:\hacking\sco no Windows. + + + + + + Opes de Verbosidade e depurao (debugging) + + + (Aumenta o nvel de verbosidade) + + + Aumenta o nvel de verbosidade fazendo com que o Nmap + mostre mais informaes sobre o progresso do rastreio(scan). Portas abertas + so mostradas conforme so encontradas e estimativas de tempo + para o trmino so fornecidas quando o Nmap acha que um rastreio(scan) ir + demorar mais do que alguns minutos. Use duas vzes para uma + verbosidade ainda maior. Usar mais do que duas vzes no surte + nenhum efeito. + + A maioria das alteraes afectam apenas a sada interactiva e + algumas tambm afectam a sada normal e script kiddie. Os outros + tipos de sada foram feitos para serem processados por mquinas, + ento o Nmap pode dar informaes bastante detalhadas por default + nesse formatos sem cansarem o usurio humano. Entretanto, existem + algumas mudanas nos outros modos onde o tamanho da sada pode ser + reduzido substancialmente pela omisso de alguns detalhes. Por + exemplo, uma linha de comentrio na sada para o grep que + fornece uma lista de todas as portas rastreadas s mostrada no + modo verboso porque ela pode ser bem longa. + + + + + (Aumenta ou estabelece o nvel de + depurao) + + + Se mesmo o modo verboso no fornece dados suficientes para + si, o modo de depurao est disponvel para inund-lo com muito + mais! Assim como na opo de verbosidade (), a + depurao habilitada com uma flag na linha de comando + () e o nvel de depurao pode ser aumentado + especificando-a mltiplas vzes. Alternativamente pode + estabelecer o nvel de depurao fornecendo um argumento para o + . Por exemplo, estabelece + o nvel nove. Esse efectivamente o nvel mais alto e ir produzir + milhares de linhas a menos que execute um rastreio(scan) muito simples + com poucas portas e alvos. + + A sada da depurao til quando h a suspeita de um bug + no Nmap ou se est simplesmente confuso com o que o Nmap + est fazendo e porqu. Como esta opo na maioria das vzes + destinada a programadores, as linhas de depurao nem sempre so + auto-explicativas. Pode obter algo como: + Timeout vals: srtt: -1 rttvar: -1 to: 1000000 + delta 14987 ==> srtt: 14987 rttvar: 14987 to: + 100000. Se no entender alguma linha suas + nicas opes sero ignor-la, procurar no cdigo-fonte ou pedir + ajuda na lista de discusso de desenvolvimento (nmap-dev). Algumas + linhas so auto-explicativas mas as mensagens ficam cada vez mais + obscuras conforme o nvel de depurao aumentado. + + + + + (Rastreia pacotes e dados + enviados e recebidos) + + + Faz com que o Nmap moste um sumrio de todos os pacotes + enviados ou recebidos. Isto bastante usado para depurao mas + tambm uma forma valiosa para novos usurio entenderem + exatamente o que o Nmap est fazendo por debaixo dos panos. Para + evitar mostrar milhares de linhas, pode querer especificar um + nmero limitado de portas a rastrear(scan) como + . Se tudo o que lhe interessa for saber o + que se passa no subsistema de deteco de verso, use o + . + + + + + (Lista as interfaces e rotas) + + + Mostra a lista de interfaces e rotas do sistema conforme + detectados pelo Nmap. Isto til para depurar problemas de + roteamento ou erro de configurao de dispositivo (como, por + exemplo, no caso do Nmap tratar uma conexo PPP como se fosse uma + Ethernet). + + + + + + Opes diversas (miscellaneous) de sada + + + (Acrescenta no arquivo de + sada ao invs de sobrepor) + + + Quando especifica um nome de arquivo na flag de formato + de sada, como ou , esse + arquivo sobreposto por default. Se preferir manter o + contedo existente no arquivo e acrescentar os novos resultados, + especifique a opo . Todos os + arquivos de sada especificados na execuo do Nmap tero os + resultados acrescidos ao invs de sobrepostos. Isso no funciona + bem com os dados de rastreio(scan) para XML () pois o + arquivo resultante no ser adequadamente interpretado at que + consserte manualmente. + + + + + (Retoma um + rastreio(scan) abortado) + + + Algumas execues extensas do Nmap podem levar muito tempo, + na ordem de dias. Tais rastreios(scans) nem sempre rodam at o fim. Podem + haver restries que impeam que o Nmap seja executado durante o + horrio de expediente, a rede pode cair, a mquina onde o Nmap + est a ser executado pode sofrer um reboot planeado ou no, ou o Nmap + pode simplesmente travar. O administrador que est executando o Nmap + poderia cancel-lo por qualquer outra razo bastando teclar + ctrl-C. Reiniciar um rastreio(scan) inteiro do comeo pode + ser indesejvel. Felizmente se forem mantidos logs normais + () ou para o grep (), o + usurio pode pedir que o Nmap continue o rastreio(scan) do alvo que + estava verificando quando a execuo foi interrompida. + Simplesmente especifique a opo e + informe o arquivo da sada normal/para o grep como argumento. + Nenhum outro argumento permitido, pois o Nmap analisa o arquivo + de sada e usa os mesmos argumentos especificados anteriormente. + Basta chamar o Nmap com nmap --resume + nomedoarquivodelog. O Nmap + ir acrescentar os novos resultados ao arquivo de dados + especificado na execuo anterior. Essa retomada de execuo no + suporta o formato de sada XML porque combinar as duas execues + em um arquivo XML vlido seria difcil. + + + + + (Informa + a folha de estilo XSL usada para transformar a sada XML) + + + O Nmap vem com uma folha de estilo (stylesheet) chamada + nmap.xsl para visualizar ou traduzir a sada + XML em HTML. A sada XML inclui uma diretiva + xml-stylesheet que mostra para o + nmap.xml onde ele foi inicialmente instalado + pelo Nmap (ou para o diretrio corrente no Windows). Simplesmente + carregue a sada XML do Nmap em um navegador moderno e ele deve + conseguir achar o nmap.xsl no sistema de + arquivos e utiliz-lo para interpretar os resultados. Se + desejar utilizar uma folha de estilo diferente, especifique-a como + um argumento para . Deve + informar o caminho completo ou a URL. Uma chamada comum + . Isso diz ao + navegador para carregar a verso mais actual da folha de estilo da + Insecure.Org. Isso torna mais fcil ver os resultados em uma + mquina que no tenha o Nmap instalado (e consequentemente o + nmap.xsl). A URL normalmente mais + til mas a localizao nmap.xsl num sistema de ficheiros(filesystem) local usada + por default por questes de privacidade. + + + + + (Omite do XML a declarao da + folha de estilo XSL) + + + Especifique esta opo para evitar que o Nmap associe + qualquer folha de estilo XSL sada XML. A directiva + xml-stylesheet omitida. + + + + + + + Opes Diversas (Miscellaneous) + + Esta seo descreve algumas opes importantes (e + no-to-importantes) que realmente no couberam em nenhum outro + lugar. + + + + (Habilita o rastreio(scan) IPv6) + + + Desde 2002 que o Nmap oferece suporte a IPv6 na maioria de suas + opes mais populares. Em particular o rastreio(scan) com ping (apenas + TCP), o rastreio(scan) com connect() e a deteco de verso, todas suportam + IPv6. A sintaxe de comando a mesma de sempre excepto que + ir tambm adicionar a opo . claro que + deve usar a sintaxe IPv6 se especificar um endereo no lugar de um + nome de anfitrio(host). Um endereo pode se parecer com + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + portanto os nomes de anfitrio(host) so recomendados. A sada a mesma de + sempre com o endereo IPv6 na linha portas + interessantes sendo a nica dica visvel de que se tratar + realmente de IPv6. + + Muito embora o IPv6 no tenha exactamente se alastrado pelo + mundo, seu uso se torna mais significativo em alguns pases + (normalmente asiticos) e a maioria dos sistemas operativos + modernos passaram a suport-lo. Para usar o Nmap com o IPv6, tanto a + origem quanto o alvo de seu rastreio(scan), devem estar configurados para + IPv6. Se o seu provedor (ISP) (como a maioria) no aloca endereos + IPv6 para si, alguns intermedirios que fazem o tnel + gratuitamente esto amplamente disponveis e funcionam bem com o + Nmap. Um dos melhores disponibilizado pela BT Exact em . Tambm tenho utilizado um + fornecido pela Hurricane Electric em . Tneis 6para4 so outra abordagem + gratuita e popular. + + + + + (Opes agressivas de rastreio(scan)) + + + Esta opo habilita opes adicionais avanadas e + agressivas. Ainda no decidi exactamente qual das duas a certa. + Actualmente ela habilita a Deteco de SO () e o + rastreio(scan) de verso (). Mais + caractersticas podero ser adicionadas no futuro. A questo + habilitar um conjunto completo de opes de rastreio(scan) sem que + as pessoas tenham que se lembrar de um grupo grande de flags. Esta + opo apenas habilita as funes e no as opes de temporizao + (como a ) ou opes de verbosidade + () que pode tambm querer. + + + + + (Especifica + a localizao dos arquivos de dados do rastreio(scan)) + + + O Nmap obtm alguns dados especiais em tempo de execuo + em arquivos chamados nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes e + nmap-os-fingerprints. O Nmap primeiramente + procura esses arquivos num diretrio especificado na opo + (se houver). Qualquer arquivo que no + seja encontrado l procurado no diretrio especificado pela + varivel de ambiente NMAPDIR. A seguir vem o + ~/.nmap para se achar os UIDs reais e + efectivos (apenas em sistemas POSIX) ou a localizao do executvel + do Nmap (apenas Win32) e ento, a localizao definida na + compilao que pode ser + /usr/local/share/nmap ou + /usr/share/nmap . Como ltimo recurso, o Nmap + ir procurar no diretrio corrente. + + + + + (Usa a transmisso pela ethernet + em estado bruto(raw)) + + + Solicita ao Nmap para que envie pacotes na ethernet (data + link) em estado bruto (raw) ao invs de usar a camada de nvel + mais alto IP (rede). Por default, o Nmap escolhe o que for melhor + para a plataforma onde est rodando. Soquetes (sockets) em estado + bruto (camada IP) so normalmente mais eficientes em mquinas + UNIX enquanto que os frames ethernet so necessrios nas + operaes do Windows, uma vez que a Microsoft desabilitou o + suporte a sockets em estado bruto. O Nmap ainda usa pacotes IP em + estado bruto no UNIX, independentemente desta opo, quando no h + outra alternativa (como no caso de conexes no-ethernet). + + + + + (Envia no nvel do IP em estado + bruto(raw)) + + + Pede ao Nmap que envie os pacotes pelos sockets IP em + estado bruto(raw) ao invs de enviar pelo nvel mais baixo dos frames + ethernet. o complemento da opo + discutida anteriormente. + + + + + (Assume que o usurio + altamente privilegiado) + + + Informa ao Nmap para simplesmente assumir que ele tem + privilgios suficientes para executar transmisses de sockets em + estado bruto(raw), farejar (sniff) pacotes e operaes similares que + normalmente requerem privilgio de root em sistemas UNIX. Por + default, o Nmap encerra se tal operao solicitada mas o + geteuid() no zero . til com as + possibilidades oferecidas pelo kernel do Linux e sistemas + similares que pode ser configurado para permitir que usurios + no-privilegiados executem rastreios(scans) de pacotes em estado bruto. + Assegure-se de informar esta flag de opo antes de outras flags + de opo que requeiram privilgios (rastreio(scan) SYN, deteco de OS, + etc.). A varivel NMAP_PRIVILEGED pode ser configurada como uma + alternativa equivalente de . + + + + + (Inicia em modo + interactivo) + + + Inicia o Nmap em modo interactivo oferecendo um prompt + interactivo do Nmap, permitindo o incio de mltiplos rastreios(scans) (tanto + sncronos quanto em background). Isto til para pessoas que + fzem o rastreio(scan) a partir de sistemas multi-usurios e que normalmente + querem testar a segurana sem deixar todos os utilizadores saberem exactamente + quais sistemas eles esto rastreando. Use + para ativar este modo e ento tecle + h para uma ajuda (help). Esta opo raramente + utilizada porque um shell adequado mais familiar e tem mais + opes. Esta opo inclui um operador exclamao (!) para a + execuo de comandos de shell, o que uma das muitas razes de + no se instalar o Nmap com setuid root. + + + + + ; (Mostra o + nmero da verso) + + + Mostra o nmero da verso do Nmap e sai. + + + + + ; (Mostra a pgina + do sumrio de ajuda) + + + Mostra uma pequena tela com as flags de comandos mais + comuns. Executar o nmap sem nenhum argumento faz a mesma + coisa. + + + + + + + Interao em Tempo de Execuo + + + Esta caracterstica ainda no existe no Nmap. Preciso + adicion-la ou remover esta seco + + + Durante a execuo do Nmap todas as teclas pressionadas so + capturadas. Isso permite que interaja com o programa sem abort-lo + ou reinici-lo. Algumas teclas especiais iro mudar as opes enquanto + outras iro mostrar uma mensagem de estado dando informaes sobre o + rastreio(scan). A conveno que letras minsculas aumentam + a quantidade de informao e letras maisculas + diminuem. + + + + / + + + Aumenta / Diminui a quantidade de informaes + (Verbosity) + + + + + / + + + Aumenta / Diminui o Nvel de Depurao (Debugging + Level) + + + + + / + + + Habilita / Desabilita o Rastreamento de Pacotes (Packet + Tracing) + + + + + Qualquer outra letra + + + Mostra uma mensagem de estado como esta: + + Stats: 0:00:08 elapsed; 111 anfitries(hosts) completed (5 up), 5 + undergoing Service Scan + + Service rastreio(scan) Timing: About 28.00% done; ETC: 16:18 (0:00:15 + remaining) + + + + + + + Exemplos + + Aqui esto alguns exemplos de utilizao do Nmap desde o simples e + rotineiro, at ao mais complexo e esotrico. Alguns endereos IP + reais e nomes de domnio foram utilizados para tornar as coisas mais + concretas. Nesses lugares deve substituir os endereos/nomes pelos + da sua prpria rede. Embora eu no ache que o + rastreio(scan) de portas de outras redes seja ou deva ser considerado + ilegal, alguns administradores de rede no apreciam o rastreio(scan) + no-solicitado de suas redes e podem reclamar. Obter a permisso + antecipadamente a melhor opo. + + Para fins de teste tem permisso para rastrear(scan) o anfitrio(host) + scanme.nmap.org. Esta permisso inclui apenas o + rastreio(scan) via Nmap e no tentativas de explorar vulnerabilidades ou + ataques de negao de servio (denial of service). Para preservar a + banda, por favor no inicie mais do que uma dzia de rastreios(scans) contra o anfitrio(host) + por dia. Se esse servio de alvo livre para rastreio(scan) for abusado, + ser derrubado e o Nmap ir reportar Failed to resolve + given hostname/IP: scanme.nmap.org. Essas permisses + tambm se aplicam aos anfitries(hosts) scanme2.nmap.org, + scanme3.nmap.org e assim por diante, embora esses + anfitries(hosts) ainda no existam. + + + nmap -v scanme.nmap.org + + + Esta opo rastreia(scan) todas as portas TCP reservadas na mquina + scanme.nmap.org. A opo + habilita o modo verboso (verbose). + + + nmap -sS -O scanme.nmap.org/24 + + + Inicia um rastreio(scan) SYN camuflado contra cada mquina que estiver activa + das 255 possveis da rede classe C onde o Scanme reside. + Ele tambm tenta determinar qual o sistema operativo que est sendo executado + em cada anfitrio(host) activo. Isto requer privilgio de root por causa do rastreio(scan) SYN + e da deteco de SO. + + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Inicia uma enumerao de anfitries(hosts) e um rastreio(scan) TCP na primeira metade de + cada uma das 255 sub-redes de 8 bits possveis na classe B do espao de + endereamento 198.116. Tambm testa se os sistemas esto executando + sshd, DNS, pop3d, imapd ou a porta 4564. Para cada uma destas portas + encontradas abertas a deteco de verso usada para determinar qual + aplicao est em execuo. + + + nmap -v -iR 100000 -P0 -p 80 + + + Pede ao Nmap para escolher 100.000 anfitries(hosts) de forma aleatria e + rastreia-os procurando por servidores web (porta 80). A enumerao de + anfitries(hosts) desabilitada com uma vez que enviar + primeiramente um par de sondagens para determinar se um anfitries(hosts) est activo + um desperdcio quando se est sondando uma porta em cada anfitrio(host) + alvo. + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + + Este exemplo rastreia(scan) 4096 endereos IP buscando por servidores + web (sem usar o ping) e grava a sada nos formatos XML e compatvel com + o programa grep. + + + anfitrio(host) -l company.com | cut -d -f 4 | nmap -v -iL + - + + + Faz uma transferncia de zona DNS para descobrir os anfitries(hosts) em + company.com e ento alimenta o Nmap com os endereos IP. Os comandos + acima so para a minha mquina GNU/Linux -- outros sistemas tm comandos + diferentes para executar a transferncia de zona. + + + + Bugs + + Como o seu autor, o Nmap no perfeito. Mas pode ajudar a + torn-lo melhor enviando relatrios de erros (bug reports) ou mesmo + escrevendo correes. Se o Nmap no se comporta da forma que + espera, primeiro actualize para a verso mais atual disponvel em . Se o problema persistir, + pesquise um pouco para determinar se o problema j foi descoberto e + encaminhado. Tente procurar no Google pela mensagem de erro ou navegar + nos arquivos da Nmap-dev em . Se no + encontrar nada envie uma mensagem com um relatrio do erro para + nmap-dev@insecure.org. Por favor inclua tudo o que + souber sobre o problema bem como a verso do Nmap que est + executando e em qual verso e sistema operativo que est a usar. + + Correes codificadas para concertar os erros so ainda melhores + que os relatrios de erro. Instrues bsicas para a criao de arquivos + de correes com as suas alteraes esto disponveis em . + + + + Autor + + Fyodor fyodor@insecure.org () + + Centenas de pessoas fizeram contribuies valiosas para o Nmap ao + longo dos anos. Isso est detalhado no arquivo CHANGELOG que distribudo com o Nmap e + tambm est disponvel em . + + + + Traduo + + Portugus (Portugal) : Jos Domingos + jd_pt@yahoo.com + Portugus (Portugal) : Andreia Gaita + shana.ufie@gmail.com + + Translation Disclaimer: The translation attempts to achieve the + highest possible accuracy. The official text is the English version + available at [url]. Any discrepancies or differences created in + translations are not binding and have no legal effect or compliance or + enforcement purposes. If any questions arise in regard to the accuracy + of information contained in any translated portion of text, please refer + to the official English version. Slangs and language structures in + English are not easily translated into another language. Source text + that includes jargon common to an industry, may not be translated + accurately. Insecure.Com LLC is not responsible for translation errors. + We apologize for any translation that is not correct. + + Desobrigao da Traduo: A traduo tenta alcanar a maior + preciso possvel. O texto oficial a verso em ingls disponvel em + [url]. Quaisquer discrepncias ou diferenas criadas pelas tradues no + so obrigaes e no tem efeito legal, conformidade ou propsitos + impositivos. Se qualquer dvida surgir em relao preciso da + informao contida em qualquer parte traduzida do texto, por favor + verifique a verso oficial em ingls. Grias e estruturas de linguagem + em ingls no so facilmente traduzidas em outra lngua. Texto original + que inclui jargo comum a uma atividade pode no ser traduzido com + preciso. A Insecure.Com LLC no responsvel por erros de traduo. + Ns pedimos desculpas se alguma parte da traduo no estiver correcta. + + + + Avisos Legais + + + Copyright e Licenciamento + + O Nmap Security Scanner (C) 1996-2005 Insecure.Com LLC. O Nmap + tambm uma marca registada de Insecure.Com LLC. Este programa um + software livre; pode redistribu-lo e/ou modific-lo sob os + termos da Licena Pblica Geral GNU (GNU General Public License) + conforme publicado pela Free Software Foundation; Verso 2. Isso + garante o seu direito de usar, modificar e redistribuir este software + sob certas condies. Se desejar embutir a tecnologia do Nmap em + um software proprietrio poderemos querer vender licenas + alternativas (contate sales@insecure.com). Muitos + vendedores de scanner de segurana j licenciam a tecnologia do Nmap, + tal como a descoberta de anfitries(hosts), rastreio(scan) de portas, deteco de SO + e deteco de servios/verses. + + Observe que a GPL impe restries importantes em + trabalhos derivados embora ela no fornea uma + definio detalhada desse termo. Para evitar ms-interpretaes + consideramos que uma aplicao constitui um trabalho + derivado para o propsito desta licena, se ela se enquadra + em um dos seguintes tens: + + + + Contm cdigo fonte do Nmap + + + + L ou inclui arquivos de dados do Nmap que so protegidos + por copyright, tal como o + nmap-os-fingerprints ou + nmap-service-probes. + + + + Executa o Nmap e decompe (parse) os resultados + (diferentemente de uma execuo tpica de um shell ou aplicaes + de menu de execuo que simplesmente mostram a sada em estado + bruto do Nmap e portanto no constituem um trabalho + derivado). + + + + Integra/inclui/agrega o Nmap em um instalador executvel + proprietrio tal como os produzidos pelo InstallShield. + + + + Estabelece uma ligao (link) com uma biblioteca ou executa + um programa que faz qualquer um dos dois tens em cima. + + + + O termo Nmap deve ser considerado como contendo + parte ou sendo trabalho derivado do Nmap. Esta lista no definitiva + mas deve ser entendida como uma forma de esclareer nossa interpretao + de trabalho derivado com alguns exemplos comuns. Estas restries + apenas se aplicam quando realmente redistribui o Nmap. Por + exemplo, nada impede que escreva e venda um front-end + proprietrio para o Nmap. Apenas redistribua o seu produto + isoladamente e mostre s pessoas onde elas podem descarregar(download) o Nmap. + + Ns no consideramos isso como restries adicionais GPL mas + apenas uma elucidao de como ns interpretamos trabalhos + derivados pois elas se aplicam ao nosso produto Nmap + licenciado no formato GPL. Isso idntico forma como Linus Torvalds + anunciou sua interpretao de como os trabalhos + derivados se aplicam aos mdulos do kernel do Linux. A nossa + interpretao refere-se apenas ao Nmap - no respondemos por qualquer + outro produto GPL. + + Se tiver qualquer dvida quanto s restries do + licenciamento GPL na utilizao do Nmap em produtos no-GPL, + ficaramos felizes em ajudar. Como mencionado acima, tambm oferecemos + licenas alternativas para a integrao do Nmap em aplicaes e + dispositivos proprietrios. Esses contratos foram vendidos para muitas + empresas de segurana e geralmente incluem uma licena perptua, disponibiliza + um suporte para actualizaes prioritrios, e tambm + nos ajuda financeiramente o desenvolvimento contnuo da tecnologia do + Nmap. Por favor, envie um e-mail para + sales@insecure.com se desejar mais informaes. + + Como uma exceo especial aos termos da GPL, a Insecure.Com LLC + permite que uma ligao (link) do cdigo deste program seja feito com + qualquer verso da biblioteca do OpenSSL que seja distribuda sob uma + licena idntica quela listada no arquivo Copying.OpenSSL incluido e + distribuir combinaes de ligao incluindo os dois. Deve + obedecer GPL GNU em todos os aspectos para todo o cdigo utilizado + que no seja OpenSSL. Se modificar este aquivo pode + estender esta excepo para a sua verso do arquivo mas no + obrigado a fazer isso. + + Se recebeu estes arquivos com um acordo de licenciamento + por escrito ou um contrato ditando termos que no sejam diferentes dos + em cima ento essa licena alternativa tem precedncia sobre estes + comentrios. + + + + Disponibilidade de cdigo fonte e contribuies da + comunidade + + O cdigo fonte fornecido com este software porque acreditamos + que os usurios tem o direito de saber exactamente o que um programa + ir fazer antes de execut-lo. Isso tambm permite que vaudite + o software procurando por falhas na segurana (nenhuma foi encontrada + at agora). + + O cdigo fonte tambm permite que porte o Nmap para novas + plataformas consserte problemas e adicione novas caractersticas. + E altamente encorajado a enviar suas alteraes para + fyodor@insecure.org para uma possvel incorporao na + distribuio principal. Enviar essas alteraes para Fyodor ou para + algum da lista de mensagens de desenvolvimento da Insecure.Org, + pressupe que est oferecendo a Fyodor e Insecure.Com LLC o + direito ilimitado e no-exclusivo para reutilizar, modificar e + relicenciar o cdigo. O Nmap sempre estar disponvel como um Open + Source mas isto importante porque a impossibilidade de relicenciar + o cdigo causou problemas devastadores para outros projetos de + Software Livre (tal como o KDE e o NASM). Ns tambm relicenciamos + ocasionalmente o cdigo para terceiros conforme discutido + anteriormente. Se deseja especificar condies de licenciamento + especiais das suas contribuies deixe isso claro quando + envi-las. + + + + Nenhuma Garantia + + Este programa distribudo na esperana de que ser til mas + SEM QUALQUER GARANTIA; sem sequer a garantia implcita de + COMERCIALIZAO ou ADEQUAO A QUALQUER PROPSITO PARTICULAR. Veja a + Licena Pblica Geral GNU para mais detalhes em ou no arquivo COPYING + includo com o Nmap. + + Tambm deve ser observado que o Nmap reconhecidamente trava + certas aplicaes mal-escritas, a pilha TCP/IP e mesmo alguns sistemas + operativos. O Nmap nunca deve ser executado + contra sistemas de misso-crtica a menos que esteja + preparado para lidar com o servio fora do ar (downtime). Ns + reconhecemos aqui que o Nmap pode travar os seus sistemas ou redes e + ns renunciamos toda e qualquer responsabilidade por qualquer dano ou + problema que o Nmap possa causar. + + + + Uso inapropriado + + Pelo facto de haver o menor risco de travamento e porque existem + pessoas mal-intencionadas (black hats) que gostam de usar o Nmap para + reconhecimento antes atacar um sistema, existem administradores que + ficam chateados e podem reclamar quando o sistema deles rastreado. + Portanto normalmente aconselhvel que solicite a permisso antes + de fazer um rastreio(scan) de uma rede por mais leve que seja. + + O Nmap nunca deveria ser instalado com privilgios especiais + (p.ex.: suid root) por questes de segurana. + + + + Software de Terceiros + + Este produto inclui software desenvolvido pela Apache Software Foundation. Uma + verso modificada da biblioteca + porttil de captura de pacotes Libpcap distribuda junto com + o Nmap. A verso para o Windows do Nmap por outro lado utiliza + biblioteca WinPcap, + derivada da libpcap. O suporte a expresses regulares fornecido pela + biblioteca PCRE que um + software de cdigo aberto escrito por by Philip Hazel. Algumas + funes de rede em estado bruto utilizam a biblioteca de rede Libdnet que foi escrita + por Dug Song. Uma verso modificada distribuda com o Nmap. O Nmap + pode opcionalmente ser ligado ao conjunto de ferramentas de criptografia + do OpenSSL para o suporte deteco de verso do SSL. Todos + os softwares de terceiros descritos neste pargrafo so distribudos + gratuitamente sob o licenciamento de software no estilo BSD. + + + + Classificao do Controle de Exportao dos EUA + + Controle de Exportao dos EUA: A Insecure.Com LLC acredita que + o Nmap se enquadra no US ECCN (nmero de classificao para controle + de exportao) 5D992. Essa categoria chamada de software de + Segurana da Informao no-controlado pela 5D002. A nica + restrio a essa classificao o AT (anti-terrorismo) que se aplica + a quase todos os produtos e nega a exportao a um punhado de naes + no-confiveis tais como o Iro e a Coreia do Norte. Portanto, exportar + o Nmap no requer nenhuma licena ou permisso especial ou qualquer + outro tipo de autorizao governamental. + + + +
diff --git a/docs/man-xlate/nmap-man-ro.xml b/docs/man-xlate/nmap-man-ro.xml new file mode 100644 index 000000000..10848d40d --- /dev/null +++ b/docs/man-xlate/nmap-man-ro.xml @@ -0,0 +1,117 @@ + +
Ghid de referinta Nmap (Pagina Man)nmap1nmapInstrument de explorare a retelei si scaner de securitate / porturinmapTip de scanareOptiunispecificarea tinteiDescriereNmap (Network Mapper) este un instrument open source pentru explorarea retelei si audit de securitate A fost proiectat sa scaneze repede retele mari, cu toate ca functioneaza bine si la scanarea unui singur host. Nmap foloseste pachete IP in forma bruta intr-un mod inovator pentru a determina ce calculatoare sunt disponibile in retea, ce servicii (numele aplicatiei si versiunea) ofera acestea, ce sistem de operare (si versiune) ruleaza, ce tipuri de filtre de pachete/firewall sunt utilizate si o multime de alte caracteristici. Nmap este folosit in mod curent in procesul de audit al securitatii, dar este folosit si de administratorii de retea pentru rutinele de inventariere a retelei, managementul upgradeurilor si monitorizarea calculatoarelor sau a perioadelor de uptime pentru servicii.Rezultatul generat de Nmap este o lista de tinte scanate, cu informatii secventiale despre fiecare in functie de optiunile utilizate. O parte cheie a informatiilor furnizate estetabela de porturi interesante. Aceasta tabela contine numarul portului si protocolul, numele serviciului si starea. Starea poate fiopen (deschis),filtered (filtrat),closed (inchis), sauunfiltered (nefiltrat). Deschis (open) inseamna ca aplicatia de pe masina tinta asculta la portul respectiv, asteptand conexiuni.Filtered (filtrat)inseamna ca un firewall, filtru sau alt obstacol in retea blocheaza respectivul port astfel incat Nmap nu poate spune daca estedeschissauinchis. Porturileinchisenu au nici o aplicatie care sa astepte conexiuni, cu toate ca ele se pot deschide in orice moment. Porturile sunt clasificate canefiltratecand ele raspund la probele Nmap, dar Nmap nu poate determina daca sunt inchise sau deschise. Nmap raporteaza combinatia de stariopen|filtered (deschis|filtrat)siclosed|filtered (inchis|filtrat)cand nu poate determina care din cele doua stari este cea corecta. Tabela de porturi mai poate include versiuni ale softwareului cand detectia versiunii a fost solicitata. Cand un protocol de scanare IP este solicitat (), Nmap furnizeaza informatii despre protocoalele IP suportate in locul listei de porturi.In plus fata de lista de porturi interesante, Nmap poate furniza si alte informatii despre tinte, incluzand aici nume obtinute prin reverse DNS, poate ghici sistemul de operare, tipul hardwareului si adresele MAC.O scanare tipica cu Nmap este exemplificata in. Singurele argumente folosite in aceste exemplu sunt, pentru a activa detectia versiunii si a sistemului de operare,pentru executia mai rapida a scanarii, si apoi specificatiile pentru cele doua tinte.O scanare reprezentativa cu Nmap +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds +Cea mai noua versiune de Nmap poate fi obtinuta de la. Cea mai noua versiune a paginii man poate fi vizualizata la. Traducere Aceasta editie inlimba romana a Ghidului de referinta Nmap a fost tradus din versiunea 2991 a textului original aflat la original English version de Dan Catalin Vasile hardware_cta@yahoo.com. Traducerea a fost facuta cu scopul de a asigura o intelegere mai buna a functionalitatilor Nmap intai pentru autor si mai apoi pentru toti vorbitorii nativi de limba romana. Autorul traducerii nu va poate garanta faptul ca traducerea este la fel de completa cu versiunea actualizata in limba engleza. Acest produs poate fi modificat si redistribuit in conditiile stipulate de Creative Commons Attribution License. Autorul traducerii va invita de asemenea pe primul site dedicat profesionistilor in securitate informatica din Romania: ITSecure.Sumarul OptiunilorAcest sumar al optiunilor este printat cand Nmap este rulat fara nici un argument si ultima versiune este disponibila la. Ajuta oamenii sa isi aduca aminte de cele mai comune optiuni, dar nu reprezinta un substitut pentru documentatia in profunzime din restul acestui manual. Unele optiuni obscure nici nu sunt incluse aici.Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -P0: Treat all hosts as online -- skip host discovery + -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -n/-R: Never do DNS resolution/Always resolve [default: sometimes] +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Scan only the ports listed in the nmap-services file) + -r: Scan ports consecutively - don't randomize +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-light: Limit to most likely probes for faster identification + --version-all: Try every single probe for version detection + --version-trace: Show detailed version scan activity (for debugging) +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + -T[0-5]: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes + --min-parallelism/max-parallelism <msec>: Probe parallelization + --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies + probe round trip time. + --host-timeout <msec>: Give up on target after this long + --scan-delay/--max_scan-delay <msec>: Adjust delay between probes +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice for more effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --webxml: Reference stylesheet from Insecure.Org for more portable XML + --no_stylesheet: Prevent associating of XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 +Specificarea tintelorTot ceea ce in lina de comanda a Nmap nu este optiune (sau argument al unei optiuni) este tratat ca specificare a unei tinte. Cel mai simplu caz este specificarea adresei IP sau a numelui calculatorului ce urmeaza a fi scanat.Cateodata se doreste scanarea unei intregi retele pentru calculatoare adiacente. Pentru asta, Nmap suporta stilul de adresare CIDR. Se poate adauga /numarul de bitila o adresa IP sau nume si Nmap va scana toate adresele IP pentru care primiibitisunt aceeasi cu IP sau numele de referinta. De exemplu, 192.168.10.0/24 va scana cele 256 de calculatoare intre 192.168.10.0 (binar:11000000 10101000 00001010 00000000) si 192.168.10.255 (binar:11000000 10101000 00001010 11111111), inclusiv. 192.168.10.40/24 va realiza exact acelasi lucru. Dat fiind numele scanme.nmap.org cu adresa IP 205.217.153.62, specificatia scanme.nmap.org/16 va scana cele 65.536 adrese IP intre 205.217.0.0 si 205.217.255.255. Cea mai mica valoare permisa este /1, care va scana jumatate de Internet. Cea mai mare este 32, care va scana doar calculatorul specificat prin nume sau IP deoarece toti bitii sunt fixati.Natatia CIDR este scurta dar nu intotdeauna suficient de flexibila. De exemplu, puteti dori scanarea 192.168.0.0/16 dar fara adresele care se termina in .0 sau .255, deoarece ele sunt in general adrese de broadcast. Nmap suporta acest lucru prin adresarea unei anumite limite pentru fiecare octet in parte. In locul specificarii adresei IP normale, puteti specifica o lista de numere separate prin virgula sau un domeniu pentru fiecare octet. De exemplu, 192.168.0-255.1-254 va sari toate adresele din acest domeniu care se termina in .0 si .255. Domeniile nu se limiteaza la ultimii octeti: specificatorul 0-255.0-255.13.37 va scana Internetul dupa toate IPurile care se termina in .13.37. Acest tip de scanare poate fi folositor pentru inspectarea si cercetarea Internetului.Adresele IPv6 pot fi specificate doar prin adresa completa sau nume. CIDR si domeniile pe octeti nu sunt suportate pentru IPv6 deoarece sunt rareori folositoare.Nmap accepta specificarea mai multor adrese in linia de comanda si nici nu este necesar ca ele sa fie de acelasi tip. Comndanmapscanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255realizeaza exact ceea ce asteptati.Desi tintele sunt specificate in mod uzual in linia de comanda, exista si urmatoarele optiuni pentru selectia tintelor(Preluare dintr-un fisier)Citeste specificarile tintelor dinfisierdeintrare. Preluarea unei liste mari de calculatoare este un lucru greu de facut din linia de comanda, desi acest lucru este de preferat. De exemplu, serverul DHCP poate exporta o lista de 10.000 de IP pe care le-a atribuit si pe care noi dorim sa le scanam. Sau poate dorim sa scanam toate adreselecu exceptiacelor generate de DHCP pentru a monitoriza adresele statice neautorizate. Generati lista de IPuri si plasati numele fisierului ca argument al optiuniiIntrarile din fisier pot fi in orice format acceptat de Nmap in linia d ecomanda (adrese IP, nume, CIDR, IPv6 sau domenii pe octeti). Fiecare intrare trebuie separata prin unul sau mai multe spatii libere sau prin linie noua. Puteti specifica caracterul-ca nume de fisier daca vreti ca Nmap sa citeasca de la intrarea standard in locul unui fisier.(Alegere de tinte aleatoare)Pentru sondaje asupra Internetului sau alte cercetari, puteti alege tinte aleator.Numarul de tintecomunica Nmapului cate tinte aleatoare sa genereze. Adrese nedorite cum ar fi IPurile private, cele de multicast sau cele nealocate sunt sarite in mod automat la generarea listei. Argumentul0poate specifica o scanare fara sfarsit. Tineti minte ca unii administratori de retea sunt deranjati de scanarile neautorizate asupra retelei lor si pot depune plangeri. Folositi aceasta optiune asumandu-va riscurile! Daca sunteti cu adevarat plictisit intr-o dupa-amiaza ploioasa incercati comandanmap -sS -PS80 -iR 0 -p 80pentru a localiza aleator servere care gazduiesc pagini web si incepeti sa faceti brosing.(Se exclud de la scanare calculatoarele/retelele specificate ca argument)Specifica o lista separata prin virgula de tinte excluse de la scanare chiar daca ele se afla in domeniul specificat. Lista foloseste sintaxa normala a Nmap, asa ca poate include nume, specificatori CIDR, domenii pe octeti, etc. Aceasta optiune poate fi folositoare cand reteaua pe care dorim sa o scanam include servere ce ruleaza aplicatii critice, sisteme care reactioneaza la scanari sau subretele administrate de alte persoane.(Lista de excludere dintr-un fisier)Aceasta ofera aceeasi functionalitate ca si optiunea, cu exceptia ca ca tintele excluse sunt furnizate intr-un format delimitat prin linie noua, spatiu sau tab dinfisierul_de_excluderein loc sa fie furnizate din linia de comanda.Descoperirea hosturilorNota: Vom imprumuta din limba engleza termenul de host. Acesta se refera la orice element din retea care comunica sau poate comunica. Aceste elemente pot fi statii de lucru, servere, routere, imprimante de retea, etc. Unul din primii pasi ai descoperirii elementelor din retea este reducerea numarului (adesea urias) de IP intr-o lista de hosturi active sau interesante. Scanarea fiecarui port de pe fiecare IP este un proces lent si de obicei inutil. Desigur, ce transforma un host intr-unul interesant depinde in mare parte de scopul scanarii. Administratorii de retea ar putea fi interesati doar de calculatoarele ce ruleaza anumite servicii, in timp ce auditorii de securitate pot fi interesati de toate elementele ce poseda o adresa IP. Unui administrator ii poate fi suficient un simplu pachet ping ICMP pentru localizarea calculatoarelor din reteaua interna, in timp ce un auditor extern poate folosi o multitudine de probe in incercarea de a scapa de restrictiile firewallului.Deoarece necesitatile in vederea descoperirii hosturilor sunt atat de diverse , Nmap ofera o varietate mare de optiuni de personalizare a tehnicilor folosite. Descoperirea hosturilor este adesea numita scanare ping, dar trece cu mult de simplul stadiu al pachetelor ICMP care solicita un raspuns asociate omniprezentului instrumentpingUtilizatorii pot sari de pasul care implica pingul cu o scanare de tip lista () sau dezactivand pingul (), sau angrenand alte combinatii arbitrare de probe multiport TCP SYN/ACK, UDP si ICMP. Scopul acestor probe este sa solicite raspunsuri care sa demonstreze daca o adresa IP este cu adevarat activa (este folosita de un dispozitiv din retea). In multe retele, doar un mic procentaj de adrese IP sunt active la un moment dat. Acest lucru este in mod special adevarat intr-un spatiu de adrese rezervat conform binecuvantatului RFC1918 cum ar fi 10.0.0.0/8. Aceasta retea are 16 milioane de IPuri, dar am vazut ca sunt folosite de companii cu mai putin de o mie de calculatoare. Descoperirea hosturilor poate gasi acele masini risipite in marea de adrese IP.Daca nu sunt furnizate optiuni de descoperire a hosturilor, Nmap trimite un pachet TCP ACK destinat portului 80 si un pachet de interogare ICMP cu solicitare de raspuns la fiecare masina tinta. O exceptie la acestea este ca scanarea ARP este folosita pentru orice tinta dintr-o retea locala. Pentru utilizatori neprivilegiati cu conturi shell pe sisteme UNIX, sunt trimise pachete SYN in locul celor ack folosind apelul de sistemconnect(). Aceste optiuni implicite sunt echivalente cu. Descoperirea hosturilor este de obicei suficienta pentru scanarea retelelor locale, dar un set mult mai cuprinzator de probe pentru descoperire este recomandat in auditul de securitate.Optiunea(care selecteaza tipul pingului) poate fi combinata. Puteti mari sansele de penetrare a unor firewalluri stricte trimitand mai multe probe folosind diferite porturi/flaguri (indicatori din pachetele) TCP si coduri ICMP. Notati de asemenea ca descoperirea ARP () este executata implicit impotriva tintelor dintr-o retea locala chiar daca specificati alta optiune, deoarece este aproape intotdeauna mai rapida si mai eficienta.Urmatoarele optiuni controleaza descoperirea hosturilor.(Scanarea de tip lista)Scanarea de tip lista este o forma degenerata de descoperire a hosturilor care listeaza fiecare host al retelei specificate, fara a trimite nici un pachet tintelor. In mod implicit, Nmap realizeaza totusi o rezolutie inversa DNS pentru a afla si numele tintelor. Adesea este surprinzator cate informatii utile ne pot oferi simplele nume ale hosturilor. De exemplu,fw.chi.playboy.comeste firewallul biroului din Chicago al Playboy Enterprises. Nmap raporteaza numarul total de adrese IP la sfarsit. Scanarea de tip lista este o buna verificare a faptului ca aveti adresele IP corecte pentru tinte. Daca hosturile au nume pe care nu le recunoasteti, este bine sa investigati in profunzime pentru a nu scana reteaua unei alte companii.Din moment ce ideea este de afisa o lista cu tinte, optiunile pentru un nivel mai inalt de functionalitate cum ar fi scanare de porturi, detectia sistemului de operare sau scanarea ping nu pot fi combinate cu aceasta. Daca doriti dezactivarea scanarea ping si in acelasi timp sa executati tehnicile corespunzatoare nivelului inalt de functionalitate, cititi paragraful destinat optiunii.(Scanare ping)Aceasta optiune spune Nmapului sa realizezenumaio scanare ping (descoperirea hosturilor) si apoi sa afiseze hosturile disponibile care raspund la scanare. Nici un alt fel de test (cum ar fi scanarea de porturi sau detectia sistemului de operare) nu va fi realizat. Acest pas este mai intruziv decat scanarea de tip lista si poate fi folosita adesea in acelasi scop. Permite o descoperire a tintelor din retea fara a atrage prea mult atentia. Cunoscand cate hosturi sunt active este o informatie mult mai valoroasa unui atacator decat simpla lista furizata de scanarea de tip lista a fiecarei adrese IP si a numelor hosturilor.Administratorii de sistem gasesc adesea aceasta optiune pretioasa ca atare. Poate fi usor utilizat pentru numararea masinilor disponibile intr-o retea sau pentru monitorizarea disponibilitatii serverelor. Adesea este denumita maturare ping si este mai de incredere decat pingul asupra adresei de broadcast deoarece multe hosturi nu raspund la solicitarile de broadcast.Optiuneatrimite un pachet ICMP cu solicitare de raspuns si un pachet TCP la portul 80 in mod implicit. Cand se executa de catre un utilizator neprivilegiat, un pachet SYN este trimis (folosin apelulconnect()) la portul 80 al tintei. Cand un utilizator privilegiat incearca sa scaneze tinte dintr-o retea locala, solicitari ARP () sunt utilizate, doar daca(adresa IP de expediere) a fost specificat. Optiuneapoate fi combinata cu oricare dintre tipurile de probe de descoperire (optiunile, exluzand) pentru o mai mare flexibilitate. Daca oricare dintre tipurile de probe si optiuni de porturi sunt utilizate, se renunta la probele implicite (ACK si ICMP cu solicitare de raspuns). Cand firewalluri stricte sunt plasate intre calculatorul sursa care ruleaza Nmap si reteaua tinta, folosirea acelor tehnici avansate este recomandata. Altfel, hosturi pot ramane nedescoperite cand firewallul executa comanda drop (pur si simplu ignora pachetele) la probe sau la raspunsuri.(Fara ping)Aceasta optiune sare complet peste faza de descoperire. In mod normal, Nmap foloseste aceasta faza pentru a determina masinile active pentru scanarea avansata. Implicit, Nmap realizeaza scanarea avansata cum ar fi scanarea de porturi, detectia versiunii si a sistemului de operare doar pentru hosturile gasite active. Dezactivarea descoperirii hosturilor cuface ca Nmap sa incerce tehnicile avansate de scanare pentrufiecareadresa IP specificata ca tinta. Asadar, daca spatiul unei clase B (/16) este specificata in linia de comanda, toate cele 65,536 de IP vor fi scanate cu tehnicile avansate. Cel de-al doilea caracter din optiuneaeste un zero si nu litera O. Descoperirea obisnuita a hosturilor este sarita execucandu-se o scanare de tip lista, dar in loc sa se opreasca si sa afiseze lista de tinte, Nmap continua sa realizeze cererile din linia de comanda ca si cum fiecare adresa IP ar fi activa.(Ping TCP SYN)Aceasta optiune trimite un pachet TCP gol cu flagul SYN setat. Portul de destinatie implicit este 80 (configurabil la compilare prin schimbarea DEFAULT_TCP_PROBE_PORT innmap.h), dar un alt port poate fi specificat ca parametru. Chiar o lista separata prin virgula de porturi poate fi specificata (de exemplu),caz in care probele vor fi trimise la fiecare port in paralel.Flagul SYN sugereaza tintei ca dorim sa stabilim o conexiune. In mod normal portul destinatie va fi inchis si un pachet RST (de resetare) este trimis inapoi. Daca se intampla ca portul sa fie deschis, tinta va face cel de-al doilea pas dintr-un 3-way-handshake (stabilirea unei conexiuni in trei pasi) raspunzand cu un pachet TCP SYN/ACK. Masina care ruleaza nmap va inchide apoi conexiunea raspunzand cu un pachet RST in loc sa trimita pachetul ACK care ar completa 3-way-handshakeul si ar stabili o conexiune completa. Pachetul RST este trimis de kernelul sistemului de operare al masinii care ruleaza Nmap ca raspuns la pachetul SYN/ACK neasteptat, si nu de catre Nmap ca atare.Nmapului nu ii pasa daca portul este deschis sau inchis. Fie ca este RST sau SYN/ACK dupa cum s-a vazut anterior, raspunsul anunta Nmapul ca hostul este activ si raspunde la probePe masinile UNIX, numai utilizatorii privilegiatirootsunt capabili sa trimita si sa primeasca pachete TCP in forma bruta. Pentru utilizatorii neprivilegiati, un ocolis este automat pus in functiune si implica apelul de sistem connect() initiat impotriva fiecarui port tinta. Acesta are ca efect trimiterea unui pachet SYN catre tinta, intr-o incercare de a stabili conexiunea. Daca connect() returneaza o valoare care indica succesul operatiunii sau un raspuns ECONNREFUSED (conexiune refuzata), inseamna ca nivelele inferioare ale stivei TCP au primit un SYN/ACK sau RST iar hostul este marcat ca fiind disponibil. Daca tentativa de conexiune este lasata sa astepte un timp mai mare decat timeoutul (timpul maxim in care se asteapta un raspuns), hostul este marcat ca indisponibil. Acest ocolis este utilizat si pentru conexiunile IPv6, deoarece constructia pachetelor brute IPv6 nu este inca suportata de Nmap.(Ping TCP ACK)Pingul TCP ACK este similar cu proaspat discutatul ping SYN. Diferenta, dupa cum probabil ati ghicit, este ca flagul TCP ACK este setat in locul celui SYN. Un astfel de pachet ACK pretinde ca transporta date in cadrul unei conexiuni ACK deja stabilite, dar nu exista nici o astfel de conexiune. Asadar tintele trebuie sa raspunda intotdeauna cu un pachet RST, dezvaluindu-si existenta in cadrul acestui proces.Optiuneafoloseste acelasi port implicit ca probele SYN si de asemenea poate prelua o lista de porturi destinatie in acelasi format. Daca un utilizator neprivilegiat incearca aceasta optiune, sau o tinta IPv6 este specificata, ocolisul connect() discutat anterior este utilizat. Acest ocolis este imperfect deoarece connect() trimite de fapt un pachet SYN in locul unuia ACK.Motivul oferirii ambelor probe de ping SYN si ACK este de a maximiza sansele de trecere printr-un firewall. Multi administratori configureaza routerele si alte firewalluri simple pentru a bloca pachetele SYN cu exceptia acelora destinate serviciilor publice cum ar fi serverul web sau serverul de mail al companiei. Acest lucru previne realizarea altor conexiuni catre reteaua organizatiei, in timp ce permite utilizatorilor sa realizeze neobstructionati conexiuni catre Internet. Aceasta abordare non-statefull sau stateless (nu se analizeaza ACK) utilizeaza putine resurse ale firewallului sau routerului si este suportata intr-un procent mare de filtrele hardware sau software. Firewallul software din Linux Netfilter/iptables ofera o optiune convenabilapentru implementarea acestei abordari stateless. Cand firewalluri stateless ca acestea sunt in functiune, probele ping SYN () vor fi mai mult ca sigur blocate in drumul lor catre porturi tinta inchise. In aceste cazuri, probele ACK stralucesc deoarece trec cu usurinta de aceste reguli.Alt tip comun de firewalluri folosesc reguli statefull care ignora pachetele ce nu sunt asteptate. Aceasta optiune a fost initial gasita doar in firewallurile high-end, dar a devenit mult mai comuna de-a lungul timpului. In linux, sistemul Netfilter/iptables suporta aceasta abordare prin optiunea, care catalogheaza pachetele in functie de starea conexiunii. O proba SYN este mai probabil sa functioneze impotriva unui astfel de sistem din moment ce pachetele neasteptate sunt in general recunoscute ca fiind simulate si ignorate. O solutie la aceasta dilema este trimiterea ambelor probe, SYN si ACK, specificandsi.(Ping UDP)Alta optiune de descoperire a hosturilor este pingul UDP, care trimite un pachet gol (doar daca optiuneanu este specificata) UDP la portul specificat. Lista de porturi are acelasi format cu cel discutat anterior la optiunilesi. daca nici un port nu este specificat, implicit este utilizat 31338. Aceasta valoare implicita poate fi configurata la compilare schimband DEFAULT_PROBE_PORT innmap.h. Un port necomun este folosit implicit deoarece trimiterea unui pachet la un port deschis nu este de dorit pentru acest tip de scanare.Dupa trimiterea probei catre un port inchis al tintei, proba UDP trebuie sa obtina un pachet ICMP de port indisponibil. Acest lucru semnalizeaza Nmapul ca masina este activa si disponibila. Multe alte tipuri de erori ICMP, cum ar fi cele de host/retea ce nu pot fi contactate sau TTL (time to live = timp de viata; timpul maxim admis pentru asteptarea raspunsului) depasit sunt indicatori al unui host inactiv sau care nu poate fi contactat. Lipsa unui raspuns este interpretata la fel. Daca un port deschis este nimerit de pachetul de proba, multe servicii vor ignora pachetul si nu vor returna nici un raspuns. De aceea portul de proba este 31338, care are o probabilitate mare sa nu fie utilizat. Cateva servicii vor raspunde totusi la un pachet UDP gol, dezvaluind in acest fel Nmapului faptul ca masina este disponibila.Principalul avantaj al acestui tip de scanare este ca poate trece de firewallurile si filtrele care monitorizeaza doar traficul TCP. De exemplu, am avut o data un router wireless Linksys BEFW11S4. Interfata externa a acestui dispozitiv filtra in mod implicit toate porturile TCP, dar probele UDP puteau totusi sa obtina mesajele de port indisponibil si in felul acesta sa arate starea hostului.;;(Tipuri de ping ICMP)Pe langa tipurile de descoperire TCP si UDP uzuale discutate anterior, Nmap poate trimite pachete standard prin intermediul omniprezentuluiping. Nmap un pachet ICMP de tipul 8 (solicitare de raspuns) catre adresa IP tinta, asteptand un pachet de tip 0 (raspuns) in schimb de la hosturile disponibile. Din pacate pentru exploratorii de retele, in zilele noastre multe hosturi si firewalluri blocheaza aceste pachete, in loc sa raspunda in conformitate cuRFC1122. Din acest motiv scanarile ICMP simple sau rareori de incredere impotriva unor tinte necunoscute din Internet. Dar pentru administratorii de sistem care monitorizeaza o retea interna, ea poate fi o abordare practica si eficienta. Folositi optiuneapentru a activa acest comportament de solicitare a raspunsului.Cu toate ca cererile de raspuns ICMP sunt standard, Nmap nu se opreste aici. Standardul ICMP (RFC792) specifica de asemenea solicitarea amprentei de timp, a informatiilor si a mastii de retea corespunzatoare codurilor 13,15 si 17. Aceste solicitari au ca scop aflarea de informatii precum amprenta de timp sau masca de retea dar pot fi usor folosite si la descoperirea hosturilor. Un sistem care raspunde este disponibil. Nmap nu implementeaza inca solicitarea de informatii (15) deoarece acestea nu beneficiaza de o implementare la nivel larg. RFC 1122 insista caun host NU TREBUIE sa implmenteze aceste mesaje. Solicitarile de amprenta de timp si masca de retea pot fi trimise cu ajutorul optiunilor, respectiv. Un raspuns amprenta de timp (ICMP cod 14) sau un raspuns masca de retea (cod 18) dezvaluie un host disponibil. Aceste doua interogari pot fi de folos cand administratorul de retea blocheaza pingul ICMP standard uitand faptul ca si celelalte solicitari ICMP pot fi folosite in acelasi scop.(Ping ARP)Unul dintre cele mai comune scenarii de utilizare ale Nmapului o reprezinta scanarea unei intregi retele locale (LAN). In multe LANuri, in special in cele care folosesc spatiul privat de adrese specificat in RFC1918, mare majoritate a adreselor IP nu sunt utilizate la un moment dat. Cand Nmap incearca sa trimita un pachet ICMP solicitand un raspuns, sistemul de operare trebuie sa determine adresa de destinatie hardware (ARP) corespunzatoare adresei tinta IP astfel incat sa poata adresa in mod corect frameul ethernet. Este adesea un proces lent, din moment ce sistemele de operare nu au fost proiectate sa realizeze milioane de solicitari ARP catre hosturi indisponibile intr-o peioada foarte scurta de timp.Scanarea ARP pune Nmapul si algoritmii lui optimizati in functiune pentru a realiza solicitarile ARP. Si daca primeste un raspuns, Nmap nici nu mai ia in in considerare pingurile bazate pe IP din moment ce stie deja ca hostul este activ. Acest lucru face scanarea ARP mult mai rapida si mai corecta decat scanarile bazate pe IP. Asadar este realizata implicit cand Nmapul detecteaza faptul ca adresele scanate fac parte dintr-un LAN. Chiar daca tipuri diferite de ping (cum ar fi optiuneasau) sunt specificate, Nmap foloseste ARP in locul lor pentru orice adresa din acelasi LAN cu masina care ruleaza Nmap. Daca sunteti sigur ca nu doriti scanare ARP, specificati.(Nu se realizeaza rezolutia DNS)Transmite Nmapului caniciodatasa nu realizeze rezolutia inversa DNS pentru IPurile active gasite. Din moment ce DNS este adesea lent, aceasta optiune poate mari viteza de scanare.(Rezolutie DNS pentru toate tintele)Transmite Nmapului caintotdeaunasa realizeze rezolutia DNS pentru IPurile tinta. In mod normal acest lucru este realizat cand o masina este gasita activa.(Foloseste DNSul sistemului de operare)Implicit, Nmap rezolva adresele IP prin trimiterea de cereri la DNSurile configurate pe sistem si asteapta apoi raspunsuri. Multe solicitari (adesea foarte multe) sunt realizate in paralel pentru o performanta crescuta. Specificati aceasta optiune daca doriti sa folositi DNSul sistemului de operare (cate un IP o data prin intermediul apelului getnameinfo()). Aceasta optiune este lenta si rareori folositoare. O putei folosi in cazul in care exista o problema in codul DNS al Nmapului – va rugam sa ne contactati in acest caz. DNSul sistemului este intotdeauna folosit pentru scanarile IPv6.Bazele scanarii de porturiCu toate ca functiile Nmap au crescut ca numar in timp, el a inceput ca un scaner de porturi eficient si acesasta ramane fuctia lui de baza. Simpla comandanmaptintascaneaza mai mult de 1660 de porturi TCP aletintei. In timp ce multe scanere de porturi traditionale catalogheaza porturile in deschise si inchise, Nmap este mult mai avansat. El imparte porturile in sase stari:open (deschis),closed (inchis),filtered (filtrat),unfiltered (nefiltrat),open|filtered (deschis|filtrat), orclosed|filtered (inchis|filtrat).Aceste stari nu sunt proprietati intrinsece ale porturilor, dar descriu modul in care sunt vazute de Nmap. De exemplu, o scanare Nmap din aceeasi retea ca si tinta poate arata portul tcp 135 ca deschis, in timp ce o scanare realizata simultan din Internet cu aceleasi optiuni poate arata portul cafiltered (filtrat).Cele sase stari ale porturilor recunoscute de Nmapopen (deschis)O aplicatie accepta in mod activ conexiuni TCP sau pachete UDP la respectivul port. Gasirea acestora este adesea scopul principal al scanarii de porturi. Oamenii preocupati de securitate stiu ca fiecare port deschis reprezinta o cale de acces pentru un atac. Atacatorii si pen-testerii doresc exploatarea porturilor deschise, in timp ce administratorii incearca sa le inchida sau sa le protejeze prin firewalluri fara a incurca planurile utilizatorilor legitimi. Porturile deschise sunt interesante si pentru scanarile ce nu urmaresc stabilirea securitatii deoarece ele arata serviciile disponibile pentru retea de la respectivul host.closed (inchis)Un port inchis este accesibil (primeste si raspunde la un pachet de proba trimis de Nmap), dar nu exista nici o aplicatie care sa asculte la el. Pot fi folositoare in dezvaluirea starii hostului sau ca parte a detectiei sistemului de operare. Deoarece cu porturile inchise se pote comunica, ele merita scanate si mai tarziu in caz ca vreunul dintre ele se deschide. Administratorii pot lua in considerare blocarea unor astfel de porturi cu ajutorul unui firewall. Astfel ele vor aparea avand starea filtrat, discutata mai departefiltered (filtrat)Nmap nu poate determina daca portul este deschis datorita unui filtru de pachete care impiedica pachetele sa ajunga la portul destinatie. Filtrarea poate proveni de la un firewall dedicat, din regulile unui router sau dintr-un firewall software al tintei. Aceste porturi frustreaza atacatorii deoarece furnizeaza foarte putine informatii. Uneori raspund cu un mesaj de eroare ICMP cum ar fi tipul 3 codul 13 (destinatie care nu a putu fi atinsa: comunicatia interzisa administrativ), dar filtrele care executa operatia drop (ignora pachetul) fara sa raspunda sunt mult mai comune. Acest lucru forteaza Nmap sa retrimita de cateva ori probele pentru cazul in care pachetul s-a pierdut din cauza congestionarii retelei si nu din cauza filtrarii. Acest lucru incetineste viteza de scanare dramatic.unfiltered (nefiltrat)Starea nefiltrata inseamna ca portul este accesibil, dar Nmap nu poate determina daca portul este inchis sau deschis. Numai scanarea ACK, folosita pentru maparea regulilor din firewall, clasifica portul in aceasta stare. Scanarea porturilor nefiltrate cu alte tipuri de optiuni cum ar fi scanarea Window(fereastra), scanarea SYN sau scanarea FIN poate stabili daca portul este deschis.open|filtered (deschis|filtrat)Nmap plaseaza porturi in aceasta categorie cand nu poate determina daca portul este deschis sau filtrat. Acestea apar pentru tipurile de scanari in care porturile deschise nu ofera nici un raspuns. Lipsa raspunsului poate sa mai insemne si ca un filtru de pachete a ignorat pachetul de proba sau orice raspuns aferent. Asadar Nmap nu poate stii sigur daca portul este deschis sau filtrat. Scanarile UDP, IP, FIN, Null sau Xmas clasifica porturile in aceasta stare.closed|filtered (inchis|filtrat)Aceasta stare este folosita cand Nmap este in imposibilitatea de a determina daca portul este inchis sau filtrat. Este folosit doar de scanarea IPID Idle.Tehnici de scanare de porturiCa un incepator care incearca sa repare un motor, ma pot stradui ore intregi sa gasesc ustensile rudimentare (ciocan, banda adeziva, etc.) potrivite pentru operatia propusa. Cand esuez lamentabil si imi las rabla pe mana unui mecanic adevarat, invariabil el gaseste in marea de unelte ustensila potrivita care face treaba sa para una fara efort. Arta scanarii de porturi este similara. Expertii inteleg multitudinea de tehnici de scanare si o aleg pe cea potrivita (sau combinatia potrivita) pentru o anumita misiune. Pe de alta parte, utilizatorii neexperimentati si script kiddies incearca sa rezolve problema prin scanarea SYN implicita. Din moment ce Nmap este gratuit, singura bariera in arta scanarii de porturi o reprezinta cunostintele. Acest fapt bate lucrurile din viata reala, unde cu multa pricepere poti determina ca ai nevoie de un arc nou pentru compresor, dar totusi esti nevoit sa platesti si bani buni pe el.Multe dintre tipurile de scanare sunt disponibile doar utilizatorilor privilegiati. Aceasta datorita faptului ca trimit si primesc pachete brute, care necesita acces root pe sistemele UNIX. Folosirea unui cont de administrator sub Windows este recomandata, cu toate ca Nmap functioneaza cateodata si pentru utilizatorii neprivilegiati pe platformele pe care WinPcap a fost deja incarcat de sistemul de operare. Necesitatea privilegiilor root au reprezentat o problema serioasa la lansarea Nmapului in 1997, deoarece multi utilizatori beneficiau doar de conturi limitate. Acum lumea e diferita. Calculatoarele sunt ieftine, multi oameni au acces direct si permanent la Internet iar sistemele UNIX (incluzand Linux si MAC OS X) sunt raspandite. O versiune de Windows a Nmap este acum disponibila, permitand rularea acestuia pe si mai multe calculatoare. Oricare ar fi motivul, utilizatorii au o nevoie mai mica de a rula Nmap de pe conturi limitate. Acesta este un lucru bun, deoarece optiunile privilegiate sunt mult mai puternice si mai flexibile.Chiar daca Nmap incearca sa produca cele mai precise rezultate, tineti minte intotdeauna ca el se bazeaza pe pachetele returnate de masina tinta (sau firewallul din fata lui). Asemenea hosturi pot sa nu fie de incredere iar raspunsurile trimise pot fi menite sa incurce sau sa duca pe o pista gresita Nmapul. Comune sunt hosturile neconcordante cu standardele RFC care nu raspund cum ar trebui probelor Nmap. Scanarile Fin, Null si Xmas sunt in mod particular susceptibile de asa ceva. Astfele de probleme sunt specifice anumitor tipuri de scanari si sunt discutate individual la fiecare tip de scanare in parte.Aceasta sectiune documenteaza multitudinea de tehnici de scanare de porturi suportate de Nmap. O singura metoda poate fi folosita la o scanare (nu pot fi combinate mai multe tipuri), cu exceptia scanarii UDP () care poate fi combinata cu unul din tipurile de scanare TCP. Cu un ajutor la memorare, tipurile de scanare de porturi sunt de forma, undeCeste caracterul principal al numelui scanarii, in general primul. Singura exceptie o reprezinta scanarea sarita FTP (metoda depasita moral) (). Implicit, Nmap executa o scanare SYN, cu toate ca o poate inlocui cu una Connect() daca utilizatorul nu are privilegii pentru a trimite pachete brute (acces root pe sisteme UNIX) sau daca tinte IPv6 au fost specificate. Dintre scanarile mentionate in aceasta sectiune, utilizatorii neprivilegiati le pot executa doar pe cele de tipul connect() si ftp sarit.(Scanare TCP SYN)Scanarea SYN este implicita si cea mai populara metoda pentru motive bine intemeiate. Poate fi executata rapid, scanand mii de porturi pe secunda intr-o retea rapida neobstructionata de un firewall deranjant. Scanarile SYN sunt relativ invizibile, din moment ce nu stabilesc niciodata o conexiune TCP. Functioneaza impotriva oricarei implementari conforma cu standardul de stiva TCP in loc sa depinda de platforma asa cum o fac scanarile Fin/Null/Xmas, Maimon si Idle. Ofera de asemenea o diferenta clara si precisa intre starileopen (deschisa),closed (inchisa), sifiltered (filtrata).Aceasta tehnica este adesea denumita ca o scanare jumatate deschisa, deoarece nu deschideti o conexiune completa TCP. Trimiteti un pachet SYN, ca si cum ati deschide o conexiune si asteptati un raspuns. Un pachet SYN/ACK indica faptul ca portul este deschis, in timp ce un RST (reset) este indicatorul unui port inchis. Daca nici un raspuns nu este primit dupa mai multe retransmiteri, portul este marcat ca fiind filtrat. Portul este de asemena marcat filtrat daca un mesaj de eroare ICMP negasit (tipul 3, codurile 1,2,3,9,10 sau 13) este receptionat.(Scanare TCP connect())Scanarea TCP Connect() este implicita cand SYN nu reprezinta o optiune viabila. Acesta este cazul in care utilizatorul nu beneficiaza de posibilitatea de trimitere a pachetelor brute sau scaneaza retele IPv6. In locul scrierii pachetelor brute asa cum o fac majoritatea tipurilor de scanare, Nmap cere nivelelor inferioare ale sistemului de operare sa stabileasca o conexiune cu masina tinta si portul dorit realizand un apel de sistemconnect(). Acesta este acelasi apel de sistem prin care aplicatiile de nivel inalt cum ar fi browserele, clientii P2P si in general aplicatiile cu functii de retea le folosesc pentru stabilirea conexiunii. Este o parte a interfetei de programare cunoscuta ca Berkley Sockets API. In loc sa citeasca pachete brute ca raspuns, Nmap foloseste API pentru a obtine informatii despre starea fiecarei conexiuni incercate.Cand scanarea SYN este disponibila, ea reprezinta in general alegerea mai buna. Nmap are un control mai restrans asupra nivelului inalt al apeluluiconnect()cu pachete brute, facandu-l mai putin eficient. Apelul de sistem completeaza conexiunea pentru a deschide conexiunea in loc sa efectueze o jumatate de conexiune asa cum scanarea SYN o face. Nu numai ca acest lucru dureaza mai mult si necesita mai multe pachete pentru a obtine aceeasi informatie, dar exista sanse mai mari ca masinile tinta sa logheze conexiunea. Un IDS decent va prinde si el conexiunea, dar multe masinii nu au astfel de sisteme de alarma. Multe servicii ale unui sistem uzual UNIX vor adauga o nota la syslog si cateodata si un mesaj criptic de eroare cand Nmap se conecteaza si apoi inchide conexiunea fara a trimite date. Servicii patetice se pot bloca in acest caz, dar nu este un lucru comun. Un administrator care vede o multime de tentative de conexiune in loguri venind de la o singura sursa trebuie sa stie ca a fost scanat prin metoda connect.(Scanare UDP)In tim ce multe servicii in Internet ruleaza prin protocolul TCP, serviciileUDPsunt si ele raspandite. DNS, SNMP si DHCP (porturile inregistrate 53, 161/162 si 67/68) sunt trei dintre cele mai comune. Deoarece scanarea UDP este in general lenta si mai dificila decat TCP, unii auditori de securitate ignora aceste porturi. Aceasta este o greseala, deoarece serviciile UDP exploatabile sunt destul de cunoscute si atacatorii cu siguranta nu vor ignora un intreg protocol. Din fericire, Nmap poate ajuta la inventarierea porturilor UDP.Scanarea UDP este acivata cu optiunea. Poate fi combinata cu o scanare TCP cum ar fi scanrea SYN () pentru a verifica ambele protocoale in timpul aceleiasi scanari.Scanarea UDP functioneaza prin trimiterea de headere UDP goale (fara date) la fiecare port specificat al masinii tinta. Daca un mesaj ICMP de port inaccesibil (tipul 3, codul 3) este returnat, portul esteclosed (inchis). Alte mesaje ICMP de port care nu poate fi atins (tipul 3, codurile 1, 2, 9, 10 sau 13) marcheaza portul cafiltered (filtrat). Ocazional, un serviciu poate raspunde cu un pachet UDP, demonstrand faptul ca esteopen (deschis). Daca nici un raspuns nu este primit dupa mai multe retransmisii atunci portul este catalogat caopen|filtered (deschis|filtrat). Asta inseamna ca portul poate fi deschis sau poate un filtru de pachete blocheaza comunicatia. Scanarile de versiune () pot fi folosite pentru a ne ajuta sa diferentiem porturile cu adevarat deschise de cele filtrate.O mare incercare in scanarea UDP o reprezinta realizarea acesteia rapid. Porturile deschise si filtrate rareori trimit raspuns, lasand Nmapul sa astepte si apoi sa retrimita pachetul pentru situatia in care proba sau raspunsul s-au pierdut. Porturile inchise reprezinta adesea o problema si mai mare. In mod uzual trimit inapoi un mesaj de eroare ICMP inaccesibil. Dar spre deosebire de de pachetele RST trimise de porturile TCP inchise ca raspuns la scanarile SYN sau connect, multe hosturi limiteaza rata de mesaje ICMP port inaccesibil. Linux si Solaris sunt foarte stricte in aceasta privinta. De exemplu, kernelul Linux 2.4.20 limiteaza aceste mesaje la unul pe secunda (dinnet/ipv4/icmp.c).Nmap detecteaza rata de limitare si incetineste scanarea in conformitate cu aceasta pentru a preveni inundarea retelei cu pachete inutile pe care masina tinta le va ignora. Din pacate, o limitare de genul Linuxului de un pachet la o secunda face ca o scanare de 65.536 de porturi sa dureze mai mult de 18 ore. Ideile de accelerare a scanarii UDP includ scanarea in paralel a mai multor hosturi, scanarea doar a porturilor cunoscute, scanarea din spatele firewallului si folosind optiuneapentru a sari peste hosturile lente.;;(Scanari TCP Null, FIN, si Xmas)Aceste trei tipuri de scanare (chiar si mai multe posibile folosind optiuneadescrisa in aceasta sectiune) exploateaza o portita dinTCP RFCpentru a diferentia intre porturiledeschise (open)si celeinchise (closed). Pagina 65 spune cadaca starea portului [destinatie] este INCHIS ... un segment de intrare care nu contine un RST face ca un raspuns RST sa fie trimis inapoiIn urmatoarea pagina se discuta pachetele trimise catre porturile deschise fara bitii SYN, RST sau ACK setati, specificand ca:este putin probabil sa ajungeti intr-o asemenea situatie, dar daca o faceti, ignorati segmentul si revenitiCand scanam un sistem compatibil cu textul RFC, orice pachet care nu contine bitii SYN, RST sau ACK va genera un raspuns RST daca portul este inchis si nici un raspuns daca portul este deschis. De vreme ce nici unul dintre acesti biti nu este inclus, orice combinatie a celorlalti trei (FIN, PSH si URG) este buna. Nmap exploateaza aceasta problema cu trei tipuri de scanari:Scanare Null ()Nu seteaza nici un bit (flagul header tcp este 0)Scanare FIN ()Seteaza doar bitul TCP FIN.Scanare Xmas ()Seteaza flagurile FIN, PSH si URG, luminand pachetul ca pe un pom de Craciun.Aceste trei tipuri de scanare sunt identice in comportament exceptand flagurile TCP setate in pachetele de proba. Daca un pachet RST este primit, portul este consideratclosed (inchis), in vreme ce nici un raspuns inseamna un portopen|filtered (deschis|filtrat). Portul este marcat cafiltered (filtrat)daca un mesaj de eroare ICMP de port indisponibil (tipul 3, codurile 1, 2, 3, 9, 10 sau 13) este receptionat.Principalul avantaj al acestor tipuri de scanare este acela ca se pot strecura prin anumite firewalluri non-statefull si routere cu filtrare de pachete. Alt avantaj al acestor tipuri de scanare este ca sunt si mai discrete decat o scanare SYN. Nu va bazati pe asta – multe IDSuri moderne pot fi configurate sa le detecteze. Marea problema este ca nu toate sistemele urmeaza RFC 793 litera cu litera. Un numar de sisteme trimit un raspuns RST la probe indiferent daca portul este deschis sau nu. Acest lucru face ca porturile sa fie marcate ca fiindinchise (closed). Majoritatea sistemelor care fac acest lucru sunt Microsoft Windows, multe dispozitive Cisco, BSDI si IBM OS/400. Acest tip de scanare functioneaza impotriva celor mai multe sisteme bazate pe UNIX. Alta problema este ca aceste tipuri de scanari nu pot face diferenta intre porturiledeschise (open)de celefiltrate (filtered), lasand un raspuns de tipuldeschis|filtrat (open|filtered).(Scanare TCP ACK)Aceasta scanare e diferita de celelalte discutate pana acum in sensul in care nu poate determina niciodata un portdeschis (open)(sau chiardeschis|filtrat (open|filtered)). Este folosita pentru a mapa regulile firewallului, determinand daca acestea sunt statefull sau nu si ce porturi sunt filtrate.Packetul de proba la scanrea ACK are doar bitul ACK setat (doar daca nu se specifica altceva cu). Cand scanam sisteme nefiltrate porturile,deschise (open)siinchise (closed)vor returna un pachet RST. Nmap le eticheteaza canefiltrate (unfiltered), ceea ce inseamna ca sunt disponibile pentru pachetul ACK dar nu se poate determina daca suntdeschise (open)sauinchise (closed). Porturile care nu raspuns, sau trimit inapoi anumite mesaje de eroare ICMP (tipul 3, codurile 1, 2, 3, 9, 10 sau 13) sunt etichetate cafiltrate (filtered).(Scanare TCP Window)Scanarea Window (fereastra) este asemanatoare cu scanarea ACK, cu exceptia ca exploateaza un detaliu de implementare a anumitor sisteme pentru a diferentia porturile deschise de cele inchise, in loc sa aisezenefiltrat (unfiltered)cand un RST este returnat. Realizeaza acest lucru prin examinarea campului TCP Window din pachetul RST returnat. Pe unele sisteme, porturile deschise folosesc o valoare pozitiva in timp ce porturile inchise au valoarea 0. Astfel ca in loc sa afiseze o lista de porturinefiltrate (unfiltered)cand primeste un RST, scanrea TCP Window marcheaza porturile cadeschise (open)sauinchise (closed)daca valoarea TCP Window este pozitiva sau 0, dupa caz.Scanarea se bazeaza pe detalii de implementare a unei minoritati de sisteme din Internet, deci nu va bazati intotdeauna pe ea. Sistemele care nu suporta aceasta implementare returneaza de obicei toate porturileinchise (closed). Desigur, este posibil ca respectiva masina sa nu aiba porturi deschise. Daca majoritatea porturilor suntinchise (closed)dar cateva numere comune cum ar fi (22, 25, 53) suntfiltrate (filtered), sistemul este unul compatibil cu scanarea. Ocazional, sistemul va raporta un comportament inversat. Daca scanarea returneaza 1000 de porturi deschise si 3 inchise sau filtrate, atunci acele trei pot fi adevaratele porturi deschise.(Scanarea TCP Maimon)Scanarea TCP Maimon este denumita astfel dupa descoperitorul ei, Uriel Maimon. El descrie aceasta tehnica in Magazinul Phrak editia 49 (noiembrie 1996). Nmap, care include aceasta tehnica, a fost lansat doua editii mai tarziu. Tehnica este similara cu scanarile Null, FIN si Xmas cu exceptia ca proba este FIN/ACK. In conformitate cu RFC 793, un pachet RST trebuie generat ca raspuns la o astfel de proba indiferent daca portul este inchis sau deschis. Oricum, Uriel a remarcat faptul ca multe sisteme derivate din BSD ignora pachetul daca portul este deschis.(Scanare TCP personalizata)Utilizatorii avansati de Nmap nu trebuie sa se limiteze la tipurile de scanare generale oferite Optiuneava permite sa creati propriile tipuri de scanare prin specificarea flagurilor TCP. Lasati spiritul creativ sa lucreze, penetrand IDSurile ale caror producatori se multumesc sa adauge reguli specifice doar pentru tipurile clasice de scanare.Argumentul pentrupoate fi o valoare numerica cum ar fi 9 (PSH si FIN), dar folosirea numelor simbolice este mult mai comoda. Puneti alaturi orice combinatie dintreURG,ACK,PSH,RST,SYN, andFIN. De exemplu,setaza toti bitii, desi nu este foarte folositor pentru scanare. Ordinea in care se fac specificarile este irelevanta.In plus fata de specificarea flagurilor, puteti specifica si tipul de scanare TCP (cum ar fisau). Aceasta spune Nmapului cum sa interpreteze raspunsurile. De exemplu, o scanare SYN considera ca lipsa unui raspuns indica un portfiltrat (filtered), in timp ce o scanare FIN trateaza acelasi raspuns cadeschis|filtrat (open|filtered). Nmap se va comporta in acelasi fel in care o face pentru scanarile de baza, cu exceptia faptului ca va folosi flagurile TCP specificate. Daca nu specificati o scanare de baza, SYN va fi utilizata.(Scanare Idle)Aceasta metoda avansata de scanare permite o scanare TCP complet oarba a tintei (insemnand ca nici un pachet nu este trimis tintei de la adresa IP reala). In loc, un canal derivat de atac exploateaza o secventa de fragmentare IPID predictibila a hostului zombie pentru a culege informatii despre porturile deschise pe masina tinta. Sistemele IDS vor indica scanarea ca venind de la hostul zombie specificat (care trebuie sa fie functional si sa indeplineasca anumite criterii). Acest tip fascinant de scanare este prea complex pentru a fi descris in acest ghid de referinta, astfel ca am scris un document informativ cu detalii complete disponibil la.In afara faptului ca este extrem de discreta (datorita naturii oarbe), acest tip de scanare permite maparea relatiilor de incredere bazate pe IP intre masini. Lista de porturi arata porturile deschisedin perspectiva hostului zombie.Asa ca puteti incerca scanarea tintei folosind diferiti zombie despre care credeti ca ar putea avea relatii de incredere cu tinta (prin router/filtru de pachete).Puteti adauga doua puncte (“:”) urmate de numarul portului de pe calculatorul zombie daca vreti sa probati un port particular al zombieului pentru modificari IPID. Altfel Nmap va folosi portul utilizat implicit pentru pinguri tcp (80).(Scanarea protocolului IP)Scanarea protocolului IP permite determinarea protocoalelor (TCP, ICMP, IGMP, etc.) suportate de masina tinta. Aceasta nu reprezinta din punct de vedere tehnic o scanare de porturi, din moment ce trece prin numarul protocoalelor IP in loc de numarul porturilor TCP sau UDP. Totusi foloseste optiuneapentru selectarea numerelor de protocol, raporteaza rezultatele in formatul de tabel specific scanriif de porturi, si chiar foloseste acelasi motor de scanare ca la scanarea de porturi. Este strans legata asadar de scanarea de porturi asa ca apartine acestei categorii.Pe langa faptul ca este folositoare in sine, scanarea protocoalelor demonstreaza puterea softwareului open source. In vreme ce ideea fundamentala este destul de simpla, nu m-am gandit sa adaug sau sa primesc solicitari pentru o astfel de functionalitate. Apoi in vara lui 2000, Gerhard Rieger a intuit aceasta necesitate, a scris un patch excelent implementand-o si a trimis-o la lista de discutii nmap-hackers. Am incorporat patchul in distributia Nmap si am lansat o noua versiune in ziua urmatoare. Putine softwareuri comerciale au utilizatori suficient de entuziasti sa realizeze si sa contribuie cu propriile imbunatatiri.Scanarea protocoalelor functioneaza intr-un mod similar cu scanarea UDP. In locul iterarii numerelor de porturi ale unui pachet UDP, se trimite un pachet IP si se itereaza cei 8 biti ai ai campului destinat protocolului din headerul pachetului IP. Headerele sunt de obicei goale, necontinand date si nici macar headerul potrivit pentru protocolul pretins. Cele trei exceptii sunt TCP, UDP si ICMP. Un header potrivit pentru acestea este inclus din moment ce unele sisteme nu le vor trimite altfel si pentru ca Nmap are deja functiile sa le creeze. In loc sa primeasca mesaje ICMP de port indisponibil, scanarea de protocoale cauta aceste mesaje deprotocolICMP port indiponibil. Daca Nmap primeste orice raspuns de la tinta, Nmap marcheaza protocolul cadeschis (open). Un mesaj ICMP de protocol indisponibil (tip 2, cod 3) face ca protocolul sa fie marcatinchis (closed). Alte erori ICMP de indisponibilitate (tipul 3, codurile 1, 3, 9, 10 sau 13) duc la marcarea protocolului cafiltrat (filtered)(cu toate ca ele dovedesc ca ICMP estedeschis (open)in acelasi timp). Daca nici un mesaj nu este primit dupa retransmisie, protocolul este marcat cadeschis|filtrat (open|filtered)(Scanare FTP sarita)Un aspect interesant al protocolului FTP (RFC 959) este suportul pentru asa numitele conexiuni proxy ftp. Acesta permite utilizatorului conectarea la un server FTP si apoi solicitarea ca anumite fisiere sa fie trimise pe un al alt server. O astfel de functionalitate poate fi folosita pentru abuzuri asa ca multe servere au incetat sa o mai suporte. Unul dintre aceste abuzuri face ca serverul FTP sa scaneze alte hosturi. Cereti serverului sa trimita un fisier la fiecare port al masinii tinta. Mesajul de eroare va descrie daca portul este inchis sau deschis. Este o buna modalitate de a sari un firewall deoarece FTPurile sunt adesea plasate in zone cu acces la reteaua interna. Nmap suporta scanarea ftp sarita prin optiunea. Preia un argument de formanumeutilizator:parola@server:port.Servereste numele sau adresa IP a serverului FTP vulnerabil. La fel ca la URLul normal puteti omitenumeutilizator:parola, caz in care sunt folosite valorile implicite (numeutilizator:anonymousparola:-wwwuser@). Numarul portului (si caracterul doua puncte “:” care il precede) pot fi omise de asemenea, caz in care portul implicit FTP (21) alserveruluieste utilizat.Aceasta vulnerabilitate era raspandita in 1997 cand Nmap a fost lansat, dar in mare parte a fost rezolvata. Servere vulnerabile exista inca, deci merita sa le cautati cand orice alta optiune a picat. Daca trecerea de un firewall reprezinta tinta dumneavoastra, scanati reteaua dupa portul 21 (sau orice alt serviciu ftp pe care il detectati cu ajutorul optiunii de identificare a versiunii), apoi incercati un atac sarit prin respectivul server. Nmap va va anunta daca serverul este vulnerabil sau nu. Daca incercati doar sa va acoperiti urmele, nu aveti nevoie (de fapt nici nu trebuie) sa va limitati la hosturile din reteaua tinta. Inainte sa scanati aleator prin Internet dupa servere FTP vulnerabile, luati in considerare faptul ca administratorii de sistem pot sa nu aprecieze faptul ca abuzati de serverele lor in acest mod.Specificarea porturilor si a ordinii de scanareIn plus fata de toate metodele discutate anterior, Nmap ofera optiuni pentru specificarea porturilor ce urmeaza a fi scanate si daca scanarea se va realiza intr-o ordine aleatoare sau secventiala. Implicit, Nmap scanaeaza toate porturile pana la 1024 inclusiv, precum si porturile mai mari aflate in fisierulnmap-servicespentru protocolul/protocoalele scanate.(Se scaneaza doar porturile specificate aici)Aceasta optiune specifica porturile pe care doriti sa le scanati, trecand peste valorile implicite. Numere de porturi individuale reprezinta o optiune valida, precum si domenii separate prin cratima (de exemplu 1-1023). Valorile de inceput si/sau sfarsit ale domeniului pot fi omise, Nmap inlocuindu-le cu 1, respectiv 65535. Specificand optiunease vor scana porturile de la 1 la 65535. Scanarea portului 0 este permisa daca specificati acest lucru explicit. Pentru scanarea protocolului IP (), aceasta optiune specifica numarul protocolului pe care doriti sa-l scanati (0-255).Cand scanati atat porturi TCP cat si UDP, puteti specifica un protocol particular precedand numarul portului cuT:sauU:. Identificatorul are domeniu de actiune pana la aparitia altui identificator. De exemplu, argumentulva scana porturile UDP 53, 111 si 137 precum si porturile TCP listate. De notat ca pentru scanarea simultana de porturi UDP si TCP, trebuie sa specificatisi cel putin un tip de scanare TCP (cum ar fi,, sau). Daca nici un calificator nu a fost furnizat, numerele de porturi sunt adaugate fiecarui protocol in parte.(Scanare rapida (numar limitat de porturi)Specifica faptul ca doriti sa scanati doar porturile listate innmap-services, fisier care vine cu nmap (sau fisierul de protocoale pentru). Este mult mai rapida decat scanarea tuturor celor 65535 porturi de pe un host. Deoarece lista contine atat de multe porturi TCP (mai mult de 1200), diferenta de viteza fata de o scanare implicita TCP (aproximativ 1650 de porturi) este dramatica. Diferenta poate fi enorma daca specificati propriul fisier minimizat in functie de nevoinmap-servicesutilizand optiunea.(Nu se scaneaza porturile in ordine aleatoare)Implicit, Nmap scaneaaz porturile intr-o ordine aleatoare (cu exceptia faptului ca anumite porturi uzuale sunt mutate la inceputul scanarii din motive de eficienta). Aceasta ordine aleatoare este in mod normal de dorit, dar puteti specificapentru scanarea secventiala.Detectia serviciilor si a versiunilorRulati nmap pe o masina si el ar putea sa va spuna ca porturile 25/tcp, 80/tcp si 53/udp sunt deschise. Folosind baza de datenmap-servicesde aproximativ 2.200 servicii cunoscute, Nmap va raporta ca respectivele porturi corespund unui server de mail (SMTP), unui server web (HTTP) si respectiv unui server DNS (53). Aceasta recunoastere este de obicei corecta – majoritatea serviciilor care asculta la portul TCP 25 sunt servere de mail. Totusi, nu trebuie sa va bazati pe asta! Oamenii pot si chiar ruleaza servicii pe porturi ciudate.Chiar daca Nmap realizeaza recunoasterea corect, si ipoteticul server de mai sus ruleaza SMTP, HTTP si DNS, tot nu este suficienta informatie. Cand se realizeaza o evaluare a vulnerabilitatilor (sau chiar o simpla inventariere a retelei) a companiilor sau clientilor dumneavoastra, vreti sa stiti ce server de mail, ce server DNS si in ce versiuni ruleaza acestea. Avand un numar corect de versiune ne ajuta foarte mult sa determinam la ce exploituri este serverul vulnerabil. Detectia versiunilor ne ajuta sa obtinem aceste informatii.Dupa ce porturile TCP si/sau UDP sunt descoperite folosind una dintre metodele de scanare, detectia versiunii interogheaza acele porturi pentru a determina mai multe despre ce se ruleaza la ele de fapt. Baza de datenmap-service-probescontine probe pentru interogarea diferitelor servicii si compara expresiile pentru a recunoaste si procesa raspunsurile. Nmap incearca sa determine protocolul serviciului (ex: ftp, ssh, telnet, http), numele aplicatiei (ex: ISC Bind, Apache httpd, Solaris telnetd), numarul versiunii, numele hostului, tipul masinii (ex: printer, router), familia de sisteme de operare (ex: Windows, Linux) si cateodata si alte informatii diverse cum ar fi daca exista un server X deschis la conexiuni. Daca Nmap a fost compilat cu suport OpenSSL, se va conecta la servere SSL pentru a deduce serviciile care asculta in spatele acelui nivel de criptare. Cand servicii RPC sunt descoperite, evaluatorul RPC din Nmap () este automat folosit pentru a determina programul RPC si numarul versiunii. Unele porturi UDP sunt lasate in stareadeschis|filtrat (open|filtered)dupa o scanare UDP care nu a putut determina daca porturile sunt deschise sau filtrate. Detectia versiunii va incerca sa smulga un raspuns de la aceste porturi (asa cum o face cu porturile deschise), si sa sa le schimbe starea in deschis daca reuseste. Porturile TCPdeschis|filtrat (open|filtered)sunt tratate in aceeasi maniera. Notati ca optiuneaactiveaza detectia versiunii printre altele. Un document care explica aceste lucruri, utilizarea lor si rafinarea detectiei versiunii este disponibila la.Cand Nmap primeste raspunsuri de la un serviciu dar nu gaseste ceva corespunzator in baza de date, afiseaza o amprenta si un URL pentru a o putea trimite daca stiti cu exactitate ce ruleaza la respectivul port. Va rog sa va rupeti cateva minute pentru a face acest lucru, astfel incat de descoperirea dumneavoastra sa poata beneficia toata lumea. Datorita amprentelor trimise de utilizatori, Nmap are aproximativ 3.000 de modele pentru 350 de protocoale cum ar fi smtp, ftp, http, etc.Detectia versiunii este activata si controlata de urmatoarele optiuni:(Detectia versiunii)Activeaza detectia versiunii, dupa cum s-a discutat anterior. Alternativ, puteti folosipentru activarea detectiei versiunii si a sistemului de operare simultan.(Nu se exclude nici un port de la detectia versiunii)Implicit, detectia versiunii din Nmap sare peste portul TCP 9100, deoarece unele imprimante imprima orice data trimisa la acel port, ducand la o multime de pagini pline de cererei HTTP, sesiuni SSL, etc. Acest comportament poate fi schimbat prin modificarea sau stergerea directiveiExcludedinnmap-service-probes, sau prin specificareapentru scanarea tuturor porturilor in ciuda directiveiExclude.(Seteaza intensitatea detectiei versiunii)Cand realizam o detectie a versiunii (), nmap trimite o serie de probe, fiecare cu o valoare atasata, intre 1 si 9, care reprezinta raritatea. Probele cu numere mici sunt eficiente impotriva unei arii largi a serviciilor comune, in timp ce acelea cu numere mari sunt mai rar folosite. Nivelul de intensitate specifica ce probe trebuie aplicate. Cu cat mai mare este numarul, cu atat mai precisa este detectarea versiunii. Oricum, scanarea cu intensitate mare dureaza mai mult. Intensitatea trebuie sa fie intre 0 si 9. Implicit este 7. Cand o proba este gasita ca o legatura intrenmap-service-probessi numarul portului, atunci proba este incercata indiferent de nivelul de intensitate. Acest lucru asigura faptul ca probele DNS vor fi incercate pentru fiecare port 53 gasit deschis, probele SSL pentru portl 443, etc.(Activeaza modul delicat)Este o notare convenabila pentru. Acest mod delicat face scanarea versiunii mult mai rapida, dar si mai putin precisa in identificarea serviciilor.(Incearca toate probele)Un sinonim pentru, asigurandu-se ca toate probele vor fi incercate impotriva fiecarui port.(Urmareste activitatea scanarii vesiunii)Acest lucru face ca Nmap sa afiseze informatii detaliate despre ce face detectarea versiunii. Este un subset al informatiilor obtinute cu.(Scanare RPC)Aceasta metoda functioneaza in combinatie cu multimea de metode de scanare de porturi a Nmapului. Ia toate porturile TCP/UDP deschise si le inunda cu pachete de comanda SunRPC nule in incercarea de a determina daca sunt porturi RPC si, daca e asa, ce program si ce versiune servesc. Puteti obtine aceleasi informatii curpcinfo -pchiar daca portmapperul tintei se afla in spatele unui firewall (sau este protejat de TCP wrapper). Momelile nu functioneaza cu scanarea RPC. Este activat automat ca parte a scanarii versiunii () daca solicitati asa ceva. Deoarece detectia versiunii include si rezultatele acestei scanari fiind mult mai larga in acoperire,este rareori necesara.Detectia sistemului de operareUna dintre cele mai cunoscute facilitati ale Nmap o reprezinta detectarea de la distanta a sistemului de operare folosind amprentele stivei TCP/IP. Nmap trimite o serie de pachete TCP si UDP la calculatorul tinta si examineaza practic bit cu bit raspunsul. Dupa ce ruleaza o multime de teste ce includ crearea de modele TCP ISN, suportul si ordonarea optiunilor TCP, crearea de modele IPID si verificarea dimensiunii intiale a cadrului, Nmap compare rezultatul cu baza de datenmap-os-fingerprintsce contine mai mult de 1500 de amprente de sisteme de operare, si afiseaza detaliile acestuia daca este gasita o similitudine. Fiecare amprenta include o descriere textuala a sistemului de operare si o clasificare ce furnizeaza numele producatorului (ex: Sun), sistemul de operare (ex: Solaris), versiunea (ex: 10) si tipul masinii (scop general, router, switch, consola de jocuri, etc.)Daca Nmap este in imposibilitatea de a ghici sistemul de operare al unei masini iar conditiile sunt favorabile (ex: cel putin un port deschis si unul inchis au fost gasite), Nmap va furniza un URL pe care il puteti folosi pentru a trimite, daca stiti cu siguranta, ce sistem de operare ruleaza. Prin acest lucru contribuiti la baza de sisteme cunoscute de Nmap, facand identificarea sistemului de operare mai precisa si pentru ceilalti.Detectia sistemului de operare activeaza alte cateva teste care folosesc oricum informatia obtinuta in acest proces. Unul dintre acestea este masurarea timpului de activitate (uptime), care foloseste optiunea de amprenta de timp din pachetele TCP (RFC 1323) si ghiceste cand a fost ultima oara rebutata masina. Acest lucru este raportat doar pentru masinile care furnizeaza aceasta informatie. Alt test este cel de clasificare al predictibilitatii secventei TCP. Acesta masoara cu aproximatie cat de greu este sa stabilesti o conexiune falsificata TCP cu tinta. Este folositoare pentru exploatarea relatiilor de incredere bazate pe IP (rlogin, filtre firewall, etc.) sau pentru ascunderea sursei unui atac. Acest tip de ascundere a identitatii este rar intalnita in zilele noastre, dar multe masini sunt inca vulnerabile. Numarul ce reprezinta dificultatea este bazat pe modelarea statistica si poate fluctua. In general este mai bine daca se foloseste clasificarea textuala, cum ar fiworthy challenge (merita incercat)sautrivial joke (gluma banala). Acestea sunt raportate doar in modul afisare detaliata (). Cand modul afisare detaliata este activat alaturi de, generarea secventei IPID este si ea raportata. Cele mai multe masini sunt in clasaincrementala, ceea ce inseamna ca incrementeaza campul ID din headerul fiecarui pachet pe care il trimit. Acest lucru le face vulnerabile la cateva tehnici avansate de culegere a informatiilor si la atacuri simulate.Un articol ce documenteaza aceste aspecte, precum si personalizarea detectiei versiunii este disponibil in mai multe limbi la.Detectarea sistemului de operare este activata si controlata prin urmatoarele optiuni:(Activeaza detectia sistemului de operare)Activeaza detectia sistemului de operare, dupa cum s-a discutat inainte. Alternativ, se poate folosipentru activarea atat a detectiei sistemului de operare cat si a detectiei versiunii.(Limiteaza detectarea sistemului de operare la tintele promitatoare)Detectia sistemului de operare este mult mai eficienta daca sunt gasite cel putin un port TCP inchis si unul deschis. Setati aceasta optiune si Nmap nici nu va mai incerca detectarea sistemului de operare pentru hosturile care nu indeplinesc aceste criterii. Acest lucru poate salva timp substantial, in special in scanarile mai multor hosturi cu optiunea. Optiunea are valoare atunci cand detectia sistemului de operare a fost solicitata prinsau.;(Ghiceste sistemul de operare pe baza rezultatelor)Cand Nmap nu poate determina cu exactitate un sistem de operare, poate oferi un raspuns bazat pe asemanare. Asemanarea trebuie sa fie foarte apropiata in mod implicit. Oricare dintre aceste optiuni fac Nmapul sa adopte o atitudine mai agresiva in gasirea similitudinilor.Optiuni de timp si performantaUna dintre prioritatile principale in dezvoltarea Nmapului a fost performanta. O scanare implicita (nmapnume_host) de pe un calculator din reteaua locala ia mai putin de o cincime de secunda. Cu greu ai timp sa clipesti, dar timpul creste o data cu numarul hosturilor. Mai mult, anumite optiuni cum ar fi scanarea UDP si detectia versiunii pot mari substantial timpul de scanare. Acelasi lucru il pot face si anumite configuratii firewall, in special cele care limiteaza rata de raspuns. Cu toate ca Nmap utilizeaza paralelismul si algoritmi avansati de accelerare a scanarilor, controlul final asupra a cum ruleaza Nmap revine utilizatorului. Expertii compun cu atentie comenzile Nmap pentru a obtine numai informatia de care au nevoie incadrandu-se si in perioada de timp.Tehnicile pentru imbunatatirea vitezei de scanare includ omiterea testelor ne-critice si upgradeul la ultima versiune de Nmap (imbunatatiri de performanta se realizeaza frecvent). Optimizarea parametrilor de timp poate aduce de asemenea un spor substantial. Aceste optuni sunt prezentate in cele ce urmeaza.;(Ajusteaza dimensiunea grupurilor pentru scanari paralele)Nmap are capacitatea de a scana porturi sau versiuni pe mai multe hosturi in paralel. Nmap realizeaza acest lucru prin divizarea spatiului de adrese IP tinta in grupuri si scanand fiecare grup pe rand. In general, grupurile mari sunt mult mai eficiente. Aspectul negativ este ca rezultatul scanarii pentru fiecare host nu poate fi furnizat pana ce nu e terminata scanarea pentru intregul grup. Daca Nmap porneste scanarea unui grup de 50 de hosturi, utilizatorul nu va primi nici un raport (cu exceptia updateurilor oferite de modul vizualizare detaliata) pana ce primele nu s-a terminat scanarea pentru aceste hosturi.Implicit, Nmap adopta o abordare de compromis in acest conflict. Porneste cu un grup mic de cinci pentru a afisa rapid primele rezultate si apoi creste dimensiunea grupului pana la 1024. Numarul exact depinde de optiunea data. Din motive de eficienta, Nmap utilizeaza grupuri mai mari pentru scanarile UDP si pentru cateva din porturile TCP.Cand o dimensiune maxima este specificata cu, Nmap nu va depasi niciodata aceasta valoare. Specificati o dimensiune minima cusi Nmap va incerca sa mentina dimensiunile grupurilor peste acel nivel. Nmap se poate vedea nevoit sa foloseasca grupuri mai mici daca nu mai sunt suficiente tinte ramase pentru a completa nivelul minim. Amandoua pot fi folosite pentru a mentine dimensiunea grupului intre anumite limite, desi acest lucru este in putine cazuri unul de dorit.Principala utilizare a acestei optiuni este specificarea dimensiunii minime a unui grup astfel incat scanarea sa ruleze mai rapid. O alegere uzuala este 256 pentru scanarea unei retele in bucati egale cu o clasa C. Pentru o scanare cu multe porturi, depasirea acestui numar este improbabil sa ajute la ceva. Pentru o scanare cu doar cateva porturi, grupurile de 2048 sau mai multe hosturi pot fi folositoare.;(Seteaza paralelizarea probelor)Aceste optiuni controleaza numarul de probe in asteptare pentru un host. Sunt folosite la scanarea de porturi si la descoperirea hosturilor. Implicit, Nmap calculeaza un numar ideal pentru paralelism, mereu variabil, in baza performantelor retelei. Daca unele pachete sunt ignorate, Nmap incetineste ritmul si permite un numar mai mic de probe in asteptare. Numarul ideal de probe creste incet pe masura ce reteaua este mai rapida. Aceste optiuni stabilesc limitele minima si maxima ale acestei variabile. Implicit, paralelismul ideal poate scadea la 1 daca reteaua raspunde greu si se ridica pana la cateva sute in conditii perfecte.Cea mai comuna utilizare o reprezinta setareala o valoare mai mare de unu pentru a mari viteza de scanare pentru hosturi si retele cu performante slabe. Aceasta este o optiune riscanta, deoarece setarea ei la o valoare prea mare poate influenta calitatea rezultatului. Setarea acesteia reduce de asemenea capacitatea Nmap de a controla paralelismul in mod dinamic pe baza conditiilor intalnite in retea. O valoare de zece poate fi una rezonabila, cu toate ca eu ajustez aceasta valoare doar ca o ultima optiune.Optiuneaeste setata cateodata pentru a preveni Nmap sa trimita mai mult de o proba o data catre un host. Poate fi folositoare in combinatie cu(ce va fi discutata mai tarziu), cu toate ca cea de-a doua face acest lucru destul de bine si singura.,,(Seteaza timpul de viata al probelor)Nmap mentine un timp de viata pentru determinarea timpului maxim asteptat pentru ca o proba sa genereze un raspuns, inainte sa se renunte la ea sau sa fie retransmisa. Este calculata pe baza timpilor de raspuns a probelor anterioare. Daca latenta retelei are o valoare mare si variabila, atunci timpul de viata poate creste pana la cateva secunde. Porneste de la o valoare mare si poate ramane asa un timp pana cand Nmap scaneaza hosturi care nu raspund.Aceasta optiune preia o valoare in milisecunde. Specificand o valoare mica pentrusi, in scanarile default se pot obtine reduceri de timp semnificative. Acest lucru este in particular adevarat pentru hosturile care nu raspund la ping () si a celor impotriva retelelor masiv filtrate. nu deveniti insa prea agresiv. Scanarea poate sfarsi intr-un timp mare daca valorile sunt prea mici si probele expira repede, fiind necesara retransmiterea lor in timp ce probabil raspunsul este pe drum.Daca hosturile fac parte din reteaua interna, o valoare de 100 milisecunde este una suficient de agresiva pentru. Daca routarea intra in joc, executati un ping la un host din respectiva retea folosind utilitarul PING din sistemul de operare, sau cu un utilitar de construit pachete cum ar fi hping2 ce are mai multe sanse de a trece prin firewall. Analizati timpul maxim dintr-un grup de zece pachete. Il puteti dubla pentrusi tripla pentru. In general, nu setati timpul maxim rtt sub 100 milisecunde., indiferent de ce raporteaza pingurile. Si nici nu depasiti 1000 milisecunde.este rar folosita si nu este folositoare intr-o retea pentru care valoarea implicita a Nmap este prea agresiva. Din moment ce Nmap reduce timpul de viata al pachetelor pana la minim pentru o retea eficienta, nevoia acestei optiuni nu este uzuala si ar trebui raporta ca o problema in lista de discutii nmap-dev.(Se renunta la tintele lente in raspuns)Unele hosturi iau un timp prealungde scanare. Se poate datora unor performante proaste ale retelei hardware si software, limitarii a ratei de pachete sau firewallurilor restrictive. Cele mai lente cateva hosturi pot manca majoritata timpului de scanare. Cateodata este bine sa scapam de aceste pierderi si sa sarim aceste hosturi. Acest lucru poate fi realizat prin specificareacu un numar de milisecunde in care sunteti disponibili sa asteptati. De obicei specific 1800000 pentru a ma asigura ca Nmap nu va pierde mai mult de o jumatate de ora pentru un singur host. De notat ca Nmap poate scana si alte hosturi in acelasi timp, deci nu reprezinta o pierdere totala acest timp. Un host care depaseste aceasta perioada este sarit. Tabela de porturi, detectia sistemului de operare sau detectia versiunii nu sunt afisate pentru acel host.;(Ajusteaza pauza dintre probe)Aceasta optiune face ca Nmap sa astepte cel putin un numar dat de milisecunde intre probele trimise la un host. Este folositoare in particular in cazul in care exista o rata de limitare. Masinile Solaris (printre multe altele) vor raspunde scanarii UDP cu un singur mesaj ICMP pe secunda. Orice alta proba trimisa de Nmap in acest interval va fi irosita. O optiunecu valoarea 1000 va mentine Nmap la acea rata lenta. Nmap incearca detectarea ratei de limitare si ajusteaza scanarea in functie de aceasta, dar nu face rau sa specificati explicit daca stiti deja ce rata functioneaza cel mai bine.Alta utilizare aeste ascunderea scanarii in fata IDS/IPSurilor bazate pe un anumit prag de raspuns.(Seteaza optiunile de timp)Desi optiunile detaliate de control al timpilor discutate mai sus sunt puternice si eficiente, unii oameni le gasesc confuze. Mai mult, alegerea valorilor corecte poate dura uneori mai mult decat scanarea in sine. Asadar Nmap ofera o abordare mai simpla, cu sase modele de timp. Le puteti specifica cu optiuneasi numarul (0-5) sau numele. Numele modelelor sunt paranoid (paranoic - 0), sneaky (siret - 1), polite (politicos -2), aggresive (agresiv - 4) si insane (nebun - 5). Primele doua sunt folosite pentru ascunderea de IDS. Modul politicos incetineste ritmul scanarii pentru a utiliza mai putina latime de banda a masinii tinta. Modul normal este implicit asa canu face nimic. Modul agresiv accelereaza scanarea presupunand ca va aflati intr-o retea rapida. In fine, modul nebun presupune ca va aflati intr-o retea extrem de rapida sau ca sunteti dispus sa sacrificati acuratetea rezultatelor in favoarea vitezei.Aceste modele permit utilizatorului sa specifice cat de agresiva sa fie scanarea, lasand totusi Nmapul sa aleaga valorile exacte. Modelele realizeaza uneori mici reglaje pentru care inca nu exista optiuni de control. De exemplu,interzice scanarii dinamice sa depaseasca 10 milisecunde pentru porturile TCP sireduce aceasta valoare la 5 milisecunde. Modelele pot fi folosite in combinatie cu controalele fine de timp, atat timp cat modelul este specificat mai intai. Altfel valorile standard ale modelului pot suprascrie valorile specificate. Se recomanda folosireacand se scaneaza retele moderne rapide. Pastrati aceasta optiune la inceputul liniei de comanda chiar si cand adaugati optiuni de control fin pentru a beneficia de micile ajustari oferite.Daca folositi o conexiune broadband sau ethernet, recomand folosirea intotdeauna a optiunii. Unii oameni adoracu toate ca este prea agresiva pentru gustul meu. Altii specificadeoarece cred ca scanarea va bloca hosturile si se considere pe ei politicosi in general. De obicei nu realizeaza cat de inceata este optiunea. Scanarile lor pot lua de zece ori mai mult timp decat unele implicite. Blocarile masinilor si probleme legate de banda sunt rare cu modelul implicit () asa ca in mod normal este recomandat pentru scanere precaute. Omiterea detectiei versiunii este mult mai eficienta decat jocul cu optiunile de timp.Desisipot fi folosite pentru pacalirea IDSurilor, ele pot lua un timp extrem de mare pentru a scana mii de masini sau porturi. Pentru o astfel de scanare lunga, puteti prefera setarea exacta a optiunilor de timp decat sa va bazati pe cele inglobate in optiunilesi.Principalul efect aleste serializarea scanarii astfel incat un singur port este scanat o data, si se asteapta cinci minute intre trimiterea probelor.sisunt similare dar asteapta doar 15 secunde, respectiv 0,4 secunde intre probe.este comportamentul implicit al Nmapului ce include si paralelizarea.realizeaza echivalentulsi seteaza intarzierea maxima pentru scanarea TCP la 10 milisecunde.realizeaza echivalentul lasi seteaza intarzierea maxima pentru scanarea TCP la 5 milisecunde.Pacalirea Firewall/IDSurilor si ascunderea identitatiiMulti pionieri ai internetului au prevazut o retea globala deschisa cu un spatiu universal de adrese IP permitand conexiuni virtuale intre oricare doua noduri. Acest lucru permite hosturilor sa actioneze ca parteneri in comunicatie, sa serveasca si sa obtina informatii unul de la celalalt. Oamenii pot accesa sistemele de acasa, sa schimbe temperatura in casa sau sa deschida usa pentru oaspetii grabiti. Viziunea conectivitatii universale a fost inabusita de micsorarea spatiului de adrese si de problemele de securitate. La inceputul anilor 90, organizatiile au inceput implementarea firewallurilor cu scopul precis de reducere a conectivitatii. Retele uriase au fost separate de Internetul nefiltrat prin aplicatii proxy, traduceri de adrese de retea (NAT) si filtre de pachete. Fluxul nerestrictionat de informatii a facut loc canalelor de comunicatie aprobate si supuse unor anumite reguli, precum si controlului datelor ce trece prin ele.Obstacolele din retea cum ar fi firewallurile pot face din maparea retelei o operatie extrem de dificila. Nu va deveni mai usor din moment ce constrangerile aplicate retelei reprezinta adesea un scop al implementarii noilor echipamente in retea. Nu e mai putin adevarat ca Nmap ofera multe optiuni pentru intelegerea acestor retele complexe si sa verifice daca filtrele functioneaza asa cum trebuie. Chiar suporta mecanisme de depasire a sistemelor de aparare prost implementate. Punetiva in pielea unui atacator si aplicati tehnici din aceasta sectiune in reteaua dumneavoastra. Lansati un atac sarit FTP, o scanare Idle, o fragmentare a atacului sau incercati realizarea unui tunel printr-un proxy de-al dumneavoastra.In plus fata restrictiile retelelor, companiile au inceput sa monitorizeze traficul cu sisteme de detectie a intruziunilor (IDS). Toate IDSurile cunoscute sunt livrate cu reguli care sa detecteze scanarile Nmap deoarece acestea preced de obicei un atac. Multe dintre acestea sau transformat in sisteme deprevenirea intruziunilor (IPS) care blocheaza in mod activ traficul presupus malitios. Din pacate pentru administratorii de retea si vanzatorii IDSurilor, detectarea in mod corect a relelor intentii prin analizarea pachetelor este o problema dificila. Atacatorii cu rabdare, indemanare si ajutor din partea anumitor optiuni Nmap pot in mod normal sa treaca de IDS nedetectati. Intre timp, administratorii au de a face cu o multime de alerte false cand trafic inocent este gresit diagnosticat si se emite o atentionare sau este chiar blocat.Cateodata oamenii sugereaza ca Nmap nu ar trebui sa ofere functii de pacalire a regulilor firewallurilor sau de trecerea nedetectata de IDS. Argumeenteaza prin faptul ca pot fi folosite de atacatori. Problema in acest rationament este ca atacatorii tot vor gasi instrumente sau patchuri pentru Nmap pentru a realiza acest lucru. Intre timp, administratorii pot descoperii ca munca lor este mult mai dificila. Instalarea numai a serverelor FTP moderne, cu patchurile aplicate la zi este o metoda mult mai buna de protectie decat prevenirea distribuirii instrumentelor ce implementeaza atacurile sarite FTP.Nu exista nici o optiune magica in Nmap pentru detectarea si pacalirea firewallurilor si a sistemelor IDS. Acest lucru ia indemanare si experienta. O prezentare detaliata este dincolo de scopul acestui ghid de referinta, care listeaza doar optiunile relevante si descrie ce fac ele.(fragmenteaza pachetele);(foloseste MTU specificat – Unitatea Maxima de Transmitere)Optiuneaface ca scanarea ceruta (incluzand scanarea ping) sa foloseasa fragmente mici de pachete IP. Ideea este impartirea headerului TCP in mai multe pachete pentru a ingreuna misiunea filtrelor de pachete, sistemelor de detectare a intruziunilor si a altor elemente de detectare a activitatii. Atentie cu aceasta optiune! Unele programe au probleme in manevrarea acestor pachete mici. De exemplu Sniffit esua dupa primirea primului fragment. Specificati aceasta optiune o data si Nmap va imparti pachetul in fragmente de opt bytes sau mai putin dupa headerul IP. Astfel, un header TCP de 20 bytes va fi impartit in 3 pachete. Doua de opt bytes si unul cu ultimii patru. Desigur, fiecare fragment are propriul header TCP. Specificatiinca o data pentru folosirea a 16 bytes pe fragment (reducand numarul de fragmente). Sau puteti specifica propriile dimensiuni cu optiunea. Nu specificati sidaca folositi. Dimensiunea trebuie sa fie un multiplu de 8. Pachetele fragmentate nu vor trece de filtrele de pachete si firewallurile care interogheaza toate fragmentele IP, cum ar fi optiunea CONFIG_IP_ALWAYS_DEFRAG din kernelul Linuxului, unele retele nu-si pot permite pierderea de performanta cauzata de aceste configurari si le dezactiveaza. Altele nu pot activa configurarile de acest gen deoarece fragmentele pot intra pe rute diferite in retea. Unele sisteme defragmenteaza pachetele de iesire in kernel. Linux cu modulul de urmarire a conexiunii din iptables este un exemplu. Realizati o scanare si rulati in acelasi timp un sniffer de genul Ethereal pentru a va asigura ca pachetele sunt fragmentate. Daca sistemul de operare va creaza probleme, incercati optiuneade sarire a nivelului IP si de trimitere de cadre ethernet brute.(Scanare acoperita de momeli)Face ca o scanare acoperita de momeli sa fie executata, ceea ce face ca tinta sa creada ca momelile specificate ca argument scaneaza si ele reteaua. Astfel IDS poate raporta 5-10 scanari de porturi de la adrese IP unice, dar nu va stii care adresa scaneaza cu adevarat si care sunt momeli inocente. Cu toate ca aceasta tehnica poate fi contrata prin urmarirea caii prin routere, ignorarea raspunsului si alte mecanisme active, ea reprezinta o tehnica eficienta de ascundere a adresei IP.Separati fiecare momeala prin virgule si folositi optionalME(adica propria adresa IP) ca una dintre momeli pentru a reprezenta adevarata pozitie a adresei IP reale. Daca punetiMEin a sasea pozitie sau mai tarziu, unele detectoare de scanari de porturi (cum ar fi Solar Design) pot sa nici nu afiseze adresa IP reala. Daca nu folositiME, nmap il va pune intr-o pozitie aleatoare.Retineti faptul ca tintele pe care le folositi ca momeli trebuie sa fie active sau altfel riscati sa inundati cu pachete SYN tinta. In aceeasi ordine de idei, este usor de determina cine face scanarea daca o singura adresa IP este activa. E de preferat sa utilizati adrese IP in loc de nume (astfel incat numele hostului dumneavoastra sa nu apara in logurile DNSului tinta).Momelile sunt folosite atat in pingul initial (folosind ICMP, SYN, ACK sau orice altceva) si in timpul scanarii efective de porturi. Momelile sunt de asemenea folosite la detectarea sistemului de operare (). Momelile nu functioneaza cu detectia versiunii sau scanarea TCP connect().Nu folositi prea multe momeli deoarece pot incetini scanarea si o pot face mai putin corecta. De asemena, unii ISP vor filtra pachetele false, dar multi nu restrictioneaza pachetele IP de loc.(Seteaza adresa IP sursa)In anumite circumstante, Nmap se poate afla in imposibilitatea determinarii adresei sursa (Nmap va anunta daca acest lucru se intampla). In aceasta situatie, folositicu adresa IP a interfetei pe care doriti sa trimiteti pachetele.Alta posibila utilizare a acestei optiuni este sa faceti tinta sa creada ca este scanata dealtcineva. Imaginativa o companie permananent scanata de un competitor! Optiuneava fi in general necesara pentru astfel de utilizare sieste de asemenea recomanda.(Foloseste interfata specificata)Spune Nmapului ce interfata sa foloseasca pentru trimiterea si primirea pachetelor. Nmap ar trebui sa poata determina automat acest lucru, dar va va anunta daca nu poate.(Seteaza portul sursa)O greseala surprinzator de des intalnita o reprezinta configurarea relatiilor de incredere in functie de numaul portului sursa. Este usor de inteles cum stau lucrurile. Un administrator instaleaza un nou firewall si este apoi ingropat in plangeri din partea utilizatorilor nemultumiti ale caror aplicatii nu mai functioneaza. In particular, DNSul poate fi blocat deoarece raspunsurile UDP DNS de la serverele externe nu mai pot intra in retea. FTP este un alt exemplu. In transferurile FTP active, serverul incearca sa stabileasca o conexiune inapoi la client pentru transferarea fisierului solicitat.Solutii securizate la aceste probleme exista, de obicei sub forma de proxiuri la nivelul aplicatie sau module firewall care analizeaza protocoalele. Din pacate exista si solutii mai simple si mai nesigure. Notand faptul ca raspunsurile DNS vin de la portul 53 si cele de la conexiunile FTP de la portul 20, multi administratori au cazut in capcana permiterii neconditionate a traficului de la aceste porturi. Adesea ei presupun ca nici un atacator nu va observa si exploata astfel de gauri in firewall. In alte cazuri, administratorii considera aceasta rezolvare ca una pe termen scurt pana cand vor implementa o solutie mai sigura. Apoi ei uita sa mai faca upgradeul de securitate.Administratorii retelelor supraincarcate nu sunt singurii care cad in aceasta capcana. Numeroase produse au fost livrate cu aceste reguli nesigure. Chiar si Microsoft are partea ei de vina. Filtrele IPsec livrate cu Windows 2000 si Windows XP contin o regula implicita care permite traficul oricarui pachet UDP cu portul sursa 53 (DNS) sau 67 (DHCP).Nmap ofera optiunilesi(care sunt echivalente) pentru exploatarea acestei slabiciuni. Specificati un numar ca argument si Nmap va trimite pachete de la acel port oricand acest lucru este posibil. Nmap trebuie sa foloseasca porturi diferite pentru anumite teste de detectare a sistemului de operare si cererile DNS ignora optiuneadeoarece Nmap se bazeaza pe librariile sistemului pentru a le manevra. Multe scanari TCP, incluzand-o pe cea SYN, suporta aceasta optiune, la fel ca si scanarea UDP.(Adauga un numar aleator de date la pachetul trimis)In mod normal Nmap trimite pachete minimaliste continand doar headerul. Astfel pachetele TCP au in general 40 bytes si cererile de raspuns ICMP doar 28. Aceasta optiune adauga un numarul dat ca argument de bytes, generati aleator, la majoritatea pachetelor trimise. Pachetele pentru detectia sistemului de operare () nu sunt afectate, dar majoritatea pingurilor si scanarilor de porturi sunt. Acest lucru incetineste viteza de scanare, dar pachetele pot fi mai putin suspicioase.(Seteaza campul IP time-to-live – timp de viata)Seteaza campul IP time-to-live – timp de viata – la valoarea specificata.(Scaneaza hosturile in ordine aleatoare)Spune Nmapului sa aranjeze aleator grupuri de 8096 hosturi inainte de scanare. Aceasta optiune poate face scanarea mai putin vizibila pentru anumite sisteme de monitorizare a retelei, in special cand e combina cu un specificator mic de timp. Daca vreti ca aranjarea aleatoare sa se realizeze pentru grupuri mai mari, cresteti valoarea PING_GROUP_SZ dinnmap.hsi recompilati. O solutie alternativa o reprezinta generarea listei de IPuri ce urmeaza a fi scanata cu o scanre de tip lista (), si sa realizati aranjarea aleatoare a lor cu un script Perl, apoi sa furnizati intreaga lista Nmapului cu optiunea.(Falsifica adresa MAC)Cere Nmapului sa foloseasca adresa MAC furnizata pentru toate cadrele ethernet pe care le trimite. Aceata optiune implicapentru a se asigura ca Nmap trimite pachetele la nivelul retea. MACul specificat poate avea cateva formate. Daca spcificati sirul0, Nmap alege un MAC complet aleator pentru sesiunea respectiva. Daca sirul furnizat este un numar par de digiti hexa (cu perechile separate prin caracterul “:”), Nmap va folosi respectuva adresa MAC. Daca mai putin de 12 digiti sunt furnizati, Nmap umple 6 bytes cu valori aleatoare. Daca argumentul nu este nici 0, nici sir hexa, Nmap cauta innmap-mac-prefixespentru a gasi un producator care sa contina sirul dat (cautare insenzitiva). Daca o asemanare este gasita, Nmap foloseste identificatorul unic al vanzatorului (3 bytes) si completeaza cu 3 bytes alesi aleator. Argumentele valide ale optiuniisuntApple,0,01:02:03:04:05:06,deadbeefcafe,0020F2, siCisco.Afisarea rezultatelorOrice instrument de securitate este bun in masura rezultatelor generate. Teste complexe si algoritmi nu au nici o valoare daca nu sunt prezentate intr-un mod organizat si inteligibil. Dat fiind numarul de moduri in care Nmap este folosit de oamenii sau programe, nu exista un format unic care sa ii multumeasca pe toti. Asadar, Nmap ofera mai multe formate, incluzandu-l pe cel interactiv pentru citirea uzuala si XML pentru interpretarea rezultatelor de catre software.In plus fata de oferirea diferitelor formate de afisare, Nmap furnizeaza si optiuni de control al cantitatii de informatii si al mesajelor de eroare. Tipurile de afisare a rezultatelor sunt trimise la iesirea standard sau in fisiere, unde Nmap poate adauga sau rescrie. Fisierele cu rezultate pot fi de asemenea folosite pentru reluarea scanarilor intrerupte.Nmap face rezultatele disponibile in cinci formate. Cel implicit este numitafisare interactiva, si este trimis la iesirea standard (stdout). Exista si un mod deafisare normala, care este similar cu celinteractivcu exceptia faptului ca afiseaza mai putine informatii si avertizari in timpul rularii din moment ce se asteapta analizarea rezultatelor dupa ce scanarea s-a incheiat.Formatul XML este unul dintre cele mai importante tipuri, deoarece poate fi convertit in HTML, prelucrat de programe cum ar fi interfata grafica a Nmap sau importat in baze de date.Celelalte doua tipuri sunt mai simpleformatul pentru comanda grepcare include majoritatea informatiilor despre un host pe o singura linie sif0rm4Tu1 sCRiPt KiDDi3pentru utilizatorii care se considera |<-r4d.In vreme ce afisarea interactiva este formatul implicit si nu are asociat o optiune pentru linia de comanda, celelalte patru formate folosesc aceeasi sintaxa. Ele iau un argument, care este numele fisierului in care se stocheaza rezultatele. Formate multiple pot fi specificate, dar fiecare format poate fi specificat cel mult o data. De exemplu, puteti dori salvarea in formatul normal pentru citirea ulterioara si in formatul XML pentru analiza software. Puteti realiza acestea cu optiunea. Desi in acest capitol numele folosite sunt simple, precumscanarea_mea.xmlpentru simplitate, nume mai descriptive sunt recomandate. Numele alese sunt o chestie de preferinta, iar eu folosesc nume lungi care incorporeaza data scanarii si un cuvant doua pentru descriere si sunt plasate in directoare numite in functie de companiile scanate.Desi aceste optiuni salveaza rezultatele in fisiere, Nmap afiseaza totusi in modul interactiv la iesirea standard rezultatele. De exemplu, comandanmap -oX scanarea_mea.xml tintascrie in format XML inscanarea_mea.xmlsi afiseaza la iesirea standard rezultatele in modul interactiv ca si cum optiuneanu a fost specificata. Puteti modifica acest lucru furnizand ca argument al optiunii caracterul cratima (“-”) la unul din tipurile de formate de afisare. Acest lucru face ca Nmap sa dezactiveze formatul interactiv, si sa afiseze in schimb rezultatele in formatul specificat la iesirea standard. Comandanmap -oX - tintava trimite rezultatele in format XML la iesirea standard. Erorile mari pot fi scrise in mod normal in sirul de erori, stderr.Spre deosebire de argumentele Nmap, spatiul dintre optiune (cum este) si numele fisierului sau cratima este obligatoriu. In caz contrar, in situatii casau, o functie de compatibilitate cu versiunile anterioare va face ca Nmap sa creeze informatul normalfisiere de iesire cu numeleG-siXscan.xml.Nmap ofera optiuni de control al nivelului de informatii afisate si daca la fisiere se va face adaugare de informatie sau vor fi suprascrise. Toate optiunile sunt descrise mai josFormate de afisare a rezultatelor(Afisare normala)Cere caformatul normalsau fie directionat catre fisierul specificat. Asa cum s-a discutat mai sus, exista o mica diferenta fata deformatul interactiv.(Formatul XML)Cere caformatul XMLsa fie directionat catre fisierul specificat. Nmap include o definitie a tipului de document (DTD) care permite analizatoarelor XML sa valideze fisierele cu rezultate in format XML. Desi este in principal folosit in programare, el poate ajuta si oamenii sa interpreteze rezultatele. DTD defineste elementele legale ale formatului si adesea enumera atributele si valorile pe care le pot lua. Ultima versiune este intotdeauna disponibila la.XML ofera un format stabil care este usor interpretat de software. Analizatoare XML sunt disponibile pentru majoritate limbajelor de programare, incluzand C/C++, Perl, Python si Java. Oamenii au scris programe pentru majoritatea acestor limbaje care interpreteaza direct rezultatele Nmap. Exemplele suntNmap::ScannersiNmap::Parserin Perl CPAN. In majoritatea cazurilor in care o aplicatie interfereaza cu Nmap, XML este formatul preferat.Formatul XML referentiaza un format de pagina XSL care poate fi folosit pentru convertirea rezultatelor in HTML. Cea mai usoara cale de a realiza acest lucru o reprezinta simpla incarcare a fisierului XML intr-un browser cum ar fi Firefox sau IE. Implicit, acest lucru functioneaza doar pe masinile pe care rulati Nmap (sau pe cele configurate similar) din cauza caii fisieruluinmap.xsl. Folositi optiunilesaupentru crearea de fisiere XML portabile care sunt randate ca HTML pe orice masina conectata la web.(f0rm4u1 ScRipT KIdd|3)Formatul script kiddie este asemanator cu formatul interactiv, cu exceptia faptului ca sirul de iesire este post-procesat pentru a se potrivi mai bine cu stilul HaXXorZ care au neglijat in trecut Nmapul datorita formatului corect gramatical si ortografic de afisare a rezultatelor. Cei fara umor ar trebui sa noteze faptul ca eu iau peste picior script kiddie, inainte de a ma blama pentru presupusulajutor acordat.(Formatul pentru comanda grep)Acest format este lasat la urma deoarece este invechit. Formatul XML este mult mai puternic si este aproape la fel de convenabil pentru utilizatorii experimentati. XML este un standar pentru care exista o multime de interpretoare, in vreme ce formatul grep reprezinta solutia doar pentru probleme punctuale. XML este extensibil pentru a prelua noi functionalitati ale Nmap in versiunile urmatoare in vreme ce sunt nevoit adeseori sa omit aceste optiuni din formatul greu din cauza lipsei de spatiu.Nu e mai putin adevarat ca formatul grep este inca destul de popular. Este un format simplu care listeaza fiecare host pe cate o linie si poate fi usor interpretat cu instrumente standard UNIX cum ar fi grep, awk, cut, sed, diff si Perl. Chiar si eu il folosesc pentru unul din testele realizate in linie de comanda. Gasirea tuturor hosturilor cu portul ssh deschis si care ruleaza Solaris presupune o simpla comanda grep pentru identificarea hosturilor, imbinata cu awk sau cut pentru afisarea campurilor dorite.Formatul grep consta in comentarii (linii care incep cu diez (#)) si linii cu tinte. O linie cu tinta include o combinatie de 6 campuri etichetate, separate prin taburi si urmate de doua puncte (“:”). Campurile suntHost,Porturi,Protocoale,Status ignorat,Sistem de operare,Index Seq,IPID, siStatus.Cele mai importante dintre aceste campuri sunt in generalPorturile, care ofera detalii despre fiecare port interesant. Este o lista separata prin virgule de porturi. Fiecare port reprezinta un port interesant, si ia forma unui subcamp separat in sapte de caracterul slash (/). Subcampurile sunt:Numarul portului,Status,Protocol,Detinator,Serviciu,informatii SunRPC, siInformatii despre versiune.Ca si pentru formaul XML, aceasta pagina man nu permite documentarea intregului format. O detaliere a formatului pentru comanda grep este disponibila la.(Scrie in toate formatele)Pentru usurinta, puteti specificapentru stocarea rezultatelor in formatele normal, XML si pentru comanda grep, toate odata. Ele sunt stocate innume_de_baza.nmap,nume_de_baza.xml, sinume_de_baza.gnmap. La fel ca in majoritatea programelor puteti adauga si calea inaintea numelor fisierelor, ca in exemplele~/logurinmap/foocorp/sub UNIX sauc:\hacking\scosub Windows.Optiuni privind cantitatea de informatii afisate si depanare(Creste cantitatea de informatii afisate)Creste cantitatea de informatii afisate, facand ca Nmap sa afiseze mai multe date despre scanarea in curs. Porturile deschise sunt afisate pe masura ce sunt descoperite si un timp estimat al terminarii este furnizat atunci cand Nmap constata ca scanarea va dura mai mult decat cateva minute. Folositi de doua ori optiunea pentru un efect si mai puternic. Folosirea mai mult de doua ori nu are nici un efect.Majoritatea modificarilor vor afecta doar afisarea interactiva si unele mai pot afecta formatul script kiddie. Celelalte formate sunt concepute pentru a fi procesate de masini, asa ca Nmap ofera implicit un nivel detaliat de informatii fara a obosi utilizatorul. Totusi, exista cateva schimbari in celelalte moduri unde dimensiunea rezultatelor poate fi redusa substantial prin omiterea unor detalii. De exemplu, o linie ce contine comentarii in formatul pentru comanda grep care furnizeaza o lista cu toate porturile scanate este furnizata doar in modul de afisare cu informatii detaliate (-v) dearece poate fi destul de lunga.(Creste sau seteaza nivelul de depanare)Cand modul afisare detaliata nu va ofera suficiente informatii, modul depanare este disponibil pentru a va inunda cu si mai multa informatie! La fel ca si cu optiunea de vizualizare detaliata (), modul depanare este activat printr-un specificator () si nivelul de depanare poate fi crescut prin specificarea lui de mai multe ori. Alternativ, se poate seta un nivel de depanare prin specificarea unui argument la. De exemplu,seteaza nivelul 9. Acesta este cel mai mare nivel efectiv si va produce mii de linii, doar daca nu realizati o scanare simpla cu cateva porturi si hosturi.Modul depanare este folositor cand se suspecteaza o problema in Nmap, sau daca esti pur si simplu incurcat de ce si ce face Nmap. Cum aceasta functionalitate este in general destinata dezvoltatorilor, mesajele de depanare nu sunt intotdeauna clare. Puteti vedea ceva de genul:Timeoutvals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. Daca nu intelegeti o linie, singurele lucruri de facut este sa o ignorati, sa cautati in codul sursa sau sa solicitati ajutor in lista de dezvoltare (nmap-dev). Unele linii sunt explicite, dar mesajele devin mai obscure pe masura ce nivelul de depanare creste.(Urmareste pachetele si datele trimise si primite)Face ca Nmap sa afiseze un sumar cu toate pachetele trimise sau primite. Este adesea folositoare pentru depanare, dar este si o sursa pretioasa pentru noii utilizatori de a intelege exact ce face Nmap. Pentru a evita printarea de mii de linii, puteti dori specificarea unui numar limitat de porturi in vederea scanarii, cum ar fi. Daca va intereseaza doar ce se intampla in timpul detectarii versiunii, folositi in schimb.(Listeaza interfetele si caiule de rutare)Afiseaza interfetele si caile de rutare ale sistemului asa cum sunt ele detectate de Nmap. Este folositor pentru depanarea cailor de rutare sau interpretarea gresita a dispozitivelor (cum ar fi tratarea de catre Nmap a unei conexiuni PPP ca una Ethernet).Optiuni pentru afisare unor informatii diverse(Adauga la fisierul de rezultate in loc sa il inlocuiasca)Cand specificati un nume de fisier la optiuni cum ar fisau, acel fisier este suprascris implicit. Daca prefereati pastrarea continutului si adaugarea la sfarsitul lui de noi informatii, specificati optiunea. Toate fisierele de rezultate specificate la executia Nmap vor fi deschise in modul adaugare in loc sa fie suprascrise. Acest lucru nu functioneaza bine cu formatul XML () deoarece rezultatul nu va fi interpretat corect pana nu aranjati fisierul manual.(Reia o scanare intrerupta)Unele scanari Nmap pot lua un timp foarte mare – de ordinul zilelor. Asemenea scanari nu ruleaza pana la sfarsit. Anumite restrictii pot face Nmapul sa nu ruleze in orele cu trafic intens, reteaua poate fi cazuta, masina pe care ruleaza Nmap poate suferii o restartare planificata sau neplanificata, sau Nmap poate sa se blocheze. Administratorul care ruleaza Nmap poate opri scanarea pentru orice alt motiv, apasandctrl-C. Refacerea intregii scanari de la inceput nu este de dorit. Din fericire, in modul normal () sau cel pentru comanda grep () logurile sunt pastrate, utilizatorul poate solicita Nmap reluarea scanarii de la ultima tinta care era scanata in momentul intreruperii. Specificati optiuneasi furnizati ca argument fisierul de rezultate in formatul normal sau grep. Nici un alt argument nu este permis, pentru ca Nmap citeste fisierul de rezultate si foloseste aceleasi optiuni specificate. Rulati Nmap cunmap --resumenumele_fisierului_log. Nmap va adauga la fisier noile rezultate. Reluarea nu este suportata de formatul XML deoarece combinarea a doua rulari succesive intr-un singur fisier XML valid este dificila.(Seteaza formatul XSL pentru transformarea rezultatului XML)Nmap este furnizat cu un format XSL numitnmap.xslpentru vizualizarea sau traducerea rezultatelor XML in HTML. Rezultatele in formatul XML includ o directivaxml-stylesheetdirective care indica fisierulnmap.xmldin locatia in care a fost instalat Nmap (sau din directorul curent in Windows). Incarcati rezultatul scanarii cu Nmap in format XML intr-un browser si acesta ar trebui sa aleaganmap.xsldin sistemul de fisiere si sa-l foloseasca pentru afisarea rezultatelor. Daca doriti specificarea unui alt format de afisare, specificati-l ca argument pentru. Trebuie sa furnizati calea completa sau URLul. O apelare uzuala este. Aceasta aplelare spune browserului sa incarce cel mai nou format de afisare de la Insecure.Org. Optiunearealizeaza acelasi lucru cu mai putine lucruri de tastat si memorat. Incarcand fisierul XSL de la Insecure.Org face vizualizarea mai facila pentru un calculator care nu are Nmap instalat (si implicit nicinmap.xsl) Astfel URLul este adesea mult mai folositor, dar fisierul local nmap.xsl este utilizat implicit din motive de securitate.(Incarca formatul stylesheet de la Insecure.Org)Este un sinonim covenabil pentru.(Se omite declaratia stylesheetului XSL din XML)Specificati aceasta optiune daca vreti sa preveniti Nmapul sa asocieze vreun format XSL cu fisierul XML. Directivaxml-stylesheeteste omisa.Optiuni diverseAceasta sectiune descrie cateva optiuni importante (si mai putin importante) care nu si-au gasit locul in nici o alta sectiune(Activeaza scanarea IPv6)Din 2002, Nmap ofera suport IPv6 pentru majoritatea functionalitatilor sale. In particular, scanarea ping (doar TCP), scanarea connect() si detectarea versiunii suporta toate IPv6. Sintaxa comenzii este aceeasi cu exceptia adaugarii optiunii. Desigur, trebuie sa folositi sintaxa IPv6 daca specificati o adresa in locul unui hostname. O adresa poate arata3ffe:7501:4819:2000:210:f3ff:fe03:14d0, asa ca hostnameurile sunt recomandate. Rezultatul arata in mod normal, cu adresa IPv6 pe liniaporturi_interesanteca singura adresa.Desi IPv6 nu a revolutionat lumea, are parte de o folosire semnificativa in unele tari (in special in Asia) si majoritatea sistemelor moderne de operare ofera suport. Pentru folosirea Nmap cu IPv6, atat sursa cat si tinta scanarii trebuie sa fie configurate in IPv6. Daca ISPul dumneavoastra nu aloca o adresa IPv6 (multi nu o fac), tunele de trecere sunt disponibile gratuit si functioneaza bine cu Nmap. Unul dintre cele mai bune este cel rulat de BT Exact la. Am folosit si cel furnizat de Hurricane Electric la. Tunelele 6la4 sunt de asemenea folosite, existand si optiuni gratuite.(Optiuni de scanare agresive)Aceasta optiune activeaza alte optiuni avansate si agresive. Nu m-am decis inca de la ce vine litera de specificare. In prezent activeaza detectia sistemului de operare () si scanarea versiunii (). Mai multe functionalitati pot fi inglobate pe viitor. Ideea este de a activa un set cuprinzator de optiuni de scanare fara ca oamenii sa fie nevoiti sa tina minte un set intreg de optiuni. Aceasta optiune activeaza functionalitatile, nu si optiunile de timp (cum ar fi) sau nivelul de informatii afisat () pe care le-ati dori.(Specifica un anumit director pentru localizarea fisierelor Nmap)Nmap obtine anumite date in momentul rularii in fisierele numitenmap-service-probes,nmap-services,nmap-protocols,nmap-rpc,nmap-mac-prefixes, sinmap-os-fingerprints. Nmap incearca intai sa caute aceste fisiere in directorul specificat cu optiunea(daca exista). Orice fisier negasit aici este cautat in directorul specificat de directiva NMAPDIR. La rand vin apoi~/.nmappentru sisteme POSIX sau locatia executabilului Nmap (pe sistemele Win32), si apoi o locatie precompilata cum ar fi/usr/local/share/nmapsau/usr/share/nmap. Ca o ultima optiune, Nmap va cauta in directorul curent.(Foloseste trimiterea bruta ethernet)Cere Nmapului sa trimita pachete brute ethernet (la nivelul legaturii de date) in locul trimiterii de la nivelul IP superior. Implicit, Nmap alege pe cel care este in general potrivit pentru platforma de rulare. Socketuri brute (nivelul IP) sunt in general mult mai eficiente pe masinile UNIX, in timp ce cadre ethernet sunt necesare pentru operatii sub Windows, din moment ce Microsoft a dezactivat suportul pentru suport de socketuri brute. Nmap foloseste pachete IP brute pe UNIX in ciuda acestei optiunii cand nu exista nici o alta alegere (conexiuni non-ethernet).(Trimite pachete brute la nivelul IP)Cere Nmapului sa trimita pachete brute prin socketuri IP in locul trimiterii lor la nivelul cadrelor ethernet. Este complementul optiuniidiscutata anterior.(Se presupune ca utilizatorul are privilegii depline)Spune Nmapului sa presupuna ca are privilegii suficiente pentru a trimite pachete brute, sa intercepteze pachete si alte operatii similare care in general necesita privilegii de root pe sisteme UNIX. Implicit Nmap renunta la astfel de operatii daca getuid() nu este zero.este o optiune folositoare impreuna cu capacitatea kernelului de Linux de a permite utilizatorilor neprivilegiati sa realizeze scanari cu pachete brute. Asigurativa ca ati mentionat aceasta optiune inaintea oricarei optiuni care necesita privilegii (scanare SYN, detectia sistemului de operare, etc.). Variabila NMAP_PRIVILEGED poate fi setata ca o alternativa la.(Porneste in modul interactiv)Nmap porneste in modul interactiv, care ofera posibilitatea de a lansa scanari multiple (fie sincron, fie in fundal). Este folositor pentru oameni care scaneaza de pe sisteme multi-utilizator ce doresc testarea securitatii fara ca ceilalti utilizatori sa stie ce se realizeaza. Folositipentru activarea acestui mod si mai apoi tastatihpentru ajutor. Aceasta optiune este rar folosita deoarece shellurile uzuale sunt mult mai familiare si mai complete. Aceasta optiune include un operator bang (!) pentru executarea de comenzi shell, ceea ce este unul din multele argumente pentru a nu seta Nmap ca root.;(Afiseaza numarul versiunii)Afiseaza versiunea de Nmap si iese.;(Afiseaza o pagina sumara de ajutor)Afiseaza un ecran de ajutor cu principalele optiuni. Rularea Nmap fara nici un argument face exact acelasi lucru.Interactiune in timpul rulariiAceasta functionalitate nu exista inca in Nmap. Fie voi adauga suport, fie voi scoate aceasta sectiune.In timpul executiei Nmap, toate tastele apasate sunt inregistrate. Acest lucru va perite interactiunea cu programul fara oprirea si restartarea lui. Anumite taste vor schimba optiuni in vreme ce altele vor afisa mesaje despre scanarea in curs. Conventia este caliterele mici crescnivelul de afisare siliterele mari scadacest nivel./Cresc / Descresc cantitatea de informatii afisate/Cresc /Descresc cantitatea de informatii de depanare/Activeaza / Dezactiveaza urmarirea pachetelorAnything else (Orice altceva)Afiseaza un mesaj de genul:Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service ScanService scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining)ExempleAici sunt cateva exemple de utilizare a Nmap, de la unele simple si de rutina pana la altele mai complexe si ezoterice. Unele adrese IP si nume de domenii sunt folosite pentru a face lucrurile mai concrete. In locul lor trebuie sa puneti adresele/numele dinreteaua dumneavoastra.. Desi nu cred ca scanarea de porturi a altor retele este sau ar trebui sa fie ilegala, unii administratori de retea nu apreciaza scanari nesolicitate ale retelelor lor si pot depune plangere. Obtinerea mai intai a permisiunii este cea mai buna abordare.Pentru testare, aveti permisiunea sa scanati hostulscanme.nmap.org. Aceasta permisiune include doar scanarea cu Nmap si nu testarea gaurilor de securitate sau atacuri de tip DOS. Pentru conservarea latimii de banda, va rog sa nu initiati mai multe scanari zilnic. Daca aceasta tinta este abuzata, va fi indisponibila in retea si Nmap va raporta imposibilitatea de a gasi hostulFailed to resolve given hostname/IP: scanme.nmap.org. Aceasta permisiune se aplica si hosturilorscanme2.nmap.org,scanme3.nmap.org, si asa mai departe, desi acestea nu exista inca.nmap -v scanme.nmap.orgAceasta linie de comanda scaneaza toate porturile TCP rezervate de pe masinascanme.nmap.org. Optiuneaactiveaza modul de afisare in timp real a rezultateor.nmap -sS -O scanme.nmap.org/24Lanseaza o scanare SYN impotriva tuturor celor 255 masini din reteaua declasa Cunde isi are locul hostul scanme. De asemenea incearca determinarea sistemului de operare a fiecarui host activ. Acesta lansare necesita privilegii root din cauza scanarii SYN si a detectarii sistemului de operare.nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127Lanseaza enumerarea hosturilor si o scanare TCP in prima jumatate a celor 255 de subretele 198.116 de clasa B. Testeaza daca sistemul ruleaza sshd, DNS, pop3d, imapd sau portul 4546. Pentru fiecare dintre porturile gasite deschise, detectia versiunii este pusa in functiune pentru a se determina aplicatia care ruleaza.nmap -v -iR 100000 -P0 -p 80Cere Nmapului sa aleaga aleator 100.000 tinte si sa le scaneze in cautarea serverelor web (portul 80). Enumerarea hosturilor este dezactivata cudin moment ce trimiterea unui cuplu de probe pentru a determina daca hostul este activ este o pierdere de timp atata vreme cat se cauta un singur port al fiecarei tinte.nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20Scaneaza cele 4096 IPuri dupa servere web (fara ping) si salveaza rezultatele in formatul pentru comanda grep si in formatul XML.host -l company.com | cut -d -f 4 | nmap -v -iL -Realizeaza un transfer de zona DNS pentru a gasi toate hosturile din company.com si apoi furnizeaza adresele Nmapului. Comanda de mai sus este valabila pentru un sistem Linux – alte sisteme beneficiaza de comenzi diferite pentru realizarea transferului DNS.ProblemeAsemeni autorului, Nmap nu este perfect. Dar ilputeti face mai bun trimitand rapoarte despre problemele aparute si chiar scriind patchuri. daca Nmap nu se comporta in modul in care va asteptati, faceti upgradeul la ultima versiune disponibila la. Daca problema persista, faceti munca de cercetare pentru a vedea daca problema a fost descoperita si discutata. Incercati cautarea in Google a mesajului de eroare sau navigand prin arhivele Nmap-dev la. Cititi acest manual in intregime de asemenea. Daca nimic nu se rezolva, trimiteti un mail lanmap-dev@insecure.org. Va rog sa includeti tot ce ati aflat despre problema, precum si versiunea de Nmap pe care o folositi si sistemul de operare. Problemele si intrebarile legate de utilizarea Nmapului trimise la nmap-dev@insecure.org au sanse mult mai mari de a li se raspunde decat cele trimise direct la Fyodor.Patchurile de rezolvare a problemelor sunt si mai bune decat rapoartele despre problema in sine. Instructiuni de baza pentru crearea patchurilor sunt disponibile la. Patchurile pot fi trimise la nmap-dev (recomandat) sau direct la Fyodor.AutorFyodorfyodor@insecure.org()Sute de oameni au facut contributii importante la Nmap de-a lungul timpului. Ei sunt mentionati in fisierulCHANGELOGdistribuit cu Nmap si disponibil la.Aspecte legale + Unofficial Translation Disclaimer / Disculparea fata de traducerea neoficiala This is an unnofficial translation of the Nmap license details into Romanian. It was not written by Insecure.Com LLC, and does not legally state the distribution terms for Nmap -- only the original English text does that. However, we hope that this translation helps Romanian speakers understand the Nmap license better. Aceasta este traducerea neoficiala a detaliilor de licenta ale Nmap in limba romana. Nu a fost scrisa de Insecure.Com LLC si nu statueaza in mod legal termenii distributiei Nmap – numai textul original in limba engleza realizeaza acest lucru. Oricum speram ca aceasta traducere sa ajute vorbitorii de limba romana sa inteleaga termenii licentei Nmap mai bine.Dreptul de autor si licentiereScanerul de securitate Nmap este (C) 1996-2005 a Insecure.Com LLC. Nmap este marca inregistrata a Insecure.Com LLC. Acest program este software liber; il puteti redistribui si/sau modifica sub termenii Licentei Publice Generale (GNU General Public License) asa cum este publicata de Free Software Foundation; Versiunea 2. Aceasta va garanteaza dreptul de folosire, modificare si redistribuire sub anumite conditii. Daca doriti sa incorporati tehnologie Nmap in software proprietar, suntem dispusi sa vindem licente alternative (contactsales@insecure.com). Multi producatori de scanere de securitate au licentiat deja tehnologie Nmap cum ar fi descoperirea hosturilor, scanare de porturi, detectia sistemului de operare si detectia serviciului/versiunii.Notati ca GPL pune restrictii importante asupraproduselor derivate, desi nu furnizeaza o definitie detaliata a termenului. Pentru a evita neintelegerile, consideram ca o aplicatie esteprodus derivatin termenii licentei daca realizeaza unul din urmatoarele lucruri:Integreaza cod sursa din NmapCiteste sau include fisiere Nmap proteja de drepturi de autor, cum ar finmap-os-fingerprintssaunmap-service-probes.Executa Nmap si interpreteaza rezultatele (spre deosebire de aplicatiile shell care afiseaza outputul brut al Nmapului si nu reprezinta produse derivate).Integreaza/include/agregheaza Nmap intr-un executabil de instalare proprietar, cum sunt cele produse de InstallShield.Face legatura la o biblioteca sau executa un program care realizeaza oricare dintre cele enumerate.TermenulNmapinclude si portiuni din produse derivate din Nmap. Lista nu este exclusiva, dar este menita a clarifica interpretarea noastra a produselor derivate cu exemple comune. Aceste restrictii se aplica doar pentru cazul in care redistribuiti Nmap. De exemplu, nimic nu va impiedica sa scrieti interfete grafice proprietare pentru Nmap. Distribuiti-o independent si invitati oamenii lapentru a descarca Nmap.Nu consideram aceste ca restrictii adugate peste GPL ci doar o clarificare a modului in care interpretam termenul deprodus derivatasa cum se aplica el la produsul Nmap licentiat GPL. Este similar modului in care Linus Torvalds a anuntat interpretarea sa asupra a cum se aplica termenul deprodus derivatla modulele kernellului Linux. Interpretarea noastra se refera doar la Nmap – nu vorbim in numele nici unui alt produs GPL.Daca aveti intrebari despre restrictiile licentei GPL in ceea ce priveste folosirea Nmap in produse non-GPL, sunt bucurosi sa va ajutam. Asa cum am mentionat, oferim licente alternative pentru integrarea Nmap in aplicatii si aplicari proprietare. Astfel de contracte au fost vandute majoritatii producatorilor de software de securitate si in general includ o licenta perpetua precum si furnizarea prioritara de suport si actualizari, dupa cum ne si ajuta sa finantam dezvoltarea tehnologiei Nmap. Va rugam sa trimiteti un email lasales@insecure.compentru mai multe informatii.Ca o exceptie speciala de la termenii GPL, Insecure.Com LLC permite legarea acestui cod cu orice versiune de biblioteca OpenSSL distribuita sub o licenta identica cu cea din fiserul Copying.OpenSSL si distribuirea codului legat a celor doua. Trebuie sa va supuneti GNU GPL pentru orice cod in afara de OpenSSL. Daca modificati acest fisier, puteti extinde aceasta exceptie si asupra fisierului dumneavoastra, desi nu sunteti obligati sa o faceti.Daca primiti aceste fisiere cu o alta licenta scrisa sau contract care specifica alti termeni decat cei precizati aici, atunci licenta alternativa ia locul celei de fata.Disponibilitatea codului sursa si contributiile comunitatiiSursa este furnizata cu acest software deoarece consideram ca utilizatorii au dreptul de a stii exact ce face un program inainte de a-l rula. Acest lucru permite si auditul softwareului in vederea descoperirii gaurilor de securitate (nici una nu a fost descoperita pana acum).Codul sursa permite portarea Nmap pe noi platforme, rezolvarea problemelor si adaugarea de noi functionalitati. Sunteti incurajati sa trimiteti modificarile dumneavoastra lafyodor@insecure.orgpentru o posibila incorporare in distributia principala. Prin trimiterea acestor modificari catre Fyodor sau la una din listele de dezvoltare de la Insecure.Org, se presupune ca oferiti lui Fyodor si Insecure.Com LLC dreptul neliitat, neexclusiv de reutilizare, modificare si relicentiere a codului. Nmap va fi intotdeauna disponibil ca software cu sursa disponibila, dar acest lucru este important din cauza imposibilitatii relicentierii ce a creat probleme devastatoare pentru alte proiecte cu software liber (cum sunt KDE si NASM). Ocazional relicentiam codul catre terti asa cum s-a discutat mai devreme. Daca doriti sa specificati conditii speciale de licentiere a contributiei dumneavoastra, precizati acest lucru cand o trimiteti.Nici o garantieAcest program este distribuit in speranta ca va fi folositor, dar FARA NICI O GARANTIE; fara macar a garantiei de COMERCIABILITATE sau POTRIVIRE PENTRU UN SCOP PARTICULAR. Vezi GNU GPL pentru mai multe detalii la, sau in fisierul COPYING inclus in Nmap.Notati si faptul ca Nmap, ocazional, blocheaza aplicatii prost scrise, stive TCP/IP si chiar sisteme de operare. Desi este un lucru extrem de rar, este important sa tinteti minte caNmap nu trebuie niciodata rulat impotriva sistemelor cu aplicatii criticedecat daca sunteti pregatit sa suferiti eventuale blocari. Statuam aici faptul ca Nmap poate bloca sistemele sau retelele dumneavoastra si ne disculpam de orice paguba sau problema pe care Nmap o poate cauza.Utilizare inadecvataDatorita micului risc de blocare si pentru ca unele personaje negative folosesc Nmap in cunoasterea tintelor premergator atacului, exista administratori care devin suparati si pot depune plangere daca sistemele lor sunt scanate. Asadar, este recomandata solicitarea permisiunii chiar si inaintea unei scanari superficiale a retelei.Din ratiuni de securitate Nmap nu ar trebui instalat niciodata cu privilegii speciale (ex: suid root)Software de la tertiAcest produs iclude software dezvoltat deApache Software Foundation. O versiune modificata abibliotecii de captura a pachetelor Libpcapportableeste distribuita impreuna cu Nmap. Versiunea de Windows a Nmap utilizeaza biblioteca derivata din libpcap,WinPcap. Suportul pentru expresiile regulate este furnizat dePCRE library, software open source, scris de Philip Hazel. Anumite functii brute de retea folosesc bibliotecaLibdnet, scrisa de Dug Song. O versiune modificata este distribuita cu Nmap. Optional Nmap se poate lega deTrusa criptografica OpenSSLpentru suportul de detectare a versiunii SSL. Toate softurile de la terti descrise in acest paragraf sunt redistribuibile gratuit sub licente de tipul BSD.Clasificarea de control al exportului din SUAClasificarea de control al exportului din SUA: Insecure.Com LLC considera ca Nmap cade sub incidenta US ECCN (numarul de control al clasificarii de export) 5D992. Aceasta categorie este denumitaSoftware de securitate a informatiilor necontrolat de 5D002. Singurele restrictii ale acestei clasificari sunt AT (anti-terrorism) care se aplica aproape tuturor bunurilor si interzic exportul catre cateva natiuni ca Iranul si Coreea de Nord. Asadar exportul Nmapului nu necesita licente speciale, permisiuni sau autorizari guvernamentale.
diff --git a/docs/man-xlate/nmap-man-ru.xml b/docs/man-xlate/nmap-man-ru.xml new file mode 100644 index 000000000..d412d47a5 --- /dev/null +++ b/docs/man-xlate/nmap-man-ru.xml @@ -0,0 +1,3667 @@ + + +
+ + Справочное руководство Nmap (Man Page) + +man pagereference guide +reference guide (man page) + + + nmap + 1 + + + nmap + Утилита для исследования сети и сканер портов + + + + + nmap + + Тип сканирования + + + Опции + + + цель сканирования + + + + + Описание + Nmapdescription of + + Этот документ описывает самую последнюю версию Nmap, доступную на или . Пожалуйста, удостоверьтесь в том, что вы используете последнюю версию, перед тем как сообщать, что какая-то функция работает не так как было описано. + + Nmap (Network Mapper) это утилита с открытым исходным кодом для исследования сети и + проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется + и с единичными целями. Nmap использует сырые IP пакеты оригинальными способами, чтобы определить какие хосты + доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии + ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. + В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы + находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска + служб и учет времени работы хоста или службы. + + Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой в зависимости + от заданных опций. Ключевой информацией является таблица важных портов.ports“interesting” + Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение + open (открыт), filtered (фильтруется), + closed (закрыт) или unfiltered (не + фильтруется). + Открытopen port state + означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. + Фильтруетсяfiltered port state + означает, что брандмауэр, сетевой фильт или какая-то другая помеха в сети блокирует порт, и Nmap не может установить + открыт этот порт или закрыт. + Закрытыеclosed port state + порты не связаны ни с каким приложение, так что они могут быть открыты в любой момент. Порты расцениваются как + не фильтрованныеunfiltered port state, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации + открыт|фильтруетсяopen|filtered port state + и закрыт|фильтруетсяclosd|filtered port state, когда не может определить, какое из этих двух + состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это + было запрошено. Когда осуществляется сканирование по IP протоколу (), Nmap предоставляет + информацию о поддерживаемых IP протоколах, а не об открытых портах. + + В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные + DNS имена, предположение о используемой операционной системе, типы устройств и MAC адреса. + + Типичное сканирование с использованием Nmap показано в . Единственные аргументы, использованные в этом примере это , для определения версии ОС, + сканирования с использованием скриптов и трассировки; для более быстрого выполнения; затем + два целевых хоста. + +Типичный пример сканирования с помощью Nmap +example of + +# nmap -A -T4 scanme.nmap.org playground + +Starting Nmap ( http://nmap.org ) +Interesting ports on scanme.nmap.org (64.13.134.52): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Самую новую версию Nmap можно скачать с . Самая новая версия страницы справки Nmap + (man page) расположена на . + + + + + + Замечания о переводе + + Гуз Александр (Guz Alexander) kalimatas@gmail.com + Этот русский вариант Справочного Руководства Nmap является переводом версии 6184 оригинальной английской версии. Хотя я надеюсь, что данный перевод + сделает Nmap более доступной для русскоязычных пользователей, я не могу гарантировать, что он является полным или + является перевод последней официальной английской версии. Эта работа может модифицироваться или распространяться + на основе лицензии Creative + Commons Attribution License. + + + + + + Сводка опций + +Эта сводка опций выводится на экран, когда Nmap запускается без каких-либо опций; последняя версия всегда доступна +здесь . +Это помогает людям запомнить наиболее употребляемые опции, но это сводка не может быть заменой документации, +предоставленной в данном руководстве. Некоторые опции даже не включены в этот список. + + + +summary of options +command-line optionsof Nmap + + +Nmap 4.76 ( http://nmap.org ) +Использование: nmap [Тип(ы) Сканирования] [Опции] {цель сканирования} +ОПРЕДЕЛЕНИЕ ЦЕЛИ СКАНИРОВАНИЯ: + Можно использовать сетевые имена, IP адреса, сети и т.д. + Пример: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <имя_входного_файла>: Использовать список хостов/сетей из файла + -iR <количество_хостов>: Выбрать произвольные цели + --exclude <хост1[,хост2][,хост3],...>: Исключить хосты/сети + --excludefile <имя_файла>: Исключить список из файла +ОБНАРУЖЕНИЕ ХОСТОВ: + -sL: Сканирование с целью составления списка - просто составить список целей для сканирования + -sP: Пинг сканирование - просто определить, работает ли хост + -PN: Расценивать все хосты как работающие -- пропустить обнаружение хостов + -PS/PA/PU [список_портов]: TCP SYN/ACK или UDP пингование заданных хостов + -PE/PP/PM: Пингование с использованием ICMP эхо запросов, запросов временной метки и сетевой маски + -PO [список_протоколов]: Пингование с использованием IP протокола + -n/-R: Никогда не производить DNS разрешение/Всегда производить разрешение [по умолчанию: иногда] + --dns-servers <сервер1[,сервер2],...>: Задать собственные DNS сервера + --system-dns: Использовать системный DNS преобразователь +РАЗЛИЧНЫЕ ПРИЕМЫ СКАНИРОВАНИЯ: + -sS/sT/sA/sW/sM: TCP SYN/с использованием системного вызова Connect()/ACK/Window/Maimon сканирования + -sU: UDP сканирование + -sN/sF/sX: TCP Null, FIN и Xmas сканирования + --scanflags <флаги>: Задать собственные TCP флаги + -sI <зомби_хост[:порт]>: "Ленивое" (Idle) сканирование + -sO: Сканирование IP протокола + -b <FTP_хост>: FTP bounce сканирование + --traceroute: Отслеживать путь к хосту + --reason: Выводить причину нахождения порта в определенном состоянии +ОПРЕДЕЛЕНИЕ ПОРТОВ И ПОРЯДКА СКАНИРОВАНИЯ: + -p <диапазон_портов>: Сканирование только определенных портов + Пример: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Быстрое сканирование - Сканирование ограниченного количества портов + -r: Сканировать порты последовательно - не использовать случайный порядок портов + --top-ports <количество_портов>: Сканировать <количество_портов> наиболее распространенных портов + --port-ratio <рейтинг>: Сканировать порты с рейтингом большим чем <рейтинг> +ОПРЕДЕЛЕНИЕ СЛУЖБ И ИХ ВЕРСИЙ: + -sV: Исследовать открытые порты для определения информации о службе/версии + --version-intensity <уровень>: Устанавливать от 0 (легкое) до 9 (пробовать все запросы) + --version-light: Ограничиться наиболее легкими запросами (интенсивность 2) + --version-all: Использовать каждый единичный запрос (интенсивность 9) + --version-trace: Выводить подробную информацию о процессе сканирования (для отладки) +СКАНИРОВАНИЕ С ИПОЛЬЗОВАНИЕМ СКРИПТОВ: + -sC: эквивалентно опции --script=default + --script=<Lua скрипты>: <Lua скрипты> это разделенный запятыми список директорий, файлов скриптов или + категорий скриптов + --script-args=<имя1=значение1,[имя2=значение2,...]>: Передача аргументов скриптам + --script-trace: Выводить все полученные и отправленные данные + --script-updatedb: Обновить базу данных скриптов +ОПРЕДЕЛЕНИЕ ОС: + -O: Активировать функцию определения ОС + --osscan-limit: Использовать функцию определения ОС только для "перспективных" хостов + --osscan-guess: Угадать результаты определения ОС +ОПЦИИ УПРАВЛЕНИЯ ВРЕМЕНЕМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ: + Опции, принимающие аргумент <время>, задаются в миллисекундах, пока вы не добавите 's' (секунды), 'm' (минуты), + или 'h' (часы) к значению (напр. 30m). + -T[0-5]: Установить шаблон настроек управления временем (больше - быстрее) + --min-hostgroup/max-hostgroup <кол_хостов>: Установить размер групп для параллельного сканирования + --min-parallelism/max-parallelism <кол_хостов>: Регулирует распараллеливание запросов + --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <время>: Регулирует время ожидания ответа на запрос + --max-retries <количество_попыток>: Задает максимальное количество повторных передач запроса + --host-timeout <время>: Прекращает сканирование медленных целей + --scan-delay/--max-scan-delay <время>: Регулирует задержку между запросами + --min-rate <число>: Посылать запросы с интенсивностью не меньше чем <число> в секунду + --max-rate <число>: Посылать запросы с интенсивностью не больше чем <число> в секунду +ОБХОД БРАНДМАУЭРОВ/IDS: + -f; --mtu <значение>: Фрагментировать пакеты (опционально с заданным значениме MTU) + -D <фикт_хост1,фикт_хост2[,ME],...>: Маскировка сканирования с помощью фиктивных хостов + -S <IP_адрес>: Изменить исходный адрес + -e <интерфейс>: Использовать конкретный интерфейс + -g/--source-port <номер_порта>: Использовать заданный номер порта + --data-length <число>: Добавить произвольные данные к посылаемым пакетам + --ip-options <опции>: Посылать пакет с заданным ip опциями + --ttl <значение>: Установить IP поле time-to-live (время жизни) + --spoof-mac <MAC_адрес/префикс/название производителя>: Задать собственный MAC адрес + --badsum: Посылать пакеты с фиктивными TCP/UDP контрольными суммами +ВЫВОД РЕЗУЛЬТАТОВ: + -oN/-oX/-oS/-oG <файл>: Выводить результаты нормального, XML, s|<rIpt kIddi3, + и Grepable формата вывода, соответственно, в заданный файл + -oA <базовове_имя_файла>: Использовать сразу три основных формата вывода + -v: Увеличить уровень вербальности (задать дважды или более для увеличения эффекта) + -d[уровень]: Увеличить или установить уровень отладки (до 9) + --open: Показывать только открытые (или возможно открытые) порты + --packet-trace: Отслеживание принятых и переданных пакетов + --iflist: Вывести список интерфейсов и роутеров (для отладки) + --log-errors: Записывать ошибки/предупреждения в выходной файл нормального режима + --append-output: Добавлять в конец, а не перезаписывать выходные файлы + --resume <имя_файла>: Продолжить прерванное сканирование + --stylesheet <путь/URL>: Устанавливает XSL таблицу стилей для преобразования XML вывода в HTML + --webxml: Загружает таблицу стилей с Nmap.Org + --no-stylesheet: Убрать объявление XSL таблицы стилей из XML +РАЗЛИЧНЫЕ ОПЦИИ: + -6: Включить IPv6 сканирование + -A: Активировать функции определения ОС и версии, сканирование с использованием скриптов и трассировку + --datadir <имя_директории>: Определяет место расположения файлов Nmap + --send-eth/--send-ip: Использовать сырой уровень ethernet/IP + --privileged: Подразумевать, что у пользователя есть все привилегии + --unprivileged: Подразумевать, что у пользователя нет привилегий для использования сырых сокетов + -V: Вывести номер версии + -h: Вывести эту страницу помощи +ПРИМЕРЫ: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -PN -p 80 +ДЛЯ СПРАВКИ ПО ДРУГИМ ОПЦИЯМ, ОПИСАНИЙ И ПРИМЕРОВ СМОТРИТЕ MAN СТРАНИЦУ + + + + + + + + + + + Определение цели сканирования + target specification + +В командной строке Nmap все, что не является опцией (или аргументом опции), рассматривается как цель +сканирования. В простейшем случае для сканирования используется IP адрес или сетевое имя целевой машины. + +Иногда необходимо просканировать целую сеть. Для этого Nmap поддерживает CIDR адресацию. CIDR (Classless Inter-Domain Routing) +Вы можете добавить +/кол-во бит к IP адресу или сетевому имени и Nmap просканирует каждый IP адрес, для которого +первые кол-во бит такие же как и у заданного хоста. Например, 192.168.10.0/24 просканирует +256 хостов между 192.168.10.0 (бинарное: 11000000 10101000 +00001010 00000000) и 192.168.10.255 (бинарное: 11000000 10101000 +00001010 11111111) включительно. +192.168.10.40/24 сделает абсолютно то же самое. Зная, что IP адрес scanme.nmap.org 64.13.134.52, при записи типа +scanme.nmap.org/16 будет произведено сканирование 65,536 IP адресов между 64.13.0.0 и 64.13.255.255. Наименьшее +допустимое значение /0, при котором будет просканирован весь Интернет. Наибольшее значение /32, при котором будет +просканирован только заданный хост или IP адрес, т.к. все адресные биты заблокированы. + +address ranges +CIDR нотация коротка, однако не всегда достаточно гибка. Например, вы хотите просканировать +192.168.0.0/16, но пропустить все IP-ки оканчивающиеся на .0 или .255, т.к. обычно это широковещательные адреса. +Nmap может осуществить такое сканирование путем задания диапазонов в октетах. Вместо определния обычного IP адреса, вы +можете определить для каждого октета либо разделенный запятыми список чисел, либо диапазон. Например, +192.168.0-255.1-254 пропустит все адреса в диапазоне оканчивающиеся на .0 и .255. Диапазоны не обязательно задавать +только в последних октетах: при записи 0-255.0-255.13.37 будет произведено сканирование всех адресов в Интернете +оканчивающихся на 13.37. Такой тип сканирования может быть полезен для обозрения просторов Интернета и различных +исследований. + +IPv6 адреса могут быть определны только в форме, полностью соответствующей правильной форме записи IPv6 адресов. +CIDR и использование диапазонов в октетах не применимо к IPv6 адресам, т.к. они редко используются. + +Вы можете передавать в командной строке Nmap различные варианты определения целей, не обязательно одного типа. +Команда nmap +scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 сделает то, что вы ожидаете. + +Цели сканирования обычно задаются в командной строке, и существуют различные опции контроля выбора целей: + + + + + (Ввод из списка) + + target specificationfrom list + + + Считывает цели из имя_файла. Хотя передача большого списка хостов для + сканирования является обычным явлением, это не удобно. Например, ваш DHCP сервер передают вам список из + 10,000 используемых им на данный момент адресов, и вы хотите его просканировать. Или, возможно, вы хотите + просканировать все IP адреса, кроме переданных им, чтобы выявить несанкционированное + использование статических IP адресов. Просто сгенерируйте список хостов для сканирования и передайте + имя файла в Nmap как аргумент для опции. Записи в файле могут находиться в любой + приемлимой для Nmap форме (IP адреса, сетевые имена, CIDR, IPv6, или диапазоны в октетах). Каждая запись + должна быть отделена пробелом или несколькими, символами табуляции или символами перехода на новую строку. + Вы можете передать в качестве аргумента дефис(-) как имя файла, если + хотите, чтобы Nmap считывала список хостов из стандартного ввода, а не из файла. + + + + + + (Выбирает произвольные цели) + + random targets + target specificationat random + + + Для сканирования в пределах всего Интернета или каких-либо исследований, вам, возможно, понадобится + выбрать цели произвольно. Аргумент кол-во хостов определяет сколько необходимо + сгенерировать IP адресов. Неподходящие IP адреса, такие как частные, широковещательные или нелокализованные + диапазоны адресов автоматически пропускаются. Аргумент 0 может быть + передан для бесконечного сканирования. Имейте в виду, что некоторым системным администраторам может не + понравиться неразрешенное сканирование их сетей и они могут пожаловаться. Используйте эту опцию на свой страх + и риск! Если в дождливый денек вам будет скучно, попробуйте команду + nmap -sS -PS80 -iR 0 -p 80 + example of + example of + example of + для сканирования произвольных веб-серверов. + + + + + + (Исключить хосты/сети) + + excluding targets + + + Определяет разделенный запятыми список целей, которые необходимо исключить из сканирования, даже если + они являются частью заданного вами диапазона сканирования. Передаваемый список использует стандартный + синтаксис Nmap, поэтому может содержать сетевые имена, CIDR адресацию, диапазоны в октетах и т.д. Эта + опция может быть полезна, если сеть, которую вы хотите просканировать, содержит сервера или системы, + негативно реагирующие на сканирование портов, или подсети, администрируемые другими людьми. + + + + + + (Исключить список из файла) + + + + Эта опция делает то же самое, что и , за исключением того, что цели для + исключения находятся в разделенном пробелами, символами табуляции или символами перехода на новую строку + файле, а не в командной строке. + + + + + + + Обнаружение хостов + host discovery + + Одна из первейших задач при исследовании любой сети это сократить (иногда довольно большой) набор IP диапазонов + до списка активных или интересных хостов. Сканирование каждого порта каждого IP адреса медленно и необязательно. + Конечно же то, что делает хост интересным для исселедования во многом определяется целями сканирования. Сетевые + администраторы возможно будут заинтересованы только в хостах, на которых запущена определенная служба, в то время + как тем, кого интересует безопасность, будут интересны все устройства с IP адресами. Задачи администраторов по + обнаружению работающих хостов в сети могут быть удовлетворены обычным ICMP пингом, людям же, которые тестируют + способность сети противостоять атакам из вне, необходимо использовать разнообразные наборы запросов с целью обхода + брандмауэра. + + Посколько задачи требующие обнаружения хостов столь различны, Nmap предоставляет большое разнообразие опций + для различных методов. Задачу обнаружения хостов иногда называют пинг сканированием (ping scan), однако она намного + превосходит использование обычных ICMP запросов ассоциирующихся с вездесущими + ping утилитами. Пользователи могут полностью пропустить шаг пинг + сканирования с помощью опции сканирования с целью составления списка () или просто отключив его + (), или сканировать сеть с помощью произвольных комбинаций мультипортовых TCP SYN/ACK, UDP и + ICMP запросов. Целью всех этих запросов является получение ответов, указывающих, что IP адрес в настоящее время + активен (используется хостом или сетевым устройством). В большинстве сетей лишь небольшой процент IP адресов + активен в любой момент времени. Это особенно характерно для адресных пространств вида 10.0.0.0/8. Такие сети + имеют 16 млн. IP адресов, но я видел, как они используются компаниями, в которых не более тысячи машин. Функция + обнаружения хостов может найти эти машины в этом необъятном море IP адресов. + + Если не задано никаких опций обнаружения хостов, то Nmap посылает TCP ACK пакет на порт 80 и запрос на ICMP + эхо ответ кажодй целевой машине. Исключение составляет ARP сканировании всех целей в сети. Для непривилегированных + пользователей Unix оболочки, вместо ACK пакета посылается SYN используя системный вызов + connectunprivileged userslimitations of + Эти умолчания равнозначны опциям . Такое сканирование достаточно для локальных сетей, + но для исследования безопасности необходимо использовать более сложные наборы запросов. + + + Опции (определяющие тип пинг сканирования) могут комбинироваться. Вы можете увеличить + шансы обхода строго брандмауэра посылая множество запросов различных типов, используя различные TCP порты/флаги и + ICMP коды. Также имейте в виду, что даже если вы определите различные опции, по умолчанию + применительно к целям локальной сети будет производиться и ARP сканирование + (), т.к. + оно почти всегда быстрее и более эффективно. + + По умолчанию после обнаружения хостов Nmap начинает сканирование портов каждой активной машины. Так будет, + даже если вы укажите на использование нестандартных методов обнаружения хостов, например, с использованием + UDP запросов (). Прочтите об опции , чтобы узнать, как выполнить только + обнаружение хостов, или используйте опцию , чтобы пропустить обнаружение хостов и осуществить + сканирование портов всех целевых машин. С помощью следующих опций можно настраивать функцию обнаружения хостов: + + + + + + + (Сканирование с целью составления списка) + + list scan + + + Это тип сканирования является "упрощенной" версией функции обнаружения хостов, при помощи которого + просто будет создан список хостов заданной сети без посылки каких-либо пакетов целевым машинам. По умолчанию + Nmap все же будет осуществлять обратное разрешение DNS с целью узнавания имен хостов. Часто бывает + удивительно, как много полезной информации могут содержать обычные имена хостов. Например, + fw.chi это имя брандмауэра одной Чикагской компании. + DNSrecords as source of information + В конце Nmap также сообщает общее количество IP адресов. Этот тип сканирования также является хорошим способом + проверить, что вы действительно знаете IP адреса необходимых вам целей. Если имена хостов содержат неизвестные + вам доменные имена, то стоит провести дальнейшее исследование, чтобы избежать сканирования сети не той + компании, которая вам нужна. + + Т.к. целью является просто составление списка целевых хостов, то опции с большим уровнем + функциональности, такие как сканирование портов, определение ОС или пинг сканирование не могут сочетаться с + рассматриваемой опцией. Если вы хотите отключить пинг сканирование, но хотите использовать опции с таким + высоким уровнем функциональности, то почитайте об опции . + + + + + + (Пинг сканирование) + + ping scan + + + Эта опция указывает Nmap произвести пинг сканирование (определение хостов), а затем вывести список + доступных хостов, т.е. тех, которые ответили на запросы. Определение маршрутов и NSE скрипты также + используются, если необходимо, однако дальнейшее тестирование (как сканирование портов или определение ОС) + не производится. По умолчанию эта опция считается как бы на один шаг более тщательной, чем сканирование + с целью составления простого списка хостов, и может быть использована в этих же целях. Она позволяет + произвести исследование целевой сети без привлечения внимания. Знание, какие хосты в сети в данный момент + работают, для атакующих ценне, чем просто список IP адресов и сетевых имен, предоставляемых + опцией -sL. + + Эта опция также полезна системным администраторам. Она может быть использована для подсчета + количества работающих в сети машин или мониторинга доступности сервера. Это часто называют "пинг чисткой" + (ping sweep) и результаты, предоставляемые этой опцией, заслуживают больше доверия, чем обычное пингование + широковещательных адресов, т.к. большинство хостов не отвечают на подобные запросы. + + По умолчанию опцией посылаются запрос на ICMP это ответ и TCP ACK пакет на порт + 80. Когда используется непривилегированным пользователем, посылается только SYN пакет + (используя системные вызов connect) на порт 80 целевой машины. + Когда привилегированный пользователь производит сканирование целей локальной сети, то используются ARP + запросы до тех пор, пока не будет задано . Для большей гибкости опция + может быть скомбинирована с любой из опций (за исключением + ). Если используется какой-либо из этих типов запросов и опции для задания номеров + портов, то запросы по умолчанию (ACK и это ответы) опускаются. Когда между машиной с Nmap и целевой сетью + расположен строгий брандмауэр, то рекомедуется использование таких расширенных методов сканирования. + Иначе некоторые из хостов могут быть не определены, т.к. брандмауэр заблокировал запрос или ответ. + + + + + + + + (Не использовать пинг сканирование) + + host discoverydisabling + + + Указывает Nmap полностью пропустить этап обнаружения хостов. Обычно, Nmap использует этот этап для + обнаружения активных машин, к которым можно применить более углубленное сканирование. По умолчанию Nmap + производит углубленное сканирование, такое как сканирование портов, определение версии или определение ОС + только обнаруженных работающих хостов. После отключения этапа обнаружения хостов опцией , + Nmap будет производить сканирование каждого заданого целевого IP адреса. + Так что, если для сканирования будет определена сеть с адресным пространством класса B (/16), то будет + произведено сканирование всех 65,536 IP адресов. Т.к. этап обнаружения хостов и составления списка целей + сканирования пропущен, то Nmap будет исполнять запрошенные функции, как если бы каждый IP адрес был активен. + Для машин локальной сети будет произведено ARP сканирование (пока не зададите ), + т.к. Nmap необходимы MAC адреса для дальнейшего сканирования целевых хостов. Раньше эта опция задавалась + флагом (используется нуль), но была переименова, чтобы избежать путаницы с + пингованием с использованием IP протокола (используется буква O). + + + + + + (TCP SYN пингование) + + SYN ping + + + + Эта опция посылает пустой TCP пакет с установленным SYN флагом. Порт по умолчанию - 80 (можно задать + во время компилирования изменяя DEFAULT_TCP_PROBE_PORT_SPEC + DEFAULT_TCP_PROBE_PORT_SPEC + в nmap.h). + nmap.h + Альтернативные порты задаются в качестве параметров. Синтаксис такой же как и для опции + за исключением того, что спецификаторы типа T: недопустимы. Примеры: + и . Имейте в виду, что между списком + портов и не должно быть пробела. Если заданы несколько запросов, то они будут посланы + параллельно. + + Установленные флаг SYN указывает удаленной системе, что вы пытаетесь установить соединение. Если порт + назначения закрыт, то в ответ посылается RST (сброс) пакет. Если порт открыт, то удаленная система + предпримет второй шаг в 3-ех этапной последовательности установки TCP соединения путем ответа + three-way handshake + SYN/ACK TCP пакетом. Система, на которой работает Nmap, сбрасывает почти установленное соединение отвечая RST + пакетом вместо ACK, что привело бы к установке полного соединения. RST пакет посылается ядром системы, на + которой работает Nmap, в ответ на непредвиденный SYN/ACK пакет, а не самой Nmap. + + Nmap не важно открыт порт или закрыт. Ответы пакетами RST или SYN/ACK описанными выше, указывают + Nmap на то, что хост доступен и может отвечать на запросы. + + На Unix машинах, только пользователь с правами + rootprivileged users, как правило, может посылать и принимать сырые TCP пакеты.raw packets + Для непривилегированного пользователя + unprivileged userslimitations of для каждого целевого + порта инициируется системный вызов connect. Поэтому при попытке + установить соединение на целевой хост посылается SYN пакет. Если на вызов + connect приходит быстрый ответ или отказ типа ECONNREFUSED, значит + TCP стек получил SYN/ACK или RST пакет, и хост помечается как доступный. Если соединение не устанавливается + по причине истечения времени (timeout), то хост помечается как не работающий. Этот механизм также + используется для соединений с использованием протокола IPv6, т.к. построение сырых пакетов IPv6 еще не + реализовано в Nmap.IPv6limitations of + + + + + + + + (TCP ACK пингование) + + ACK ping + + + Этот тип пингования очень похож на описанный выше. Разница состоит в том, как вы могли догадаться, что + вместо установки SYN флага устанавливается TCP ACK флаг. Такой ACK пакет имеет своей целью распознавание + данных во время установленного TCP соединения, но такого соединения не существует, поэтому удаленные хосты + всегда будут отвечат на такой запрос RST пакетом, тем самым выдавая свое существование. + + Опция использует тот же порт по умолчанию, что и SYN запросы (80), и так же может + принимать в качестве параметра список портов в том же формате. Если эту опцию пытается использовать + непривилегированный пользователь или задана цель в формате IPv6, то используется механизм с использованием + вызова connect описанный выше. Этот механизм несовершенен, т.к. при + использовании вызова connect вместо ACK пакета посылается SYN. + + Причина, по которой Nmap предоставляет оба типа пингования (SYN и ACK), состоит в повышении шансов + обхода брандмауэров. Многие администраторы конфигурируют роутеры или другие простые брандмауэры на блокировку + входящих SYN пакетов за исключением тех, что предназначены для публичных служб, таких как веб сайт или + почтовый сервер. Тем самым предотвращаются все остальные соединения, и в то же время пользователи могут + беспрепятственно выходить в Интернет. Такой подход не требует много ресурсов от брандмауэров/роутеров и + широко поддерживается различными аппаратными и программными фильтрами. iptables + для реализации такого подхода имеет опцию . Когда брандмауэр использует такие правила, + то запросы с установленным флагом SYN (), посланные на закрытые порты, с большой + вероятностью будут заблокированы. В таких случаях более выгодно использовать запросы с флагом ACK, т.к. + они не попадают под эти правила. + + Другим популярным типом сетевого экрана является брандмауэр блокирующий все непредвиденные пакеты. + Изначально эта функция поддерживалась только в наиболее продвинутых брандмауэрах, хотя с годами она становится + все популярнее. Использующийся в Linux сетевой экран Netfilter/iptables реализует этот механизм с помощью + опции , которая категоризирует пакеты в зависимости от состояния соединения. Против + таких систем лучше использовать пакеты SYN, т.к. непредвиденные пакеты ACK с большой вероятностью будут + распознаны как фиктивные и заблокированы. Решение такого затруднительного положение состоит в том, чтобы + посылать и SYN и ACK запросы путем задания опций и . + + + + + + (UDP пингование) + + UDP ping + + + + Еще одной функцией используемой для обнаружения хостов является UDP пингование, которая посылает пустой + (пока не задана опция ) UDP пакет на данные порты. Список портов задается в том + же формает, что и для описанных выше опций и . Если порты не заданы, + то по умолчанию используется 31338. Порт по умолчанию может быть задан во время компиляции путем изменения + DEFAULT_UDP_PROBE_PORT_SPEC + DEFAULT_UDP_PROBE_PORT_SPEC + в nmap.h. + nmap.h + По умолчанию выбран не распростаненный порт, т.к. отправка запросов на открытые порты нежелательна для + этого типа сканирования. + + Целью запроса UDP является получение в ответ ICMP пакета с ошибкой "порт недостижим". Это указывает + Nmap на то, что машина работает и доступна. Другие типы ICMP ошибок, такие как хост/сеть недоступна или + превышение TTL указывают на то, что машина выключена или недоступна. Отсутствие ответа интерпретируется + этим же путем. Если такой запрос посылается на открытый порт, то большинство служб просто игнорируют пустой + пакет и не посылают никакого ответа. Поэтому портом по умолчанию является 31338, т.к. он вряд ли будет + использоваться какой-либо службой. Лишь некоторые службы, такие как Character Generator (chargen) protocol, + ответят на пустой UDP пакет, и это также укажет Nmap на то, что машина доступна. + + Основным преимуществом такого типа сканирования является то, что он позволяет обходить брандмауэры, + фильтрующие только TCP запросы. Например, однажды у меня был беспроводной широкополосный роутер + Linksys BEFW11S4. Внутренний интерфейс этого устройства фильтровал по умолчанию все TCP порты, в то время + как в ответ на UDP запросы посылалось сообщение об ошибке "порт недостижим", что делало его работу + бесполезной. + + + + + + + ; + ; + (Типы пинг пакетов ICMP) + + + + ICMP ping + + + + В дополнении к нестандратным методам обнаружения хостов с помощью TCP и UDP запросов, Nmap может + посылать и стандартные пакеты, используемые вездесущей программой + ping. Nmap посылает ICMP пакет типа 8 (эхо запрос) на целевой + IP адрес, ожидая в ответ от доступного хоста пакет типа 0 (эхо ответ). + ICMP echo К сожалению для сетевых исследователей, многие хосты и брандмауэры + теперь блокируют такие пакеты вместо того, чтобы ответить на них, как это требуется в + RFC 1122. По этой причине + сканеры использующе только ICMP запросы редко бывают полезны при сканировании неизвестных целей в Интернете. + Но они могут быть полезны системным администраторам, занимающимся мониторингом внутренней сети. Используйте + опцию , чтобы активировать такой тип сканирования. + + Но Nmap использует не только стандратный эхо запрос. В стандарте ICMP + (RFC 792) также определены + запросы временной метки, информационные запросы и запросы адресной маски с кодами 13, 15 и 17 соответственно. + Хотя они служат для того, чтобы узнать какую-либо информацию, такую как адресную маску или текущее время, они + могут быть легко применены для обнаружения целей. Система, которая отвечает на них, работает и доступна. В + настоящее время Nmap не использует информационные запросы, т.к. они не получиил широкого распространения. + Стандарт RFC 1122 наставивает на том, что хост НЕ ДОЛЖЕН посылать такие сообщения. Запросы + временной метки или адресной маски могут быть посланы путем задания опций и + соответственно. Ответ на запрос временной метки (ICMP код 14) или на запрос адресной + маски (код 18) указывают на то, что хост доступен. Эти запросы могут быть полезны, когда администраторы + блокируют пакеты эхо запросов, но забывают о том, что другие типы ICMP запросов могут быть использованы в + тех же целях. + + + + + + + (пингование с использованием IP протокола) + + IP protocol ping + + + + Новейшей опцией для обнаружения хостов является пингование с использованием IP протокола, которая + посылает IP пакеты с номером протокола, указанным в заголовке пакета. Список протоколов задается в том же + формате, что и список портов в описанных выше опциях обнаружения хостов с помощью протоколов TCP и UDP. Если + не указан ни один протокол, то по умолчанию будут использованы IP пакеты ICMP (протокол 1), + IGMP (протокол 2) и IP-in-IP (протокол 4). Протоколы по умолчанию могут быть заданы во время компиляции + путем изменения + DEFAULT_PROTO_PROBE_PORT_SPEC + DEFAULT_PROTO_PROBE_PORT_SPEC + в nmap.h. + nmap.h + Имейте в виду, что для ICMP, IGMP, TCP (протокол 6) и UDP (протокол 17), пакеты посылаются с "правильными" + заголовками протокола, в то время как для остальных протоколов пакеты посылаются без дополнительной + информации после IP заголовка (пока не задана опция ). + + При использовании этого метода ожидаются ответы по протоколу исходного запроса, либо ICMP сообщение + о недостижимости, что свидетельствует о том, что данный протокол не поддерживается удаленным хостом. Оба + варианта ответа означают, что целевой хост доступен. + + + + + + (ARP пингование) + + ARP ping + + + + Одной из наиболее популярных сфер применения Nmap является сканирование локальных сетей (LAN). В + большинстве локальных сетей, особенно тех, которые используют диапазоны частных адресов определенные в + RFC 1918, большое количество + IP адересов не используется в любой момент времени. Когда Nmap пытается послать сырой IP пакет, такой как + ICMP эхо запрос, операционная система должна определить MAC-адрес (ARP) соответствующий целевому IP, + чтобы правильно адресовать фрейм. Это часто бывает медленно и проблематично, т.к. операционные системы + не были написаны с учетом того, что им придется посылать миллионы ARP запросов недоступным хостам в + короткий промежуток времени. + + ARP сканирование позволяет Nmap вместо ARP запросов использовать свои собственные оптимизированные + алгоритмы. И если Nmap получает ответ, то ей даже нет необходимости беспокоиться о других типах обнаружения + хостов, основанных на IP пакетах. Этот делает ARP сканирование более быстрым и надежным. Поэтому оно + применяется по умолчанию для сканирования локальных сетей. Даже если указаны другие типы сканирования + (как или ), Nmap все равно использует ARP сканирование для + машин локальной сети. Если вы абсолютно не хотите использовать такой тип сканирования, то задайте опцию + . + + + + + + + (Отслеживать путь к хосту) + + traceroute + + + + +Отслеживание осуществляется после сканирования, используя результаты этого сканирования для определения порта и +протокола, с помощью которых можно будет достичь цели. Процедура работает со всеми типами сканирования кроме +сканирования с использованием системного вызова connect () и "ленивого" (idle) сканирования +(). Все отслеживания используют динамическую модель таймингов Nmap и осуществляются параллельно. + + + +Процедура отслеживания маршрута работает путем посылки пакетов с низким TTL (time-to-live (временем-жизни) в попытке +получить в ответ ICMP сообщение Time Exceeded (Превышение Времени Жизни) от промежуточных узлов между сканером и +целевым хостом. Стандартные реализации процедуры отслеживания маршрута начинают с TTL равным 1, а затем увеличивают +его до тех пор, пока не будет достигнут целевой хост. В реализации же этой процедуры в Nmap сначала устанавливается +высокий TTL, а затем TTL уменьшается, пока не станет равным 0. Это позволяет Nmap использовать "умные" алгоритмы +кэширования с целью увеличения скорости отслеживания маршрута. В среднем Nmap посылает 5-10 пакетов на хост, в +зависимости от условий в сети. В случае сканирования единственной подсети (напр. 192.168.0.0/24), возможно будет +необходимо послать только один пакет на каждый хост. + + + + + + (Показать причины состояний портов и хостов) + + + + + +Показывает информацию о причинах, по которым каждый порт установлен в какое-либо состояние, и по которым каждый хост +работает или нет. Эта опция выводит тип пакета, по которому было определено состояние порта или хоста. Например, +RST пакет от закрытого порта или эхо ответ от работающего хоста. Информация, которую +может предоставить Nmap, определяется типом сканирования или пингования. SYN сканирование и SYN пингование +( и ) описываются очень детально, а информация о сканировании с использованием TCP соединений () ограничена реализацией системного вызова +connect. Эта функция автоматически активируется при использовании опции отладки +()implied by , +и результаты ее работы хранятся в XML файлах, даже если эта опция не была задана. + + + + + + (Не производить разрешение DNS имен) + + + + + Указывает Nmap никогда не производить обратное разрешение DNS + reverse DNSdisabling with + имен каждого обнаруженного активного IP адереса. Преобразование DNS может быть + медленным даже со встроенным в Nmap параллельным преобразователем IP адресов, поэтому данная опция может + сократить время сканирования. + + + + + + (Производить разрешение DNS имен для всех целей) + + + + Указыват Nmap всегда производить обратное разрешение DNS имен для каждого целевого + IP адреса. Обычно DNS преобразование применяется только к доступным хостам. + + + + + + (Использовать системный DNS преобразователь) + + + + + По умолчанию Nmap преобразует IP адреса путем посылки запросов непосредственно серверам имен, указанным + в вашей системе, и последующим анализом ответов. Многие запросы (часто десятки) исполняются параллельно для + увеличения производительности. Задайте эту опцию, чтобы использовать ваш системный преобразователь IP адресов + (один IP адрес за один системный вызов getnameinfo). Это медленно и + редко бывает полезно, до тех пор, пока вы не найдете ошибку в параллельном преобразователе Nmap (если найдете, + известите нас, пожалуйста). Системный преобразователь всегда используется для сканирования с использованием + протокола IPv6. + IPv6limitations of + + + + + + + (Сервера для обратного разрешения DNS) + + + + + По умолчанию Nmap определяет DNS сервера (для разрашения rDNS) из вашего resolv.conf файла (Unix) или + из реестра (Win32). Вы можете использовать эту опцию для задания альтернативных серверов. Эта опция + игнорируется, если вы используете или сканирование по протоколу IPv6. + Использование нескольких DNS серверов частно увеличивает скорость сканирования, особенно если вы выбираете + официальные сервера для IP пространства вашей цели. Эта опция также может увеличить незаметность, т.к. ваши + запросы могут быть перенаправлены любым рекурсивным DNS сервером в Интернете. + + Эта опция также бывает полезна при сканировании частных сетей. Иногда лишь некоторые сервера имен + предоставляют правильную rDNS информацию, и вы можете даже не знать, где они. Вы можете просканировать сеть + на наличие открытого порта 53 (возможно с помощью фукнкции определения версии), затем попробовать составить + список () указывая по очереди все сервера имен в опции + до тех пор, пока не найдете тот, который работает. + + + + + + + + + + Основы сканирования портов + + Хотя Nmap постоянно наращивала функциональность, + изначально утилита разрабатывалась как эффективный сканер портов, + и она по-прежнему сохраняет свои основные функции. Простой командой nmap + цель сканирования будет произведено сканирование более чем + 1660 TCP портов на целевой машине. В то время как многие сканеры портов + традиционно разделяют все порты на закрытые и открытые, Nmap имеет более подробную шкалу деления. + Она подразделяет порты на шесть состояний: открыт, + закрыт, фильтруется, + не фильтурется, + открыт|фильтруется или + закрыт|фильтруется. + +Эти состояния не являются собственно характеристиками самих портов, а лишь описывают, как Nmap видит их. +Например, сканирование из той же сети, что и цель, может показать, что порт +135/tcp открыт, в то время как сканирование из Интернета в то же время и с теми же +опциями может показать, что порт фильтруется. + +Шесть состояний портов распознаваемых Nmap + + + open port state + открыт (open) + Приложение принимает запросы на TCP соединение или UDP пакеты на этот порт. + Обнаружение этого состояния обычно является основной целью сканирования. Люди разбирающиеся в безопасности знают, + что каждый открытый порт это прямой путь к осуществлению атаки. Атакующие хотят использовать открытые порты, а + администраторы пытаются закрыть их или защитить с помощью брадмауэров так, чтобы не мешать работе обычных + пользователей. Октрытые порты также интересны с точки зрения сканирования, не связанного с безопасностью, т.к. они + позволяют определить службы доступные в сети. + + + + closed port state + закрыт (closed) + + Закрытый порт доступен (он принимает и отвечает на запросы Nmap), но не используется каким-либо + приложением. Они могут быть полезны для установления, что по заданному IP адресу есть работающий хост (определение + хостов, ping сканирование), или для определения ОС. Т.к. эти порты достижимы, может быть полезным произвести + сканирование позже, т.к. некоторые из них могут открыться. Администраторы могут заблокировать такие порты с + помощью брандмауэров. Тогда их состояние будет определено как фильтруется, что обсуждается далее. + + + + filtered port state + фильтруется (filtered) + + Nmap не может определить, открыт ли порт, т.к. фильтрация пакетов не позволяет достичь запросам + Nmap этого порта. Фильтрация может осуществляться выделенным брадмауэром, правилами роутера или брандмауэром на + целевой машине. Эти порты бесполезны для атакующих, т.к. предоставляют очень мало информации. Иногда они отвечают + ICMP сообщениями об ошибке, такими как тип 3 код 13 (destination unreachable: communication administratively + prohibited (цель назначения недоступна: связь запрещена администратором)), но чаще встречаются фильтры, которые + отбрасывают запросы без предоставления какой-либо информации. Это заставляет Nmap совершить еще несколько + запросов, чтобы убедиться, что запрос был отброшен фильтром, а не затором в сети. Это очень сильно замедляет + сканирование. + + + unfiltered port state + не фильтруется (unfiltered) + Это состояние означает, что порт доступен, но Nmap не может определить открыт он или закрыт. + Только ACK сканирование, используемое для определения правил брандмауэра, может охарактеризовать порт этим состоянием. + Сканирование не фильтруемых портов другими способами, такими как Window сканирование, SYN сканирование или FIN + сканирование может помочь определить, является ли порт открытым. + + + + open|filtered port state + открыт|фильтруется (open|filtered) + Nmap характеризует порт таким состоянием, когда не может определить октрыт порт или фильтруется. + Это состояние возникает при таких типах сканирования, при которых открытые порты не отвечают. Отсутствие ответа + также может означать, что пакетный фильтр не пропустил запрос или ответ не был получен. Поэтому Nmap не может + определить наверняка открыт порт или фильтруется. При сканировании UDP, по IP протоколу, FIN, NULL, а также Xmas + порт может быть охарактеризован таким состоянием. + + + closed|filtered port state + закрыт|фильтруется (closed|filtered) + Это состояние используется, когда Nmap не может определить закрыт порт или фильтруется. + Используется только при сканировании IP ID idle типа. + + + + + Различные приемы сканирования портов + +Как новичок в автомобильном деле, я могу часами биться в попытках использовать свои элементарные инструменты +(молоток, клейкая лента, гаечный ключ и т.д.) для решения какой-либо проблемы. Когда все мои попытки с крахом +проваливаются, и я буксирую свою развалюху к настоящему механику, он неизменно достает из большой коробки с интрументами +какую-нибудь штуковину, и сразу складывается впечатление, что решение проблемы не требует много усилий. Искусство +сканирования портов очень на это похоже. Эксперты понимают дюжины различных приемов сканирования портов и выбирают для конкретной задачи подходящий (или комбинацию из нескольких). Неопытные пользователи и script kiddies, +script kiddies +пытаются решить все задачи с помощью используемого по умолчанию SYN сканирования. Т.к. Nmap является бесплатной, то +единственным барьером на пути к овладению техникой сканирования портов является знание. Это все же лучше чем в мире +автомобилей, где, когда вам наконец-то удается определить, что вам необходимо какое-либо устройство, вам еще надо +будет заплатить за него тысячу долларов. + +Большинство типов сканирования доступны только привилегированным пользователям, +privileged users +потому что посылаются и принимаются сырые пакеты, +raw packets +что требует прав пользователя root на Unix системах. Под Windows рекомендуется работать с учетной записью +администратора, хотя иногда Nmap работает и с непривилегированными пользователя, когда в ОС уже загружена утилита +WinPcap. Требование root привилегий было серьезным ограничением, когда Nmap была выпущена в свет в 1997, т.к. многие +пользователи имели доступ только к разделяемым аккаунтам. Сейчас мир изменился. Компьютеры стали дешевле, многие +пользователи имеют постоянный доступ в Интернет, а Unix системы для домашних компьютеров (включая Linux и Mac OS X) +теперь широко распространены. Также теперь доступна Windows версия Nmap, что позволяет запускать ее на еще большем +количестве компьютеров. По этим причинам, пользователям нет необходимости запускать Nmap с разделяемых аккаунтов. +Это большая удача, т.к. функции требующие привилегированного доступа делают Nmap намного более мощной и гибкой. + +Когда Nmap предпринимает попытку выдать правильные результаты, надо иметь ввиду, что вся информация базируется +на пакетах, возвращенных целевыми машинами (или брандмауэром перед ними). Такие хосты могут быть ненадежными и +посылать ответы с целью ввести Nmap в забдуждение. Намного более распространным случаем являются не совместимые с +RFC хосты, которые отвечают на запросы Nmap не так, как должны. Сканирования типа FIN, NULL и Xmas наиболее +восприимчивы к такого рода проблемам. Такие сложности специфичны только для определенных типов сканирования, и поэтому +обсуждаются в посвященных им разделах. + +В этом разделе описываются около дюжины способов сканирования портов поддерживаемых Nmap. В любой момент времени +вы можете использовать только один метод; исключение составляет UDP сканирование (), которое может +быть скомбинировано с любым типом TCP сканирования. В качестве памятки имейте ввиду, что различные опции сканирования +портов задаются в форме , где C это символ +из названия какого-либо типа сканирования, обычно первый. Единственное исключение это FTP bounce сканирование +(). По умолчанию Nmap осуществляет SYN сканирование; этот тип сканирования заменяет сканирование с +использованием соединения для пользователей не имеющих достаточных привилегий для отправки сырых пакетов (требует +root доступа в Unix), или если были заданы цели в формате IPv6. Среди описанных ниже типов сканирования, +непривилегированные пользователи могут осуществлять только сканирование с использованием соединения и FTP bounce +сканирование. + + + + + (TCP SYN сканирование) + + SYN scan + + + +SYN это используемый по умолчанию и наиболее популярный тип сканирования. На то есть несколько причин. Он может +быть быстро запущен, он способен сканировать тысячи портов в секунду при быстром соединении, его работе не препятствуют +ограничивающие бранмауэры. Этот тип сканирования относительно ненавящив и незаметен, т.к. при таком сканировании TCP +соединение никогда не устанавливается до конца. Он работает с любым TCP стеком, не завися от каки-либо особенностей +специфичной платформы, как это происходит при сканированиях типа FIN/NULL/Xmas, Maimon и idle сканировании. Он также +предоставляет ясную и достоверную дифференциацию между состояниями открыт, +закрыт и фильтруется. + +Эту технику часто называют сканированием с использованием полуотрытых соединений, т.к. вы не открываете +полного TCP соединения. Вы посылаете SYN пакет, как если бы вы хотели установить реальное соединение и ждете. Ответы +SYN/ACK указывают на то, что порт прослушивается (открыт), а RST (сброс) на то, что не прослушивается. Если после +нескольких запросов не приходит никакого ответа, то порт помечается как фильтруемый. Порт также помечается как +фильтруемый, если в ответ приходит ICMP сообщение об ошибке недостижимости (тип 3, код 1,2, 3, 9, 10 или 13). + + + + + + + (TCP сканирование с использованием системного вызова connect) + + connect scan + + +Это используемый по умолчанию тип TCP сканирования, когда недоступно SYN сканирование. Это происходит в случае, +когда у пользователя нет привилегий для использования сырых пакетов или при сканировании IPv6 сетей. Вместо того, +чтобы использовать сырые пакеты, как это происходит при большинстве других типов сканирования, Nmap "просит" +операционную систему установить соединение с целевой машиной по указанному порту путем системного вызова +connect. Это такой же высокоуровневый системный вызов, используемый браузерами, +P2P клиентами и другими приложениями для установки соединения. Этот вызов является частью программируемого интерфейса, +известного как Berkeley Sockets API. Вместо того, чтобы считывать ответы в форме сырых пакетов, Nmap использует этот +API для получения информации о статусе каждой попытки соединения. + +При доступности SYN сканирования, оно, безусловно, будет являться лучшм выбором. У Nmap имеется меньше +возможностей контролирования высокоуровнего вызова connect по сравнению с +сырыми пакетами, что делает его менее эффективным. Системный вызов завершает соединения по открытым портам, вместо +того, чтобы использовать полуоткрытые соединения, как в случае с SYN сканированием. Таким образом на получение +той же самой информации потребуется больше времени и пакетов, да к тому же целевые машины скорее всего запишут это +соединение в свои логи. То же самое сделает и порядочная IDS, хотя большинство машин не имеют такой системы защиты. +Многие службы на вашей Unix системе будут добавлять запись в системный лог (syslog), а также сообщение об ошибке, +когда Nmap будет устанавливать и закрывать соединение без отправления данных. Некоторые службы даже аварийно завершают +свою работу, когда это происходит, хотя это не является обычной ситуацией. Администратор, который увидит в логах +группу записей о попытке установки соединения от одной и той же системы, должен знать, что его машина подверглась +такому типу сканирования. + + + + + + + (Различные типы UDP сканирования) + +UDP scan + + + +В то время как большинство сервисов Интернета используют TCP протокол, +UDP службы также широко распространены. +Тремя наиболее популярными являются DNS, SNMP и DHCP (используют порты 53, 161/162 и 67/68). Т.к. UDP сканирование +в общем случае медленнее и сложнее TCP, то многие специалисты по безопасности игнорируют эти порты. Это является +ошибкой, т.к. существуют UDP службы, которые используются атакующими. К счастью, Nmap позволяет инвентаризировать UDP +порты. + +UDP сканирование запускается опцией . Оно может быть скомбинировано с каким-либо типом TCP +сканирования, например SYN сканирование (), чтобы использовать оба протокола за один проход. + +UDP сканирование работает путем посылки пустого (без данных) UDP заголовка на каждый целевой порт. Если в ответ +приходит ICMP ошибка о недостижимости порта (тип 3, код 3), значит порт закрыт. +Другие ICMP ошибки недостижимости (тип 3, коды 1, 2, 9, 10 или 13) указывают на то, что порт +фильтруется. Иногда, служба будет отвечать UDP пакетом, указывая на то, что порт +открыт. Если после нескольких попыток не было получено никакого ответа, то порт +классифицируется как открыт|фильтруется. Это означает, что порт может быть открыт, +или, возможно, пакетный фильтр блокирует его. Функция определения версии () может быть полезна +для дифференциации действительно открытых портов и фильтруемых. + +Большой проблемой при UDP сканировании является его медленная скорость работы. Открытые и фильтруемые порты редко +посылают какие-либо ответы, заставляя Nmap отправлять повторные запросы, на случай если пакеты были утеряны. Закрытые +порты часто оказываются еще большей проблемой. Обычно они в ответ возвращают ICMP ошибку о недостижимости порта. Но в +отличии от RST пакетов отсылаемых закрытыми TCP портами в ответ на SYN или сканирование с установкой соединения, многие +хосты ограничивают лимит rate limiting +ICMP сообщений о недостижимости порта по умолчанию. Linux и Solaris особенно строги в этом плане. Например, ядро +Linux 2.4.20 огранивает количество таких сообщений до одного в секунду (в +net/ipv4/icmp.c). + +Nmap обнаруживает такого рода ограничения и соответственно сокращает количество запросов, чтобы не забивать +сеть бесполезными пакетами, которые все равно будут отброшены целевой машиной. К сожалению, при ограничении в стиле +Linux (один пакет в секунду) сканирование 65,536 портов займет более 18 часов. К способам увеличения скорости UDP +сканирования относятся: параллельное сканирование нескольких хостов, сканирование в первую очередь только наиболее +популярных портов, сканирование из-за брандмауэра и использование дял пропуска +медленных хостов. + + + + + + + ; ; (TCP NULL, FIN и Xmas сканирования) + + + +NULL scan +FIN scan +Xmas scan + + + +Эти три типа сканирования используют (другие типы сканирования доступны с использованием опции + описанной в другой секции) +незаметную лазейку в TCP RFC, чтобы +разделять порты на открытые и закрытые. На +странице 65 RFC 793 говорится, что если порт назначения ЗАКРЫТ .... входящий сегмент не содержащий RST повлечет +за собой отправку RST в ответ. На следующей странице, где обсуждается отправка пакетов без установленных +битов SYN, RST или ACK, утверждается что: вы вряд ли с этим столкнетесь, но если столкнетесь, то сбросьте +сегменти и вернитесь к исходному состоянию. + +Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или +ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт +открыт. Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться +правильной. Nmap использует это в трех типах сканирования: + + + Null сканирование () + Не устанавливаются никакие биты (Флагов в TCP заголовоке 0) + + FIN сканирование () + Устанавливается только TCP FIN бит. + + Xmas сканирование () + Устанавливаются FIN, PSH и URG флаги. + + +Эти три типа сканирования работают по одной схеме, различия только в TCP флагах установленных в пакетах запросов. +Если в ответ приходит RST пакет, то порт считается закрытым, отсутствие ответа +означает, что порт открыт|фильтруется. Порт помечается как +фильтруется, если в ответ приходит ICMP ошибка о недостижимости (тип 3, код +1, 2, 3, 9, 10 или 13). + +Ключевой особенностью этих типов сканирования является их способность незаметно обойти некоторые не учитывающие +состояние (non-stateful) брандмауэры и роутеры с функцией пакетной фильтрации. Еще одним преимуществом является то, что +они даже чуть более незаметны, чем SYN сканирование. Все же не надо на это полагаться - большинство современных IDS +могут быть сконфигурированы на их обнаружение. Большим недостатком является то, что не все системы следуют RFC 793 +дословно. Некоторые системы посылают RST ответы на запросы не зависимо от того, открыт порт или закрыт. Это приводит +к тому, что все порты помечаются как закрытые. Основными системами ведущими себя +подобным образом являются Microsoft Windows, многие устройства Cisco, BSDI и IBM OS/400. Хотя такое сканирование +применимо к большинству систем, основанных на Unix. Еще одним недостатком этих видов сканирования является их +неспособность разделять порты на открытые и +фильтруемые, т.к. порт помечается как +открыт|фильтруется. + + + + + + + (TCP ACK сканирование) + + ACK scan + + + +Этот тип сканирования сильно отличается от всех других тем, что он не способен определить открый порт +open (или даже открытый|фильтруемый). Он +используются для выявления правил брандмауэров, определения учитывают ли он состояние или нет, а также для определения +фильтруемых ими портов. + +Пакет запроса при таком типе сканирования содержит установленным только ACK флаг (если не используется +). При сканировании нефильтруемых систем, +открытые и закрытые порты оба будут возвращать +в ответ RST пакет. Nmap помечает их как не фильтруемые, имея ввиду, что они +достижимы для ACK пакетов, но неизвестно открыты они или +закрыты. Порты, которые не отвечают или посылают в ответ ICMP сообщение об ошибке +(тип 3, код 1, 2, 3, 9, 10 или 13), помечаются как фильтруемые. + + + + + + + (TCP Window сканирование) + +window scan + + + +Этот тип сканирования практически то же самое, что и ACK сканирование, за исключением того, что он использует +особенности реализации различных систем для разделения портов на открытые и закрытые, вместо того, чтобы всегда при +получении RST пакета выводить не фильтруется. Это осуществляется путем анализа +TCP Window поля полученного в ответ RST пакета. В некоторых системах открытые порты используют положительное значение +этого поля (даже в RST пакетах), а закрытые - нулевое. Поэтому вместо того, что все время при получении RST пакета в +ответ помечать порты как не фильтруемые, при Window сканировании порты помечаются +как открытые или закрытые, если значение поля +TCP Window положительно или равно нулю соответственно. + +Этот тип сканирования основывается на особенностях реализации меньшинства систем в Интернете, поэтому вы не +можете все время доверять ему. В общем случае в системах, не имеющих таких особенностей, все порты будут помечаться +как закрытые. Конечно, это возможно, что у машины действительно нет открытых портов. +Если большинство просканированных портов закрыты, и лишь несколько распространненых +портов (таких как 22, 25, 53) фильтруются, то скорее всего результатам сканирования +можно доверять. Иногда, системы будут вести себя прямо противоположным образом. Если в результате сканирования будет +найдено 1000 открытых портов и 3 закрытых или фильтруемых, то как раз эти 3 могут оказаться действительно открытыми. + + + + + + + + (TCP сканирование Мэймона (Maimon)) + +Maimon scan + + + +Этот тип сканирования носит имя своего первооткрывателя, Уриела Мэймона (Uriel Maimon). +Maimon, Uriel +Он описал эту технику в журнале Phrack Magazine, выпуск #49 (Ноябрь 1996). +Phrack +Версия Nmap с поддержкой этого типа сканирования была выпущена через два номера. Техника практически такая же как и +при NULL, FIN и Xmas сканированиях, только в качестве запросов используются запросы FIN/ACK. Согласно +RFC 793 (TCP), в ответ на такой запрос +должен быть сгенерирован RST пакет, если порт открыт или закрыт. Тем не менее, Уриел заметил, что многие BSD системы +просто отбрасывают пакет, если порт открыт. + + + + + + + (Заказное TCP сканирование) + + + + +Действительно продвинутым пользователям Nmap не нужды ограничивать себя заранее приготовленными типами +сканирования. С помощью опции вы можете разработать свой тип сканирования путем задания +специфичных TCP флагов.TCP flags +Используйте свое воображение, обходя системы обнаружения вторжений, чьи производители просто просмотрели справочное +руководство Nmap, путем задания собственных правил!intrusion detection systemsevading + +Аргументом опции может быть числовое значение, например, 9 (PSH и FIN флаги), но +использование символьных имен намного проще. Используйте любые комбинации URG, +ACK, PSH, +RST, SYN и +FIN. Например, опцией будут установлены все флаги, хотя это и не очень полезно для сканирования. Порядок задания +флагов не имеет значения. + +В добавлении к заданию желаемых флагов, вы также можете задать тип TCP сканирования (например, + или ). Это укажет Nmap на то, как необходимо интерпретировать ответы. +Например, при SYN сканировании отсутствие ответа указывает на фильтруемый порт, +тогда как при FIN сканировании - на открытый|фильтруемый. Nmap будет осуществлять +заданный тип сканирования, но используя указанные вами TCP флаги вместо стандартных. Если вы не указываете тип +сканирования, то по умолчанию будет использоваться SYN. + + + + + + + ("ленивое" idle сканирование) + + idle scan + + + + + Этот продвинутый метод сканирования позволяет осуществить действительно незаметное TCP сканирование + портов цели (имеется ввиду, что никакие пакеты не отсылаются на целевую машину с вашего реального IP адерса). + Вместо этого, на зомби машине используется предсказуемая последовательность генерации ID IP фрагментов для + сбора информации об открытых портах цели. Системы IDS будут считать, что сканирование производится с + заданной вами зомби машины (которая должна работать и удовлетворять определенным критериям). + Этот тип сканирования слишком сложен для описания в этом справочном руководстве, поэтому я написал и выложил + подробное описание на . + + Подробное описание этого типа сканирования смотрите на . + + + + Помимо его незаметности (в силу своей природы), этот тип сканирования также позволяет определять + основанные на IP доверительные отношения между машинами. Список открытых портов показывает открытые порты + с точки зрения зомби машины. Поэтому вы можете попробовать просканировать цель + используя различные зомби машины, которым, вы считаете, возможно будут доверять + trust relationships + (посредством правил роутера/пакетного фильтра). + + + Вы можете добавить номер порта после двоеточия к зомби хосту, если хотите использовать конкретный + порт. По умолчанию будет использоваться порт 80. + + Порты также могут быть заданы именами, которым они соответствуют в файле + nmap-services. Вы даже можете использовать шаблоны * и ? в именах. + Например, чтобы просканировать ftp и все порты начинающиеся с http используйте . + В таких случаях лучше брать аргументы -p в кавычки. + + Диапазоны портов заключаются в квадратные скобки; будут просканированы порты из этого диапазона, + встречающиеся в nmap-services. + Например, с помощью следующей опции будут просканированы все порты из + nmap-services равные или меньше 1024: . + В таких случаях лучше брать аргументы -p в кавычки. + + + + + + (Сканирование IP протокола) + + IP protocol scan + + + +Сканирование такого типа позволяет определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются +целевыми машинами. Технически такое сканирование не является разновидностью сканирования портов, т.к. при нем +циклически перебираются номера IP протоколов вместо номеров TCP или UDP портов. Хотя здесь все же используется опция + для выбора номеров протоколов для сканирования, результаты выдаются в формате таблицы портов, и +даже используется тот же механизм сканирования, что и при различных вариантах сканирования портов. Поэтому он +достаточно близок к сканированию портов и описывается здесь. + +Помимо полезности непосредственно в своей сфере применения, этот тип сканирования также демонстрирует всю мощь +открытого программного обеспечения (open-source software). Хотя основная идея довольна проста, я никогда не думал +включить такую функцию в Nmap, и не получал запросов на это. Затем, летом 2000-го, Джерард Риджер (Gerhard Rieger) +Rieger, Gerhard +развил эту идею, написал превосходный патч воплощающий ее и отослал его на +nmap-hackers рассылку.nmap-hackers mailing list +Я включил этот патч в Nmap и на следующий день выпустил новую версию. Лишь единицы комерческого программного обеспечения +могут похвастаться пользователями, достаточно полными энтузиазма для разработки и предоставления своих улучшений! + +Способ работы этого типа сканирования очень похож на реализованный в UDP сканировании. Вместо того, чтобы +изменять в UDP пакете поле, содержащее номер порта, отсылаются заголовки IP пакета, и изменяется 8 битное поле IP +протокола. Заголовки обычно пустые, не содержащие никаких данных и даже правильного заголовка для требуемого протокола. +Исключениями явлются TCP, UDP и ICMP. Включение правильного заголовка для этих протоколов необходимо, т.к. в обратном +случае некоторые системы не будут их отсылать, да и у Nmap есть все необходимые функции для их создания. Вместо того, +чтобы ожидать в ответ ICMP сообщение о недостижимости порта, этот тип сканирования ожидает ICMP сообщение о +недостижимости протокола. Если Nmap получает любой ответ по любому протоколу, то протокол +помечается как открытый. ICMP ошибка о неостижимости протокола (тип 3, код 2) +помечает протокол как закрытый. Другие ICMP ошибки недостижимости (тип 3, код +1, 3, 9, 10 или 13) помечают протокол как фильтруемый (в то же время они показывают, +что протокол ICMP открыт). Если не приходит никакого ответа после нескольких +запросов, то протокол помечается как открыт|фильтруется. + + + + + + + + + (FTP bounce сканирование) + + FTP bounce scan + + + +Интересной возможностью FTP протокола (RFC 959) является поддержка так называемых прокси FTP соединений. Это позволяет пользователю подключиться к одному +FTP серверу, а затем попросить его передать файлы другому. Это является грубым нарушением, поэтому многие сервера +прекратили поддерживать эту функцию. Используя эту функцию, можно осуществить с помощью данного FTP сервера +сканирование портов других хостов. Просто попросите FTP сервер переслать файл на каждый интересующий вас порт целевой +машины по очереди. Сообщение об ошибке укажет: открыт порт или нет. Это хороший способ обхода брандмауэров, т.к. +организационные FTP сервера обычно имеют больше доступа к другим внутренним хостам, чем какие-либо другие машины. +В Nmap такой тип сканирования задается опцией . В качестве аргумента ей передается +имя_пользователя:пароль@сервер:порт. +Сервер - это сетевое имя или IP адрес FTP сервера. Как и в случае в обычными URL, вы можете опустить имя_пользователя:пароль, тогда будут использованы +анонимные данные (пользователь: anonymous +пароль:-wwwuser@). Номер порта (и предшествующее ему двоеточие) также можно не +указывать; тогда будет использован FTP порт по умолчанию (21) для подключения к серверу. + + +Эта уязвимость была широко распространена в 1997, когда была выпущена Nmap, но теперь почти везде исправлена. +Уязвимые сервера по-прежнему есть, так что, если ничего другое не помогает, то стоит попробовать. Если вашей целью +является обход бранмауэра, то просканируйте целевую сеть на наличие открытого порта 21 (или даже на наличие любых +FTP служб, если вы используете определение версии), а затем попробуйте данный тип сканирования с каждым из найденных. +Nmap скажет вам, уязвим хост или нет. Если вы просто пытаетесь замести следы, то вам нет необходимости (и, фактически, +не следует) ограничивать себя только хостами целевой сети. Перед тем как вы начнете сканировать произвольные Интернет +адреса на наличие уязвимого FTP сервера, имейте ввиду, что многим системным администраторам это не понравится. + + + + + + + + Определение портов и порядка сканирования + port specification + + В дополнении ко всем методам сканирования описанными ранее, Nmap предлагает опции для определения портов + для сканирования, а также порядка сканирования: произвольного или последовательного. По умолчанию, Nmap сканирует + все порты до 1024 включительно, а также все порты с большими номерами упомянутыми в файле nmap-services для протокола, по которому идет сканирование. + default ports + + + + + + (Сканирование только определенных портов) + + + + + + С помощью этой опции вы можете определить, какие порты вы хотите просканировать и переопределить + установки по умолчанию. Указание отдельных номеров портов допустимо, как и задание диапазонов портов + разделенных дефисом (напр. 1-1023). Начальные и/или кончные значения + диапазонов могут быть опущены, что заставит Nmap использовать 1 и 65535 соответственно. Поэтому вы можете + задать опцию , чтобы просканировать все порты от 1 до 65535. Сканирование нулевого + порта допустимо, если вы укажене его явно + port zero. + Для сканирования по IP протоколу (), эта опция определяет номера протоколов, которые + вы хотите просканировать для диапазона (0-255). + + Когда сканируете и TCP и UDP порты, вы можете задать определенный протокол указав перед номерами + портов T: + или U:. Определитель будет действовать до того момента, пока вы не + зададите другой. Например, при задании аргумента будут просканированы UDP + порты 53,111, и 137, а также все перечисленные TCP порты. Имейте в виду, что для сканирования и UDP и + TCP портов, вы должны указать опцию и, по крайне мере, один из типов сканирования TCP + (таких как , или ). Если определитель прокотола + не указан, то перечисленные порты будут добавлены ко всем протоколам. + + + port specificationwildcards in + Порты также могут быть заданы именами, которые указаны в + nmap-services. Вы даже можете использовать символы ? и * с именами. + Например, чтобы просканировать FTP и все порты, чьи имена начинаются с http, используйте + . Будьте осторожны при вводе этой команды и лучше заключите аргумент + в кавычки. + + Диапазоны портов могут быть заключены в квадратные скобки, чтобы определить порты внутри этого + диапазона, которые упомянуты в nmap-services. + Например, с помощью следующей команды будут просканированы все порты из + nmap-services равные или меньшие 1024: + . Будьте осторожны при вводе этой команды и лучше заключите аргумент + в кавычки. + + + + + + (Быстрое (ограниченные порты) сканирование) + + + + Указывает, что вы хотите произвести сканирование только портов, указанных в + nmap-services, который поставляется вместе с Nmap (или в файле + протоколов для ). Это намного быстрее, чем сканировать все 65535 портов целевой машины. + Т.к. этот список содержит много TCP портов (больше 1200), разница в скорости в отличии от TCP сканирования + по умолчанию (около 1650 портов) несущественна. Разница может быть огромна, если вы определите свой + небольшой nmap-services файл используя + + или опции. + + + + + + + (Не использовать случайный порядок портов) + + randomization of ports + + + По умолчанию, Nmap использует произвольный порядок сканирования портов (исключение составляют лишь + наиболее часто употребляемые порты, которые расположены в начале списка сканирования по причинам + эффективности). Обычно эта случайность нужна, но вы можете задать опцию , чтобы + использовать прямой порядок сканирования. + + + + + + + + + --port-ratio + Сканирует все порты из nmap-services, чей рейтинг больше числа, + указанного как аргумент (только для нового формата nmap-services). + + + + + + + + + --top-ports + Сканирует N портов с наибольшими рейтингами, расположенными в + nmap-services файле (только для нового формата + nmap-services). + + + + + + + + + + Обнаружение служб и их версий + version detection + + + При сканировании удаленной машины Nmap может выдать, что порты + 25/tcp, 80/tcp, и + 53/udp открыты. Используя свою базу данных + nmap-servicesnmap-services, + состоящюю из около 2200 известных служб, + well-known ports + Nmap сообщит, что эти порты вероятно соответстуют почтовому серверу (SMTP), веб серверу (HTTP), + и серверу доменных имен (DNS) соответственно. Эта информация обычно верна, т.к. подавляющее большинство служб, + использующих 25 TCP порт, фактически, почтовые сервера. Тем не менее, вам не следует полностью полагаться на эту + информацию! Люди могут и запускают службы с использованием нестандартных портов. + non-standard ports + + + Даже если Nmap права, и на какой-либо гипотетической машине упомянутой выше запушены SMTP, HTTP и DNS + сервера, это не так уж и много информации. Когда производится сканирование с целью обнаружения уязвимостей + (или же просто определение структуры сети) компьютеров ваших компаний или клиентов, вам хочется знать, какие точно + почтовые и DNS сервера и какие версии используются. Знание точной версии очень помогает в определении, к каким + эксплоитам сервер наиболее уязвим. Эту информацию вы можете получить с помощью задания опции определения версии. + + + После того как какие-либо TCP и/или UDP были обнаружены, Nmap начинает "опрашивать" эти порты, чтобы + определить, какие же приложения (службы) их действительно используют. База данных + nmap-service-probesnmap-service-probes + содержит запросы для обращения к различным службам и соответствующие выражения для распознавания и анализа ответов. + Nmap пытается определить протоколо службы (напр. FTP, SSH, Telnet, HTTP), имя приложения (e.g. ISC + BIND, Apache httpd, Solaris telnetd), номер версии, имя хоста, тип устройства (напр. принтер, роутер), + семейство ОС (напр. Windows, Linux) и иногда различные детали типа возможно ли соединится с X сервером, + версию протокола SSH, или имя пользователя KaZaA. Конечно же, большинство служб не предоставляют такую информацию. + Если Nmap была скомпилирована с поддержкой OpenSSL, Она соединится с сервером SSL, чтобы попытаться определить + запущенные службы, работающие за зашифрованным слоем. + SSLin version detection + Когда обнаружены службы RPC, удет автоматически задействована опция Nmap + RPC grinder () + + для определения программы RPC и ее версии. После сканирования портов UDP некоторые из них характеризуются как + открыт|фильтруется, если сканирование не может определить открыт порт или + фильтруется. С заданной опцией определения версии Nmap попытается получить ответ от таких портов (точно так же как + она поступает с открытыми портами), и, в случае успеха, поменяет состояние этого порта на открыт + открытые|фильтруемые TCP порты обрабатываются так же. Имейте в виду, что + опция Nmap помимо других команд активирует также и обнаружение версии. + + Бумажная документация по работе, использованию и настройке опции обнаружения версии доступна на + . + + + Опция обнаружения версии подробнее рассматривается в . + + + + Когда Nmap получает ответы от службы, но не может сопоставить их с какой-либо записью в своей базе данных, + она выводит на экран специальную информацию и URL, по которому вы можете опубликовать эту информацию, если вы точно + уверены, что за служба запущена на исследуемом вами порте. Пожалуйста, потратьте пару минут на публикацию этой + информации, т.к. ваша находка поможет остальным. Благодаря таким публикациям, Nmap содержит в своей базе данных + около 3000 записей для более чем 350 протоколов, таких как SMTP, FTP, HTTP и т.д. + submission of service fingerprints + + + Функция определения версии включается и управляется с помощью следующих опций: + + + + + + + (Определение версии) + + + + + Включает функцию определения версии, работа которой описана выше. Вы также можете использовать + опцию , которая помимо других функций включает определение версии. + + + + + + + (Не исключать порты из проверки определения версии) + + + + + По умолчанию, функция определения версии пропускает TCP порт 9100, + потому что некоторые принтеры просто распечатывают все, что приходить на этот порт, что ведет к + дюжинам страниц HTTP GET запросов, бинарных запросов SSL сессий т.д. Это может быть изменено путем + модифицирования или удаления директивы Exclude + в nmap-service-probes, или вы можете задать опцию + , сканированить все порты не обращая внимания на всякие + Exclude директивы. + Exclude directive (nmap-service-probes) + + + + + + + (Устанавливает интенсивность + работы функции) + + + + + + Когда производится сканирование с заданной опцией определения версии + (), Nmap посылает серию запросов, каждому из которых присваивается значение в диапазоне + от 1 до 9. Запросы с низкими значениями эффективны для большинства типичных служб, в то время как запросы + с более высокими значениями редко применяются на практике. Уровень интенсивности определяет, какие запросы + должны использоваться во время сканирования. Чем выше значение запроса, тем больше вероятность корректного + определения службы. Тем не менее, сканирование с высокой интенсивностью займет много времени. Уровень + интенсивности должна быть задана числом от 0 до 9. + version detectionintensity + По умолчанию уровень интенсивности равен 7. + version detectiondefault intensity + Когда запрос привязан к целевому порту посредством директивы + nmap-service-probes ports, + этот запрос будет производиться вне зависимости от уровня интенсивности. Это гарантирует, что DNS + запросы всегда будут производится с использование порта 53, SSL запросы - 443 и т.д. + + + + + + + (Включить облегченный режим) + + + + + Это не что иное как псевдоним для . Этот режим существенно + уменьшает время сканирования, но вероятность определения служб сокращается. + + + + + + (Использовать каждый единичный запрос) + + + + + Псевдоним для , гарантирующий что каждый единичный запрос + будет направлен на каждый порт. + + + + + + (Отслеживание процесса сканирования) + + + + Указывает Nmap выводить подробную отладочную информацию о процессе сканирования. Это часть той + информации, которую вы можете получить с помощью опции . + + + + + + (RPC сканирование) + + RPC scanRPC grinder + RPC grinder + + + + Этот метод работает в связке с различными методами сканирования портов Nmap. При включении этой опции + на все обнаруженные открытые TCP/UDP порты посылатеся множество NULL команд программы SunRPC + в попытке определить, являются ли эти порты RPC портами, и если так, то какими программами (а также их версии) + они используются. Таким образом, вы можете получить ту же информацию как и в случае использования команды + rpcinfo -p, даже если целевой сервер портмаппинга (portmapper) находится + за брандмауэром (или защищен TCP фильтром). На сегодняшний момент ловушки со сканированием RPC не работают + decoyswhich scans use + Эта опция автоматически активируется как часть сканирования с функцией определения версии + (). Т.к. это включено в функцию определения версии и более детально проработано, + то опция нужна очень редко. + + + + + + + + + + Определение ОС + OS detection + + Одна из наиболее известных функциональных возможностей Nmap это удаленное определение ОС на основе + анализа работы стека TCP/IP. Nmap посылает серию TCP и UDP пакетов на удаленный хост и изучает практически + каждый бит в ответах. После проведения дюжины тестов таких как TCP ISN выборки, поддержки опций TCP, IP ID + выборки, и анализа продолжительности процедуры инициализации, Nmap сравнивает результаты со своей + nmap-os-dbnmap-os-db базой данных, состоящей из более чем тысячи известных наборов + типичных результатов для различных ОС и, при нахождении соответствий, выводит информацию об ОС. Каждый набор + содержит свободное текстовое описание ОС и классификацию, в которой указаны название производителя (напр. Sun), + название ОС (напр. Solaris), поколение ОС (напр. 10), и тип устройства (). + OS, and a classification which provides the vendor name + (e.g. Sun), underlying OS (e.g. Solaris), OS generation (e.g. 10), + and device type (для общих целей, роутер, коммутатор (switch), игровая консоль и т.д.). + + Если Nmap не может определить ОС, но для этого есть хорошие предпосылки (наприме, по крайней мере, + найдены один открытый и один закрытый порты), то Nmap предоставит URL, по которому, если вы точно знаете, + какая ОС используется, вы сможете предоставить набор ее характеристик. Тем самым вы внесете свой вклад в дополнение + базы данных известных ОС Nmap, и она будет более полезна для всех остальных. + + Опция определения ОС также активирует проведение некоторых других тестов, которые позволяют воспользоваться + собираемой в процессе работы информацией. Один из них Классификация Предсказуемости Последовательности TCP + (TCP Sequence Predictability Classification). Это позволяет приблизительно определить, насколько сложно установить + ложное TCP соединение с удаленным хостом. Это может быть полезно для взлома и эксплуатации программ, базирующихся + на доверительных отношениях (rlogin, фильтры брандмауэров и т.д.) или для сокрытия источника атаки. Этот тип + спуфинга (spoofing) теперь редко используется, но многие машины все еще уязвимы к такого рода атакам. Число, + характеризующее сложность, базируется на статистической выборке и может колебаться. Обычно лучше испльзовать + классификацию с испльзованием английских фраз типа + worthy challenge(достойное испытание) или trivial joke(шуточное дело). Эта + информация будет выведена только при включенном вербальном режиме (). Когда вербальный режим + активирован вместе с опцией , то выводится также информация о генарции IP ID последовательности. + Большинство машин находятся в классе incremental(возрастающий), что означает, что они увеличивают + поле ID в IP заголовке для каждого посланого пакета. Это делает их уязвимыми к спуфинг(spoofing) атакам и атакам + с целью сбора расширенной информации. + + uptime guess + + Также во время определения ОС делается попытка узнать время работы целевой машины. С помощью временных меток + (timestamp) TCP (RFC 1323) Nmap + пробует угадать, когда машина была перезагружена в последний раз. Информация может быть не точна, т.к. счетчик + временной метки не был обнулен или был переполнен, или каким-то образом скрыт. Информация выводится только в + вербальном режиме. + + + + Бумажная документация по работе, использованию и настройки опции определения ОС находится на + . + + + Опция определения ОС рассмотрена в . + + + + Функция определения ОС включается и управляется с помощью следующих опций: + + + + + (Включить определение ОС) + + + + + + Включает фукнцию определения ОС, работа которой описана выше. Вы также можете использовать + опцию , которая помимо других функций включает определение ОС. + + + + + + + (Использовать функцию определения ОС только для "перспективных" хостов) + + + + + Функция определения ОС намного более эффективна, если обнаружены, по крайней мере, один открытый и один + закрытый TCP порты. Задайте эту опцию, и Nmap не будет даже пытаться определить ОС хостов, не удовлетворяющих + этому критерию. Это поможет сэкономить массу времени, особенно при сканирование многих + хостов. Эта опция будет действовать только при включении функции ОС путем задания опций + или . + + + + + + ; (Угадать результаты определения ОС) + + + + + + Когда Nmap не в состоянии определеить точное совпадение, она иногда предоставляет наиболее близкие + к результатам сканирования совпадения. Чтобы Nmap сделала это по умолчанию, совпадения должны быть очень + близки. Любая их этих (равных) опций побуждает Nmap к более агрессивному анализу результатов. Nmap + по-прежнему будет сообщать, когда будет найдено не идеальное совпадение, а также отображать стпень + соответствия (в процентах) для каждого набора характеристик. + + + + + + (Устанавливает максимальное количество попыток определения ОС) + + + + + + Когда Nmap пытается определить ОС на целевом хосте и не может найти идеального соответствия результатов, + то она обычно повторяет попытку. По умолчанию, Nmap совершает пять попыток при условии, что существуют + благоприятные условия для определения ОС, и дважды - в противном случае. Задание более низкого значения + (напр. 1) увеличивает скорость работы Nmap, однако вы пропускаете некоторые + записи, с помощью которых, возможно, можно было бы определить ОС. Большое значение может быть задано для + разрешения большего количества попыток при благоприятных условиях. Это делается редко, за исключением тех + случаев, когда необходимо сгенерировать более детальный набор характеристик ОС для занесения в базу данных + Nmap. + + + + + + + + + Скриптовый движок Nmap(NSE - Nmap Scripting Engine) + Nmap Scripting Engine (NSE) + + Скриптовый движок Nmap (NSE) это одна из наиболее мощных и гибких возможностей Nmap. Он позволяет + пользователям писать (и делиться ими) простые скрипты (используя + язык программирования Lua, + Lua programming language) для автоматизации + широкого круга сетевых задач. Эти скрипты выполняются со скоростью и эффективность ожидаемой вами от Nmap. + Пользователи могут использовать разнообразный и постоянно расщиряющийся набор скриптов, которые поставляются + вместе с Nmap, или написать свои скрипты под свои собственные нужды. + + Когда мы создавали эту систему, считалось, что она будет использоваться для задач исследования сети, более + изощренного варианта определения версии, исследования уязвимостей. NSE может быть исполльзован даже для + обнаружения уязвимостей. + + + Чтобы отразить все многообразие возможностей использования скриптов и при этом упростить выбор необходимого + скрипта, каждый из них содержит поле, где указано к какой категории он принадлежит. Сейчас определены следующие + категории: safe, + (intrusive), malware, + version, discovery, + vuln, auth и + default. Все они описаны + в . + в . + + + Скриптовый движок Nmap детально описан +на +в и настраивается с помощью следующих опций: + + + + + + + + + + + + Осуществляет сканирование на основе скриптов. Эквивалентно опции . + Некоторые их применяемых здесь скриптов относятся к категории intrusive (навязчивые) и не должны быть + использованы для сканирования целевой сети без разрешения. + + + + + + + +Осуществляет сканирование на основе скриптов (как ) используя разделенный запятыми список +категорий скриптов, отдельных файлов скриптов или директорий содержащих скрипты вместо стандартного набора скриптов. +Сначала Nmap пытается интерпретирует все аргументы как категории, затем (в случае неудачи) как файлы или директории. +Файл скрипта или директория скриптов могут быть определны с использованием абсолютного или относительного пути. +Абсолютные пути используются так, как вы их зададите. Относительные пути будут определяться относительно: +data filesdirectory search orderscripts, location of +--datadir/; +$NMAPDIR/;NMAPDIR environment variable +~/.nmap/ (не используется в Windows);.nmap directory +NMAPDATADIR/ илиNMAPDATADIR +./. Также все эти папки будут проверяться на наличие поддиректории +scripts/ + +Если вы определили директорию со скриптами, и она была найдена, то Nmap загружает все NSE +скрипты (все файлы с расширением .nse) из этой директории. Файлы без расширения +nse игнорируются. Nmap не производит рекурсивный поиск скриптов во всех +поддиректориях. Если вы указываете конкретный файл, то его расширение не обязательно должно быть +nse. + +По умолчанию скрипты Nmap хранятся в папке scripts - +поддиректории основного каталого Nmap. Для большей производительности, +все скрипты проиндексированы в базе даннных scripts/script.db, +script.db +где указано к какой категории или категориям принадлежит каждый скрипт. Для исполнения всех скриптов из базы данных +Nmap задайте атрибут all. + +Злонамеренные скрипты запускатся не в "песочнице" (sandbox) и поэтому могут повредить вашу систему или нарушить +вашу анонимность. Никогда не используйте скрипты от третьих лиц до тех пор, пока не будете доверять автору или +сами тщательно просмотрите скрипт. + + + + + + + + script arguments + + +Позволяет вам передавать аргументы NSE скриптам. Аргументы передаются как пары +имя=значение. Передаваемый аргумент обрабатывается и хранится в Lua таблице, +к которой имеют доступ все скрипты. Имена передаются как строки (должны быть буквенно-цифровыми значениями) и +используются в качестве ключей в argument-table. Значения могут быть также строками +или в свою очередь таблицами (заключенными в ‘{’ и +‘}’). Такие подтаблицы позволяют переопределить аргументы для конкретных скриптов +(например, если вы хотите предоставить различным скриптам различные пары login/password). Например, вы можете +определить аргументы через запятые: user=bar, +password=foo и +anonFTP={password=nobody@foobar.com}. Если вы хотите переопределить опцию для +скрипта, вы должны проиндексировать подтаблицу с помощью id скрипта, т.к. это +единственный способ указать скрипту на наличие специального аргумента. + + + + + + + + + + Эта опция делает то же самое, что и , но на один ISO уровень выше. + Если задана эта опция, то все входящие и исходящие соединения, осуществляемые скриптом, выводятся на экран. + Выводимая информация включает в себя используемый коммуникационный протокол, источник, цель и переданные + данные. Если более 5% переданных данных невозможно вывести на экран, то вывод будет представлять собой + шестнадцатеричный (hex) дамп. + + + + + + + + + + Этой опцией обновляется база скриптов scripts/script.db, + которая используется Nmap для определения доступных скриптов по умолчанию и их категорий. Обновлять + базу необходимо, только если вы добавили или удалили NSE скрипты из директории + scripts, или поменяли категорию какого-нибудь скрипта. Эта опция + обычно используется без аргументов: nmap --script-updatedb. + + + + + + + + + + Опции управления временем и производительностью + timing + performance + Наиболее приоритетной стороной развития Nmap для меня всегда была производительность. Сканирование по + умолчанию (nmap имя_хоста) какого-либо хоста в моей + локальной сети занимает пятую долю секунды. Этого едва хватает, чтобы моргнуть, но становится существенным, когда + вы сканируете сотни или тысячи хостов. Более того, некоторые типы сканирования, как например, UDP или + сканирование с целью определения версии могут в значительной степени увеличить время сканирования. Этому также + могут поспособствовать настройки некоторых брандмауэров, где есть ограничения на количество ответов. Хотя в Nmap + используются параллелизм и различные продвинутые алгоритмы для уменьшения времени сканирования, у пользователя + есть возможность полностью контролировать работу программы. Опытные пользователи Nmap задают команды таким образом, + чтобы получать только необходимую им информацию и в удовлетворяющие им сроки. + + Способами увеличения скорости сканирования могут быть пропуск не критичных тестов, или обновление Nmap до + последней версии (улучшения производительности выходят довольно часто). Оптимизация параметров опций управления + временем также может значительно повлиять на скрость сканирования. Эти опции описаны ниже. + +Некоторые опции могут принимать параметр время. По умолчанию он задается в +миллисекундах, но вы можете добавить ‘s’, ‘m’ или ‘h’ к значению, чтобы задать его в секундах, минутах или часах. +Поэтому для опции аргументы 900000, +900s и 15m означают одно и то же. + + + + + + ; + (Регулирует размер групп для параллельного сканирования) + + + + +В Nmap есть возможность осуществлять сканирование портов или сканирование с целью определения версии нескольких +хостов параллельно. Это происходит путем разделения целевого IP пространства на группы, а затем сканирования одной +группы за раз. В общем случае целесообразно использовать большие группы. Недостатком является то, что вы не можете +узанть информацию о каком-либо хосте, пока не закончится сканирование всей группы. Таким образом, если Nmap начнет +сканирование группы из 50-ти хостов, то пользователь не будет получать никакой информации (кроме обновлений информации +предлагаемых в вербальном режиме), пока не будет завершено сканирование всех 50-ти хостов. + +По умолчанию Nmap использует компромиссный подход к решению этой проблемы. Сначала производится сканирование +небольших групп из 5-ти хостов, поэтому первые результаты приходят быстро, затем размер группы постепенно +увеличивается до максимального - 1024. Точные значения по умолчанию зависят от заданных опций. Для большей +эффективности Nmap использует группы больших размеров для UDP сканирования и для некоторых типов TCP сканирования +портов. + +Когда максимальный размер группы задан опцией , Nmap не будет его превышать. +Минимальный размер группы задается опцией , и Nmap будет пытаться поддерживать размер +групп больше этого уровня. Возможно Nmap придется использовать группы меньше заданных размеров, когда для выполнения +условия минимальности будет не хватать целевых хостов. Эти опции могут быть использованы для удержания размера +группы внутри некоторого диапазона, хотя это редко необходимо. + +Эти опции не имеют эффекта на фазе обнаружения хостов. Там используются обычное ping сканирование +(). При сканировании с целью обнаружения хостов всегда используются большие группы для увеличения +скорости и точности. + +Основной целью использования этих опций является задание большого минимума размера группы, с тем чтобы +сканирование проходило быстрее. При сканировании сети класса C обычным выбором является 256. При сканировании +большого количества портов, превышение этого числа вряд ли поможет. При сканировании лишь нескольких портов, +наилучшим размером группы будет 2048 или больше. + + + + + + + ; + (Регулирует распараллеливание запросов) + + + + + +Эти опции регулируют общее количество запросов для группы хостов. Опции испльзуются при сканировании портов и при +обнаружени хостов. По умолчанию Nmap высчитывает степень параллельности основываясь на производительности сети. Если +пакеты отбрасываются, то Nmap использует меньшее количество запросов. Количество запросов медленно увеличивается по +мере того, как сеть продолжает нормально работать. Эти опции устанавливают минимальную и максимальную границы для этой +переменной. По умолчанию параллелизм устанавливается в 1, если сеть работает плохо, и может достигать нескольких сотен +при идеальных условиях. + +Наиболее частым вариантом применения является установка опции в значение +большее единицы, чтобы увеличить скорость сканирования плохо работающих хостов и сетей. Это очень рискованная опция, +т.к. установка большого значения может повлиять на правильность результатов сканирования. Установка этого значения +также сокращает возможности Nmap по динамическому контролю параллелизма в зависимости от условий в сети. Значение +равное 10-ти является приемлимым, хотя я прибегаю к этой опции в последнюю очередь. + +Опция иногда устанавливается для предотвращения отправки хостам более одного +запроса за раз. Это может быть полезно в комбинации с опцией (описывается далее), хотя +она и сама справляется со своими обязанностями. + + + + + + + , + , + (Регулирует время ожидания ответа на запрос) + + + + + + +В Nmap есть значение промежутка времени, в течении которого будет ожидаться ответ на запрос, перед тем как +прекратить попытки или совершить еще одну. Этот промежуток вычисляется на основе времени, в течении которого были +получены ответы на предыдущие запросы. Если в сети есть значительная и непостоянная задержка, то этот промежуток может +возрасти до нескольких секунда. Он также устанавливается на безопасном (высоком) уровне и может таким и оставаться +некоторое время, если Nmap производит сканирование не отвечающих на запросы хостов . + + +Задание значений и ниже значений по +умолчанию может существенно сократить время сканирования. Это особенно заметно при различных вариантах сканирования +с заданной опцией , а также при сканировании сильно фильтруемых сетей. Однако не торопитесь +делать этого сразу. Сканирование займет много времени, если вы укажете такое низкое значение, при котором у большинства +запросов закончиться время ожидания ответа, и они будут ретранслированы, в то время как ответы на них будут в пути. + + +Если хосты находятся в локальной сети, то 100 миллисекунда будет приемлимым значением опции +. Если при этом производится отслеживание маршурта, то для начала пропингуйте хост +в сети с помощью утилиты ICMP ping или hping2 +hping2, +у которой больше шансов обойти брандмауэр. Выясните среднее максимальное значение для, примерно, 10-ти пакетов. +Удвойте это значение для передачи опции и умножьте на три или четыре для опции +. Обычно я не устанавливаю maximum RTT ниже 100 мс, не зависимо от результатов +пингования. А также не превышаю 1000 мс. + +Опция редко используется; она может быть полезна, в случае если сеть +настолько ненадежна, что даже значения Nmap по умолчанию слишком агрессивны. Так как Nmap просто сокращает время +ожидания до минимума, в случае если сеть кажется надежной, то нужды в этой опции нет, о ней дожно быть сообщено как +о баге на nmap-dev рассылку.nmap-dev mailing list + + + + + + + + + (Задает максимальное + количество повторных передач запроса) + + + + + +Когда Nmap не получает ответа на запрос сканирования порта, это может означать, что порт фильтруется. А возможно, +запрос или ответ просто затерялись в сети. Также возможно, что у цели есть ограничение на количество ответов, что +стало причиной временной блокировки запроса. В этом случае Nmap повторную передачу исходного запроса. Если для Nmap +сеть кажется ненадежной, то она может совершить очень много попыток, перед тем как бросить это дело. Хотя это и +придает достоверность результатам сканирования, это в то же время увеличивает время сканирования. Когда +производительность критична, время сканирования может быть сокращено путем введения ограничения на максимальное +количество повторных передач запроса. Вы даже можете задать , чтобы предотвратить +все повторные попытки, хотя это не рекомендуется. + +Значением по умолчанию (без шаблона) является 10 ретрансляций. Если сеть кажется надежной, и +целевые хосты не имеют ограничений на количество ответов, то Nmap обычно делают одну повторную попытку. Поэтому +установка в низкое значение (например, 3) никак не вличет на большинство типов +сканирования. Такие значения могут значительно увеличить скорость сканирования медленных (с ограничениями на +количество ответов) хостов. Обычно вы теряете некоторую информацию, когда Nmap рано прекращает сканировать порты, +поэтому лучше дать истечь времени , и потерять всю информацию о цели. + + + + + + + (Прекращает сканирование медленных целей) + + + + + +Некоторые хосты просто требуют длительного времени сканирования. Это может быть в силу +низкой производительности или ненадежности сетевого оборудования или программного обеспечения, ограничений на +количество пакетов или ограничивающих брандмауэров. Несколько процентов наиболее медленных хостов могут занять +большую часть времени сканирования. Иногда лучшим выходом является просто пропуск таких хостов. Передайте в качестве +аргумента опции максимальное значение промежутка времени, в течении которого вы +готовы ждать. Я часто задаю 30 мин, чтобы удостовериться в том, что Nmap не потратит +более получаса на единичный хост. Имейте ввиду, что в течении этого получаса Nmap может сканировать другие хосты, так +что это не просто потеря времени. Хост, чье время истекло, пропускается. Для этого хоста не выводится ни таблица портов, +ни информации об ОС. + + + + + + + ; + (Регулирует задержку между запросами) + + + + + +Эта опция вынуждает Nmap подождать по крайней мере заданное время между каждым запросом. Это особенно полезно в +случае наличия ограничения на количество ответов у целевых хостов. Машины Solaris (как и многие другие) обычно отвечают +на запросы при UDP сканировании только одним ICMP сообщением в секунду. Посылка большего количества запросов со +стороны Nmap будет впустую. Установка значения опции в +1 сек будет поддерживать в Nmap такую медленную интенсивность. Nmap пытается +определить ограничения на количество ответов у целевых хостов и подстроить задержку между запросами соответственно, +но ничто не мешает указать вам это значение явно, если вы точно знаете, что так будет лучше. + +Когда Nmap подстраивает задержку между запросами к обнаруженному ограничению, то скорость сканироания +значительно уменьшается. Опция позволяет задать наибольшую возможную задержку. +Установка здесь маленького значения может привести к бесполезной ретрансляции пакетов или возможному пропуску портов, +если у цели есть строгий лимит на количество ответов. + +Еще одним вариантом использования опции является обход пороговых систем обнаружения +и предотвращения вторжений (IDS/IPS).intrusion detection systemsevading + + + + + + + + + (Задает минимальную интенсивность сканирования) + + + + +Функции динамического управления различными опциями времени в Nmap хорошо справляются с задачей подборки +подходящей скорости сканирования. Тем не менее, иногда вы можете заранее узнать подходящую интенсивность сканирования +сети, или можете гарантировать, что сканирование закончится к определенному времени. Когда задается опция +, Nmap будет пытаться отсылать пакеты с той же или большей, чем задано, интенсивностью. +Аргументом этой опции является положительное число, отражающее интенсивность сканирования в пакетах в секунду. Например, +задание опции означает, что Nmap будет пыпыться отсылать пакеты с интенсивностью +300 пакетов в секунду или больше. Задание низкого значения не отнимает у Nmap права работать с большей интенсивностью, +если позволяют условия. + +Существуют два варианта, при которых реальная интенсивность работы будет меньше заданного минимума. Первый, когда +заданный минимум быстрее, чем наиболее быстрый возможный уровень работы Nmap, который зависит от аппаратного +обеспечения. В этом случае Nmap будет посылать пакеты так быстро, как может; но будьте осторожны, т.к. при быстрой +скорости возможны потери точности. Второй случай, когда у Nmap больше нечего отсылать, например, в конце сканирования, +когда последние запросы уже посланы, и Nmap ожидает ответы на них. Это нормально, когда интенсивность падает в +конце сканирования или при смене групп сканирования. + +Задание минимального уровня интенсивности должно производится с осторожностью. Сканирование быстрее, чем +возможно в данной сети, может привести к потери точности. В некоторых случаях, задание выского уровня интенсивности +может привести к тому, что сканирование займет больше времени, чем с более низким уровнем. Это +может произойти в случае, если адаптивные ретрансляционные adaptive retransmissionretransmissionretransmission +алгоритмы Nmap обнаружат перегрузку сети, вызванную высоким уровнем интенсивности сканирования, и увеличат количество +ретрансляций для повышения точности сканирования. Поэтому, даже хотя пакеты отсылаются с большой интенсивностью, +еще больше пакетов отсылается впустую. Установите максимальное количество ретрансляций с помощью опции +, если вы хотите ограничить общее время сканирования. + +Опция глобальна, она оказывает влияние на все сканирование, а не на отдельные хосты. +Учитывается только при сканировании с целью обнаружения хостов и сканировании портов. Другие функции, как например +определение ОС, имеют собственные особенности управления временем. + + + + + + + + (Задает максимальную интенсивность сканирования) + + + + +Дополнительно к опции есть опция , которая ограничивает +максимальную интенсивность сканирования заданным значением. Используйте , например, +чтобы ограничиться 100 пакетами в секунду в быстрой сети. Используйте для медленного +сканирования - один пакет в десять секунд. + + также как и глобальная опция, оказывающая влияние +на все сканирование. Учитывается только при сканировании с целью обнаружения хостов и сканировании портов. + +Иногда уровень интенсивности может превышать максимальное заданное значение для больры с непредвиденными +задержками, но в среднем он будет находится на максимальном уровне или ниже. Nmap будет работать с меньшей +интенсивностью, если того требуют условия. Чтобы удерживать интенсивность сканирования внутри определенного +промежутка, используйте опции и вместе. + + + + + + + + + +Многие хосты имеют давно использующие ограничения rate limiting +на количество ICMP сообщений об ошибке (как ошибки о недостижимости порта). Многие системы сейчас используют похожие +ограничения на количество пакетов RST (сброс), генерируемых ими. Это может сильно замедлить сканирование, т.к. Nmap +подстраивается под эти ограничения. Вы можете указать Nmap игнорировать такие ограничения (для сканирования портов типа +SYN, при котором не отвечающие порты не считаются открытыми) +путем задания опции . + +Использование этой опции может привести к потери точности сканирования, т.к. Nmap могла не подождать неоходимое +время ответа RST (на которые у целевой машины есть ограничения). При сканировании типа SYN не отвечающие порты +помечаются как фильтруемые, а не закрытые, как в +случае принятия ответа RST. Это опция полезна, только когда вам важны открытые порты, а различать +закрытые и фильтруемые порты нет необходимости. + + + + + + + + (Устанавливает шаблон настроек управления временем) + + timing templatesparanoid, sneaky, polite, normal, aggressive, and insane + + +paranoid timing template +sneaky timing template +polite timing template +normal timing template +aggressive timing template +insane timing template + + +Хотя описанные выше опции управления временем мощны и эффективны, многих людей они сбивают с толку. Более того, +выбор подходящих значений может иногда занимать больше времени, чем само сканирование. Поэтому Nmap предлагает более +легкий подход, заключайющийся в применении шести шаблонов настроек. Вы можете задавать их с помощью опции + и номера шаблона (0–5) или его имени. Имена шаблонов следующие: + (), + (), + (), + (), + () +и  (). +Первые два предназначены для обхода IDS. Вежливый (polite) режим снижает интенсивность сканирования с целью меньшего +потребления пропускной способности и машинных ресурсов. Обычнй (normal) режим устанавливается по умолчанию, поэтому +опция ничего не делает. Агрессивный (aggressive) режим повышает интенсивность сканирования, +предполагая, что вы используете довольно быструю и надежную сеть. Наконец, безумный (insane) режим +insane () timing template +предполагает, что вы используете чрезвычайно быструю сеть и готовы пожертвовать точностью ради скорости. + +Эти опции позволяет определять пользователям, насколько агрессивными они хотят быть, оставляя за Nmap право +выбирать подходящие значения опций управления временем. Также шаблоны позволяют производить некоторые незначительные +корректировки скорости, для которых пока нет отдельных опций. Например, aggressive () timing template +запрещает установку динамической задержки во время сканирования выше 10 мс для TCP порт, а - выше +5 мс. Шаблоны могут использоваться в комбинации с описанными выше опциями; в этом случает будут использоваться в +качестве значений аргументы этих опций, а не значения по умолчанию, заданные в шаблонах. Я рекомендую задавать + при сканировании довольно современных и надежных сетей. Задавайте эту опцию, даже если вы +используете описанные выше опции управления временем, и вы сможете получить выгоду от этих незначительных +оптимизаций, которые включаются этой опцией. + +Если у вас приличная широкополосная связь или ethernet соединение, то я бы порекомендовал вам всегда использовать +. Некоторым людям нравится , хотя она чересчур агрессивна на мой взгляд. Иногда +люди используют , потому что думают, что так у них мешьнше шансов пропустить какие-либо хосты или +потому, что считают себя вежливыми по жизни. Они часто не осознают, насколько опция polite () timing template +медленна. Время их сканирования может занять в десять раз больше обычного. Проблемы с хостами и пропускной +способностью редки при использовании опции (), поэтому я рекомендую ее для осторожного сканирования. +Отключение функции определения версии намного более эффективно для сокращения таких проблем, чем попытка настройки +всех опций управления временем. + +Хотя опции paranoid () timing templatesneaky () timing template +могут быть полезны для обхода IDS, они отнимут очень много времени при сканировании тысяч хостов или портов. Для +такого сканирования, предпочтительнее будет задать свои точные значения, чем полагаться на опции . + +При использовании опции в любой момент времени производится сканирование только одного порта, +и перед отправкой каждого запроса проходит пять минут. и практически одинаковы, +только между запросами проходит 15 секунд и 0.4 секунды соответственно. Опция является опцией +Nmap по умолчанию, она включает распараллеливание.normal () timing template + эквивалента опциям и устанавливает максимальную задержку при TCP сканировании 10 +миллисекунд. эквивалента опциям + и устанавливает максимальную задержку при TCP сканировании 5 миллисекунд. + + + + + + + + + + Обход Брандмауэров/IDS + firewallsbypassing + intrusion detection systemsevading + +Многие пионеры Интернета представляли его в своем воображении как открутую глобальную сеть с универсальным +пространством IP адресов, позволяющую создавать виртуальные соединения между любыми двумя точками. Это позволило бы +хостам общаться на равных, обмениваясь информацией между собой. Люди могли бы получить доступ к своим домашним +системам с работы, изменяя настройки климат-контроля или открывая двери ранним гостям. Этому видению глобальной +соединенности не суждено было сбыться по причинам нехватки адресного пространства и проблемам безопасности. В ранние +1990-е организации стали использовать брадмауэры с целью сокращения возможностей соединения. Огромные сети были +отрезаны от Интернета различными программными прокси, серверами преобразования имен и пакетными фильтрами. +Неограниченный поток информации сократился до строго регламентированных каналов связи и содержимому передающемуся по +ним. + +Сетевые барьеры, такие как брандмауэры, могут сделать процесс исследования сети чрезвычайно сложным. Никаких +послаблений не намечается, т.к. предотвращение инвентаризации сети часто является ключевой целью введения таких +устройств. Тем не менее, Nmap предоставляет множество функций для облегчения понимания структуры таких сложных сетей +и для проверки того факта, что сетевые фильтры работают как предполагалось. Поддерживаются даже механизмы обхода +плохо организованных вариантов защит. Один из лучших методов проверки вашей системы безопасности - это попытка ее +обойти. Поставьте себя на место атакующего и примените описанные ниже методы к вашей сети. Запустите FTP bounce +сканирование, idle сканирование, атаку с фрагментацией пакетов или попробуйте пробиться через один из ваших +прокси-серверов. + + +В дополнении к ограничению сетевой активности, компании все больше и больше используют мониторинг траффика с +помощью систем обнаружения вторжений (intrusion detection systems - IDS). Все эти системы используют правила, +составленные для обнаружения различного рода сканирований с помощью Nmap, т.к. сканирование часто оказывается +предвестником атак. Многие из этих систем недавно были преобразованы в системы +предотвращения вторжений (intrusion prevention systems - IPS), +intrusion prevention systems +intrusion detection systems +которые блокирую трафик, расцениваемый как злонамеренный. К сожалению для сетевых администраторов и продавцов IDS, +обнаружение вторжений с большой долей вероятности путем анализа паетов данных является сложной задачей. Атакующие с +помощью терпения, навыков и с помощью некоторых опций Nmap обычно могут незамеченными обойти системы IDS. Между тем, +администраторам приходится иметь дело с большим количеством ложных положительных результатов, когда такие системы +ошибаются и блокируют безвредную сетевую активность. + +Время от времени некоторые высказывают предположения, что Nmap не следует предоставлять фукнции для обхода IDS. +Они аргументируют свою позицию тем, что эти функции могут быть с равным успехом использованы атакующими, так же как они +используются администраторами для улучшения систем защиты. Проблема в таких рассуждениях заключается в том, что +такие методы будут по-прежнему использоваться атакующими, которые просто найдут другие утилиты или самостоятель +добавят такие функции в Nmap. Тем временем администраторам будет намного сложнее выполнять свою работу. Использование +только современных FTP серверов намного более мощное средство защиты, чем попытки предотвратить распространение +утилит позволяющих реализовать FTP bounce атаки. + + +Не существует такой магической опции, которая позволяла бы обнаруживать и обходить брандмауэры и IDS. Для этого +необходимы навыки и опыт. Подробное описание таких методов выходит за рамки данного справочного руководства, где +содержаться только важные опции с описанием их возможностей. + + + + + (фрагментировать пакеты); + (используя заданное значение MTU) + + + + + + При задании опции все типы сканирования (включая различные типы пингования) будут + использовать маленькие фрагментированные IP пакеты. Идея состоит в том, чтобы разбить TCP заголовок на + части и посылать их в различных пакетах для того, чтобы не дать определить пакетным фильтрам и системам + обнаружения вторжения, что вы делаете. Будьте осторожны с этой опцией! Некоторые программы имеют проблемы с + обработкой таких маленьких пакетов. Один старый сниффер Sniffit аварийно завершал работу после принятия + первого фрагмента. Задайте эту опцию один раз, и Nmap будет разбивать пакеты на части по 8 байт или меньше + после IP заголовка. Таким образовм, 20-ти байтный TCP заголовок будет разбит на 3 пакета. Два из них будут + содержать по 8 байт этого заголовка, а третий - последние 4. Конечно же, каждый фрагмент также имеет IP + заголовок. Задайте опцию снова, чтобы использовать фрагменты по 16 байт + (тем самым сократится число фрагментов). + giving twice + Или вы можете задать свой собственный размер фрагмента с помощью опции . Не используйте + опцию вместе с . Размер должен быть кратным 8. В то время как + фрагментированные пакеты не смогут пройти через пакетные фильтры и брандмауэры, которые ставят в очередь + все IP фрагменты, например, с помощью опции CONFIG_IP_ALWAYS_DEFRAGв ядре Linux, некоторые + сети не могут позволить себе связанное с этим падение производительности и поэтому не используют такую + возможность. Другие могут использовать ее, потому что фрагменты в таких сетях могут идти по разным маршрутам. + Некоторые системы фрагментируют исходящие пакеты прямо в ядре. Linux с включенным модулем отслеживания + соединения iptables iptables тому пример. + Произведите сканирование с включенным сниффером Wireshark + + Wireshark, + чтобы убедиться, что пакеты фрагментируются. Если в вашей ОС возникают проблемы, попробуйте задать опцию + + , чтобы обойти IP слой и отсылать сырые ethernet фрэймы. + + + + + + + (Маскировка сканирования с помощью фиктивных хостов) + + decoys + + + Производится сканирование с использованием фиктивных хостов; в этом случае цель сканирования считает, + что заданные вами фиктивные хосты также производят ее сканирование. Хотя IDS цели может сообщить о том, что + было произведено 5-10 сканирований портов с каждого IP адреса, система не сможет узнать, с какого из этих + IP адресов действительно производилось сканирование, а какие были лишь безвредными ловушками. Хотя этот тип + сканирования может быть распознан путем отслеживания маршрута, сбрасыванием ответа или другими активными + методами, в большинстве случае он является эффективным способом сокрытия вашего IP адреса. + + При задании фиктивных хостов, разделяйте их запятыми; вы также можете указать + ME + ME (decoy address) + как один из фиктивных хостов для задания позиции в списке вашего реального IP адреса. Если вы задаете + ME в шестой позиции или дальше, некоторые обычные системы обнаружения + сканирования портов (например, Solar Designer's + Solar Designer excellent Scanlogd) + Scanlogd + вряд ли вообще отобразят ваш IP адрес. Если вы не задаете флаг ME, Nmap + поставит его в произвольную позицию. Вы также можете использовать + RNDRND (decoy address) + для генерации произвольного, незарезервированного IP адреса, или + RND:чило для генерации определенного + числа адресов. + Имейте ввиду, что хосты, указанные вами в качестве фиктивных, должны работать, иначе вы просто + зафлудите целевые хосты с помощью запросов на подключение. Также легко будет определить, какой хост + действительно производит сканирование, если только он будет работать. Возможно вы захотите использовать IP + адреса вместо имен (в этом случае сети, в которых находятся фиктивные хосты, не видят вас в своих логах). + + + Фиктивные хосты используются и во время фазы обнаружения хостов (используя ICMP, SYN, ACK и что там + еще), и во время сканирования портов. Также они используются во время удаленного определения ОС + (). Эта техника не работает при сканировании с целью определения версии или с целью + обнаружения возможности установления TCP соединения. Во время сканирования задержки принудительно + устанавливаются между каждой группой обманных запросов. Т.к. ловушки посылаются одной группой сразу, то это + может временно нарушить работу системы контроля ограничений нагрузок. + + Использование большого количества фиктивных хостов может снизить скорость вашего сканирование и даже + сделать его менее точным. Также, некоторые ISP будут отфильтровывать ваши обманные пакеты, в то время как + некоторые вообще никак не ограничивают такого рода IP пакеты. + + + + + + (Изменить исходный адрес) + + spoofing source address + + + + В некоторых обстоятельствах Nmap может не определить ваш адрес (в этом случае Nmap сообщит вам об этом). + В этом случае используйте опцию , передав ей в качестве параметра IP адрес, чтобы указать + интерфейс, который вы хотите использовать для отправки пакетов. + + Также эта опция может быть использована для того, чтобы заставить "думать" цель сканирования, что ее + сканирует кто-то другой. Представьте компанию, которая частенько подвергается + сканированию портов со стороны конкурента! Как правило, в этом случае необходимо использовать также опции + и . Имейте ввиду, что вы не будете получать в ответ никаких пакетов + (они будут отправлены на указанный вами IP адрес), поэтому Nmap не будет выводить какой-либо полезной + информации. + + + + + + + (Использовать конкретный интерфейс) + + interface + + + + Указывает Nmap, какой интерфейс использовать для отправки и приема пакетов. Nmap в состоянии + определить его автоматически, но сообщит вам, если не сможет. + + + + + + + (Задать свой номер порта) + + + source port number + + + +Одной из удивительно часто встречаюшиься ошибок при конфигурировании системы безопасности является тенденция +доверять траффику основываясь только на номере исходного порта. Легко понять как это происходит. Администратор +устанавливает новенький брандмауэр, и его заваливают жалобы от неблагодарных пользователей, чьи приложения перестали +работать. В частности, может не работать DNS, т.к. UDP DNS ответы от внешних серверов больше не могут войти в сеть. Еще +одним распространенным примером ялвяется FTP. При активной FTP передаче, удаленный сервер пытается установить +соединение с клиентом, чтобы послать запрашиваемый файл. + +Существуют безопасные методы решения этих проблем, часто в виде прокси на уровне приложений или надстроек к +брандмауэрам. Но, к сожалению, существуют и более легкие, небезопасные методы. Принимая во внимание то, что DNS ответы +приходят с порта 53 а FTP с порта 20, многие администраторы поддаются искушению и просто разрешают весь входящий +трафик с этих портов. Они также часто полагают, что атакующие не заметят и не будут использовать такие дыры в +брандмауэрах. В других случаях, администраторы считают, что это всего лишь временные меры, до тех пор пока они не +придумают более безопасные способы решения проблем. Потом они забывают об этом. + +Перегруженные работой сетевые администраторы не единственные, кто попадается в такую ловушку. Многочисленные +продукты просто кишат такими небезопасными правилами. Даже Microsoft заслуживает порицания. Фильтры IPsec, которые +были установлены в Windows 2000 и Windows XP содержат внутренне правило, разрешающее весь TCP или UDP траффик с порта +88 (Kerberos). Еще один известный случай: версии брандмауэра Zone Alarm до 2.1.25 разрешали все входящие UDP пакеты с +порта 53 (DNS) или 67 (DHCP). + +Nmap предоставляет опции и (они эквиваленты) для того, чтобы +воспользоваться такими ошибками. Просто задайте номер порта, и Nmap будет использовать его для отправки пакетов. Nmap +должна использовать различные номера портов, чтобы точно определить ОС; также DNS запросы игнорируют опцию +, т.к. для их осуществления Nmap использует системные библиотеки. Большинство TCP +вариантов сканирований, включая SYN сканирование, полностью поддерживают эту опцию, как и UDP сканирование. + + + + + + + (Добавить произвольные данные к посылаемым + пакетам) + + + + В обычных условиях Nmap посылает минимальные пакеты, содержащие только заголовок. Так TCP пакеты + составляют 40 байтов, а запросы на ICMP эхо ответ всего 28. Эта опция указывет Nmap добавлять заданное число + произвольных байтов к посылаемым пакетам. Эта опция не влияет на пакеты, используемые для определения ОС + () + no effect in OS detection, + поскольку в этом случае необходимо тщательное соответствие запросов, но большинство пакетов, используемых для + различных видов пингования и сканирования портов поддерживают ее. Это немного замедляет сканирование, зато + делает его более незаметным. + + + + + + + (Посылать пакет с заданным ip + опциями) + + IP options + + + Протокол IP предоставляет + несколько опций, которые могут быть заданы в заголовке пакета. В отлиии от повсеместно используемых TCP опций, + опций IP редко видны из соображений практичности и безопасности. Фактически, большинство роутеров Интернета + блокируют наиболее опасные опации, как, например, отслеживание источника. И все же опции могут быть полезны для + определения и манипулирования сетевым маршрутом к целевым машинам. Например, возможно вы сможете воспользоваться + опцией для определния маршрута до цели, когда более традиционные методы в стиле tracerout будут бесполезны. Или + если ваши пакеты блокируются каким-либо брандмауэром, вы можете попробовать задать маршрут с менее строгим + сетевым экраном. + + Наиболее действенным способом задания IP опций является передача их значений в качестве аргументов опции + . Каждое шестнадцатиричное значение задается с помощью + \x, после которого следуют два цифры. Вы можете повторять символы, поставив + после них звездочку и указав количество повторений. Например, + \x01\x07\x04\x00*36\x01 это шестнадцатиричная строка, содержащая 36 NUL байтов. + + + Nmap также предоставляет механизм сокращений для задания таких опций. Просто передайте в качестве + аргумента букву R, T или + U для задания опции записи маршрута, + record route IP option записи временной метки + record timestamp IP option или обеих + соответственно. Ослабление или ужесточение отслеживания источника + source routing + может быть задано с помощью L или S, + затем пробела, а затем разделенный пробелами список IP адресов. + + Если вы хотите заданные опции в передаваемых и получаемых пакетах, задайте опцию + . Для большей информации и примеров использования IP опций с Nmap, смотрите + . + + + + + + + + (Установить IP поле time-to-live (время жизни) + + time to live (TTL) + + + + Устанавливает IPv4 поле time-to-live в посылаемых пакетах в соответствии с заданным значением. + + + + + + (Использовать произвольный порядок целей сканирования) + + randomization of hosts + + + + Указывает Nmap перемешать каждую группу, содержащую до 16384 хостов, перед началом сканирования. Это + может сделать сканирование менее заметным для различного рода систем сетевого мониторинга, особенно если вы + используете низкие значения таймингов. Если вы хотите перемешивать большие по размеру группы, то увеличьте + значение + PING_GROUP_SZ + PING_GROUP_SZ + в nmap.hnmap.h + и перекомпилируйте программу. Альтернативным решением является генерация списка целевых IP адресов + (), обработка его с помощью Perl скрипта и + затем передача его Nmap в качестве параметра опции + .randomizing hosts with + + + + + + + + (Задать собственный MAC адрес) + + spoofing MAC address + + + + Указывает Nmap использовать заданный MAC адрес + MAC address + для всех отсылаемых сырых ethernet фреймов. Эта опция подразумевает использование, + implied by + чтобы быть уверенным, что Nmap действительно использует пакеты уровня ethernet. MAC адрес может быть задан в + нескольких форматах. Если это просто число 0, то Nmap выбирает польностью + произвольный MAC адрес для сессии. Если задается строка в виде простого набора шестнадцатиричных цифр (можно + разделять пары двоеточиями), то Nmap будет использовать эту строку в качестве MAC адреса. Если задано менее 12-ти + шестнадцатиричных цифр, то Nmap заполняет остаток из 6 байтов произвольными значениями. Если в качестве аргумента + не передается ни 0, ни шестнадцатиричная строка, то Nmap просматривает + nmap-mac-prefixes в поисках названия производителя, содержащего данную строку + (нечувствительна к регистру). Если найдено совпадение, то Nmap использует OUI производителя (3-байтный префикс), + organizationally unique identifier (OUI)nmap-mac-prefixes + а оставшиеся 3 байта заполняет произвольно. Примеры аргументов опции : + Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, + 0020F2 и Cisco. Эта опция оказывает влияние + только на сканирования с использованием сырых пакетов, такие как SYN сканирование или определение ОС, а также + не ориентированные на соединение функции, такие как определение версии или Nmap Scripting Engine (NSE). + + + + + + + (Посылать пакеты с фиктивными TCP/UDP контрольными суммами) + + TCP checksum + checksums + + + + + Указывает Nmap использовать неправильные TCP или UDP контрольные суммы для пакетов, отправляемых на + целевой хост. Т.к. практически все реализации стека IP просто не обрабатывают такие пакеты, то любые ответы + скорее всего приходят от брандмауэров или IDS, которые не обременяеют себя проверкой контрольной суммы. Более + детальное описание этой техники смотрите на + + + + + + + + + + + Вывод результатов + output formats + + Любая утилита безопасности полезна ровно настолько, насколько полезны выдаваемые ею результаты. Различные + сложные тесты и алгоритмы имеют мало пользы, если они не представлены в хорошо организованной и удобной для + понимания форме. Предоставляя разлиные способы вывода результатов Nmap используется людьми и программным + обеспечением, т.к. нет такого формата, который подходил бы всем. Поэтому Nmap предлагает несколько форматов, + включая интерактивный режим для чтения людьми и XML для удобного анализа программным обеспечением. + +В дополнении к предоставлению различных форматов вывода, Nmap предлагает опции для упрваления уровнем вербальности +выходных данных и отладочных сообщений. Результаты могут быть направлены на стандартный вывод или в файлы, причем Nmap +может как добавлять в конец файлов, так и создавать новые. Выходные файлы также могут быть использованы для +продолжения остановленного сканирования. + +Nmap предоставляет пять различных выходных форматов. Формат по умолчанию называется +интерактивный вывод,interactive output, результаты передаются на стандартный вывод (stdout).stdoutstandard output +Есть также +нормальный вывод,normal output, +который подобен интерактивному, за исключением того, что в процессе работы выводится меньше информации и предупреждений, +т.к. предполагатеся, что эти результаты будут анализироваться после завершения сканирования, а не интерактивно. + +XML выводXML output +это один из наиболее важных выходных форматов, т.к. он может быть конвертирован в HTML, лего анализируется программами +типа графического пользовательского интерфейса Nmap или может быть экспортирован в базу данных. + +Оставшимися двумя форматами являются +grepable форматgrepable output, +который содержит большую часть о целевом хосте в одной строке, и +sCRiPt KiDDi3 0utPUtscR1pT kIddI3 вывод +для пользователей, которые считают себя |<-r4d. + +В то время как интерактивный вывод устанавливается по умолчанию и не имеет связанных с ним опций командой строки, +опции остальных четырех форматов вывода имеют похожий синтаксис. В качестве аргумента они принимают имя файла, где +должны храниться результаты. Возможно испльзование нескольких форматов, но каждый из них должен быть задан только один +раз. Например, вы хотите сохранить результаты предоставляемые форматом нормального вывода для себя, и в то же время +сохранить в формате XML результаты того же сканирования для анализа программами. Вы можете сделать это с помощью опции +. Для краткости здесь используются простые имена типа + myscan.xml, но рекомендуется использовать более описательные имена. Каждый + выбирает имена по своему; я обычно использую длинные имена, содержащие дату сканирования и пару слов описания, и + помещаю эти файлы в директории с именем компании, которую я сканирую. + +Хотя с помощью этих опций информация сохраняется в файлы, Nmap по-прежнему выводит интерактивную информацию на +стандартный вывод. Например, с помощью опции nmap -oX myscan.xml target XML +сохраняется в файл myscan.xml, а стандартный вывод заполняется информацией, как +если бы опция вообще не была задана. Вы можете изменить это поведение передав в качестве +аргумента к одному из форматов вывода символ дефиса. Это деактивирует интерактивный вывод, а на стандартный вывод +будет пересылаться информация в заданном вами формате. Поэтому с помощью команды +nmap -oX - target на стандартный вывод будет пересылаться только XML.outputto stdout with - +Серьезный ошибки могут выводиться в стандартный поток ошибок, stderr.standard errorstderr + + +В отличии от некоторых аргументов Nmap, пробел между флагом формата файла (например, ) и +именем файла или дефисом здесь обязателен. Если вы опустите флаги и зададите аргументы типа или +, из-за функции обратной совместимости Nmap будут созданы файлы +нормального формата с именами G- и +Xscan.xml соответственно. + +Все эти аргументы поддерживают strftimestrftime conversions in the filename +перобразования в именах файлов. %H, %M, +%S, %m, %d, +%y и %Y это то же самое что и в +strftime. %T то же самое что и +%H%M%S, %R то же самое что и +%H%M и %D то же самое что и +%m%d%y. Знак %, после которого следует любой +символ просто даст этот символ (%% даст вам символ процента). Поэтому опция + будет использовать XML файл в формате +scan-144840-121307.xml. + +Nmap также предоставляет опции для управления вербальностью сканирования, а также для добавления в конец файлов +вместо их перезаписи. Все эти опции описаны ниже. + +Форматы вывода Nmap + + + (Нормальный вывод) + + normal output + + + Перенаправляет нормальный вывод в заданный файл. Как отмечалось выше, + немного отличается от интерактивного вывода. + + + + + + (XML вывод) + + XML output + + + + Перенаправляет XML вывод в заданный файл. Nmap включает определение + типа документа (DTD), что позволяет XML парсерам использовать XML вывод Nmap. Изначально это предназначалось + для программного использования, хотя это также позволяет людям интерпретировать XML вывод Nmap. DTD + определяет возможные элементы, а также перечисляет атрибуты и значения, которые они могут принимать. Последняя + версия всегда доступна на . + + XML предоставляет формат, который легко обрабатывается программным обеспечением. Бесплатные XML парсеры, + доступны для всех основных языков программирования, включая C/C++, Perl, Python и Java. Люди даже написали + привязки для большинства из этих языков для обработки выходных данных Nmap. + Примерами являются Nmap::Scanner + Nmap::Scanner + и Nmap::Parser + Nmap::Parser + на Perl CPAN. В большинстве случаев взаимодействия какого-либо приложения и Nmap, XML является + предпочитаемым форматом. + + XML вывод связывается с XSL таблицей стилей, которая используется для форматирования результатов как + HTML. Самым легким способом использования этой возможности является загрузка XML вывода в браузер типа + Firefox или IE. По умолчанию это будет работать только на машине, на которой установлена Nmap (или + настроенной аналогично) из-за жесткой привязки полного пути файла + nmap.xsl. Используйте опции или + для создания XML файлов отображаемых как HTML только на подключенной к + интернету машине. + + + + + + + (ScRipT KIdd|3 oUTpuT) + + scR1pT kIddI3 output + + + Script kiddie формат практически такой же как и интерактивный, за тем исключением, что после окончания + сканирования он перерабатывается, чтобы больше подходит l33t HaXXorZ, который смотрит свысока на Nmap из-за + постоянного использования заглавных букв и правовисания. Лишенные чувства юмора люди должны иметь ввиду, что эта + опция высмеивает script kiddies, перед тем как ругать меня за то, что я якобы помогаю им. + + + + + + (grepable вывод) + + grepable output + + + +Это формат обсуждается последним, т.к. он нежелетален для использования. Формат вывода XML намного мощенее, а +также особенно удобен для опытных пользователей. XML это стандарт, для которого доступны дюжины отличных парсеров, в +то время как grepable вывод всего лишь мое простое изобретение. XML достаточно гибок для поодержания новых функций Nmap +по мере их выхода, тогда как мне частенько приходится опускать некоторые возможности grepable вывода из-за недостатка +места. + +Тем не менее, этот формат вывода все еще довольно популярен. Это простой формат, который просто описывает +каждый хост в одну строку и может быть легко обработан стандартными Unix утилитами как grep, awk, cut, sed, diff и Perl. +Даже я иногда использую этот формат вывода. Поиск хостов, на которых открыт SSH порт или работает Solaris сводится +к простой передаче результатов утилите grep, а затем утилитам типа awk или cut для вывода желаемой информации. + +Grepable вывод состоит из комментариев (линий начинающихся с #)grepable outputcomments in и строк описывающих цели. Каждая строка включает +комбинацию из 6 помеченных полей, разделенных знаками табуляции и оканчивающихся двоеточием. +Поля следующие: Хост, Порты, +Протоколы, Ignored State, +ОС, Seq Index, +IP ID и Статус. + +Наиболее важным из этих полей обычно является Порты, где дается описание +каждого интересного порта. Это поле представляет собой разделенный запятыми список портов. Каждый элемент этого списка +описывает один интересный порт и состоит из семи подполей, разделенных знаком косой черты (/). Подполя следующие: +Номер порта, Состояние, Протокол, Владелец, Служба, SunRPC информация и Информация о версии. + +Как и в случае с XML выводом, это руководство не позволяет полностью описать формат. Более подробное описание +этого формата доступно с . +на . + + + + + + + (Использовать все форматы вывода) + + + + Для удобства вы можете задать опцию , + чтобы сохранить результаты сканирования в обычном, XML и grepable форматах сразу. Они будут содержаться + в файлах + базовове_имя_файла.nmap, + базовове_имя_файла.xml и + базовове_имя_файла.gnmap соответственно. Как + и с большинством программ вы можете предварять имя файла путем к директории, например, + ~/nmaplogs/foocorp/ для Unix или + c:\hacking\sco для Windows. + + + + + + Опции управления вербальностью и отладкой + + + (Увеличить уровень вербальности) + + verbosity + + + + Увеличение уровня вербальности влечет за собой вывод большего количества информации во время + сканирования. Когда Nmap предполагает, что сканирование займет больше нескольких минут, будет выводиться + приблизительное время завершения работы и открытые порты по мере их обнаружения. Задайте эту опцию дважды + или более для увеличения количества выводимой информации. + giving more than once + + + Большинство изменений касаются только интерактивного режима; некоторые также нормального и + script kiddie режимов. Остальные форматы вывода предназначены для обработки машинами, поэтому вся + необходимая информация выдается Nmap по умолчанию. Тем не менее существуют несколько изменений в других + режимах, когда размер выходной информации может быть существенно сокращен путем отбрасывания некоторых + деталей. Например, линия комментариев в grepable формате, предоставляющая список всех просканированных портов, + выводится только в вербальном режиме, т.к. список может быть довольно длинный. + + + + + + + (Увеличить или установить уровень отладки) + + debugging + + + + +Когда даже вербальный режим не предоставляет вам достаточную информацию, вы можете использовать отладку! Отладка +активируется опцией командной строки (), и уровень отладочной информации может быть увеличен путем +задания этой опции несколько раз.giving more than once +В качестве альтернативы, вы можете передать уровень отладки как аргумент опции . Например, опцией + устанавливается девятый уровень. Это наивысший уровень, который будет предоставлять тысячи +строк, до тех пор пока вы не запустите очень простое сканирование небольшого количества целей. + +Отладка полезна, если вы предполагаете, что в Nmap есть баг, или если вы просто озадачены тем, что делает Nmap и +почему. Т.к. эта функция по большому счету предназначена для разработчиков, то выходная информация не всегда понятна. +Вы можете получить что-то типа: Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Если вы не понимаете, что это означает, вы можете проигнорировать эту +информацию, посмотреть в исходному коде или попросить помощи у разработчиков (nmap-dev).nmap-dev mailing list +Некоторые линии довольно понятны, но сообщения становятся более неясными с увеличением уровня отладки. + + + + + + + (Отслеживание принятых и переданных пакетов и данных) + + + + + Указывает Nmap выводить краткую информацию о каждом принятом и отправленном пакете. Обычно используется + для отладки, но также может быть полезна новичкам для понимания того, что же действительно делает Nmap. Чтобы + избежать вывода тысяч строк, вы можете ограничить количество портов для сканирования, например опцией + . Если вас интересует только то, что происходит при процессе определения версии, то + вместо этой опции используйте . + + + + + + (Показывать только открытые (или возможно открытые) порты) + + + + + + +Иногда вас интересуют только порты, к которым вы фактически можете подключиться +(а именно открытые), и вам не нужны результаты о +закрытых, фильтруемых и +закрытых|фильтруемых портах. Обработка выходной информации может быть легко +произведена с помощью таких утилит как +grep, awk и +Perl, но по многочисленным просьбам эта функция была добавлена в Nmap. +Задайте опцию , чтобы видеть информацию только об +открытых, открытых|фильтруемых и +не фильтруемых портах. Эти три типа портов расцениваются как обычно, что означает, +что открытые|фильтруемые и нефильтруемые порты +могут быть приняты во внимание, если их набралось большое количество. + + + + + + + + (Вывести список интерфейсов и роутеров) + + + Выводит список интерфейсов и системных роутеров, обнаруженных Nmap. Это полезно для отладки проблем с + роутерами и неправильного описания устройств (когда, например, Nmap рассматривает PPP соединение как ethernet). + + + + + (Записывать ошибки/предупреждения в выходной файл нормального режима) + + + + + Обычно предупреждения и ошибки выводятся Nmap только на экран (интерактивный вывод), и не сохраняются + в файлах нормального режима вывода (заданных опцией ). Если вы хотите записывать эти + сообщения в заданные вами файлы, то используйте эту. Это может быть полезно, если вы не просматриваете + интерактивный вывод или хотите сохранить все ошибки во время отладки какой-либо проблемы. Сообщения об + ошибках и предупреждениях по-прежнему будут выводится в интерактивном режиме. Это не будет работать для + большинства ошибок, вызванных неправильным заданием аргументов командой строки, т.к. Nmap может не успеть + проинициализировать выходные файлы этих команд. В дополнении ко всему, некоторые предупреждения и ошибки + Nmap используют другую систему, которая еще не поддерживает данную опцию. + + Альтернативой опции может служить перенаправление интерактивного вывода + (включая стандартный поток ошибок) в файл. Большинство командных оболочек Unix легко справится с этим, но + это может быть проблематично на Windows. + + + + + + + Различные опции вывода + + + + (Добавлять в конец, а не перезаписывать выходные файлы) + + + + + Когда вы передаете в качестве аргумента какому-либо флагу формата вывода (например, + или ) имя файла, то по умолчанию этот файл перезаписывается. Если вы + хотите оставить текущее содержание файла, а новые результаты добавлять в конец, используйте опцию + . В результате все указанные файлы вывода не будут перезаписываться, а + новое содержимое будем добавляться в конец. Существуют некоторые сложности с XML выводом + (), т.к. результирующий файл в этом случае обычно не сможет быть правильно + проанализирован программами, пока не вы подправите его вручную. + + + + + + (Продолжить прерванное сканирование) + + resuming scans + + + + + Некоторые всесторонние варианты сканирования Nmap могут занимать очень продолжительное время - порядка + нескольких дней. И они не всегда работают до завершения. Различные ограничения могут не позволить Nmap + сканировать в течении рабочих часов, сеть может перестать работать, машина, на которой запущена Nmap может + быть перезагружена, или сама Nmap может вылететь. Администратор, использующий Nmap, может отменить + сканирование по каким-то другим причинам, просто нажав ctrl-C. Запуск целого + сканирования с самого начала может быть нежелателен. К счастью, если были сохранены логи нормального + () или grepable формата (), пользователь может продолжить + сканирование с того места, на котором оно было остановлено. Просто задайте опцию + и передайте в качестве аргумента имя выходного файла обычного или grepable формата. + Никакие другие опции использовать не разрешается, т.к. Nmap будет продолжать сканирование с заданными ранее + опциями. Просто запустите Nmap командой + nmap --resumeимя_лог_файла. Nmap будет + добавлять новые результаты к выходным файлам, определенным при предыдущем запуске. Выходные файлы формата + XML не поддерживаются функцией возобновления работы, т.к. комбинирование результатов двух сканирований в один + правильный XML файл является сложной задачей. + + + + + + (Устанавливает XSL таблицу стилей для + преобразования XML вывода) + + + + + Nmap использует XSL + XSL + таблицу стилей + stylesheet + nmap.xsl + nmap.xsl + для просмотра или перевода XML вывода в HTML. + HTML from XML output + XML вывод включает директиву xml-stylesheet, + которая указывает на файл nmap.xml, + туда, где он был размещен Nmap при установке (или на текущую рабочую директорию в Windows). Просто + загрузите XML вывод Nmap в любой современный веб браузер, и он самостоятельно найдет файл + nmap.xsl для отображения результатов. Если вы хотите использовать + другой файл таблицы стилей, то передайте имя этого файла в качестве аргумента опции + . Вы должны использовать полный путь к файлу или URL. Один из примеров: + . Эта опция указывает браузеру загружать + последнюю версию таблицы стилей с Nmap.Org. Опция делает то же самое, но без + лишнего набора на клавиатуре и запоминания. Загрузка XSL с Nmap.Org облегчает просмотр результатов на машине, + на которой не установленна Nmap (и поэтому нет файла nmap.xsl). Поэтому + URL часто бывает более полезен, но локальный файл nmap.xsl используется + по умолчанию из соображений приватности. + + + + + + (Загружает таблицу стилей с Nmap.Org) + + + + + Эта опция является просто псевдонимом + . + + + + + + (Убрать объявление XSL таблицы стилей из XML) + + + + + Задайте эту опцию, чтобы не ассоциировать какую-либо XSL таблицу стилей с XML выводом. В этом случае + директива xml-stylesheet опускается. + + + + + + + + + + + Различные опции + В этой секции описываются некоторые важные (и не очень важные) опции, которые не подходят к другим + категориям. + + + + + (Включает IPv6 сканирование) + + IPv6 + + + + Начиная с 2002 года Nmap имеет поддержку протокола IPv6 для своих наиболее используемых функций. + В частности, пинг сканирование (только TCP), выявление возможности установки соединения и определение + версии имеют поддержку протокола IPv6. Синтаксис команд такой же как и обычный за исключением того, что + вы добавляете опцию . Конечно же, вы должны использовать синтаксис IPv6, если вы + указываете адрес, а не имя хоста. Адрес может выглядеть как + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, поэтому лучше использовать + имена хостов. Вывод выглядит так же как и обычный, только на линии интересных портов будет + IPv6 адрес. + + Хотя протокол IPv6 еще не завоевал весь мир, в некоторых (обычно Азиатских) странах он используется + интенсивно, и большинство современных операционных систем поддерживают его. Чтобы использовать Nmap с + протоколом IPv6, и источник и цель сканирования должны быть настроены на работу с ним. Если ваш ISP + (как большинство из них) не предоставляет вам IPv6 адрес, вы можете использовать широко распространенный + и работающий с Nmap сервис Tunnel Brokers. Я использую бесплатный сервис + IPv6 tunnel broker + на . Другие подобные сервисы + перечислены на Wikipedia. + + + + + + + (Опции агрессивного сканирования) + + + + + Этой опцией активируется набор агрессивных опций сканирования. Я еще не решил до конца, какие же + опции будут использоваться. Сейчас этот набор включает определение ОС (), + сканирование с целью определения версии (), сканирование с использованием скриптов + () и трассировку (). + features enabled by + Возможно в будущем будут добавлены другие функции. Целью является создание всестороннего набора опций + сканирования, чтобы людям не надо было запоминать большое количество флагов. Тем не менее, т.к. сканирование + с использованием скриптов с настройками по умолчанию расценивается как "назойливое", вам не следует + использовать опцию для сканирования целевых сетей без разрешения. Эта опция активирует + только возможности, но не устанавливает опции времени (timing) (такие как ) или опции + вербального вывода (), которые вы, возможно, хотели бы использовать. + + + + + + (Определяет место расположения файлов + Nmap) + + + + + Во время работы Nmap получает некоторые данные из файлов + nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes и + nmap-os-db. Если место расположение какого-либо из этих файлов было + задано конкретно (используя опции или ), то оно + используется для этого файла. Далее Nmap ищет эти файлы в директории, заданной опцией + (если задана). Если файлы не были найдены там, то Nmap ищет их в директории, + определенной переменной окружения NMAPDIR NMAPDIR environment variable. + Далее идут + ~/.nmap.nmap directory + для реальных и действующих в данный момент UIDs (только POSIX системы) или расположение исполняемого файла + Nmpa (только Win32), и далее /usr/local/share/nmap или + /usr/share/nmap. В последнюю очередь Nmap будет искать эти файлы в + текущей директории. + + + + + + (Задает определенный файл служб) + + + + + Указывает Nmap использовать заданный файл служб вместо файла + nmap-services, который поставляется вместе с Nmap. Использование этой + опции также подразумевает использование опции быстрого сканирования (). Смотрите описание + для более подробной информации о файлах данных Nmap. + + + + + + + (Задает определенный файл запросов для служб) + + + + + Указывает Nmap использовать заданный файл запросов для служб вместо файла + nmap-service-probes, который поставляется вместе с Nmap. Смотрите описание + для более подробной информации о файлах данных Nmap. + + + + + + (Использовать сырой уровень ethernet) + + + + + Указывает Nmap посылать пакеты с использование более низкого сырого уровня ethernet, а не с + использованием более высокого уровня IP (сетевого). По умолчанию Nmap выбирает тот способ, который + больше подоходит для используемой платформы. Сырые сокеты (уровень IP) + raw sockets в общем случае более эффективны + для Unix машин, в то время как использование ethernet фреймов необходимо для операционных систем Windows, т.к. + Microsoft отключила в них поддержку сырых сокетов. Nmap по-прежнему использует сырые IP пакеты на Unix не + смотря на эту опцию, когда нет другого выбора (как в случае с не-ethernet соединениями). + + + + + + + (Использовать сырой уровень IP) + + + + + Указывает Nmap посылать пакеты с использование сырых IP сокетов, а не с использованием более низкого + уровня ethernet фреймов. Это дополнение к опции описанной выше. + + + + + + (Подразумевать, что у пользователя есть все привилегии) + + + + + Указывает Nmap, что у нее есть необходимые привилегии для использования сырых сокетов, + пакетного сниффинга и сходных операций, которые обычно требуют привилегий пользователя root на Unix системах. + privileged users + + authorized usersprivileged users По умолчанию Nmap завершает + работу, если были запрошены такие опреации, но geteuid не нуль. + Опцию хорошо использовать на системах с возможностями ядра Linux или подобных, + которые могут быть сконфигурированы так, что непривилегированные пользовтели смогут осуществлять сканирование + с использованием сырых сокетов. Удостоверьтесь, что эта опция указана перед любымими опциями требующими + привилегий (сканирование SYN, определение ОС и т.д.). Переменная окурежния + NMAP_PRIVILEGED + NMAP_PRIVILEGED environment variable + может быть установлена как равнозначная альтернатива опции . + + + + + + (Подразумевать, что у пользователя нет привилегий для использования сырых + сокетов) + + unprivileged users + + + + + Эта опция противоположна . Указывает Nmap, что у пользователя нет + привилегий для использования сырых сокетов и сниффинга. Полезна для тестирования, отладки или когда по + какой-то причине на вашей системе не работае механизм сырых сокетов. Переменная окружения + NMAP_UNPRIVILEGEDNMAP_UNPRIVILEGED environment variable + может быть установлена как равнозначная альтернатива опции . + + + + + + + + (Освободить память перед завершением работы) + + + + + Эта опция полезна только во время отладки утечки памяти. Заставляет Nmap освободить занянутю память + перед завершением работы, что облегчает задачу обнаружения действительной утечки памяти. В обычном режиме + работы Nmap пропускает этот шаг, так ОС делает это самостоятельно при закрытии процесса. + + + + + + + (Запустить в интерактивном режиме) + + + + + + Запускает Nmap в интерактивном режиме, который предлагает интерактивные подсказки Nmap, позволяющие + запускать несколько процессов сканирования (параллельно или в фоне). Эта опция полезна для людей, которые + запускают сканирование с многопользовательской системы, т.к. они часто хотят протестировать свою безопасность, + при этом не давая узнать кому-либо другому в системе, что является целью их сканирования. Используйте опцию + , для запуска этого режима, а затем нажмите + h для справки. Эта опция используется редко, т.к. собственные командные + оболочки более знакомы и содержат больше возможностей. Эта опция включает оператор (!) для запуска команд + оболочки, что является одной из многих причин, почему не следует устанавливать Nmap setuid root. + setuid root.setuid, why Nmap shouldn't be + + + + + + + ; (Вывести номер версии) + + + + + Выводит номер версии Nmap и завершает работу. + + + + + + ; (Вывести страницу помощи) + + + + + Выводит небольшую страницу помощи с наиболее часто используемыми командами и опциями. Запуск Nmap без + аргументов приводит к такому же результату. + + + + + + + + Взаимодействие во время выполнения<indexterm significance="normal"><primary>runtime interaction</primary></indexterm> + + Во время работы Nmap, все нажатые клавиши фиксируются. Это позволяет вам взаимодействовать с программой + не прерывая и не перезапуская ее. С помощью некоторых клавиш можно изменить опции сканирования, при + использовании же других будут выведены сообщения о текущем статусе сканирования. Существует договоренность, что + строчные буквы увеличивают количество выводимой информации, а + прописные буквы уменьшают. Для справки можно нажать ‘?’. + + + + / + + + Увеличить / уменьшить уровень вербальности + + + + + / + + + Увеличить / уменьшить отладочный уровень + + + + + / + + + Включить / выключить отслеживание пакетов + + + + + + + + Вывести справку о взаимодействии во время выполнения + + + + + Что-либо другое + + + Выведет сообщение типа: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Примеры + Здесь приведены несколько примеров использования Nmap, от самых простых до более изощренных. Некоторые + реально существующие IP адреса и доменные имена использованны для того, чтобы сделать примеры более конкретными. + На их место вы должны подставить адреса/имена из вашей собственной сети.. В то время как + сканирование портов некоторой сети не является незаконным, некоторым администраторам сетей может не понравиться + своевольное сканирование их сетей и они могут пожаловаться. Для начала постарайтесь получить разрешение. + + В целях тестирования у вас есть разрешение сканировать scanme.nmap.org. + Вы можете использовать сканирование с помощью Nmap, но не тестировать эксплоиты или производить атаки отказа в + обслуживании. Для того чтобы не перегружать канал, пожалуйста, не производите более дюжины сканирований этого + хоста в день. В случае злоупотребления этим свободным для сканирования хостом, он будет отключен и Nmap выдаст + Failed to resolve given hostname/IP: + scanme.nmap.org (не могу разрешить данное имя/IP: scanme.nmap.org). Все выше сказанное также + относится и к хостам scanme2.nmap.org, + scanme3.nmap.org, и так далее, несмотря на то, что эти хосты еще не + существуют. + + + example of + nmap -v scanme.nmap.org + + Этой командой будут просканированы все TCP порты машины + scanme.nmap.org . Опция + активирует вербальный режим. + + example of + example of + nmap -sS -O scanme.nmap.org/24 + + Этой командой будет произведено скрытное SYN сканирование всех 255 машин сети класса C, в + которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом + работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий + суперпользователя (root). + + example of + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Запускает перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей + адресного пространства 198.116 класса B. Также проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их + стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов + открыт, то будет произведена попытка определения работающего с этим портом приложения. + + + example of + example of + nmap -v -iR 100000 -PN -p 80 + + + Указывает Nmap выбрать случайным образом 100,000 хостов и просканировать их на наличие запущенных на них + веб-серверов (порт 80). Перебор хостов отключен опцией , т.к. посылка пары предварительных + запросов с целью определения доступности хоста является нецелесообразной, когда вас интересует всего один порт на + каждом хосте. + + + example of + example of + nmap -PN -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Этой командой будут просканированы 4096 IP адресов (без предварительного пингования), а выходные данные + будут сохранены в фомате XML и формате, удобном для просмотра утилитой grep (grepable формат). + + + + + Ошибки + bugs, reporting + + Как и ее автор, Nmap не идеальна. Но вы можете сделать ее лучше посылая нам отчеты об ошибках или даже + написав патч. Если Nmap ведет себя не так, как вы ожидаете, то для начала обновитесь до последней версии с + . Если проблема останется, то выясните, не была ли эта проблема уже обнаружена кем-то. + Попробуйте поискать сообщения об ошибках на нашей странице поиска + или в Google. Также попробуйте просмотреть nmap-dev архивы на .nmap-dev mailing list + Также прочитайте полностью страницу руководства. Если ничего не помогло, отправьте сообщение об ошибке на + nmap-dev@insecure.org. Пожалуйста, включите всю известную вам информацию об ошибке, какую версию + Nmap вы используете, и на какой операционной системы вы запускаете Nmap. Сообщения о проблемах и вопросы по + использованию Nmap отправленные на nmap-dev@insecure.org имеют больше шансов на ответ, чем если бы + вы послали их непосредственно Fyodor'у. Если вы подпишитесь на рассылку nmap-dev перед отправкой сообщения, + то ваше сообщение будет обработано быстрее. Подпишитесь на рассылку на . + + Патчи для исправления ошибок даже лучше просто сообщений об ошибках. Базовые инструкции по созданию патчей + доступны по адресу . Созданные вами патчи можно отправить на + nmap-dev (рекомендуется) или непосредственно Fyodor'у. + + + + Автор + Fyodor + fyodor@insecure.org + () + + + На протяжении многих лет сотни людей внесли ценный вклад в разработку Nmap. Все изменения и улучшения + подробно описаны в файле + CHANGELOGchangelog, который распространяется вместе с Nmap, а также доступен на + . + + + + + Юридические уведомления + + + Unofficial Translation Disclaimer / Отречение неофициального перевода + + This is an unnofficial translation of the Nmap + license details into Russian. It was not written by Insecure.Com LLC, and does not legally state the + distribution terms for Nmap -- only the original English text does that. However, we hope that this translation + helps Russian speakers understand the Nmap license better. + + Это неофициальный перевод лицензии Nmap на + русский язык. Он не был осуществлен Insecure.Com LLC, и не определяет с юридической точки зрения условия + распространения Nmap -- это делает только оригинальный английский вариант. Тем не менее, мы надеемся, что этот + перевод поможет русскоязычным пользователям лучше понять лицензию Nmap. + + + + + Авторское право и лицензия Nmap + copyright + GNU General Public License + +Nmap Security Scanner (C) 1996-2008 Insecure.Com LLC. Nmap также является зарегистрированным товарным знаком +Insecure.Com LLC. Эта программа является свободным программным обеспечением; вы можете распространять и / или +модифицировать его в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation; +Версия 2 с уточнениями и исключениями, описанными ниже. Лицензия гарантирует ваше право использовать, модифицировать и +распространять данное программное обеспечение на определенных условиях. Если вы хотите встроить Nmap технологии в +собственное программное обеспечение, мы продаем альтернативные лицензии (обращаться sales@insecure.com). +Десятки поставщиков программного обеспечения, уже имеют лицензии на использование Nmap технологий, таких, как +обнаружение хостов, сканирование портов, определение OS и определение версии. + + +Имейте ввиду, что GPL накладывает важные ограничения на производные приложения, хотя и не дает +четкого определения этого термина. Чтобы избежать недоразумений, мы считаем, что приложение является +производным, если в нем реализованы любые из следующих пунктов: + + +Используется исходный код Nmap +Используются авторские файлы данных Nmap, такие, как + nmap-os-db или + nmap-service-probes. +Запускается Nmap, и анализируются результаты работы (в противовес обычным командным оболочкам, которые +просто отображают необработанные выходные данные Nmap и поэтому не являются производными приложениями.) +Nmap интегрируется/включается/агрегируется в собственный исполняемый инсталлятор, как предоставляемые, +например, с помощью InstallShield. +Используется ссылка на библиотеку или запускается программа, в которой реализованы любые из +перечисленных пунктов. + + +В термин Nmap следует также включать любые части Nmap или производные от нее приложения. Это +список не является полным, мы просто хотим сделать ясным наше понимание производных приложений с помощью некоторых +общих примеров. Эти ограничения имеют силу, только когда вы действительно распростаняете Nmap. Например, ничего +не мешает вам написать и продавать свой собственный пользовательский интерфейс для Nmap. Распространяйте его +самостоятельно, а для скачивания Nmap направляйте людей на . + +Мы не считаем, что данные ограничения должны быть добавлены к лицензии GPL, мы просто приводим наше понимание +производных приложений по отношению к нашему продукту с GPL лицензией. Это похоже на то, как Линус +Торвальдс (Linus Torvalds) опубликовал свое понимание производных приложений применимо к модулям ядра +Linux. Наше трактовка относится только к Nmap, мы не говорим ни о каких других GPL продуктах. + +Если у вас есть какие-либо вопросы о GPL ограничениях по использованию Nmap в не-GPL продуктах, мы с радостью +вам поможем. Как уже упоминалось выше, мы предоставляем альтернативную лицензию для интегрирования Nmap в собственные +программные продукты. Эти контракты были проданы многим производителям программного обеспечения и обычно они включают: +бессрочную лицензию, предоставление приоритетной поддержки и обновлений, а также содействие спонсированию +продолжающейся разработки Nmap технологии. Для дальнейшей информации пишите на sales@insecure.com. + +В качестве исключения из GPL соглашений, Insecure.Com LLC предоставляет право связывать исходный код этой +программы с любой версией OpenSSL библиотеки, которая распространяется по лицензии приведенной в файле +COPYING.OpenSSL, а также распространять эту комбинацию.OpenSSLlinking exception +Вы должны удовлетворять условиям лицензии GNU GPL во всем, что касается кода не использующего OpenSSL. Если вы +модифицируете этот файл, вы можете расширить это исключение на вашу версию файла, но вы не обязаны это делать. + +Если вы получаете эти файлы в лицензионным соглашением или контрактом, где указаны отличные от этих условий, то +альтернативные условия лицензионного соглашения имеют преимущество над этими комментариями. + + + + Creative Commons License для этого справочного руководства Nmap + Справочно Руководство Nmap это (C) 2005-2008 Insecure.Com LLC. Оно распространяется + под лицензией Creative Commons + Attribution License версии 2.5. Это позволяет вам распространять и модифицировать его по вашему усмотрению, + до тех пор пока вы считаетесь с исходным источником. В качестве альтернативы вы можете считать, что этот документ + распространяется по той же лицензии, что и сама Nmap (описывается выше). + + + + Доступность исходного кода и общественные вклады + +Мы предоставляем исходный код, потому что верим, что пользователи должны иметь право знать, что именно программа +будет делать до того, как запустят ее. Это также позволяет вам проверять программное обеспечение на наличие дыр в +безопасности (пока не было найдено ни одной). + +Исходный код также позволяет вам портировать Nmap на новые платформы, исправлять баги и добавлять новые +возможности. Всячески поощряется посылка своих изменений на fyodor@insecure.org для возможного +их включения в основной дистрибутив. Отправляют эти изменения Fyodor'у или разработчикам на Insecure.Org, +пердполагается, что вы предоставляете Fyodor'у и Insecure.Com LLC безграничное, не эксклюзивное право на повторное +использование, модификацию и изменение лицензии кода. Nmap всегда будет доступна как +Open Source продукт,open source +это важно, т.к. невозможность изменения лицензии на кода уже повлекла за собой большие проблемы для других +Free Software проектов (как, например, KDE и NASM). Вы также порой позволяем третьим сторонам изменять лицензию, как +описывалось выше. Если вы хотите использовать собственные лицензионные условия для ваших изменений, сообщите об этом, +когда будете их отсылать. + + +Отсутствие гарантии<indexterm significance="normal"><primary>warranty (lack of)</primary></indexterm> + +Эта программа распространяется в надежде на то, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без +какой-либо подразумеваемой ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО ОПРЕДЕЛЕННОЙ ЗАДАЧИ. Смотрите GNU +General Public License v2.0 для подробностей , или в файле +COPYING, который распространяется с Nmap. + +Также следует принять во внимание, что время от времени Nmap вызывает крах плохо написанных приложений, TCP/IP +стеков и даже операционных систем.crashing targets +Хотя такие случаи и чрезвычайно редки, не следует о них забывать. Nmap никогда не следует использовать для +сканирования критичных систем, пока вы не готовы мириться в временем простоя. Мы признаем, что Nmap может +вызвать крах ваших систем или сетей, и отрицаем всякую ответственность за проблемы или ущерб, нанесенные Nmap. + + +Несоответствующее использование +Из-за возможного риска краха и из-за того, что некоторые личности используют Nmap для предварительного +исследования систем перед их атакой, некоторые администраторы могут быть недовольны тем, что их система была +просканирована. Поэтому, перед тем как сканировать сеть, разумно получить на это разрешение. + +Nmap не следует устанавливать с особыми привилегиями (например, suid root) из соображений безопасности.setuid, why Nmap shouldn't be + + + +Стороннее программное обеспечение + +Этот продукт содержит программное обеспечение разработанное +Apache Software Foundation. Модифицированная версия библиотеки +Libpcap portable packet capture librarylibpcap +распространяется вместе с Nmap. Windows версия Nmap использует вместо Libpcap производную от нее библиотеку +WinPcap libraryWinPcap. +Поддержка регулярных выражений предоставляется библиотекой +PCRE library,Perl Compatible Regular Expressions (PCRE), +которая является программным обеспечением с открытым исходным кодом, написана Филипом Хазелом (Philip Hazel).Hazel, Philip +Некоторые функции по работе с сырыми сокетами используют сетевую библиотеку +Libdnetlibdnet, написанную Дагом Сонгом (Dug Song).Song, Dug +Модифицированная версия распространяется вместе с Nmap. Nmap может быть связана с +OpenSSL +cryptography toolkitOpenSSL +поддержки SSL определения версии. Скриптовый движок Nmap (Nmap Scripting Engine) использует встроенную версию +языка программирования Lua.Lua programming language +Все описанное здесь стороннее проограммное обеспечение бесплатно распространяется на основе лицензии в стиле BSD. + + + +Классификация по контролю экспорта Соединенных Штатов<indexterm significance="normal"><primary>export control</primary></indexterm> + +U.S. Export Control: Insecure.Com LLC указывает, что Nmap попадает под U.S. ECCN (число в классификации по +контролю экспорта) 5D992. Эта категория называется Программное обеспечение информационной безопасности не +контролируемое 5D002. Единственным ограничем в этой категории является AT (анти-терроризм), под который +попадают почти все товары, что запрещает экспорт в горстку не стран типа Ирана и Северной Кореи. Поэтому экспорт Nmap +не требует какой-либо специальной лицензии, разрешения или других санкций со стороны государства. + + + + + + +
diff --git a/docs/man-xlate/nmap-man-sk.xml b/docs/man-xlate/nmap-man-sk.xml new file mode 100644 index 000000000..4715b1591 --- /dev/null +++ b/docs/man-xlate/nmap-man-sk.xml @@ -0,0 +1,3028 @@ + + +
+ + Nmap - Referencna prirucka (Man Page,Slovak translation) + + + + nmap + 1 + + + nmap + Nastroj na skumanie siete a scanner bezpecnosti/portov + + + + + nmap + + Typ scanu + + + Moznosti + + + Specifikacia cielovej stanice + + + + + Opis + + Nmap (Network Mapper) je open-source nastrojom na skumanie siete a kontrolu bezpecnosti. + Bol vyvinuty s ohladom na rychle scanovanie velkych sieti, hoci funguje vyborne aj pri nasadeni proti jednotlivym hostitelom. + Nmap neobvyklymi sposobmi pouziva neupravene IP pakety na urcenie hostitelskych stanic v sieti, + sluzieb, ktore (aplikacia + Nmap neobvyklym sposobom pouziva neupravene IP pakety na urcenie cisla a verzie) tieto hostitelske stanice ponukaju, + na akom operacnom systeme + (a verziach OS) bezia, aky typ paketovych filtrov alebo firewallu je pouzity, + a mnoho dalsich charakteristickych veci. Hoci sa Nmap bezne pouziva na vykonavanie kontrol bezpecnosti, + mnoho systemovych a sietovych administratorov ho vyuzije aj pri obvyklych ulohach ako napriklad + obsah siete, sprava casovych rozvrhnuti upgradeovania sluzby ci + monitorovanie uptimu hostitelskej stanice alebo sluzby. + + + Vystup aplikacie Nmap je tvoreny zoznamom scanovanych cielovych stanic s dodatocnymi informaciami o kazdom + z nich v zavislosti na pouzitych moznostiach. + Klucovou medzi tymito informaciami je tabulka zaujimavych portov + . Tato tabulka obsahuje zoznam cisla portu a protokolu, nazov sluzby + a stav. Stav moze byt bud + otvoreny, filtrovany, + zatvoreny, alebo nefiltrovany. Otvoreny + Open znamena, ze aplikacia na cielovom pocitaci nacuva spojeniam alebo paketom na tomto porte. + Filtrovany znamena, ze nejaky firewall, filter alebo sietova prekazka + blokuje port takym sposobom, ze Nmap nedokaze urcit, ci je port + otvoreny alebo zatvoreny. + Zatvorene porty neobsahuju ziadne na nich nacuvajuce aplikaciu, + aj ked by sa mohli kedykolvek otvorit. Porty su oznacovane ako nefiltrovane + ak reaguju na testovanie Nmapom, no Nmap nedokaze urcit, ci su otvorene alebo zatvorene. + Nmap ohlasi kombinaciu stavov + otvoreny|filtrovany a + zatvoreny|filtrovany ak nedokaze urcit, ktory z dvoch stavov zodpoveda portu. + . Ak bola vyzadovana detekcia verzie, tabulka portov moze takisto obsahovat podrobnosti o verzii softwaru. + Ak je vyzadovany scan protokolu IP + (), Nmap poskytne informacie namiesto nacuvajucich portov + informacie o podporovanych protokoloch IP. + + Okrem tabulky zaujimavych portov dokaze Nmap poskytnut dalsie + informacie o cielovych staniciach, vratane reverznych nazvov DNS, odhadov operacneho systemu, + typoch zariadeni a MAC adries. + + Typicky Nmap scan je zobrazeny na tomto mieste.. + Jedinymi parametrami Nmapu pouzitymi v tomto priklade su , na povolenie + detekcie OS a verzie, kvoli rychlejsiemu behu programu, a dva hostitelske nazvy + cielovych stanic. + +Ukazkovy Nmap scan + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 +Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground.nmap.org (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + +Najnovsia verzia Nmapu sa nachadza na adrese . +Najnovsia verzia manualu je k dispozicii na adrese . + + + + + Poznamky o preklade + + Tato slovenska verzia referencnej prirucky Nmapu bola prelozena z verzie + 2991 povodnej anglickej verzie + Stanislavom Sivakom. Dufam sice, ze tento preklad viac spristupni Nmap slovensky hovoriacim + ludom na celom svete, ale nemozem zarucit, ze preklad je taky uplny alebo aktualny ako + oficialna anglicka verzia. + Toto dielo moze byt modifikovane a siritelne podla podmienok licencie Creative + Commons Attribution License. + + + + Zoznam moznosti + +Tento zoznam moznosti sa zobrazi, ak je Nmap spusteny bez parametrov a +jeho najnovsia verzia je k dispozii na adrese +. +Pomaha ludom zapamatat si najbeznejsie moznosti, ale nie je nahradou za podrobnu +dokumentaciu v zostavajucej casti tohoto manualu. Na tomto mieste nie su dokonca uvedene niektore +malo zname, nejasne moznosti. + + + +Pouzitie: nmap [Typ(y) scanu] [Moznosti] {specifikacia cielovej stanice} +SPECIFIKACIE CIELOVEJ STANICE: + Je mozne zadat hostitelsky nazov stanice, IP adresy, siete atd. + Priklad: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 + -iL <inputfilename>: Pouzit ako vstup zoznam hostistelskych stanic alebo sieti + -iR <num hosts>: Zvolit nahodne cielove stanice + --exclude <host1[,host2][,host3],...>: Vynechat hostitelske stanice alebo siete + --excludefile <exclude_file>: Vynechat zoznam zo suboru +ZISTOVANIE HOSTITELSKEJ STANICE: + -sL: List Scan - zobrazit zoznam cielovych stanic, ktore sa maju scanovat + -sP: Ping Scan - nevykonat nic ine okrem zistenia, ci je hostitelska stanice online + -P0: Treat all hosts as online -- preskocit zistovanie hostitelskych stanic + -PS/PA/PU [portlist]: pre zadane porty vykonat zistenie protokolov TCP SYN/ACK alebo UDP + -PE/PP/PM: vyskusat ICMP echo, parameter timestamp a poziadavku na sietovu masku + -n/-R: Nikdy nevykonavat DNS preklad/Vzdy vykonavat preklad DNS [povodne nastavenie: niekedy] + --dns_servers <serv1[,serv2],...>: Zadat vlastne servery DNS + --system_dns: Pouzit prekladac DNS operacneho systemu +SPOSOBY SCANOVANIA: + -sS/sT/sA/sW/sM: Scan typu TCP SYN/Connect()/ACK/Window/Maimon + -sN/sF/sX: Scany typu TCP Null, FIN a Xmas + --scanflags <flags>: Nastavit vlastne flagy scanu TCP scan + -sI <zombie host[:probeport]>: Scan typu Idlescan + -sO: Scan protokolu IP + -b <ftp relay host>: Scan vyuzivajuci FTP bounce +SPECIFIKACIA PORTOV A PORADIE SCANOVANIA: + -p <port ranges>: Len specifikovane porty + Priklad: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Vykonat scan len na portoch zahrnutych v subore nmap-services + -r: Scanovat porty postupne a nie nahodne +DETEKCIA SLUZBY/VERZIE: + -sV: Testovat otvorene porty na urcenie informacii o sluzbe/verzii + --version_light: Kvoli rychlejsej identifikacii sluzby/verzie vykonat len tie + najpravdepodobnejsie testy + --version_all: Vykonat vsetky mozne testy + --version_trace: Zobrazit podrobnosti o priebehu scanovanie verzie (pre ucely debugovania) +DETEKCIA OS: + -O: Povolit detekciu OS + --osscan_limit: Zuzit detekciu OS len na slubne vyzerajuce cielove stanice + --osscan_guess: Pouzit agresivnejsiu detekciu OS +CASOVANIE A VYKON: + -T[0-5]: Nastavit casovaciu sablonu (vyssie cislo zodpoveda rychlejsej sablone) + --min_hostgroup/max_hostgroup <size>: Velkosti skupin paralelnych scanov + --min_parallelism/max_parallelism <msec>: Paralelizacia testu + --min_rtt_timeout/max_rtt_timeout/initial_rtt_timeout <msec>: Udava + velkost hodnoty RTT testu + --max_retries <tries>: Udava pocet retransmisii testu scanovania portov. + --host_timeout <msec>: Po uplynuti tohoto casoveho limitu ukoncit test cielovej stanice + --scan_delay/--max_scan_delay <msec>: Prisposobit oneskorenie medzi testami +OBIDENIE FIREWALLU/IDS A FALSOVANIE: + -f; --mtu <val>: Fragmentovat pakety ( s pridanou moznostou fragmentovania podla velkosti MTU) + -D <decoy1,decoy2[,ME],...>: Ukryt scan pouzitim trikov + -S <IP_Address>: Sfalsovat zdrojovu adresu + -e <iface>: Pouzit zadane rozhranie + -g/--source_port <portnum>: Pouzit dane cislo portu + --data_length <num>: Do odosielanych paketov vlozit nahodne data + --ttl <val>: Nastavit velkost polozky time-to-live protokolu IP + --spoof_mac <mac address/prefix/vendor name>: Sfalsovat MAC adresu aktualneho pocitaca + --badsum: Odoslat pakety s falosnym kontrolnym suctom TCP/UDP +VYSTUP: + -oN/-oX/-oS/-oG <file>: Vystup scanu zadaneho suboru vo formate obycajnom, XML, s|<rIpt kIddi3, + a Grep. + -oA <basename>: Vystup sucasne vo vsetkych troch hlavnych formatoch + -v: Zvysit uroven priebezneho vystupu (pre vacsi ucinok pouzit dvakrat) + -d[level]: Nastavit alebo zvysit uroven debugovania (Zmysel maju hodnoty do 9) + --packet_trace: Zobrazit vsetky odoslane a prijate pakety + --iflist: Vytlacit rozhrania hostitelskej stanice a trasy (pre ucely debugovania) + --append_output: Namiesto vymazania dat suborov pridat vystup k datam zadanych vystupnych suborov + --resume <filename>: Pokracovat v prerusenom scane + --stylesheet <path/URL>: Na prenesenie vystupu vo formate XML do formatu HTML pouzit stylesheet XSL + --webxml: Na ziskanie prenositelnejsieho formatu XML pouzit referencny stylesheet zo stranky Insecure.Org + --no_stylesheet: Nepouzivat stylesheet pre vystup v XML +ROZNE: + -6: Povolit scan pre protokol IPv6 + -A: Povolit detekciu OS a verzie + --datadir <dirname>: Zadat vlastne umiestnenie datoveho suboru pre Nmap + --send_eth/--send_ip: Odoslat pouzitim neupravenych ethernetovych ramcov alebo IP paketov + --privileged: Usudzovat, ze uzivatel ma plne opravnenia + -V: zobrazit cislo verzie + -h: zobrazit suhrn tejto stranky napovedy. +PRIKLADY: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + Specifikacia cielovej stanice + +Vsetko v prikazovom riadku Nmapu co nie je parametrom (alebo argumentom parametra) sa povazuje +za specifikaciu cielovej stanice. Najjednoduchsim pripadom je specifikovat cielovu IP adresu alebo +hostitelsky nazov stanice, ktora sa ma scanovat. + + +Niekedy je potrebne scanovat celu siet susednych hostitelskych stanic. +Pre tento ucel podporuje Nmap adresovanie typu CIDR. K IP adrese alebo hostitelskemu nazvu je mozne pripojit +/numbits a +Nmap vykona scan kazdej IP adresy, u ktorej sa zhoduju prve +numbits s referencnou IP adresou alebo hostitelskym nazvom. +Napriklad po zadani adresy v tvare 192.168.10.0/24 by sa scanovalo 256 hostitelskych stanic medzi +192.168.10.0 (v binarnom tvare: 11000000 10101000 +00001010 00000000) a 192.168.10.255 (v binarnom tvare: 11000000 10101000 +00001010 11111111), vratane. +Zadanie adresy 192.168.10.40/24 by sposobilo presne to iste. Za predpokladu, ze + nazov scanme.nmap.org je na IP adrese 205.217.153.62, specifikacia +scanme.nmap.org/16 sposobi, ze by sa scanovalo 65,536 IP adries medzi adresami +205.217.0.0 a 205.217.255.255. Najmensia povolena hodnota je /1, +co sposobi scanovanie polovice internetu. Najvacsia hodnota je 32, co ma za nasledok scanovanie +len spomenutej hostitelskej stanice, pretoze vsetky bity IP adresy su pevne. + +Zapis typu CIDR je sice kratky, no nie vzdy dostatocne flexibilny. Napriklad, ak je +potrebne scanovat adresy v rozsahu 192.168.0.0/16, ale pritom preskocit vsetky adresy zakoncene +.0 alebo .255, pretoze bezne su to broadcastove adresy. Nmap to podporuje pomocou +pouzitia specifikacie jednotlivych oktetov adresy. Namiesto zadania obycajnej +IP adresy je mozne specifikovat zoznam cisel alebo rozsah pre kazdy oktet, oddeleny ciarkou. +Rozsah 192.168.0-255.1-254 napriklad preskoci vsetky adresy v zadanom rozsahu, ktore obsahuju +na konci .0 alebo .255. Rozsahy sa nemusia viazat len na posledne oktety: specifikacia +0-255.0-255.13.37 vykona scan vsetkych adries na internete konciace oktetmi 13.37. +Tento druh specifikacie sa moze hodit pri skumani internetu a vyskume. + +Adresy protokolu IPv6 mozu byt specifikovane len plne urcenou IPv6 adresou +alebo hostitelskym nazvom. Zapisy typu CIDR a rozsahy oktetov nie su podporovane pre IPv6, +pretoze su zriedkavo uzitocne. + +Nmap akceptuje viacnasobne specifikacie hostitelskych stanic v prikazovom riadku, +ktore pritom nemusia byt rovnakeho typu. Prikaznmap +scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 funguje podla ocakavania. + + Zatial co su cielove stanice obvykle specifikovane v prikazovom riadku, je mozne tiez +specifikovat nasledujuce moznosti, a tym riadit vyber cielovych stanic: + + + + + + (Vstup zo zoznamu) + + + Nacita specifikacie cielovych stanic z + inputfilename. Zadavanie velkeho zoznamu hostitelskych stanic + do prikazoveho riadku je casto tazkopadne avsak casto ziadane. + Napriklad vas DHCP server moze exportovat zoznam momentalnych 10000 pridelenych adries, ktore sa maju + scanovat, alebo je mozne scanovat vsetky IP adresy + okrem tychto na zistenie hostitelskych stanic pouzivajucich neopravnene + staticke adresy. Vytvorite zoznam hostitelskych stanic, ktore sa maju scanovat + a nazov suboru zadate ako argument k parametru. Polozky v subore mozu + byt v lubovolnom formate, ktory je akceptovany Nmapom v prikazovom riadku + (IP adresa, hostitelsky nazov, IP adresa typu CIDR, IPv6, alebo rozsahy oktetov). Kazda polozka musi + musi byt oddelena aspon jednou medzerou, tabulatormi alebo novym riadkom. + Ak sa maju hostitelske stanice nacitavat zo standardneho vstupu + a nie aktualneho suboru, je mozne pouzit spojitko (-) + + + + + + (Vybrat nahodne cielove stanice) + + + Pre rozsiahle internetove prieskumy a dalsi vyskum je mozne zvolit nahodne + cielove stanice. Argument num hosts udava, kolko IP adries ma Nmap + generovat. Automaticky sa preskocia adresy privatne, multicastove alebo nealokovane. + Argument 0 + udava scan, ktory sa nikdy neskonci. Je potrebne uvedomit si, ze niektori sietovi administratori + s nevolou sleduju neopravnene scanovania sieti a mozu sa stazovat. Pouzitie tejto moznosti + je na vlastne nebezpecie! Ak sa budete v jedno dazdive odpoludnie naozaj nudit, + pokuste sa prikazom nmap -sS -PS80 -iR 0 -p + 80 najst nahodne webove servery. + + + + + + (Vynechat hostitelske stanice alebo siete) + + + Specifikuje zoznam cielovych stanic oddelenych ciarkou, ktore sa + maju vynechat zo scanu, aj ked su castou celkoveho specifikovaneho sietoveho rozsahu. + Zoznam pouziva obvyklu syntax Nmapu, to znamena hostitelske nazvy, bloky adries podla CIDR, + rozsahy oktetov, atd. Tato moznost je uzitocna, ak sa v scanovanych sietach vyskytuju + nedotknutelne kriticke servery, systemy s nepriaznivou reakciou na scanovanie portov, + ci systemy spravovane dalsimi ludmi. + + + + + + + (Vynechat subor zo zoznamu) + + + Ponuka podobnu funkcionalitu ako moznost + s tym rozdielom, ze vynechane cielove stanice su namiesto prikazoveho riadku ulozene v + exclude_file s polozkami oddelenymi novym riadkom, medzerou alebo tabulatorom. + + + + + + + + Zistovanie hostitelskych stanic + + Jednym z uplne prvych krokov pri prieskume siete + je zuzit niekedy obrovsku mnozinu rozsahov IP adries na zoznam aktivnych alebo zaujimavych hostitelskych stanic. + Scanovanie kazdeho portu kazdej jednej adresy nie je obycajne nevyhnutne. Samozrejme, ze ciel scanovania + zavisi od typu scanu. Sietovych administratorov mozu zaujimat + len hostitelske stanice, na ktorych bezi urcita sluzba, kym spravcov bezpecnosti mozu dbat o kazde zariadenie + s IP adresou. Administratorovi moze stacit ICMP ping, aby nasiel hostitelske stanice vo vnutornej sieti, + kym tester moznosti vonkajsieho preniknutia do siete moze pouzit mnozinu testov pri pokuse vyhnut sa obmedzeniam + firewallu. + + + Pretoze potreby pri zistovanie hostitelskych stanic su rozmanite, Nmap ponuka + siroku paletu moznosti prisposobenia pouzitych technik. Zistovanie hostitelskej stanice + sa niekedy nazyva ping scan, zachadza vsak daleko za jednoduchym ICMP echo request + spojenou so vsadepritomnym + ping nastrojom. Pouzivatelia mozu krok pingovania + vynechat uplne pouzitim parametra () alebo + zakazanim pingu parametrom (), ci pouzit v sieti nahodne kombinacie multi-portovych testov + TCP SYN/ACK, UDP, a + ICMP. Cielom tychto testov je pokusit sa ziskat odpovede, ktore ukazuju, ze + IP adresa je vlastne aktivna (je pouzivana hostitelskou stanicou alebo sietovym zariadenim). + Vo viacerych sietach je aktivne len male percento IP adries v rovnakom momente, co je obvykle hlavne pre + rozsah privatnych adries, napr. 10.0.0.0/8 podla standardu RFC1918. + Tato siet obsahuje 16 milionov IP adries, ale videl som, ze ich pouzivali spolocnosti s menej ako tisic pocitacmi. + Zistovanie hostitelskych stanic dokaze najst tieto pocitace v riedko alokovanom oceane + IP adries. + + Ak nie su zadane ziadne parametre pre zistovanie hostitelskych stanic, Nmap + odosle kazdej cielovej stanici TCP ACK + paket urceny pre port 80 a poziadavku ICMP Echo Request. + Vynimkou je je ARP scan pouzivany pre vsetky cielove stanice v lokalnej ethernetovej sieti. + Pri neprivelegovanych pouzivateloch UNIXoveho shellu sa namiesto typu ACK odosle paket typu + SYN pouzitim systemoveho volaniaconnect() + Tieto predvolene nastavenia odpovedaju parametrom + . Taketo zistovanie hostitelskych stanic je sice + casto postacujuce pri scanovani lokalnych sieti, ale pri testovani bezpecnosti + sa odporuca pouzit rozsiahlejsiu mnozinu testov na zistovanie. + + Parametre (vyberajuce typy pingu) sa mozu kombinovat. + Vyhliadky preniknutia nekompromisnymi firewallmi sa mozu zvysit odoslanim viacerych typov testov + vyuzivajuc rozlicne typy portov a priznakov TCP a ICMP sprav. + Je dolezite vsimnut si, ze zistovanie ARP () sa normalne vykonava na + cielovych staniciach v lokalnej ethernetovej sieti, aj pri zadani dalsich parametrov + , pretoze je to takmer vzdy rychlejsie a efektivnejsie. + + Nasledujuce parametre sluzia na ovladanie zistovania hostitelskych stanic. + + + + + (List scan) + + List scan je neupravena podoba zistovania hostitelskych stanic, + ktora jednoducho zobrazi zoznam kazdej hostitelskej stanice specifikovanej sieti + bez odoslania paketov cielovym staniciam. V predvolenom nastaveni vykonava Nmap + reverzny preklad DNS hostitelskych stanic kvoli ziskaniu nazvov. + Je casto prekvapujuce, kolko uzitocnych informacii vydaju jednoduche hostitelske nazvy. Napriklad nazov + fw.chi.playboy.com je firewallom spolocnosti + Playboy Enterprises kancelarie v Chicagu. Nmap na konci takisto oznami celkovy pocet + IP adries. Zoznam scanovania je dobrou kontrolou spravnosti, ze su vybrate + nalezite IP adresy. Ak hostitelske stanice vykazuju nazvy domen, ktore nerozponavate, + je ich vhodne preskumat hlbsie, aby sa predislo scanovaniu siete nespravnej spolocnosti. + + Kedze myslienkou je len jednoduchy vypis zoznamu + hostitelskych stanic, parametre funkcionality vyssieho stupna ako scanovanie portov, + detekcia OS alebo scanovanie pouzitim pingu nemoze byt kombinovane. + Ak chcete zakazat vykonat tieto vyssie funkcie a zakazat scanovanie pouzitim pingu, + dalsie informacie su uvedene pri parametri + . + + + + + + (Ping scan) + + + Tento parameter zabezpeci, ze sa vykona len + ping scan (zistovanie hostitelskych stanic) a potom sa zobrazia + dostupne hostitelske stanice, ktore odpovedali na scan. Ziadne dalsie testovanie + ako scan portov alebo detekcia OS, sa nevykona. Je to o krok dotieravejsie ako list scan + a casto sa moze pouzit pre rovnake ucely. Dovoluje jemne preskumanie cielovej siete bez vzbudenia + velkej pozornosti. Poznatok o pocte aktivnych hostitelskych stanic je pre utocnikov cennejsi + ako zoznam poskytnuty list scanom kazdej IP adresy a nazvu host. stanice. + + Systemovi administratori tiez casto ocenia tento parameter. + Moze sa pouzit jednoducho na zistenie poctu dostupnych pocitacov + v sieti alebo monitorovanie dostupnosti servera. Casto sa to nazyva + ping sweep a je spolahlivejsie ako vysielanie pingu broadcastovej adrese, + pretoze mnoho hostitelskych stanic neodpoveda na broadcastove poziadavky. + + + Parameter normalne vysle ICMP echo + request a TCP paket na port 80. Ak je prikaz spusteny neprivilegovanym pouzivatelom, + vysle sa na port 80 cielovej stanice SYN paket + (pouzitim volania funkcie connect()). + Ak sa privilegovany pouzivatel pokusa scanovat cielove stanice na lokalnej ethernetovej sieti, + pouzivaju sa spravy ARP request () , ak nie je explicitne zadany parameter + . + Parameter sa moze kombinovat s akymkolvek + z testov zistovania ( parametre , + s vynimkou ) kvoli vacsej flexibilite. + Ak sa pouziju nejake z tychto typov testov a parametrov cisel portov, prepisu sa tym + predvolene testy (ACK a echo request). Ak sa medzi zdrojovou host. stanicou so spustenym Nmapom + a cielovou sietou nachadza nekompromisny firewall, odporuca sa pouzitie tychto pokrocilych + technik, inac by mohli hostitelske stanice chybat v pripade, ze firewall vyluci spusteny test alebo + odpovede hostitelskych stanic. + + + + + + + + + (Bez pingu) + + + Tento parameter kompletne preskoci fazu zistovania. + Nmap obvykle pouziva tuto fazu na zistenie aktivnych + pocitacov pred rozsiahlejsim scanovanim. + V predvolenom nastaveni vykonava Nmap len intenzivne testovanie ako + scanovania portov, detekciu verzie alebo detekciu OS pri zistenych aktivnych hostitelskych staniciach. + Zakazanie zistovania hostitelskych stanic parametrom + sposobi, ze Nmap vykona pozadovanie funkcie scanovania na + kazdej specifikovanej IP adrese. Takze ak je v prikazovom riadku zadany + adresovy priestor triedy B (/16), bude sa scanovat vsetkych 65 536 IP adries. + Druhy znak v parametri je nula a nie pismeno O. + Riadne zistovanie hostitelskych stanic sa vynecha ako pri list scane, ale namiesto zastavenia a + zobrazenia cieloveho zoznamu, Nmap pokracuje vo vykonavani pozadovanych funkcii ako keby bola kazda cielova + IP adresa aktivna. + + + + + + + (Ping TCP SYN ) + + + Tento parameter vysiela prazdny TCP paket s nastavenym flagom SYN. Predvoleny cielovy port + je 80 (konfigurovatelny v case kompilacie zmenou hodnoty premennej DEFAULT_TCP_PROBE_PORT v subore + nmap.h), no alternativny port moze byt + specifikovany ako parameter. Zoznam portov oddeleny ciarkou moze byt + dokonca specifikovany za parametrom + (napriklad ), a v tomto pripade sa testy budu vykonavat + paralelne pre kazdy port. + + SYN flag vyjadruje pre vzdialeny system pokus o nadviazanie spojenia. + Za normalnych podmienok by bol cielovy port zatvoreny a spat by bol odoslany RST(reset) paket. Ak sa port zda + byt otvoreny, ciel vysle druhy stupen mechanizmu TCP 3-way handshake, a teda odpovie SYN/ACK TCP paketom. Pocitac + so spustenym Nmapom potom zrusi vznikajuce spojenie odpovedanim RST paketom namiesto ACK paketom, ktory by + dokoncil uplny mechanizmus 3-way-handshake a nadviazal plne spojenie. RST paket nie je odoslany Nmapom, ale + kernelom pocitaca, na ktorom je spusteny Nmap, ako odpoved na neocakavany paket SYN/ACK. + + + Nmap sa nestara o to, ci je port otvoreny alebo zatvoreny. + Odpoved s flagom RST alebo SYN/ACK opisana vyssie prezradi Nmapu, ci je hostitelska stanica dostupna a + ci odpoveda. + + Na pocitacoch s UNIXom moze vseobecne len privilegovany pouzivatel + root posielat a prijimat neupravene TCP pakety. + Pri neprivilegovanych pouzivateloch sa automaticky pouzije systemove volanie funkcie connect() na kazdy cielovy port. + Ma to za efekt odoslanie SYN paketu cielovej stanici ako pokusu o nadviazanie spojenia. + Ak funkcia connect() vrati rychlo uspesny vysledok alebo chybu ECONNREFUSED, zakladny TCP stack musel + prijat SYN/ACK alebo RST paket a hostitelska stanica je oznacena ako dostupna. Ak je pokus o spojenie + neukonceny az do dosiahnutia casoveho limitu, hostitelska stanica je oznacena ako nedostupna. + To sa pouziva aj pre spojenia pre protokol IPv6, kedze podpora neupravenych IPv6 paketov v Nmape este + nie je dostupna. + + + + + + + + (Ping TCP ACK) + + Ping TCP ACK je dost podoba na prave rozobraty SYN ping. + Rozdiel je v tom, ze namiesto SYN flagu je nastaveny ACK flag. + Takyto ACK paket znaci potvrdenie dat nad vybudovanym TCP spojenim, ale pritom + ziadne taketo spojenie neexistuje, takze vzdialene hostitelske stanice by mali vzdy odpovedat + RST paketom, cim v tomto procese prezradia svoju existenciu. + + + Parameter pouziva rovnaky predvoleny port ako test SYN (80) + a takisto moze spracovat zoznam cielovych portov v rovnakom formate. Ak sa o to pokusa + neprivilegovany pouzivatel alebo je specifikovany cielova stanica s protokolom IPv6, + pouzije sa obvykle systemove volanie funkcie connect(), co nie je bezchybne, + pretoze connect() vysiela SYN paket a nie ACK paket. + + + Pricinou moznosti zvolenia medzi testami SYN a ACK ping je + maximalizovat sancu obidenia firewallov. Vela administratorov nastavi + router a dalsie jednoduche firewally tak, ze blokuju prichadzajuce SYN pakety okrem + tych, ktore su urcene pre verejne sluzby ako napr. webova stranka spolocnosti alebo postovy server. + Toto brani pred dalsimi prichodzimi spojeniami k organizacii, zatial co + pouzivatelia mozu nadvazovat neobmedzene vychadzajuce spojenia na internet. + Tento bezstavovy pristup zabera malo systemovych prostriedkov na firewalle alebo routeri + a je siroko podporovany v hardwarovych a softwarovych filtroch. + Linuxovsky firewallovy software Netfilter/iptables ponuka + parameter + na realizaciu tejto bezstavovej metody. + Ak su zavedene taketo bezstavove pravidla, je mozne, ze testy SYN ping + () pri zatvorenych cielovych portoch budu blokovane. + V takychto pripadoch sa velmi zide test ACK, pretoze je schopny prejst tymito pravidlami. + + + Dalsi bezny typ firewallu pouziva stavove pravidla, ktore odhadzuju neocakavane + pakety. Tato funkcia bola spociatku implementovana hlavne na high-endovych firewalloch, + hoci sa v poslednych rokoch stala beznejsou. + Linuxovsky system Netfilter/iptables podporuje tuto funkciu cez parameter + , ktory triedi pakety na zaklade stavu spojenia. + Test SYN bude v takychto podmienkach pravdepodobne fungovat, + zatial co ACK pakety budu vseobecne povazovane za falosne a budu zahodene. + Riesenim tohoto problemu je vykonat oba testy SYN a ACK zadanim parametrov. + a . + + + + + + (Ping UDP) + + + Dalsou moznostou zistenia hostitelskych stanic je UDP ping, ktory vysiela + prazdny UDP paket + (v pripade, ze nie je specifikovany parameter ) + na dane cielove porty. Zoznam portov ma rovnaky format ako pri predtym + rozoberanych parametroch + a . Ak nie je specifikovane inac, + predvoleny port je 31338, co je mozne zmenit v case kompilacie zmenou premennej + DEFAULT_UDP_PROBE_PORT v suborenmap.h. + V predvolenom nastaveni sa pouziva velmi neobvykly port, pretoze odosielanie na otvorene porty + je casto nevyziadane v tomto specialnom type scanovania. + + + Po zisteni zatvoreneho portu na cielovej stanici + by mal UDP test vratit spravu ICMP Port unreachable. + To indikuje Nmapu, ze pocitac je aktivny a dostupny. + Mnoho dalsich chybovych sprav ICMP ako host/network unreachable alebo TTL exceeeded + indikuje neaktivnu alebo nedosiahnutelnu hostitelsku stanicu. + Touto cestou sa interpretuje aj neobdrzanie ziadnej odpovede. + Ak sa dosiahne otvoreny port, vacsina sluzieb jednoducho + ignoruje prazdny paket a nevratia ziadnu odpoved. + To je dovod, preco je predvolenym portom testu port 31338, u ktoreho je vysoka pravdepodobnost, ze + sa nebude pouzivat. + Niekolko sluzieb, napr. sluzba chargen, odpovie na prazdny UDP paket a takto + prezradi Nmapu, ze pocitac je dostupny. + + + Hlavna vyhoda tohoto typu scanu je, ze obchadza + tie firewally a filtre, ktore presetruju len TCP protokol. + Niekedy som napriklad vlastnil bezdratovy broadbandovy router + Linksys BEFW11S4. Externe rozhranie tohoto zariadenia filtrovalo vsetky TCP porty v predvolenom nastaveni. + ale UDP testy stale dokazali zistit spravy port unreachable a takto prezradit zariadenie. + + + + + + + + ; + ; + (Typy ICMP Pingu ) + + + Okrem neobvyklych, predtym rozoberanych typov + TCP a UDP testov, Nmap dokaze odoslat normalne pakety + odoslane vsade sa vyskytujucim programom + ping. Nmap odosiela + paket typu 8(echo request) na cielove IP adresy stanic, + ocakavajuc, ze dostupne hostitelske stanice odpovedia spravou typu 0 (Echo Reply). + Nanestastie pre sietovych badatelov, mnoho hostitelskych stanic a firewallov v + sucasnosti blokuje tieto pakety namiesto odpovede podla normy + RFC + 1122. Z tohoto dovodu su samotne ICMP scany + zriedkavo spolahlive pri nasadeni proti neznamym cielovym staniciam na internete, no + pre systemovych administratorov monitorujucich vnutornu siet mozu byt praktickou + a efektivnou metodou. + Tato moznost sa povoli zadanim parametra . + + Aj ked echo request je standardnou poziadavkou ICMP pingu, + Nmap pokracuje dalej. Standard ICMP (RFC + 792) takisto specifikuje poziadavky timestamp request, information + request a address mask request ako spravy s kodmi 13, 15, + a 17. Aj ked zdanlivy ucel pre tieto dotazy moze byt ziskanie informacii + ako napr. masky adresy alebo momentalny cas, mozu byt lahko pouzite + na zistovanie hostitelskych stanic. System, ktory odpovie, je aktivny a dostupny. + Nmap v sucanosti neimplementuje poziadavky information request, pretoze nie su siroko + podporovane. RFC 1122 trva na tom, ze + hostitelska stanica by NEMALA implementovat tieto spravy. + Dotazy na casove razitko a masku adresy mozu byt odoslane parametrami + a . + Odpoved timestamp reply (ICMP kod 14) alebo odpoved + mask reply (kod 18) prezradi to, ze hostitelska stanica je dostupna. + Tieto dve dotazy mozu byt cenne, ked administrator specificky + zablokuje pakety poziadavky echo request a zabudne pritom, ze na tento + ucel sa daju pouzit dalsie ICMP dotazy. + + + + + + + (Ping ARP ) + + + Jeden z najbeznejsich pouzivatelskych scenarov pouzitia Nmapu je scanovanie lokalnej ethernetovej + siete. Vo vacsine takychto sieti, hlavne tych pouzivajucich privatne adresove rozsahy podla + RFC1918, je vacsina IP adries nepouzivana v lubovolnom casovom okamihu. + Ak sa Nmap pokusi o odoslanie neupraveneho IP paketu ako napr. ICMP echo request, operacny system + musi urcit adresu cieloveho zariadenia + (ARP) oodpovedajucu cielovej IP adrese, aby sa mohol + odoslat ethernetovy ramec s prislusnou adresou. Tento proces je casto pomaly + a problematicky, pretoze operacne systemy neboli vytvorene s ocakavanim, + ze budu musiet v kratkom casovom intervale vykonat miliony ARP dotazov na nedostupne hostitelske stanice. + + ARP scan prenechava zodpovednost pri poziadavkach ARP request na + Nmap a jeho optimalizovane algoritmy a ak je ziskana spiatocna odpoved, + Nmap sa nezaujima o IP ping pakety, pretoze uz vie, ze prislusna hostitelska + stanica je aktivna. Preto je ARP scan omnoho rychlejsi a spolahlivejsi ako scany zalozene na IP. + Takto sa to aj bezne vykonava, ked sa scanuju ethernetove + hostitelske stanice, ktore Nmap detekuje v lokalnej ethernetovej sieti, a to aj ked su pouzite + odlisne typy pingov(napriklad alebo + ). Ak sa chcete predsa vyhnut ARP scanu, pouzite parameter + . + + + + + + + (Bez prekladu DNS) + + + Indikuje Nmapu, aby + nikdy nevykonaval reverzny preklad DNS + aktivnych IP adries, ktore najde. Kedze DNS je casto pomale, proces sa urychli. + + + + + + (DNS preklad pre vsetky cielove stanice) + + + Indikuje Nmapu, aby + vzdy vykonaval reverzny preklad cielovych IP adries. + Za normalnych podmienok sa to vykonava len ak je pocitac povazovany + za aktivny. + + + + + + (Pouzit systemovy prekladac DNS) + + + V predvolenom nastaveni preklada Nmap IP adresy tak, ze + odosiela dotazy priamo DNS serverom nastavenym v lokalnej host. stanici + a potom caka na odpovede. Vela dotazov (casto tucty) sa vykonava paralelne kvoli + vykonu. Specifikovanim toho parametra sa namiesto toho pouzije systemovy prekladac. + (jedna IP adresa sucasne prostrednictvom volania getnameinfo()). Je to pomalsie a malokedy + pouzivane -- v pripade, ze sa v DNS kode Nmapu vyskytuje chyba, kontaktujte nas prosim. + Systemovy prekladac sa vzdy pouziva pre scany IPv6 protokolu. + + + + + + + (Servery, ktore sa maju pouzit pre reverzne DNS dotazy) + + + Za normalnych okolnosti sa Nmap pokusi + urcit DNS servery z konfiguracneho suboru (UNIX) alebo registrov (Win32) + lokalneho pocitaca, avsak alternativne je mozne pouzit tuto moznost na zadanie vlastnych serverov. + Tento parameter sa nedodrzuje, pri pouziti parametra + alebo scanu protokolu IPv6. Pouzitie viacerych DNS serverov + je casto rychlejsie ako odoslanie dotazov na jeden server. + + + + + + + Zaklady scanovania portov + + Aj ked Nmap ziskal rokmi vacsiu funkcionalitu, + zacinal ako efektivny scanovac portov a to aj zostava jeho hlavnou funkciou. + Jednoduchy prikaz nmap + target scanuje viac ako 1660 TCP portov cielovej stanice + target. Zatial co mnoho scanovacov portov tradicne deli + vsetky porty na otvorene alebo zatvorene, Nmap pouziva granularnejsi pristup. + Deli porty do 6 stavov: otvoreny, + zatvoreny, filtrovany, + nefiltrovany, + otvoreny|filtrovany, alebo + zatvoreny|filtrovany. + +Tieto stavy nie su pravymi vlastnostami samotneho portu, ale opisuju, ako ich vidi Nmap. + Napriklad ak scan z tej istej siete, v akej sa nachadza cielova stanica moze odhalit port 135/tcp ako otvoreny, + kym scan v rovnakom case a parametrami z internetu mozu odhalit, ze port je filtrovany. + +Sest stavov portov rozpoznavanych Nmapom + + otvoreny + Aplikacia na tomto porte aktivne prijima TCP spojenia alebo UDP pakety. + Zistenie tohoto faktu je casto hlavnym cielom scanovania portov. Ludia s bezpecnostou + v mysli vedia, ze kazdy otvoreny port je pristupom pre utok. Utocnici a testeri preniknutia + chcu vyuzivat otvorene porty, zatial co administratori sa pokusaju + zatvorit ich alebo chranit ich firewallmi bez limitovania opravnenych pouzivatelov. + Otvorene porty su zaujimave aj pre nebezpecnostne scany, pretoze ukazuju sluzby dostupne v sieti. + + + zatvoreny + + Zatvoreny port je pristupny (prijima a odpoveda na pakety testu vykonavaneho Nmapom), + ale ziadna aplikacia na nom nepocuva. Mozu sa zist pri zistovani ci je hostitelska stanica + aktivna na IP adrese (zistenie hostitelskej stanice alebo ping scan) a ako cast detekcie OS. + Pretoze zatvorene porty su dosiahnutelne, moze byt uzitocne vykonat neskorsi scan a niektore mozu byt + neskor otvorene. Administratori mozu uvazovat o blokovani takychto portov prostrednictvom firewallu. + Tie by sa potom objavili vo filtrovanom stave, ktory je rozobrany nizsie. + + + filtrovany + + Nmap nedokaze urcite, ci je port otvoreny, pretoze filtrovanie paketov zabranuje testom + dosiahnut tento port. + Filtrovanie moze pochadzat z osobitneho firewalloveho zariadenia, pravidiel routera alebo + hostitelskeho softwaroveho firewallu. + Tieto porty frustruju utocnikov, pretoze poskytuju malo informacii. + Niekedy odpovedia chybovou spravou ICMP ako napriklad typ 3, kod 13 + (destination unreachable: communication administratively + prohibited), ale filtre, ktore jednoducho zahodia test bez odpovede su ovela beznejsie. + Tento jav prinuti Nmap zopakovat pokus niekolkokrat kvoli moznemu pripadu, ze test bol zahodeny + kvoli zahlteniu siete. Toto dramaticky spomaluje scan. + + nefiltrovany + Nefiltrovany stav znamena, ze port je pristupny, ale + Nmap nedokaze urcite, ci je otvoreny alebo zatvoreny. Len ACK scan, pouzivany na + zmapovanie pravidiel firewallu, klasifikuje porty do tohoto stavu. + Scanovanie nefiltrovanych portov inymi typmi scanu ako napr. Window scan, SYN scan alebo FIN scan, moze pomoct + rozlustit, ci je port otvoreny. + + + otvoreny|filtrovany + Nmap charakterizuje porty tymto stavom, ak nedokaze urcit, + ci je port otvoreny alebo filtrovany. K tomu dochadza pri typoch scanov portov, kde + otvorene porty neposkytuju odpoved, co moze tiez znamenat, ze paketovy filter + zahodil test alebo vyvolanu odpoved, takze Nmap nedokaze naisto urcit, + ci je port otvoreny alebo filtrovany. Protokoly UDP,IP a scany FIN, Null a Xmas vykonavaju + takuto klasifikaciu portov. + + zatvoreny|filtrovany + Tento stav je pouzity, ked Nmap nedokaze urcit ci je + port zatvoreny alebo filtrovany. Pouziva sa len pri scane typu IPID Idle. + + + + + Sposoby scanovania portov + +Ako novacik pokusajuci sa opravit auto, mozem sa trapit dlhe hodiny, aby som nasiel +vhodne zakladne naradie (kladivo, lepiaca paska, kluc, atd) na danu ulohu. +Ked sa uz citim utrapene a odtiahnem svoj vrak ku naozajstnemu mechanikovi, ten stale obchadza +auto s velkou debnou naradia, az kym nevylovi tu vecicku co z prace urobi hracku. +Podobne je aj umenie scanovania. Experti ovladaju kopu metod scanovania a zvolia prislusnu +(alebo kombinaciu) pre danu ulohu. Na druhej strane neskuseni pouzivatelia a rychlokvaseni +majstri v praci so skriptom budu riesit kazdy problem predvolenym SYN scanom. Kedze Nmap je zadarmo, +jedinou barierou pred majstrovstvom v scanovani portov je vedomost, co urcite poraza svet automobilov, +kde zistenie potreby pruzinoveho kompresora stale vyzadujuce zaplatit zan tisice dolarov, moze vyzadovat velke +zrucnosti. + +Vacsina typov scanov je dostupna len pre privilegovanych pouzivatelov, z toho dovodu, +ze posielaju a prijimaju neupravene pakety, co si na UNIXovych systemoch vyzaduje pristup roota. +Na platforme Windows sa odporuca administratorsky ucet, hoci po nahrati kniznice WinPcap do OS +funguje niekedy Nmap aj pre neprivilegovanych pouzivatelov. +V roku 1997 po vydani Nmapu bola otazka privilegii roota dost vaznym obmedzenim, kedze mnohi pouzivatelia +mali pristup len ku shared shell uctu. Svet sa vsak zmenil. +Pocitace su lacnejsie, ovela viac ludi ma teraz neprestajny priamy pristup na internet a UNIXove +systemy pre desktop (vratane Linuxu a MAC OS X) su rozsirene. Dostupna je aj verzia Nmapu pre Windows, +co dovoluje spustit program na este viac desktopoch. Z tychto vsetkych dovodov nemaju pouzivatelia +taku potrebu spustat Nmap z obmedzenych shared shell uctov. +To je stastne, pretoze parametre vyzadajuce privilegia robia z Nmapu ovela mocnejsi a flexibilnejsi +nastroj. + + +Nmap sa sice pokusa produkovat presne vysledky, ale je dolezite si uvedomovat, +ze vsetko jeho chapania problemu su zalozene na paketoch odoslanych cielovymi pocitacmi +alebo firewallmi pred nimi. Taketo hostitelske stanice mozu byt nedoveryhodne a posielat +zamerne matuce odpovede a uviest Nmap do omylu. +Ovela beznejsie su vsak hostitelske stanice nevyhovujuce standardu RFC, ktore neodpovedaju na testy +Nmapom tak ako by mali. Specialne nachylne na tento problem su scany typu FIN, Null a Xmas. +Taketo potiaze su specificke pre iste typy scanov a su rozobrate v zaznamoch +o jednotlivych typoch scanov. + + + Tento cast dokumentuje asi tucet metod scanovania portov podporovanych Nmapom. + Len jedna metoda moze byt pouzita sucasne, s vynimkou UDP scanu + (), ktory moze byt kombinovany s lubovolnym dalsim TCP scanom. + Ako pomocka pre pamat, parametre typu scanovania portov su vo formate + , kde +C predstavuje hlavny znak v nazve scanu, obycajne ten prvy. +Vynimkou je uz odmietnuty FTP bounce scan (). V predvolenom nastaveni +vykonava Nmap SYN scan, hoci ak pouzivatel nema dostatocne privilegia alebo ciele IPv6 neboli +specifikovane, nahradzuje +ho volanim Connect(), aby sa mohli odoslat neupravene pakety (to vyzaduje pristup roota na +UNIXovych pocitacoch). Zo vsetkych spomenutych scanov mozu pouzivatelia bez +privilegii spustit len scany connect() a ftp bounce. + + + + + (Scan TCP SYN ) + + + SYN scan je predvolenym a najoblubenejsim typom scanu a to z dobrych dovodov. +Dokaze byt vykonany rychlo, scanujuc tisicky portov za sekundu tam, kde je rychla siet bez +obmedzeni dotieravych firewallov. SYN scan je relativne nenapadny a tajny, pretoze +nikdy nedokonci fazu nadvazovania TCP spojeni. Funguje aj proti akymkolvek TCP stackom +a nezavisi teda na svojraznostiach konkretnych platform ako dalsie Nmapovske scany +Fin, Null, Xmas, Maimon a Idle. +Umoznuje takisto ciste a spolahlive rozlisenie medzi +otvorenymi, +zatvorenymi a filtrovanymi +stavmi. + +Na tuto metodu sa casto odkazuje ako na polootvorene scanovanie,pretoze +nie je potrebne otvarat plne TCP spojenie. Odosle sa SYN paket ako keby sa nadvazovalo +skutocne spojenie a potom sa caka na spojenie. Prichodzi SYN/ACK paket indikuje, +ze port nacuva (je otvoreny), kym RST (reset) naznacuje, ze port nenacuva. +Ak sa neodosle ziadna odpoved ani po niekolkych retransmisiach, port sa oznaci +ako filtrovany. Taketo oznacenie sa pouzije, aj ked pride +chybova sprava ICMP unreachable error (typ 3, kody 1,2, 3, 9, 10, alebo 13). + + + + + + + (Scan TCP connect()) + + +Scan TCP Connect() je predvolenym typom TCP scanu, ak SYN scan nepatri medzi +moznosti. K tomu dochadza, ak pouzivatel nema privilegia na odosielanie neupravenych +paketov, alebo pri scanovani sieti s protokolom IPv6. Nmap namiesto vytvorenia neupravenych +paketov, ako pri vacsine dalsich scanov, poziada operacny system o vytvorenie spojenia s cielovou +stanicou a portom pomocou systemoveho volania connect(). +Je to presne to iste volanie na vyssej urovni k vytvoreniu spojenia, ktore vyuzivaju webove prehliadace, +klienti P2P a vacsina dalsich aplikacii vyuzivajucich siet a tvori cast programoveho rozhrania +znameneho pod menom Berkeley Sockets +API. Namiesto prijimania a spracovavania neupravenych odpovedi po sieti, Nmap pri kazdom pokuse o spojenie +pouziva toto rozhranie API na ziskanie informacii o stave. + + +Ak je dostupny SYN scan, je obycajne lepsou volbou. Nmap ma mensiu kontrolu nad +vysokourovnovym volanim connect() ako +nad neupravenymi paketmi, co sposobuje horsiu efektivnost.Systemove volanie +dokoncuje nadvazovanie spojeni k otvorenym portom cieloveho hostitela namiesto +vykonania polootvoreneho resetu, ktory vykonava SYN scan. Tento postup nielenze +trva dlhsie, ale takisto vyzaduje viac paketov na ziskanie tych istych informacii a cielove +pocitace budu spojenie pravdepodobne zaznamenavat do logu. +Poriadny IDS to sice tiez zachyti, ale vacsina pocitacov nema takyto system. +Ked sa Nmap pripoji a potom zavrie spojenia bez odoslania dat, +vacsina sluzieb na priemernom UNIXovom system prida poznamku do syslogu. +Niektore fakt ubohe sluzby mozu pritom spadnut, ale to je nezvycajne. +Administrator, ktory vidi v logu niekolko pokusov o spojenie od jedneho systemu by mal vediet, +ze bol scannovany s ohladom na nadviazanie spojenia. + + + + + + + + (UDP scany) + + +Zatial co vacsina oblubenych sluzieb na internete funguje na TCP protokole, +UDP sluzby +su tiez siroko nasadzovane. Tri najbeznejsie z nich su DNS, SNMP a DHCP +(registrovane porty 53, 161/162 a 67/68). Pretoze scanovanie UDP je vseobecne pomalsie +a narocnejsie ako TCP, niektori spravcovia bezpecnosti si nevsimaju tieto porty a to je chyba, lebo +zneuzitelne UDP sluzby su celkom bezne a utocnici iste nebudu ignorovat cely protokol. +Nastastie, Nmap dokaze pomoct urobit supis tychto UDP portov. + +UDP scan je mozne spustit parametrom . +Moze sa kombinovat s TCP scanom ako napr. SYN scan +() a tak sa mozu skontrolovat oba protokoly pocas jedneho spustenia. + +UDP scan funguje tak, ze odosle kazdemu cielovemu portu prazdnu hlavicku UDP header bez dat. +Ak sa vrati chybova sprava ICMP port unreachable error (typ 3, kod 3) port je zatvoreny. +Ostatne chybove spravy ICMP (typ 3, +kody 1, 2, 9, 10 alebo 13) oznacuju port ako filtrovany. Prilezitostne moze +sluzba odpovedat UDP paketom a tym dokaze, ze port je otvoreny. Ak sa po +opakovanych retransmisiach neobjavi ziadna odpoved, port je oznaceny ako +otvoreny|filtrovany. +To znamena, ze port by mohol byt otvoreny alebo mozno paketove filtre blokuju komunikaciu. +Na pomoc pri odliseni otvorenych a filtrovanych portov sa moze pouzit parameter +(). + + Velkou vyzvou pre scanovanie UDP je rychlost. Otvorene a filtrovane porty malokedy +posielaju odpoved a tak pre vyprsi casovy limit, co vyusti v dalsie retransmisie pre pripad, +ze sa test alebo odpoved mohli v sieti stratit. Zatvorene porty su casto vacsim problemom. +Obycajne odosielaju spat chybovu spravu ICMP port unreachable error, no na rozdiel od +RST paketov odosielanych zatvorenymi TCP portmi ako odpoved na SYN alebo Connect scan, +, mnoho hostitelskych stanic standardne pouziva limit takychto odoslanych chybovych sprav. +Specialne prisne na tento fakt su Linux a Solaris. +Napriklad linuxove jadro 2.4.20 dava obmedzenie na spravy typu destination unreachable v pocte +jedna sprava za sekundu (v subore net/ipv4/icmp.c). + +Nmap detekuje obmedzenie v pocte a podla toho sa spomali, aby sa vyhol zaplaveniu siete nepotrebnymi +paketmi, ktore by cielova stanica zahodila. Linuxovske obmedzenie 1 paket za sekundu nanestastie sposobuje, +ze by scan 65536 portov trval 18 hodin. Napady ako tento proces urychlit su napr.scanovanie viacerych hostov sucasne +, vykonat najprv rychly scan popularnych portov, scanovat spoza firewallu alebo pouzitie parametru + na preskocenie pomalych hostitelskych stanic. + + + + + + + ; ; (TCP Null, FIN a Xmas scany) + + +Tieto tri typy scanov (dalsie sa daju vykonat pouzitim parametra + su opisane v dalsej casti) +vyuzivaju malu dieru v standarde TCP RFC, aby rozlisili +medziotvorenymi a +zatvorenymi portmi. Na strane sa 65 hovori, ze ak je +[cielovy] port zatvoreny.... prichadzajuci segment, ktory neobsahuje flag RST sposobi, ze sa ako +odpoved odosle RST segment. Dalsia strana potom rozobera pakety odosielane na otvorene porty +bez nastavenych bitov SYN, RST ani ACK a tvrdi: je nepravdepodobne, ze sa dostanete +do tejto situacie, ale ak k nej dojde, zahodte segment a vratte sa. + +Ak sa scanuju systemy zodpovedajuce tomuto textu RFC, lubovolny paket +neobsahujuci nastavene bity SYN, RST ani ACK vyvola odpoved s RST bitom, ak bol port +zatvoreny a ziadnu odpoved, ak je port zatvoreny. Pokial nie su zahrnute ziadne z tychto troch bitov, +je v poriadku lubovolna kombinacia flagov (FIN, PSH a URG). Nmap ich vyuziva pomocou +tychto troch typov scanov: + + + Null scan () + Nenastavuje ziadne bity(tcp flag header je nastaveny na 0) + + FIN scan () + Nastavi len bit TCP FIN. + + Xmas scan () + Nastavi flagy FIN, PSH a URG, cim sa paket "rozsvieti" ako + Vianocny stromcek. + + +Tieto tri typy scanov maju rovnake spravanie az na to nastavenie +TCP flagov. Ak dojde ako odpoved RST paket, port sa povazuje za zatvoreny, +kym ziadna odpoved znaci otvoreny|filtrovany. Port sa oznaci ako +filtrovany ak dorazi chybova sprava ICMP unreachable (typ 3, kod +1, 2, 3, 9, 10 alebo 13). + +Klucovou vyhodou tychto typov scanov je, ze sa dokazu pretlacit cez +iste bezstavove firewally a routre s filtrovanim paketov. Okrem toho su este viac tajnejsie +ako SYN scan, no neda sa na to spoliehat -- vacsina modernych IDS sa da nastavit tak, aby ich detekovala. +Velkou nevyhodou je, ze cely rad systemov sa nedrzi do pismena standardu RFC 793, posielaju odpovede +RST bez ohladu na to, ci je port otvoreny alebo zatvoreny. +Preto su vsetky taketo porty oznacovane ako closed. +Hlavne operacne systemy s takymto spravanim su Microsoft Windows, mnohe zariadenia Cisco , + BSDI a IBM OS/400. +Tento scan vsak funguje na mnohe UNIXovske systemy. +Dalsim hacikom tychto scanov je, ze nedokazu rozlisit otvorene porty od +istychfiltrovanych, takze vyvolaju odpoved +otvoreny|filtrovany. + + + + + + + (Scan TCP ACK) + + +Tento scan sa lisi od ostatnych doposial rozoberanych v tom, +ze nikdy neurcuje porty v stave otvoreny (dokonca ani +otvoreny|filtrovany). Pouziva sa na zmapovanie +sad pravidiel firewallu, ci su stavove alebo bezstavove a ktore porty su filtrovane. + +Testovaci ACK Paket ma nastaveny len ACK flag (ak nie je pouzity parameter ). + Ak sa scanuju nefiltrovane systemy, stavy portov +otvoreny a zatvoreny vratia zhodny +RST paket. Nmap ich potom oznaci ako +nefiltrovane, co znamena, ze su dostupne pomocou ACK paketu +, ale nie je rozpoznane, ci su otvorene alebo +zatvorene. Porty, ktore neodpovedia ci odoslu spat nejaku chybovu spravu +ICMP (typ 3, kod 1,2,3,9,10 alebo 13) su oznacene ako filtrovane. + + + + + + + (Scan TCP Window) + + +Window scan je presne taky isty ako ACK scan az na to, ze vyuziva +implementacne detaily istych systemov na rozlisenie otvorenych a zatvorenych +portov, namiesto prosteho vypisu +nefiltrovany po navrate RST paketu. Realizuje sa to +preskumanim polozky RST paketu s nazvom TCP Window. Na niektorych systemoch pouzivaju +otvorene porty kladnu velkost okienka, dokonca aj pre RST pakety, kym, zatvorene porty maju +nulovu velkost okienka, takze namiesto vypisu stavu portu ako nefiltrovany +Window scan zobrazi port v staveotvoreny alebo +zatvoreny podla velkosti okienka (kladna resp. nulova). + +Tento typ scanu sa spolieha na implementacny detail +mensiny systemov na internete, takze mu nie je mozne vzdy doverovat. +Systemy ktore to nepodporuju obycajne vratia vsetky porty v stave +zatvoreny. Je samozrejme mozne, ze pocitac +nema ziadne otvorene porty. Ak je vacsina scanovanych portov +zatvorena, ale niekolko beznych +portov (napr. 22, +25, 53) je v stave filtrovany system je pravdepodobne +nachylny na tento scan. Zriedkavo mozu systemy vykazat +presne opacne spravanie. Ak je scan ukaze, ze je 1000 otvorenych portov a 3 zatvorene alebo filtrovane +, tieto tri porty mozu byt pokojne tie otvorene. + + + + + + + (Scan TCP Maimon) + + +Maimon scan je pomenovany po svojom objavitelovi, Urielovi Maimonovi. Tuto techniku +opisal v casopise Phrack, vydanie #49 (November 1996) +Nmap s touto metodou bol vydany o dve vydania neskor. +Metoda funguje presne ako scany Null, FIN a Xmas, ale test je typu FIN/ACK. Podla standardu +RFC 793 (TCP), RST paket by mal byt generovany ako odpoved na tento test bez ohladu na otvoreny alebo +zatvoreny port. Uriel vsak spozoroval, ze mnohe systemy odvodene od BSD jednoducho zahodia paket, ak je port +otvoreny. + + + + + + + (Vlastny TCP scan) + + +Naozaj pokrocili pouzivatelia Nmapu sa nemusia obmedzovat len na +vopred ponuknute type scanov. Parameter vzdy umozni zadanim lubovolnych TCP +flagov vytvorit vlastny scan. Neobmedzujte svoju kreativitu pri vyhybani sa systemom IDS, ktorych +vyrobcovia jednoducho prelisovali manual k Nmapu a pridali specificke pravidla. + + +Argumentom parametru moze byt hodnota cisla flagu ako napr. +9 (PSH a FIN), no je jednoduchsie pouzivat nazvy, staci zlepit dokopy lubovolnu kombinaciu flagov +URG, +ACK, PSH, +RST, SYN a +FIN. Napriklad nastavi vsetko, hoci to nie je prilis uzitocne pre scanovanie. Poradie nazvov nie +je dolezite. + +Okrem specifikovanie ziadanych flagov je mozne +zadat typ TCP scanu (napriklad alebo ), co +Nmapu napovie ako interpretovat odpovede. Napriklad SYN scan povazuje +absenciu odpovede za port so stavom +filtrovany, kym FIN scan odpovie na rovnaku situaciu +otvoreny|filtrovany. Nmap bude postupovat +presne tak ako pri zakladnych typoch scanu, no pouzije TCP flagy, ktore budu +zadane. Ak nie je zadany zakladny typ scanu, pouzije sa SYN scan. + + + + + + + (Scan naprazdno - Idlescan) + + + + Tato pokrocila metoda umoznuje naozaj + slepy scan portov cielovej stanice s tym, ze z lokalnej skutocnej + IP adresy nie su odosielane ziadne pakety. Namiesto toho sa pouzije + utok po bocnom kanale, ktory vyuziva + delenie na IP fragmenty a predpovedatelne tvorenie sekvencie ID cisel na zombie hostitelovi. + Tym sa zhromazduju informacie o otvorenych portoch na cielovom pocitaci. + IDS systemy zobrazia, ze scan pochadza z pocitaca zombie, ktory bol specifikovany, musi + byt samozrejme aktivny a splnat urcite kriteria. + Tento fascinujuci typ scanu je prilis zlozity na plny popis v tejto prirucke, + takze som uplne detaily popisal neformalnym sposobom a ulozil na adresu + . + + Okrem toho, ze tento scan je vynimocne nenapadny (kvoli svojej slepej povahe), + umoznuje zmapovat doveryhodne vztahy medzi pocitacmi zalozene na IP adrese. + Zoznam portov zobrazuje otvorene porty + z pohladu zombie hostitela. Takze je mozne + pokusit sa o scan cielovej stanice pouzitim roznych zombie pocitacov, o ktorych + si myslite, ze su doveryhodne (pomocou pravidiel routra alebo paketoveho filtra). + + Ak sa ma na strane zombie pocitaca testovat specificky port kvoli zmenam hodnoty IPID, + pridajte dvojbodku nasledovanu cislom portu. Inak Nmap pouzije povodny port urceny na + tcp pingovanie - 80. + + + + + + + (Scan protokolu IP) + + +Scan protokolu IP umoznuje urcite, ktore protokoly IP (TCP, ICMP, IGMP, atd.) +su podporovane cielovymi pocitacmi. Technicky to nie je scan portov, pretoze prebieha +roznymi cislami protokolov IP a nie cislami portov protokolov TCP a UDP. Aj napriek tomu +pouziva parameter na vyber scanovanych cisel protokolov, oznamuje +vysledky v normalnom formate tabulky portov a dokonca pouziva ten isty mechanizmus scanu +ako prave metody scanovania portov, takze je dost blizko scanovaniu portov, a preto patri sem. + + +Okrem toho, ze je uzitocny vo vlastnom zmysle, +scan protokolov demonstruje silu open-source softwaru. +Zatial co zakladna myslienka je dost jednoducha, nerozmyslal som nad jej pridanim ani +som nedostal poziadavky o takuto funkcionalitu. +Potom vsak v lete roku 2000 dostal Gerhard Rieger tento napad, napisal excelentny +patch, ktory to implementoval a poslal ho do mailing listu skupiny hackerov nmapu. +Tento patch som vlozil do stromu Nmapu a na dalsi den vydal novu verziu. +Len malo zastupcov komercneho softwaru ma nadsenych uzivatelov, ktori vytvaraju a prispievaju +svojimi vylepseniami. + + Scan protokolu funguje podobne ako UDP scan. +Namiesto iterovania cez cisla portov v policku UDP paketu vysiela Nmap hlavicky +IP paketu a iteruje cez 8-bitove policko IP protokolu. Hlavicky su zvycajne prazdne, neobsahuju +data a ani patricnu hlavicku pre vyhlaseny protokol. +Troma vynimkami su protokoly TCP, +UDP a ICMP. Tu je patricna hlavicka protokolu zahrnuta, pretoze + niektore systemy ich inak neodoslu a pretoze uz Nmap obsahuje funkcie na ich + vytvorenie. + Namiesto pozorovania sprav ICMP port +unreachable protocol sa scan zaujima o spravy ICMP +protocol unreachable. Ak Nmap prijme od cieloveho hostitela akukolvek odpoved akehokolvek +protokolu, Nmap oznaci protokol ako otvoreny. +Chybova sprava ICMP protocol unreachable(typ 3, kod 2) sposobi, +ze sa protokol oznaci ako +zatvoreny Dalsie chybove spravy ICMP unreachable (typ 3, kod +1, 3, 9, 10 alebo 13) sposobia stav protokolu ako +filtrovany (hoci v rovnakom momente dokazuju, ze je +otvoreny). +Ak sa neobdrzi ziadna odpoved po retransmisiach, protokol sa oznaci ako +otvoreny|filtrovany. + + + + + + + + + (FTP bounce scan) + + + Zaujimavou funkciou protokolu FTP (RFC 959) je +podpora takzvanych proxy ftp spojeni, co umoznuje pouzivatelovi pripojit sa +k jednemu FTP serveru a potom ziadat o to, aby sa subory posielali serveru tretej strany. +Tato vlastnost je priam idealna pre zneuzitie na mnohych urovniach +, takze mnohe servery ju prestali podporovat. +Jednym z tychto zneuziti tejto funkcie je vyvolanie situacie, kde FTP server scanuje +porty dalsich hostitelskych stanic. Je mozne zaradom jednoducho poziadat FTP server o zaslatie +subor na kazdy zaujimavy port cieloveho hostitela. Chybova sprava opise, ci +je port otvoreny alebo nie. To je dobry sposob ako obist firewally, pretoze FTP servery +organizacii su casto umiestnovane tam, kde maju vacsi pristup k vnutornym hostitelskym staniciam ako kazda +ina stanica na internete. Nmap podporuje ftp bounce scan pomocou parametra . +Ako argumenty pouziva +pouzivatelske meno:heslo@server:port. +Server je nazvom IP adresy zranitelneho FTP servera. +Tak ako aj pri normalnej URL adrese, aj tu sa moze vynechat +pouzivatelske meno:heslo, +pricom sa pouziju anonymne prihlasovacie udaje (pouzivatel: +anonymous heslo:-wwwuser@). + Cislo portu (a predchadzajuca dvojbodka ) mozu byt vynechane tiez, pricom sa vtedy pouzije povodny + FTP port (21) na +serveri. + +Tato zranitelnost bola siroko rozsirena v roku 1997, +ked bol Nmap vydany, no bola do velkej miery opravena. Zranitelne servery su stale +naokolo, takze stoji to za to vyskusat ich. Ak je cielom obist firewall, je mozne +scanovat cielovu siet s cielovym portom 21 (alebo aj akekolvek ftp sluzby ak sa scanuju +vsetky porty s detekciou verzie) a potom vyskusat spustit scan bounce scan ftp. +Nmap prezradi, ci je hostitelska stanica zranitelna alebo nie. +Ak sa pokusate len zakryt svoje stopy, nie je nevyhnutne (a v skutocnosti by sa ani nemalo) obmedzovat +sa na hostitelske stanice v cielovej sieti. Pred scanovanim nahodnych internetovych adries +na zistenie zranitelnych FTP serverov zoberte do uvahy, ze systemovym administratorom +sa nemusi pacit zneuzitie ich serverov takymto sposobom. + + + + + + + + Specifikacia portu a poradie scanov + + Okrem vyssie rozoberanych scanov ponuka Nmap moznosti na + specifikaciu scanovanych portov a ci ma byt poradie scanov nahodne alebo + sekvencne. V predvolenom nastaveni scanuje Nmap + vsetky porty do a vratane 1024 tak ako aj vyssie cisla portov zobrazenych pre scanovane + protokoly v subore nmap-services. + + + + + (Scanovat len specifikovane porty) + + + + Tento parameter specifikuje, ktore porty sa maju scanovat a prepise povodne nastavenie. + Mozu byt pouzite jednotlive cisla portov, ako aj rozsahy oddelene spojovnikom, napr. 1-1023. + Zaciatocne a konecne hodnoty rozsahu mozu byt vynechane, cim budu Nmapom pouzite hodnoty + 1 resp. 65535. Je teda mozne specifikovat parameter + cim sa budu scanovat porty od 1 po + 65535. Po explicitnom specifikovani je mozne scanovat aj port 0. + Pri scanovani protokolu IP ,(), tento parameter specifikuje cisla protokolov, + ktore sa maju scanovat + (0-255). + + Ak sa scanuju TCP aj UDP porty, mozete prislusny protokol charakterizovat + pismenami T: + alebo U: predchadzajucimi cislo portu. + Toto pismeno plati az kym nespecifikujete dalsie pismeno. + Napriklad argument bude scanovat UDP + porty 53,111 a 137 a takisto spomenute TCP porty. Na to, aby sa scanovali TCP aj UDP, je + potrebne zadat parameter + a aspon jeden typ TCP scanu (napriklad + , alebo + ). Ak nie je zadane ziadne urcujuce pismeno, cisla portov su pridane + do zoznamu vsetkych protokolov. + + + + + + + (Rychly scan s limitovanym poctom portov) + + + + Udava, ze je nutne scanovat len porty uvedene v subore nmap-services + ktory je dodavany spolu s Nmapom(alebo subor s protokolmi pomocou parametra + ). Tento sposob je ovela rychlejsi ako + scannovanie vsetkych 655535 portov na hostitelskej stanici. + Pretoze tento zoznam obsahuje viac ako TCP portov, nie je tu vyrazny rozdiel + oproti povodnemu TCP scanu s okolo 1650 portmi. Rozdiel je dramaticky, ak specifikujete svoj vlastny + maly subor + nmap-services pouzitim parametru + . + + + + + + (Nevyberat porty nahodne) + + + V predvolenom nastaveni vybera Nmap poradie scanovanych portov nahodne + (okrem toho, ze iste vseobecne pristupne porty su z + dovodov efektivnosti na zaciatok). Tento proces randomizacie je za normalnych okolnosti + ziadany, ale parametrom + je mozne specifikovat sekvencne scanovanie portov. + + + + + + + Detekcia sluzby a verzie + + Pouzite Nmap na vzdialeny pocitac a ten potom moze prezradit, + ze porty 25/tcp, 80/tcp a 53/udp su otvorene. Pouzitim svojej databazy + nmap-services s obsahom okolo 2,200 znamych sluzieb, + by dokazal Nmap oznamit, ze tieto porty pravdepodobne patria postovemu serveru (SMTP) + webovemu serveru (HTTP) a DNS serveru (DNS). Toto vyhladanie je obycajne + presne - drviva vacsina daemonov nacuvajucich na TCP porte 25 su v skutocnosti + postove servery, no urcite sa na tomto neda stavit bezpecnost, ludia mozu mat + spustene sluzby na zvlastnych portoch. + + Aj ked ma Nmap pravdu a hypoteticky server ma spustene + servery SMTP, HTTP a DNS, neznamena to vela informacii. Ked vykonavate odhady zranitelnosti alebo + hoci aj jednoduche supisy siete vasich firiem alebo klientov, chcete naozaj vediet aj to, + ake mailove a DNS servery a ich verzie su spustene. Ziskanie presneho cisla verzie + pomaha dramaticky urcit, pred akymi zneuzitim je server zranitelny. Detekcia verzie pomaha zistit tuto + informaciu. + + Po zisteni TCP alebo UDP portov pomocou jednej z metod scanu, + detekcia verzie skuma tieto porty, aby zistila, co na nich bezi.Subor s databazou + nmap-service-probes obsahuje testy na + dotazovanie rozlicnych sluzieb a zodpovedajucih vyrazov na rozpoznanie a vykonanie + rozboru odpovedi. Nmap sa pokusa urcit protokol sluzby (napriklad ftp, ssh, telnet, http), nazov aplikacie + (napriklad ISC + Bind, Apache httpd, Solaris telnetd), cislo verzie, + hostitelsky nazov, typ zariadenia(napr. tlaciaren, router), skupinu OS + (napr. Windows, Linux) a niekedy rozlicne podrobnosti ako napr. ci je X server otvoreny spojeniam + verziu SSH protokolu alebo pouzivatelske meno v programe KaZaA). Samozrejme, ze vacsina sluzieb + neposkytuje tieto informacie. Ak bol Nmap kompilovany s podporou OpenSSL , + pripoji sa k SSL serverom, aby urcil sluzbu nacuvajucu za zasifrovanou vrstvou. + Ked su objavene RPC sluzby, automaticky sa pouzije Nmap RPC grinder () + na urcenie RPC programu a cisla verzie. Po tom, co scan UDP portov nie je + schopny urcit, ci je port otvoreny alebo zatvoreny, niektore UDP porty su oznacene v stave + otvoreny|filtrovany. Detekcia verzie sa + bude snazit vyvolat odpoved tychto portov (presne tak ako aj pri otvorenych portoch) + a stav sa moze zmenit na otvoreny, ak tato detekcia uspeje. Pri + otvorenych|filtrovanych TCP portoch sa postupuje + tou istou cestou. Je potrebne si vsimnut, ze parameter Nmapu + medzi inym ponuka detekciu verzie. Dokument opisujuci priebeh, pouzitie a vlastne prisposobenie + detekcie verzie je dostupny na adrese . + + Ak Nmap dostane odpovede od sluzby, ale nevie ju + priradit ziadnej polozke v databaze, zobrazi specialny fingerprint a takisto + adresu URL, kde mozete odoslat odpoved, ak ju poznate. + Venujte prosim tejto operacii niekolko minut, aby bola na prospech + kazdemu. Vdaka tymto odpovediem ma Nmap okolo 3,000 zodpovedajucich vzorov pre viac + ako 350 protokolov napr. smtp, ftp, http, atd. + + Detekcia verzie sa povoli a da sa ovladat nasledujucimi parametrami: + + + + + + + (Detekcia verzie) + + + Umoznuje detekciu verziu ako bolo spomenute vyssie. + Je mozne pouzit namiesto toho parameter , ktorym sa povoli aj + detekcia OS. + + + + + + + (Pri detekcii verzie nevynechavat ziadne porty) + + + V predvolenom nastaveni Nmap pri detekcii verzie vynechava + TCP port 9100, pretoze niektore tlaciarne tlacia vsetko co pride na tento port a vedie + to k hromade vytlacenych stran poziadaviek HTTP get request, poziadaviek + SSL session request, atd.. + Toto spravanie sa da zmenit upravenim alebo odstranenim direktivy Exclude + v suborenmap-service-probes alebo mozete zadat + parameter, aby sa scanovali vsetky porty nehladiac na direktivu + Exclude. + + + + + + (Nastavit intenzitu scanovania verzie) + + + + Ak sa vykonava scan verzie (), Nmap odosiela seriu testov + , pricom kazdemu z nich je priradena vynimocna hodnota medzi + 1 az 9. Kym testy z nizsou hodnotou su ucinne na testovanie sirokej skalu + beznych sluzieb, vyssie cisla su len zriedkavo uzitocne. Stupen intenzity udava, ktore + testy sa maju pouzit. Cim vyssie je cislo, tym vacsia je pravdepodobnost, ze sluzba + bude spravne indentifikovana, taketo scany vsak trvaju dlhsie. Predvolena hodnota je 7. + Ak je test registrovany na cielovy port v subore + nmap-service-probes pomocou direktivy ports, + tento test sa vykona bez ohladu na stupen intenzity. Zaistuje to to, ze DNS testy sa budu vzdy + robit vhladom na lubovolny otvoreny port 53, SSL skuska vzhladom na port 443, atd.. + + + + + + + (Povolit light mod ) + + + Je to pohodlny alias pre parameter + . Tento light mod znacne urychluje + scanovanie verzie, no znizuje sa pravdepodobnost spravnej identifikacie sluzieb. + + + + + + (Vyskusat kazdy test) + + + Alias pre parameter , + cim sa zaisti vykonanie kazdeho testu voci kazdemu portu. + + + + + + (Sledovat cinnost scanovania verzie) + + + Nmap zobrazi rozsiahle debugovacie + informacie cinnosti scanovania verzie. Je to podmnozina vystupu pri zadani + parametra . + + + + + + (RPC scan) + + Tato metoda funguje v spojeni s rozlicnymi scanmi portov + Nmapu, vsetky zistene otvorene TCP/UDP porty + zahlti NULL prikazmi programu SunRPC za ucelom zistenia, ci su to + porty sluzby RPC a ak ano, ktoremu programu a cisle verzii sluzia. + Rovnake informacie sa daju efektivne ziskat pomocou parametru + rpcinfo -p aj ked je mapovac portov cielovej + stanice za firewallom alebo chraneny TCP wrappermi. + Decoye momentalne nefunguju s RPC scanom. + Toto je automaticky povolene ako cast scanu verzie pri zadani parametra + (). Kedze detekcie verzie obsahuje okrem tohoto este + ovela viac veci, parameter + sa pouziva zriedka. + + + + + + + + + Detekcia OS + + Jedna z najznamejsich funkcii Nmapu je vzdialena + detekcia OS pomocu fingerprintingu stacku TCP/IP. Nmap odosiela vzdialenej hostitelskej stanici + rad TCP a UDP paketov a potom skuma kazdy bit odpovedi. + Po vykonani serie testov ako napr. sampling TCP + ISN, poradie a podpora moznosti TCP, sampling IPID a + pociatocna kontrola velkosti okienka porovnava Nmap vysledky so databazou + nmap-os-fingerprints skladajucej sa z viac ako 1500 znamych + odtlackov OS a pri zhode zobrazi podrobnosti o OS. + Kazdy fingerprint zahrna textovy popis OS vo volnom formate a klasifikaciu poskytujucu + nazov vyrobcu OS (napr. Sun), zakladny typ OS + Each fingerprint includes a freeform textual description of the + (napr. Solaris), generacia OS (napr. 10) a typ zariadenia (bez specialneho ucelu, router, switch, herna konzola, + atd). + + Ak Nmap nedokaze odhadnut OS pocitaca a podmienky su pritom dobre + (napr. zistilo sa, ze aspon 1 port je otvoreny a aspon 1 zatvoreny), + Nmap poskytne adresu URL, na ktorej mozete zadat fingerprint, ak ste si isty OS beziacom na vasom pocitaci. + Tymto prispievate do mnoziny operacnych systemov znamych Nmapu a proces sa spresnuje pre kazdeho dalsieho. + + + Detekcia OS umoznuje vykonanie niekolko dalsich testov, ktore vyuzivaju informacie vzdy nadobudnute + tymto procesom. Jednym z nich je merania uptimu, ktore na odhadnutie casu od posledneho + restartovania pocitaca vyuziva moznost TCP timestamp + (RFC 1323). Parameter sa oznamuje len pre pocitace, ktore poskytuju tuto informaciu. Dalsim z nich je + TCP Sequence Predictability Classification - Klasifikacia predvidatelnosti TCP sekvencie. + Toto meranie zistuje, ake je narocne nadviazat falosne TCP spojenie so vzdialenou hostitelskou + stanicou a je uzitocne na zistovanie slabin relacii, ktore stavaju doveru na + zdrojovej IP adrese (rlogin, firewall, filtre, atd.) alebo takisto je uzitocne kvoli moznosti + ukryvania zdroja utoku. Tento typ falsovania sa dnes vykonava zriedkavo, no mnohe + pocitace su na to stale zranitelne. Vlastne cislo obtiaznosti je zalozene ne statistickom vzorkovani + a moze sa menit. Vseobecne je lepsie pouzit anglicku klasifikaciu, napr. + worthy challenge - hodne vyzvy alebo trivial joke - jednoduchy zabava. + Normalne sa to oznamuje len v mode verbose (). + Ak sa povoli verbose mod sucasne z parametrom , oznamuje sa aj Vytvaranie + sekvencie IPID. Vacsina pocitacov sa nachadza + inkrementalnej triede, co znamena, ze zvysuju + cislo policka ID v IP hlavicke kazdeho odoslaneho paketu, co z nich robi zranitelne ciele pre niektore pokrocile utoky, + ktore su zalozene na zbere informacii a falsovani. + + Dokument popisujuci cinnost, pouzitie a priposobenie + detekcie verzie je dostupny vo viacerych jazykoch na adrese.. + + Detekcia OS je povolovana a ovladana nasledujucimi moznostami parametrov: + + + + + (Povolit detekciu OS) + + + Umozni detekciu OS podla vyssie opisaneho rozboru. Alternativne sa pouzitim parametra + umozni detekciu OS aj verzie. + + + + + + (Obmedzit detekciu OS len na slubne cielove stanice) + + + Detekcia OS je ovela efektivnejsie, ak je zisteny aspon + 1 port otvoreny a 1 port zatvoreny. Po nastaveni tohoto parametra sa nebude vykonavat + detekcia OS na pocitacoch, ktore nesplnaju tieto kriteria, cim sa da usetrit + podstatny cas, hlavne pri scanoch s parametrom aplikovanych na + mnohych hostitelskych staniciach, no je to dolezite len ak sa pre detekciu OS zada parameter alebo . + + + + + + ; (Odhadnut vysledky + detekcie OS) + + + Ak je Nmap nedokaze detekovat uplnu zhodu s OS, + niekedy navrhne dalsie co najblizsie zhody ako moznosti. Nmap to normalne vykonava, + len ak je zhoda velmi podobna. Kazda z tychto dvoch ekvivalentnych moznosti sposobi agresivnejsi + odhad Nmapu. + + + + + + + + + + Casovanie a vykon + Jednou z mojich najvyssich priorit pri vyvoji Nmapu + bol vzdy vykon. Predvoleny scan (nmap +hostname) hostitelskej stanice v mojej lokalnej +sieti trva patinu sekundy. Trva to sice menej ako zmrknutie oka, ale pridava to na vyzname, +ak sa scanuju stovky alebo tisice hostitelskych stanic. Navyse urcite moznosti scanov +ako UDP scanovanie a detekcia verzie mozu podstatne zvysit cas vykonanavania scanu, tak ako aj +urcite nastavenia firewallu, zvlast obmedzenie poctu odpovedi. +Nmap sice na zrychlenie scanov vyuziva paralelizmus a mnohe pokrocile algoritmy, +je to pouzivatel, kto ma absolutnu kontrolu nad tym, ako Nmap pracuje. +Ak je cas obmedzenim, pouzivatelia na urovni expertov sikovne produkuju prikazu, aby ziskali len informacie, +o ktore maju zaujem. + + Metody zlepsujuce casy scanov zahrnuju + vynechanie nekritickych testov a prechadzanie na poslednu verziu Nmapu + (zdokonolanie vykonu sa vykonava casto). Optimalizovanie casovych parametrov + dokaze takisto sposobit markantny rozdiel. Tieto parametre su spomenute nizsie: + + + + + + ; + (Prisposobit velkosti paralelnych skupin pri scanovani) + +Nmap ma schopnost sucasne scanovat porty alebo verzie viacerych hostitelskych stanic a to takym, sposobom, +ze sa cielovy rozsah IP adries rozdeli do skupin a potom sa scanuje jedna skupina sucasne. Vo vseobecnosti +su efektivnejsie vacsie skupiny, no nevyhodou je, ze vysledky nemozu byt poskytnute, kym nie je ukoncene cela skupina. +cize ak Nmap zacne so skupinou velkosti 50, pouzivatel nedostane ziadnu spravu (okrem updatov v mode verbose) az kym +nie je ukoncenych vsetkych 50 hostitelskych stanic. + + + V predvolenom nastaveni riesi Nmap tento konflikt +kompromisom. Zacne skupinou o pocte 5, takze prve vysledky sa dostavia rychlo + a potom sa velkost skupiny zvysi na 1024. Presne predvolene cisla + zavisia od zadanych parametroch. Z dovodov efektivity pouziva Nmap rozsiahle skupiny pre UDP scany alebo malo + portove TCP scany. + + Po zadani maximalnej velkosti skupiny pomocou parametra + Nmap nikdy neprokroci tuto hodnotu. +Po zadani minimalnej velkosti skupiny parametrom nebude Nmap pouzivat mensie skupiny +ako bolo zadane. Ak vsak nie je dostatok hostitelskych stanic, Nmap moze pracovat s mensimi skupinami ako specifikovane +parametrom. Aj ked je to zriedkavo vyuzivane, oba parametre mozu byt pouzite sucasne na specifikovanie rozsahu skupiny. + + + Hlavne pouzitie tychto parametrov je specifikacia +vacsieho minima velkosti skupiny, takze plny scan pobezi rychlejsie. +Vseobecna volba velkosti minima na scan porcii siete triedy C je cislo 256. +Nie je obvykle prilis uzitocne zvysovat toto cislo, ak sa jedna o scan s mnohymi portmi. +Pri scanoch s par cislami portov je velkost skupiny hostitelskych pocitacov rovna 2048 alebo viac prospesna. + + + + + + + + ; + (Upravit paralelizaciu testov) + + +Tieto parametre ovladaju absolutny pocet testov, co +moze byt nedokoncene pre skupinu hostitelskych pocitacov. +Pouzivaju sa pri scanovani portov a zistovenie hostitelskych pocitacov. +V povodnom nastaveni pocita vzdy sa meniaci idealny +stav paralelizmu v zavislosti na vykone siete. Ak su pakety zahadzovane, +Nmap spomali a povoli menej neukoncenych scanov. Idealny pocet +testov pri dobrych podmienkach v sieti pomaly stupa. Tieto parametre +urcuju na tuto premennu minimalnu a maximalnu hranicu. V predvolenom nastaveni +sa idealny paralelizmus moze znizit az na 1, ak sa sietove testy javia ako nespolahlive + a na druhej strane idealizmus stupa pri vybornych podmienkach. + +Najcastejsim pouzitim je nastavenie parametra + na vyssiu hodnotu ako je 1 kvoli +urychleniu scanovania pomalych hostitelskych stanic alebo sieti. Je to riskantny +parameter na zabavu, pretoze prilis vysoka hodnota moze ovplyvnit presnost +a takisto schopnost Nmapu ovladat paralelizmus dynamicky podla sietovych podmienok. +Hodnota desat moze byt rozumna, hoci tuto hodnotu nastavujem len ako poslednu moznost. + + +Parameter je niekedy nastaveny na 1, aby sa predislo +odosielaniu viac ako jedneho testu sucasne. Moze sa to hodit v kombinacii s parametrom + +(rozoberanom nizsie), hoci tento druhy parameter je dostatocne silny, aby sam sluzil svojmu ucelu. + + + + + + + + , + , + (Nastavit casovy interval testu) + + +Nmap si uchovava hodnotu casoveho intervalu kvoli urceniu, ako dlho bude cakat na odpoved +testu predtym ako to vzda alebo vykona retransmisiu testu. Pocita sa to +na zaklade casov odpovedi predchadzajucich testov. Ak je latencia siete vyznamnym faktorom + a meni sa, tento casovy interval narastie na niekolko sekund. + Takisto zacina na opatrnej(vysokej) urovni a ak Nmap scanuje neodpovedajuce + hostitelske stanice, moze to na nej aj chvilu ostat. + +Tieto parametre maju hodnotu v milisekundach alebo je mozne pridat argument jednotky +s, maleboh to +a takto sa cas specifuje v sekundach, minutach alebo hodinach. +Specifikovanie nizsich hodnot parametrov a + ako predvolene hodnoty moze +vyznamne skratit casy scanov, co plati hlavne pre scany bez pingu +() a dalej pre velmi filtrovane siete, nie je vsak dobre +zadavat prilis kratke hodnoty, pretoze potom moze scan pozadovat viac casu ako je specifikovane +a pre vela testov vyprsi casovy interval, zatial co odpoved je stale na ceste. + + +Ak su vsetky hostitelske stanice v lokalnej sieti, rozumna hodnota intervalu je +100 milisekund . Ak je zahrnute routovanie, je potrebne +najprv vykonat ping hosta bud pomocnym programom ICMP ping alebo prisposobenym + programom pre tvorenie paketov ako napr. hping2, ktory sa pravdepodobnejsie dostane +cez firewall. Vsimnite si maximalny cas hodnoty RTT (Maximum Round Trip) asi 10 paketov. +Tuto hodnotu mozete zdvojnasobit pre + a stroj- alebo stvornasobit pre parameter. +Vseobecne nenastavujem tento parameter +maximum rtt pod 100ms, bez ohladu na hodnoty pingov, a ani ich nezvysujem nad 1000ms. + +Parameter je malokedy pouzivany. Moze sa zist, +ked je siet taka nespolahliva, ze aj predvolena hodnota Nmapu je prilis agresivna. +Kedze vsak Nmap pri spolahlivej sieti znizuje casovy interval na minimum, tento +parameter nie je potrebny a jeho pouzitie by sa malo nahlasit ako bug do mailingu listu nmap-dev. + + + + + + + + (Specifikovat maximalny pocet + retransmisii testov scanovania portov) + + + +Ak Nmap nedostane odpoved na test scanu portov, moze to znamenat +, ze port je filtrovany alebo ze bol test alebo odpoved jednoducho stratena po sieti. Je mozne tiez, +ze cielova stanica obmedzenie poctu odpovedi a to docasne zablokovalo odpoved, takze +sa Nmap opatovna pokusi poslat pociatocny test. Ak Nmap detekuje slabu sietovu +spolahlivost, moze sa pokusit o retransmissiu viackrat pred ukoncenim snahy. +Na jednej strane to zvysuje presnost, no takisto aj cas scanov. +Ak je kriticky vykon, scany mozu byt urychlenie limitovanim povoleneho poctu retransmisii. +Retransmisiam sa zabrani parametrom +, no zriedkakedy sa to odporuca. + + +Predvolena hodnota (bez parametru) je 10 +ten retransmisii. Ak sa siet zda byt spolahliva a cielove stanice +neobmedzuju pocet odpovedi, Nmap obycajne vykona len jednu retransmisiu, +takze vacsina scanov ani nie je ovplyvnena, ak sa parameter + znizi na 3. Tieto hodnoty dokazy podstatne zrychlit +scany pomalych (s obmedzenim poctu odpovedi) hostitelskych stanic. Ak Nmap prilis skoro zanechava +testy portov, obycajne sa stracaju nejake informacie, hoci moze to stale moze byt uprednostnovane pred +situaciou, kde uplynie interval parametru + a stratia sa vsetky informacie o cielovej stanici. + + + + + + + (Zanechat pomale cielove stanice) + + + + Niektore hostitelske stanice jednoducho potrebuju dlhy cas na to, aby boli prescanovane, +co moze byt dosledkom zleho vykonu alebo nespolahliveho sietoveho hardwaru/softwaru, obmedzeniu poctu paketov +alebo obmedzujuceho firewallu. Najpomalsich malo percent scanovanych hostitelskych stanic moze +zabrat podstatu casu scanu. Niekedy je lepsie orezat tieto straty casu a preskocit taketo stanice uz na zaciatku. +Da sa to dosiahnut zadanim parametra + s pozadovanym poctom milisekund cakania. +Alternativne je mozne pripojit argument jednotky +s, m aleboh to +, cim sa casovy interval specifikuje v sekundach, minutach alebo hodinach. Ja casto specifikujem +hodnotu +30m, aby Nmap neplytval viac ako polhodinou +na 1 stanicu. Vsimnite si, ze Nmap moze sucasne scanovat dalsie hostitelske stanice, takze to nie je +uplna strata casu. Hostitelska stanica, ktorej casovy interval vyprsi sa vynecha a nezobrazi sa pre nu +tabulka portov, detekcia OS, ani detekcia verzie. + + + + + + + ; + (Nastavit oneskorenie medzi testami) + + +Tento parameter sposobi, ze Nmap bude cakat aspon +zadany hodnotu v milisekundach medzi odoslanim dalsieho testu hostitelskej stanice. +Tak ako aj pri inych parametroch casu, aj tu je mozne pripojit s, +maleboh ako argument na specifikovanie +oneskorenia v sekundach, minutach alebo hodinach namiesto ms. +Hodi sa to hlavne v pripade obmedzenia poctu odpovedi. Pocitace so systemom Solaris ako aj niektore ine +obycajne na test UDP scanu odpovedia jednou ICMP spravou za sekundu. +Vsetko co sa odosle Nmapom navyse, bude stratene. +Parameter nastaveny na +1s udrzi Nmap na takejto pomalej rychlosti. +Nmap sa pokusi detekovat obmedzenie a priposobit oneskorenie scanu podla toho, +ale nie je na skodu specifikovat to explicitne, ak uz viete, aka rychlost je najvhodnejsia. + +Ak Nmap prisposobuje oneskorenie scanu smerom nahor +pri obmedzeni rychlosti odpovedi, scan sa dramaticky spomali. +Parameter specifikuje najvacsie oneskorenie, +ktore povoli Nmap. Nastavenie prilis nizkej hodnoty moze pri zavedenej obmedzenej rychlosti +odpovedi viest +k zbytocnym retransmisiam paketov a moznym vynechanym portom. + +Dalsie pouzitie parametra je vyhnut sa systemom detekcie +(IDS) a narusenia (IPS) zalozenych na prahovej hodnote. + + + + + + + + (Nastavit casovu sablonu) + + + +Je sice pravda, ze vyssie rozoberane jemne casove ovladanie scanov je mocne a ucinne, +no niektori ludia to povazuju za dezorientujuce. +Niekedy dokonca moze volenie primeranych hodnot zabrat viac casu +ako scan, ktory sa pokusat optimalizovat, a tak Nmap ponuka jednoduchsi pristup so siestimi +sablonami. Je ich mozne specifikovat parametrom + a ich cislami(0 - 5) ci menami. +Nazvy sablon tu paranoid (0), sneaky (1), polite (2), normal +(3), aggressive (4) a insane (5). Prve dve su urcene +pre obidenie systemov IDS. Mod Polite sa spomali, ked scan pouziva mensiu +sirky pasma a prostriedkov cieloveho pocitaca. Mod Normal je predvolenym a teda + neurobi ziadnu zmenu. Mod Aggressive urychli scan predpokladom, +ze ste na rozumne rychlej a spolahlivej sieti. Konecne mod Instane predpoklada, ze ste na vynimocne +rychlej sieti alebo chcete obetovat presnost za rychlost. + +Tieto sablony dovoluju pouzivatelovi specifikovat agresivitu, zatial co, Nmap sam vyberie +presne hodnoty casovania. Sablony takisto vykonavaju male prisposobenia rychlosti, na ktore momentalne +neexistuju jemne ovladacie parametre. Napriklad moznost + zakazuje, aby dynamicke oneskorenie scanu +prekrocilo +10ms pre TCP porty a ohranici tuto hodnotu 5 milisekundami. +Pokial sa sablona specifikuje ako prva, moze byt pouzita v kombinacii s jemnym ovladanim, inak +sa povodne hodnoty pre sablony prepisat vami specifikovanymi hodnotami. +Odporucam pouzitie parametra ak sa scanuju moderne a spolahlive +siete. Aj ked zadate dalsie jemne ovladanie kvoli dodatocnym malym povolenym optimalizaciam, zachovajte +tento parameter (na zaciatok prikazoveho riadku). + +Ak ste na poriadnej sieti s broadbandovym alebo ethernetovym pripojenim, +vzdy by som odporucal pouzitie parametra. +Niektori ludia preferuju moznost +, hoci pre mna je prilis agresivna. +Ini zasa niekedy zadaju , pretoze si myslia, ze tymto je +mensia pravdepodobnost sposobenia spadnutia pocitaca alebo pretoze sa sami +vo vseobecnosti povazuju za zdvorilych. Casto si pritom neuvedomuju, za moznost je skutocne velmi pomala. Takyto scan moze trvat desatkrat viac +ako povodny scan. +Spadnutia pocitacov a problemy so sirkou pasma su zriedkave pri pouziti predvoleneho parametra casovania +() a tak ho normalne odporucam pre pozornych scannerov. +Vynechanie detekcie verzie je vsak casovo ovela ucinnejsie ako hranie sa s hodnotami casovania. + +Zatial co moznosti a mozu byt uzitocne +pre vyhnutie sa upozorneni systemov IDS, scanovanie tisicov portov pocitacov bude trvat vynimocne dlho. +Pri takomto dlhom scane je mozno lepsie nastaveni presnych hodnot casovania +namiesto spolahnutia sa na vopred pripravene moznostia +. + +Hlavnymi nasledkami pouzitia parametru je serializacia scanovania portov, +takze sa sucasne scanuje len jeden port, a pred vyslanim dalsieho testu sa caka 5 minut. +Moznosti a + su podobne, ale medzi jednotlivymi testami cakaju len 15 resp. 0.4 +sekund. Moznost je predvolenou pre Nmap a zahrna paralelizaciu. +Moznost +je ekvivalentna zadaniu a nastavuje maximalne oneskorenie +TCP scanu na 10 ms. Moznost je ekvivalentna zadaniu + a takisto nastavenia +maximalneho oneskorenia TCP scanu na 5ms. + + + + + + + + Vyhnutie sa firewallu/ Systemu IDS a falsovanie + +Mnohi priekopnici internetu si predstavovalo globalnu +otvorenu siet s univerzalnym priestorom IP adries umoznujucim +vykonavat virtualne spojenia medzi lubovolnymi dvoma uzlami. To +umoznuje hostitelskym staniciam posobit ako ozajstni peers, poskytujuc a ziskavajuc informacie +od kazdeho jedneho. Ludia mohli pristupovat na vsetky domace systemy z prac a tak zmenit nastavenie +ovladania klimy alebo otvorenia dveru pre skorych hosti. Tato vizia univerzalnej +konektivity je vsak potlacena nedostatkom priestoru IP adries a obavami z bezpecnosti. +Na zaciatku 90.rokov zacali organizacie nasadzovat firewally na rychly ucel obmedzenia +konektivity. +Obrovske siete boli uzavrete pred nefiltrovanym intenernetom pomocou aplikacnych proxy serverov, +prekladu NAT a paketovych filtrov. Neobmedzeny tok informacii dal zelenu uzkej regulacii +odsuhlasenych komunikacnych kanalov a obsahu, ktory cez ne prechadza. + + Sietove prekazky ako firewally vedia velmi stazit zmapovanie siete. Nezjednodusi sa to, +pretoze potlacenie neplanovaneho skumania siete ja casto klucovym cielom implementovania +tychto zariadeni. Napriek tomu obsahuje Nmap mnohe funkcie, ktore pomahaju +pochopit tieto zlozite siete a overit, ze filtre funguju podla ocakavania, dokonca podporuje aj +mechanizmy obidenia pre slabo implementovane obrany. Jednou z najlepsich metod pochopenia situacie +vasej sietovej bezpecnosti je pokusit sa ju prelomit. +Predstavte si seba ako utocnika a nasadte proti vasim sietam metody z tejto sekcie. +Spustite scan FTP bounce ftp, Idle scan, utok pomocou fragmentacie alebo sa pokuste pretunelovat +cez jeden z vasich proxy serverov. + + +Okrem obmedzovania sietovej aktivity spolocnosti stale viac +monitoruju traffic v sieti pomocou systemov na detekciu preniknutia (IDS). +Vsetky hlavne systemy IDS sa dodavaju s pravidlami vytvorenymi na detekciu scanov Nmapu, +pretoze tieto scany su niekedy pociatkom pre utoky. Vela tychto produktov sa casom +vyvinulo do systemov s +prevenciou preniknutia (IPS), ktore aktivne blokuju +traffic, ktory sa zda byt skodlivy. Spolahlive detekovanie zlych umyslov pomocou analyzy +dat v paketoch je nanestastie pre sietovych +administratorov a vyrobcov systemov IDS tazky problem. Utocnici s trpezlivostou, +zrucnostou a pomocou urcitych parametrov Nmapu mozu obycajne zabranit detekcii systemu IDS. +Na druhej strane sa administratori musia popasovat s velkym mnozstvom falosnych +pozitivnych vysledkov, kde sa nespravne diagnizuje nevinna aktivita a je v stave pohotovosti +alebo je blokovana. + + + Niekedy ludia navrhuju, ze by Nmap nemal ponukat +funkcie na vyhnutie sa pravidlam firewallu alebo prejdenia cez systemy IDS. +Zdovodnuju, ze tieto funkcie mozu byt tak vyuzite administratormi na zvysenie bezpecnosti +ako aj utocnikmi. Problemom toho je, ze tieto metody by sa stale vyuzivali utocnikmi, +ktori by si namiesto toho nasli dalsie nastroje alebo patche, ktore by fungovali +s Nmapom. +Na druhej strane, pre administratorov by bolo ovela tazsie vykonavat si svoju pracu. +Nasadzovanie len modernych, opravenych FTP serverov +je ovela mocnejsia obrana, ako snaha predist rozsireniu nastrojov implementujucich utok FTP bounce. + + + Neexistuje ziadne specialne magicke kuzlo(alebo parameter Nmapu) na detekciu a +podkopanie firewallov a systemov IDS. Vyzaduje si to zrucnost a skusenost. +Tutorial je za mimo rozsahu tejto referencnej prirucky, ktora len podava zoznam +relevantnych parametrov a opisuje, co robia. + + + + + + (fragmentovat pakety); + (pouzitim specifikovanej velkosti jednotky MTU) + + + + Parameter sposobi, ze pozadovany scan(vratane + scanov pingu) pouzije male fragmentovane IP pakety. + Myslienka je rozdelit hlavicku TCP na niekolko paketov, cim sa stazi detekcia aktivity + pre paketove filtre, systemy IDS a ine. + Je nutne byt pri tomto opatrny. Niektore programy + nedokazu korektne prijat male pakety. Sniffer zo starej skoly s nazvom + Sniffit po prijati prveho segmetu okamzite zahlasil chybu "segmentation fault". + Po jednom zadani tohoto parametra Nmap rozdeli pakety po hlavicke IP na maximalne 8 bajtov + dlhe, takze 20-bajtova hlavicka TCP sa rozdeli na 3 pakety, dva s velkostou hlavicky TCP + osem bajtov a posledny o velkosti styri. Samozrejme, ze kazdy fragment + ma takisto hlavicku IP. + Po opatovnom zadani moznosti sa na jeden fragment pouzije 16 bajtov, cim sa znizi + pocet fragmentov. + Dalej je mozne specifikovat vlastnu velkost offsetu zadanim parametra . + Nezadavajte sucasne parametre a . + Offset musi byt nasobkom cisla 8. Zatial co fragmentovane pakety + neprejdu cez paketove filtre a firewally, ktore zhromazduju vsetky IP fragmenty v rade, + ako napriklad parameter CONFIG_IP_ALWAYS_DEFRAG v jadre Linuxu, + niektore siete si nemozu dovolit takyto zasah do vykonu siete a preto + nechavaju parameter zakazany. Ine to zase neumoznuju, + pretoze fragmenty mozu putovat do siete roznymi cestami. + Niektore zdrojove systemy defragmentuju vychadzajuce pakety v jadre, jednym z nich + Linux s modulom ip tables. Pocas vykonavania scanu je mozne pouzit + sniffer napr. Ethereal a tym sa da sledovat, ci su odosielane pakety fragmentovane. + Ak sa v lokalnom OS na lokalnom pocitaci vyskytnu problemy, skuste zadat parameter cim sa to obide + vrstva IP a odoslu sa neupravene ethernetove ramce. + + + + + + + (Zakryt scan pomocou decoys) + + + Spusti sa scan pomocou obetnych stanic(decoys), cim sa pre vzdialenu hostitelsku stanicu + bude specifikovana scanovacia hostitelska stanica/stanice javit ako decoy, ktora takisto ako ozajstna stanica scanuje + cielovu siet. Ich system IDS preto moze zahlasit 5-10 scanov portov z roznych IP adries, no nebude + vediet, ktore scany boli prave, a z ktorej IP adresy sa naozaj scanovalo. + Zatial co sa tato metoda porazit pouzitim mechanizmov sledovania drah routerov, zahodenia odpovedi a dalsich aktivnych mechanizmov, + je to stale ucinny sposob ako zakryt pravu IP adresu. + + + Adresu kazdej decoy je potrebne oddelit ciarkami a je mozne pouzit parameter + ME urcujuci, ktora z decoys + reprezentuje vasu realnu IP adresu. Ak sa ME + ME vlozi na vzdialenejsiu ako 6.poziciu, + niektore bezne detektory scanov portov (napr. vyborny scanlogd spolocnosti Solar Designer) + by nemali byt vobec dokazat zobrazit vasu IP adresu. Ak pouzijete ME + , nmap vlozi vasu IP adresu na nahodnu poziciu. + Vsimnite si, ze hostitelske stanice pouzite ako falosne scannery teda decoys by mali byt aktivne, inak + mozete nahodne zahltit cielove stanice SYN paketmi. Ak bude aktivna len jedna hostitelska stanica, + bude velmi jednoduche zistit, ktora z decoys vykonala scan. Namiesto DNS nazvov moze byt uzitocne pouzit + IP adresy (takze vas siete pocitacov decoys nebudu vidiet v logu nameserveru.) + + + Decoys su pouzivane pri pociatocnom ping scane (pouzijuc ICMP, SYN, ACK alebo ine) tak ako + aj pocas samotnej fazy scanovania, a pouzivaju sa aj pri detekcii vzdialeneho OS (). + Decoys nefunguju pri detekcii verzie alebo scane typu TCP connect(). + + Prilis mnoho decoys moze spomalit scan a potencialne + ho znepresnit. Niektori internetovi provideri mozu filtrovat falosne + pakety, no mnohi ich vobec neobmedzuju. + + + + + + (Falosna zdrojova IP adresa) + + + Pri niektorych okolnostiach nedokaze Nmap urcit lokalnu zdrojovu IP adresu ( + ak je s tym problen, Nmap to oznami). V tejto situacii je nutne pouzit parameter + s IP adresou, cez ktoru sa maju odosielat pakety. + + Dalsim moznym sposobom pouzitia tohoto flagu je falsovanie scanu, cim sa cielove stanice budu + domnievat, ze ich scanuje niekto iny. Predstavte si firmu, ktora + je opakovane scanovana konkurencnou firmou. Parameter + bude pre tento typ pouzitia vsobecne vyzadovany a + parameter je tiez vhodny. + + + + + + + (Pouzit specifikovane rozhranie) + + + Povie Nmapu, cez ktore rozhranie sa maju odosielat a prijimat pakety. + Nmap by to mal vediet detekovat automaticky, ale v opacnom pripade to oznami. + + + + + + + (Falsovat zdrojove cislo portu) + + + +Jednou z bezne nespravnej konfiguracie je ak sa doveruje trafficu zalozenom na zdrojovom cisle portu. +Nie je tazke pochopit ako k tomu dochadza. Administrator nastavi nablyskany novy firewall a bude zahlteny +staznostami nevdacnych pouzivatelov, ktorych aplikacie prestali fungovat. Specialnym pripadom moze byt +pokazeny DNS server, pretoze odpovede na DNS request z vonkajsich serverov uz nemozu vstupovat do siete. +Dalsim castym prikladom je FTP. Pri aktivnych prenosoch FTP sa vzdialeny server pokusa o spatne spojenie +ku klientovi, aby dodal pozadovany subor. + + + Bezpecnymi rieseniami na tieto problemy su casto vo forme proxy serverov na aplikacnej urovni alebo +firewallove moduly skumajuce protokoly. Existuju nanestastie aj jednoduchsie a nebezpecne riesenia. +Vediac, ze DNS odpovede prichadzaju z portu 53 a aktivne ftp z portu 20, vela administratorov sa chytilo do pasce +a jednoducho povolilo prichadzajuci traffic z tychto portov, pricom castu beru do uvahy, ze to ziadny +utocnik nespozoruje a ani nezneuzije tuto dieru vo firewalle. V inych pripadoch to administrator povazuje +za kratkodobe opatrenie az kym sa neimplementuje bezpecnejsie riesenie, a potom na tento upgrade zabudnu. + + + Prepracovani sietovi administratori vsak nie su jedinymi, kto sa chyti do tejto pasce. Mnohe produkty +sa dodavaju s tymito nebezpecnymi pravidlami, dokonca aj Microsoft bol vinny. Filtre protokolu IPsec dodavane so +systemami Windows 2000 a Windows XO obsahuju implicitne pravidlo, ktore povoluje cely neobmedzeny TCP a UDP traffic +z portu 88 (Kerberos). Dalsim dobre znamym pripadom povolovali verzie osobneho firewallu Zone Alarm az do verzie +2.1.25 vsetky prichadzajuce UDP pakety so zdrojovym portom 53(DNS) alebo 67 (DHCP). + + +Nmap ponuka na objavenie tychto zranitelnosti ekvivalentne parametere a +. Jednoducho zadate cislo portu a Nmap z neho odosle pakety. +Pri niektorych testoch detekcie OS kvoli ich spravnej funkcii musi Nmap pouzivat odlisne cisla portov + a DNS poziadavky ignoruju parameter +, pretoze Nmap ich nechava na pleciach systemovych kniznic. +Vacsina TCP scanov vratane SYN scanu ako aj UDP scan podporuju tento parameter uplne. + + + + + + + (Do odosielanych paketov pripojit nahodne data) + + + Za normalnych okolnosti odosiela Nmap minimalne pakety obsahujuce len hlavicku, takze + TCP pakety maju obycajne 40 bajtov a ICMP echo poziadavky len 28. Tento parameter napoveda Nmapu, aby + pripojil nahodne bajty nahodnej dlzky do odosielanych paketov. + Pakety detekcie OS() nie su ovplyvnene na rozdiel od vacsiny ping a portscan paketov. + Spomaluje to proces, ale trochu znenapadnuje scan. + + + + + + (Nastavit pole IP time-to-live) + + + Nastavi hodnotu pola IPv4 time-to-live odosielanych paketov na udanu hodnotu. + + + + + + (Nahodne vybrat poradie cielovych pocitacov) + + + Nmap premiesa kazdu skupinu o velkosti az do 8096 hostitelskych stanic pred ich scanovanim, co + moze znenapadnit scany pre rozne sietove moniturujuce systemy, hlavne ked sa skombinuju s parametrami + pomaleho casovania. Ak chcete nahodne premiesat vacsie velkosti skupin, zvyste hodnotu premennej + PING_GROUP_SZ v subore nmap.h a znovu skompilujte. + Dalsim riesenim je vytvorit zoznam cielovych stanic pomocou list scanu + An alternative solution is to generate the target IP list + (), premiesat ho nahodne pomocoou scriptu napisaneho + v Perli a potom tento zoznam predat Nmapu parametrom + . + + + + + + (Vytvorit falosnu MAC adresu) + + + + Nmap pouzije zadanu MAC adresu pre + vsetky odosielane neupravene ethernetove ramce. Zahrna to v sebe parameter + , cim sa zaisti, ze Nmap vlastne odosle + pakety na urovni ethernetu. Zadana MAC adresa moze byt v roznych formatoch. Ak je to jednoducho znak + 0, Nmap zvoli uplne nahodnu mac adresu. Ak je zadanym retazcom parny pocet hexadecimalnych + cislic (s parmi dvoch nepovinne oddelenymi ciarkami), Nmap ich pouzije ako MAC adresu. Ak je zadanych menej + ako 12 hexadec. cisel, Nmap vyplni zbytok zvyskom 6 byteov nahodnych hodnot. Ak sa nepouzije ani jedna + z tycho moznosti, Nmap prehlada subor + nmap-mac-prefixes pri pokuse najst nazov vyrobcu obsahujuci dany retazec (nezavisi na velkosti + velkych a malych pismen). Ak je najdena zhoda, Nmap pouzije OUI vyrobcu (3-bajtova predpona) a nahodne vyplne 3 + zostavajuce bajty. Spravne zadanymi prikladmi pre parameter su Apple, 0, + 01:02:03:04:05:06, deadbeefcafe, 0020F2 ci Cisco. + + + + + + + (Odoslat pakety s falosnym kontrolnym suctom TCP/UDP) + + + + Nmap pouzije neplatny kontrolny sucet TCP alebo UDP na odoslanie paketov cielovej stanici. + Kedze prakticky vsetky hostitelske IP stacky dokladne zahadzuju taketo pakety, ak pride odpoved, + pochadza pravdepodobne od firewallu alebo systemu IDS, ktory neoveroval kontrolny sucet. + Viac podrobnosti o tejto metode najdete na adrese + + + + + + + + + Vystup + + Kazdy bezpecnostny nastroj je len tak uzitocny, ako uzitocny je vytvarany vystup. + Zlozite testy a algoritmy maju malu hodnotu, ak nie su prezentovane v organizovanej a zrozumitelnej forme. + Pri pohlade na pocet sposobov, akymi je Nmap pouzivany ludmi a dalsim softwarom, neexistuje jednotlivy + format, ktory by vyhovoval kazdemu, takze preto Nmap ponuka niekolko formatov vratane interaktivneho modu citatelneho + pre ludi a XML formatu lahko spracovavaneho softwarom. + + +Okrem ponukania rozlicnych vystupnych formatov poskytuje Nmap parametre na ovladanie miery mnozstva vystupu +tak ako aj debugovacie spravy. Vystupne typy mozu byt odoslane na standardny vystup alebo do nazvaneho suboru, +do ktoreho moze Nmap data pripojit k existujucim alebo premazat subor a vlozit data. +Vystupne subory mozu byt tiez pouzite na pokracovanie zachytavania vystupu z prerusenych scanov. + +Nmap ponuka vystup v piatich moznych formatoch. Predvolenym je +interactive output a je odosielany na standardny vystup (stdout). +Existuje aj normal output podobny interactive s tou vynimkou, +ze zobrazuje menej runtimeovych informacii a upozorneni pri behu Nmapu, pretoze sa od neho ocakava, ze +bude analyzovany az po skonceni scanu a nie interaktivne. + +Vystup vo formate je jednym z najdolezitejsich vystupnych typov a moze byt konvertovany na HTML format, + lahko rozobraty dalsimi programami napr. grafickymi rozhraniami Nmapu, alebo importovany do databaz. + +Dva zostavajuce typy vystupov su jednoduchy grepable +output obsahujuci vacsinu informacii o cielovej stanici na jednom riadku +, asCRiPt KiDDi3 0utPUt pre pouzivatelov povazujucich sa za +|<-r4d. + +Zatial co interaktivny vystup je predvoleny a nema ziadne +suvisiace parametre prikazoveho riadku, dalsie styri formaty maju tu istu syntax. +Pouzivaju jeden argument, ktorym nazov vystupneho suboru. Mozu byt zadane aj viacere formaty, ale vzdy len raz. +Ak napriklad chcete ulozit normalny vystup pre seba a zaroven ho ulozit do XML formatu kvoli analyze programu, +mozete pouzit parametre +. Tato kapitola sice pouziva kvoli strucnosti +jednoduche nazvy suborov ako myscan.xml, ale odporuca sa pouzit popisnejsie +nazvy. Zvolene nazvy su otazkou osobnych preferencii, hoci ja pouzivam dlhe nazvy zahrnujuce datum scanu a par slov +opisujucich scan, ktory je umiestneny v adresari podla scanovej spolocnosti. + + Kym tieto parametre ukladaju vysledky do suborov, Nmap stale zobrazuje +interaktivny vystup na stdout ako obycajne. Napriklad prikaz +nmap -oX myscan.xml target zobrazi XML vystup do suboru +myscan.xml a standardny vystup zobrazi presne tie iste interaktivne vysledky, ako keby +parameter nebol vobec specifikovany. Zmenit to mozete zadanim spojovnika ako argumentu +pre jeden z typov formatov, co sposobi, ze Nmap deaktivuje interaktivny vystup a namiesto toho posle vysledky len +do zadaneho formatu, cize prikaz nmap -oX - target odosle do stdout len vystup v XML. +Vazne chyby mozu byt stale zobrazovane do normalneho chyboveho streamu s nazvom stderr. + +Na rozdiel od niektorych argumentov Nmapu, medzera medzi parametrom logovacieho suboru +(napr. ) a nazvom suboru alebo spojovnikom je povinna. +Ak vynechate flagy a zadate argumenty ako napr. + alebo funkcia spatnej kompatibility Nmapu sposobi, ze +sa vytvori vystupnych suborov v +normal format s nazvom +G-, resp. Xscan.xml +. + +Nmap takisto ponuka parametre na ovladanie mnozstva vystupu scanu a ci sa maju vystupne subory prepisat alebo +sa ma pokracovat v pripajani dat. Vsetky tieto parametre su opisane nizsie. + + +Vystupne formaty Nmapu + + + (Normalny vystup) + + Sposobi, zenormal output sa presmeruje do suboru so zadanym nazvom. + Ako bolo rozobrate vyssie, tento vystup sa mierne lisi od interaktivneho - + interactive output. + + + + + + (XML vystup) + + + Sposobi, ze XML output sa presmeruje do suboru + so zadanym nazvom. Nmap zahrna definiciu typu dokumentu (DTD), co umoznuje XML parserom vytvarat + korektny XML vystup Nmapu. Je to sice urcene hlavne pre programove ucely, moze takisto pomoct ludom + interpretovat XML vystup Nmapu. DTD definuje platne prvky formatu a casto vymenuva atributy + a hodnoty, ktore mozu nadobudat. Posledna verzia je dostupna z adresy + . + + XML ponuka stabilny format lahko spracovatelny softwarom. + Volne XML parsery su dostupne vo vsetkych hlavnych programovacich jazykoch + vratane C/C++,Perl, Python a + Java. Su ponukane napojenia pre vacsinu tychto jazykov tak, ze si vedia specificky poradit + s vystupom a behom Nmapu. + Prikladmi su Nmap::Scanner + a Nmap::Parser v Perl + CPAN. Skoro vo vsetkych pripadoch rozhrania netrivialnej aplikacie + s Nmapom, XML je preferovanym formatom. + + XML vystup sa odkazuje na XSL stylesheet, + ktory moze byt pouzity na formatovanie vysledkov do HTML. Najjednoduchsim sposobom ako ho pouzit +je jednoducho nahrat vystup v XML do weboveho prehliadaaca akym je Firefox alebo IE. + Za normalnych okolnosti to bude fungovat len na pocitaci, na ktorom bezi + Nmap (alebo na podobne nastavenom) kvoli napevno zadanej ceste suboru nmap.xsl + suboroveho systemu. Zadanim parametrov alebo + vytvorite prenosne XML + subory, ktore sa na kazdom pocitaci s webovym prehliadacom zobrazia v HTML formate. + + + + + + + (ScRipT KIdd|3 oUTpuT) + + Vystup formatu Script kiddie je podobny interaktivnemu, no dodatocne sa spracuvava, + aby vyhovoval skupine l33t HaXXorZ, ktori predtym opovrhovali Nmapom kvoli jeho doslednemu formatovaniu + velkych pismen a hlaskovaniu. Ludia s nedostatkom zmyslu pre humor by si mali uvedomit, +ze tento parameter je mysleny ako vtip pre script kiddies, predtym ako ma zacnu flamovat za to, +ze im udajne pomaham. + + + + + + (Vystup typu Grep) + + +Tento format vystupu je spomenuty ako posledny, pretoze je zastaraly. Vystup vo formate XML +je ovela mocnejsi a takmer tak isto vhodny a pohodlny pre skusenych pouzivatelov. XML je standardom, +pre ktory je dostupnych mnoho excelentnych parserov, kym vystup typu grep je len moj vlastny vymysel. +XML je rozsiritelne na podporu novych vydanych funkcii Nmapu, zatial co tieto funkcie musim casto vynechat +pri vystupe formatu grep kvoli nedostatku miesta na ich umiestnenie. + + +Aj tak je vsak tento format stale dost oblubeny. Je to jednoduchy format, ktory +zobrazuje kazdy hostitelsku stanicu na jeden riadok a moze byt jednoducho prehladavany +a parsovany standardnymi UNIXovymi nastrojmi ako grep, awk, cut, +sed, diff ci Perl. Aj ja ho dokonca pouzivam pre jednorazove +testy na prikazovom riadku. Najst vsetky hostitelske stanice s otvorenym +portom ssh alebo s beziacim systemom Solaris si vyzaduje jednoduchy grep na identifikaciu +hostitelskych stanic, napojeny rurou - pipe na prikaz awk alebo cut, cim sa zobrazia +pozadovane polia. + +Vystup vo formate Grep sa sklada z komentara (riadky zacinajuce sa znakom) a riadkami cielov. + Riadok ciela zahrnuje kombinaciu 6 oznacenych poli, oddelenych tabulatorom a nasledovanym dvojbodkou, +Host, Ports, +Protocols, Ignored State, +OS, Seq Index, +IPID a Status. + +Najdolezitejsim z tychto poli je vo vseobecnosti +Ports, ktore poskytuje podrobnosti o kazdom +zaujimavom porte a obsahuje zoznam poloziek portov oddelenenych ciarkou, +pricom kazda polozka reprezentuje jednotlivy port a zaujima podobu siedmych mensich poli oddelenych +znakom /. Su nimi: Port +number, State, Protocol, +Owner, Service, SunRPC +info a Version info. + +Tak ako pri vystupe XML, ani tento manual nemoze pokryvat dokumentaciu celeho formatu. Podrobnejsi pohlad +na format typu grep Nmapu je dostupny z adresy +. + + + + + + (Vystup vo vsetkych formatoch) + + Pre ucel pohodlnosti je mozne zadat , cim sa vysledky scanu naraz ulozia v normalnom, +XML a grep formate. Ulozia sa do suborov v tvare + are stored in basename.nmap, + basename.xml a + basename.gnmap. + Tak ako pri vacsine programov je aj tu mozne pridat predponu adresarovej cesty, napr. + + + ~/nmaplogs/foocorp/ na UNIXovych systemoch alebo + c:\hacking\sco na Windows. + + + + + + Miera vypisu a moznosti debugovania + + + (Zvysit stupen miery vypisu) + + + Zvysi stupen miery vypisu, cim Nmap zobrazi viac informacii o vykonavanom scane. Otvorene + porty su zobrazovane hned pri ich najdeni. Ak Nmap odhaduje, ze scan zabere viac ako niekolko minut, + zobrazi tento odhad. Pri dvojnasobnom pouziti parametru sa este viac zvysi miera vypisu. + Viacnasobne pouzitie nema ziadny efekt. + + Vacsina zmien ovplyvnuje len interaktivny vystup a niektore tiez normalny a script kiddie format vystupu. + Ostatne typy vystupov su spracovavane pocitacmi, takze Nmap poskytuje podstatne podrobnosti predvolene + bez unavovania cloveka. Existuje vsak niekolko zmien v dalsich modoch, kde sa moze velkost vystupu podstatne + zmensit vynechanim niektorych podrobnosti. Napriklad riadok s komentarom vo formate grep poskytujuci vsetkych + scanovanych portov sa zobrazi len v mode verbose - s velkou mierou vypisu - pretoze moze byt dost dlhy. + + + + + + + + (Zvysit alebo nastavit uroven debugovania) + + + +Ak ani mod verbose neposkytuje dostatocne udaje, je vhodne pouzit debugovanie, cim sa doda omnoho viac +informacii. Tak ako pri parametri stupna urovne vypisu, +(), debugovanie sa povoli riadkovym parametrom() +a jeho stupen sa da zvysit jeho niekolkonasobnym zadanim. Alternativne je mozne nastavit +stupen debugovania dosadenim argumentu za parameter , napriklad + nastavi uroven na devat, co predstavuje najvyssi platny stupen a v pripade, +ze sa nevykonava velmi jednoduchy scan s par portmi a cielovymi stanicami vyprodukuje +tisicky riadkov. + +Vystup debugovania je uzitocny, ak je podozrive, ze Nmap obsahuje bug, +alebo ak ste proste zmateni, co Nmap robi a preco. Riadky debuggovania nie su prilis samo +vysvetlujuce, kedze su urcene pre vyvojarov. Je mozne dopracovat sa k niecomu takemu: +Timeout +vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000. Ak nerozumiete ani jednemu riadku, jedinym riesenim je ignorovat +vypis alebo si ho vyhladat v zdrojovom kode, pripadne si vyziadat pomoc zo development listu (nmap-dev). +Niektore riadku su samovysvetlujuce, no zvysovanim stupna debugovania sa straca prehlad. + + + + + + + + (Sledovat odosielane a prijimane pakety a data) + + + Nmap zobrazi obsah kazdeho odoslaneho alebo prijateho paketu. + Casto sa to pouziva pre debugovanie, ale zide sa tiez novacikom, + ktori su presne rozumiet, co sa deje pod pokryvkou Nmapu. + Ak chcete predist zobrazovaniu tisicov riadkov, je mozne specifikovat + obmedzeny pocet portov na scanovanie, napr.. + Ak vas zaujima len priebeh detekcie verzie, zadajte + . + + + + + + (Zobrazit zoznam rozhrani a ciest) + + + Zobrazi zoznam rozhrani a systemovych ciest tak ako boli detekovane + Nmapom, co sa hodi pre debugovanie problemov s routovanim alebo nespravnou + charakterizaciou zariadenia, napr. ak Nmap povazuje pripojenie PPP za ethernetovske. + . + + + + + + Rozne moznosti vystupu + + + + (Pripojit vystup namiesto vymazania predchadzajucich dat) + + + Pri specifikacii nazvu suboru za parametrom formatu vystupu napr. + alebo sa v predvolenom nastaveni subor prepise. + Ak chcete zachovat obsah suboru a pripojit nove vysledky, zadajte parameter + a vsetky zadane nazvy suborov sa namiesto prepisovania budu rozsirovat o nove data. Nefunguje to pre data scanu + pre format XML(), pretoze sa vysledny subor nespracuje spravne, az kym + ho neopravite rucne. + + + + + + (Pokracovat v prerusenom scane) + + + + Niektore rozsiahle scany trvaju Nmapu velmi dlho - radovo aj dni. Taketo scany + nebezia stale do konca. Mozu existovat obmedzenia, ze Nmap nesmie byt spusteny pocas + pracovneho casu, mohla by spadnut siet, pocitac so spustenym Nmapom by mohol planovane ci neplanovane + restartovat alebo by Nmap sam mohol zhavarovat. + Administrator ho moze zrusit takisto a to stlacenim kombinacie + ctrl-C. Restartovat cely scan + od zaciatku moze byt neprijatelne. Nastastie, ak sa uchovavali logovacie + zaznamy typu normal + () alebo grep () + , pouzivatel moze pokracovat v scanovani s tymi istymi cielovymi + stanicami ako predtym pred prerusenim scanu. Docieli sa to zadanim parametra + a vystupneho suboru vo formate normal/grep ako argumentu. + Ziadne dalsie argumenty nie su povolene, pretoze Nmap spracuvava subor pomocou + predchadzajucich parametrov. Je teda potrebne zadat + nmap --resume + logfilename. Nmap pripoji nove vysledky + do suborov specifikovanych v predchadzajucom vykonavani scanu. + Taketo obnovenie scanu nepodporuje vystup v XML + formate, pretoze miesanie vysledkov dvoch spusteni scanu do jedneho + spolocneho spravneho XML suboru by bolo narocne. + + + + + + (Nastavit XSL stylesheet na prevod XML vystupu) + + + Nmap je dodavany s XSL stylesheetom nazvanym + nmap.xsl na prezeranie a preklad XML formatu do HTML. + Vystup XML zahrna direktivu xml-stylesheet + , ktora ukazuje na subor nmap.xml, kde bola + pocitatocne nainstalovana Nmapom (vo Windowse aktualnym pracovnym adresarom). + Nahrajete XML vystup Nmapu do moderneho weboveho prehliadaca a ten by mal zo suboroveho systemu najst subor + nmap.xsl a pouzit ho na preklad vysledkov. + Ak si zelate pouzit odlisny stylesheet, zadajte ho ako argument za parametrom + . Je nutne zadat plnu cestu alebo adresu URL. + Jednym z beznych prikladov je + , co sposobi, ze browser nahra najnovsiu + verziu stylesheetu z adresy Insecure.Org. Parameter + robi to iste bez tolkeho pisania a memorovania. Nahratie XSL stylesheetu z + Insecure.Org ulahcuje prezeranie vysledkov na pocitaci, + ktory nema Nmap (a preto ani + nmap.xsl). URL je teda casto uzitocnejsia, + ale ulozenie suboru v lokalnom suborovom systeme sa pouziva predvolene + kvoli bezpecnosti. + + + + + + (Nahrat stylesheet z adresy Insecure.Org) + + + Tento pohodlny parameter je jednoducho alternativou k zadaniu + . + + + + + + (Vynechat zadanie XSL stylesheetu z XML) + + + Tento parameter zabrani Nmapu spajat XSL stylesheet s XML vystupom. Vynecha sa direktiva + xml-stylesheet. + + + + + + + + + + Rozne moznosti + Tato cast opisuje niektore dolezite a menej dolezite moznosti, ktore + nikam inam nezapadaju. + + + + + (Povolit scanovanie IPv6) + + + + Od roku 2002 ponuka Nmap podporu protokolu IPv6 pre svoje najpopularnejsie + funkcie, specialne pre ping scan (len pri TCP), scanovani typu connect() a detekcii verzie. + Syntax prikazov je rovnaka, len sa este prida parameter + . Pri zadavani IP adresy je samozrejme nutne + pouzit syntax IPv6. + Adresa moze byt napr. v tvare + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, + a preto je odporucane pouzit hostitelske nazvy. Vystup vyzera podobne + ako zvycajne, s adresou v tvare IPv6 v riadku interesting + ports, ktory IPv6 prezradza ako jediny. + + Aj ked sa IPv6 stale nerozsiril poriadne, pouziva sa vyznamne v niektorych krajinach, zvycajne + azijskych, a vacsina modernych operacnych systemov ho podporuju. Ak chcete pouzit + Nmap s protokolom IPv6, musia byt zdrojovy aj cielovy pocitac scanu nastavene na tento + protokol. Ak vam vas ISP, ako vacsina, nepriradi IPv6 adresy, su zdarma dostupne + tunelovacie programy pre IPv6 a dobre spolupracuju s Nmapom. Jeden z tych lepsich + je BT Exact na adrese . Pouzil + som aj jeden poskytovany spolocnostou na adrese. + Dalsou metodou zdarma su tunely IPv6 na IPv4. + + + + + + (Parametre agresivneho scanu) + + + Tento parameter umoznuje dalsie pokrocile a agresivne moznosti. Este som sa + nerozhodol presne, co vsetko to predstavuje. V sucasnosti umoznuje + detekciu OS + () a scan verzie(). Viac funkcii + sa moze pridat v buducnosti. Dovodom je umoznit rozsiahlu + mnozinu moznosti scanu bez toho, aby si ludia museli pamatat mnozstvo flagov. + Tento parameter povoluje len funkcie, no nie casovacie moznosti (napr.) + alebo parametre miery vystupu (), ktore by tiez mohli + byt potrebne. + + + + + + (Specifikovat vlastne datoveho suboru Nmapu) + + + Nmap ziskava specialne data pocas behu zo suborovnmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes a + nmap-os-fingerprints. Najprv ich hlada + v adresari zadanom volitelne parametrom + . Ak tam nie su najdene vsetky subory, + chybajuce su hladane v adresari specifikovanom premennou NMAPDIR. + Dalsim v poradi je adresar ~/.nmap, kde sa hladaju + pre systemy POSIX realne a efektivne UID a pre systemy Win32 umiestnenia spustitelneho suboru Nmapu. + Potom sa hlada nakompilovane umiestnenie napr. + /usr/local/share/nmap + ci /usr/share/nmap + . Ako posledna moznost pri hladani sa pouzije aktualny adresar. + + + + + + (Posielat neupravene pakety na ethernetovej vrstve) + + + Nmap bude odosielat pakety na neupravenej druhej, ethernetovej vrstve + (vrstva data link) namiesto vyssej sietovej vrstvy. V predvolenom nastaveni + zvoli Nmap sposob, ktory sa lepsie hodi pre danu platformu. Neupravene sockety + (sietova vrstva) su efektivnejsie pre UNIXovske pocitace, kym ethernetovske + ramce sa vyzaduju pre operacie na platforme Windows, pretoze Microsoft + nepodporuje neupravene sockety. Nmap pouziva na UNIXoch vzdy neupravene IP pakety, + napriek tejto moznosti, aj ked neexistuje ina volba. + + + + + + + + (Posielat neupravene pakety na vrstve IP) + + + Nmap bude odosielat pakety prostrednictvom + neupravenych IP socketov a nebude odosielat + nizkourovnove ethernetove ramce. Je to doplnkom parametra + rozoberaneho predtym. + + + + + + (Predpokladat, ze pouzivatel je plne privilegovany) + + + Nmap bude predpokladat, ze ma dost privilegii, + aby mohol odosielat neupravene sockety, vykonavat sniffing paketov a + podobne operacie, ktore obycajne na UNIXovych systemoch vyzaduju privilegia roota. + Za normalnych okolnosti Nmap skonci, ak su taketo operacie pozadovane, + no funkcia geteuid() nevrati nulu. + Parameter sa hodi pri schopnostiach + kernelu Linuxu a pri podobnych systemoch, ktore mozu byt konfigurovane, + aby umoznili neprivilegovanym pouzivatelom vykonavat scany pouzitim neupravenych + paketov. Tento parameter je potrebne zadat pred vsetkymi + parametrami, ktore vyzaduju privilegia (SYN scan, detekcia OS, atd.). + Premenna NMAP_PRIVILEGED moze byt nastavena ako ekvivalentna + alternativa k parametru + . + + + + + + (Zacat v interaktivnom mode) + + + Nmap zacne pracovat v interaktivnom mode, + ktory ponuka moznost pouzitia vyzvy na jednoduche spustenie + viacnasobnych scanov, bud synchronne alebo v pozadi. Zide sa to + pre pouzivatelov, ktori scanuju zo systemov typu multi-user a + casto chcu testovat bezpecnost bez toho, aby niekto v systeme vedel + , ktore systemy sa presne scanuju. Tento mod sa aktivuje parametrom + a zadanim h pre napovedu. + Tento parameter sa pouziva zriedkavo, pretoze poriadne shelly su dovernejsie zname a maju + vela funkcii. Tento parameter zahrnuje operator ! kvoli spusteniu + prikazov shellu, co je jednou z mnohych pricin, preco sa + nema instalovat setuid root Nmapu. + + + + + + + ; (Zobrazit cislo verzie) + + + Zobrazi cislo verzie Nmapu a ukonci sa. + + + + + + ; (Zobrazi obsah napovedy) + + + Zobrazi kratku obrazovku napovedy s najbeznejsimi prikazmi. To iste sa dosiahne + pri spusteni Nmapu bez argumentov. + + + + + + + + + Interakcia s behom programu + + Funkcia interakcie s behom programu este na systemoch Windows nie je plne + podporovana. + + + Pocas behu Nmapu sa zachytavaju + vsetky stlacenie klucovych klavesov, co dovoluje komunikovat s programom + bez jeho zastavenia a restartovania. Iste specialne klavesy + zmenia parametre, zatial co ine klavesy zobrazia stavovu spravu informujucu + o scane. Konvencia je taka, ze + male pismena zvysuju mnozstvo zobrazovanych udajov a + velke pismena ho znizuju. + + + + / + + + Zvysit / Znizit mieru zobrazovania + + + + + / + + + Zvysit / Znizit stupen debugovania + + + + + / + + + Zapnut/ Vypnut sledovanie paketov + + + + + Cokolvek ine + + + Zobrazi stavovu spravu, napr.: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + Priklady + Na tomto mieste je niekolko prikladov pouzitia Nmapu, od jednoduchych a rutinnych + az po zlozitejsie a tajuplne. Pouzite su niektore vlastne IP adresy a nazvy domen, aby bol + proces konkretny, no namiesto nich by sme mali pouzit nahrady + vasej vlastnej siete.. Aj ked si nemyslim, ze scanovanie portov + dalsich sieti je alebo by malo byt nelegalne, administratori niektorych + sieti nijak neocenuju nevyziadane scanovanie svojich sieti a mozu sa stazovat. + Najlepsie je najprv ziskat opravnenie. + + Pre testovacie ucely mate opravnenie scanovat pocitac na adrese + scanme.nmap.org. Toto opravnenie vsak obsahuje + len scanovanie pomocou Nmapu a nie testovanie exploitov alebo utokov typu Denial of service. + Aby sa nevycerpala sirka pasma, nespustajte viac ako 12 scanov na tento pocitac za jeden den. + Ak je tato sluzba volneho scanovania cieloveho pocitaca zneuzita, zrusi sa a Nmap oznami + Failed to resolve given hostname/IP: + scanme.nmap.org. Tieto opravnenia sa tiez vztahuju + na hostitelske pocitace scanme2.nmap.org, + scanme3.nmap.org atd., hoci tieto stanice + momentalne neexistuju. + + + nmap -v scanme.nmap.org + + Tento parameter spusti scan vsetkych rezervovanych TCP portov + na pocitaci + scanme.nmap.org . Parameter + umoznuje tzv. verbose mode. + + nmap -sS -O scanme.nmap.org/24 + + Spusti SYN scan proti kazdemu aktivnemu pocitacu v sieti triedy + class C s nazvom + Scanme. Takisto sa pokusi urcit spustene operacne systemy aktivnych pocitacov. K tymto parametrom + sa vyzaduju privilegia roota. + + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + Spusti vypocet hostitelskych stanic a TCP scan na prvu polovicu z 255 moznych 8-bitovych + subnetov v adresnom priestore 198.116 triedy B. + Zaroven sa testuje, ci na systemoch bezia sluzby sshd, DNS, + pop3d, imapd alebo port 4564. Pre kazdy z najdenych otvorenych portov sa pouzije + detekcia verzia na urcenie spustenych aplikacii. + + + + nmap -v -iR 100000 -P0 -p 80 + + + Nmap zvoli nahodne 100 000 hostitelskych pocitacov a scanuje ich port 80. + Vypocet hostitelskych stanic je zakazany parametrom + , pretoze je zbytocne najprv + posielat test na zistenie, ci je hostitelska stanica aktivna, ak sa + bude aj tak testovat len jeden port. + + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + Scanuje 4096 IP adries kvoli najdeniu webserverov (bez ich pingnutia) + a vystup ulozi vo formatoch grep a XML. + + + host -l company.com | cut -d -f 4 | nmap -v -iL + - + + + Vykona preklad domeny DNS, cim sa najdu hostitelske pocitace na adrese company.com + a potom Nmap pouzije tieto IP adresy. Tieto prikazy sa mozu pouzit pre + pocitac so systemom GNU/Linux - dalsie systemy maju odlisne prikazy na vykonavanie + prekladu domeny. + + + + + Bugy + + Tak ako autor, ani Nmap nie + je dokonaly, no mate moznost pomoct pri jeho vylepsovani tym, ze zaslete spravu o bugoch alebo + dokonca napisete patch. Ak sa Nmap nechova podla ocakavania, vykonajte najprv + upgrade na najnovsiu verziu dostupnu z adresy + . Ak problem pretrvava, + preskumajte, ci uz nebol objaveny a adresovany. Vyskusajte pouzit google + s vyrazom chybovej spravy alebo prehladajte archivy Nmap-dev na adrese + . Precitajte si aj tento plny manual. + Ak nenajdete nic podobne, poslite mail o bugu na adresu + nmap-dev@insecure.org. Zahrnte vsetko, co ste sa dozvedeli + o probleme spolu s verziou Nmapu a operacnym systemom. Spravy o problemoch + a otazky na pouzivanie Nmapu budu ovela pravdepodobnejsie zodpovedane, ak budu odoslane + na nmap-dev@insecure.org namiesto odosielania priamo Fyodorovi. + + Patche s kodom na opravu bugov su este lepsie ako samotne spravy o bugoch. Zakladne + instrukcie na tvorbu suborov patchov s vasimi zmenami su dostupne na + . + Patche mozu byt odoslane prednostne na nmap-dev alebo priamo Fyodorovi. + + + + Autor + Fyodor + fyodor@insecure.org + () + + + Za posledne roky stovky ludi vyznamne prispeli pre Nmap. Podrobnosti o nich + su obsiahnute v suboreCHANGELOG, ktory + sa dodava s Nmapom a je dostupny z adresy. + + + + + Pravne prehlasenia + + + Unofficial Translation Disclaimer/ Zrieknutie sa zaruky nad neoficialnym prekladom + + This is an unnofficial translation of the Nmap + license details into Slovak. It was not written by + Insecure.Com LLC, and does not legally state the distribution terms + for Nmap -- only the original English text does that. However, we + hope that this translation helps Slovak speakers understand the + Nmap license better. + + Toto je len neoficialny prekladlicencnych + podrobnosti Nmapu do slovenciny. Nebol vytvoreny spolocnostou + Insecure.Com LLC a ani legalne nevyjadruje podmienky distribucie pre Nmap; to ma za ulohu + len povodny anglicky text. Aj tak vsak dufame, ze tento preklad pomoze slovensky hovoriacim + ludom lepsie pochopit licenciu pre Nmap. + + + + + Copyright a licencia Nmapu + +Program Nmap Security +Scanner je produktom (C) 1996-2005 Insecure.Com LLC. Nmap je tiez registrovana obchodna znacka +spolocnosti Insecure.Com LLC. Tento program je free softwarom; je mozne ho +redistribuovat alebo modifikovat podla podmienok licencie GNU General +Public License 2 uverejnenou zdruzenim Free Software Foundation. + Zarucuje pravo na pouzivanie, modifikaciu a redistribuciu tohoto softwaru za istych podmienok. + Ak mate zaujem o zaclenenie technologie Nmapu do proprietarneho softwaru, mozeme predat + alternativne licencie (kontakt sales@insecure.com). Vela vyrobcov bezpecnostnych + scannerov uz licencuju technologiu Nmapu, napr. zistovanie hostitelskych stanic, + scanovanie portov, detekcia OS a detekcia sluzby/verzie. + +Je nutne poznamenat, ze GPL uvaluje dolezite obmedzenia na +odvodene diela, no neposkytuje podrobnu definiciu tohoto pojmu. +Aby sa predislo nedorozumeniam, za ucelom tejto licencie povazujeme aplikaciu za odvodene dielo (derivative work) +ak vykonava lubovolnu z nasledujucich veci: + + +Zaclenuje zdrojovy kod z Nmapu +Nacitava alebo obsahuje Nmapovske Nmap datove subory chranene copyrightom, napr. + nmap-os-fingerprints ci + nmap-service-probes. +Spusta Nmap a spracuvava vysledky(oproti typickym shellovskym aplikaciam + ci aplikaciam s menu pre spustanie, ktore jednoducho zobrazia neupraveny vystup Nmapu + a nie su odvodenym dielami.) +Zaclenuje, obsahuje alebo zhromazduje Nmap do proprietarneho +spustitelneho instalacneho programu, napr. tie vyrobene spolocnostou + InstallShield. +Je prepojeny na kniznicu alebo spusta program, co vykonava lubovolnu hore uvedenu cinnost. + + + +Pojem Nmap by sa mal pouzit aj pri zahrnuti akychkolvek casti alebo +diel odvodenych od Nmapu. Tento zoznam nie je vyhradny, no jeho zamerom je objasnit nasu +interpretaciu odvodenych diel pomocou niekolkych beznych prikladov. Tieto obmedzenia vlastne platia +len pri redistribucii Nmapu. Napriklad vas nic nemoze zastavit od napisania a predavania +proprietarnej celnej aplikacie k Nmapu, mozete to sami distribuovat a zverejnit pre verejnost +adresu na stiahnutie Nmapu. + +Nepokladame to za dodatocne restrikcie ku GPL, ale len ako +objasnenie toho ako interpretujeme odvodene +diela podla vztahu k nasmu produktu s licenciou GPL. Je to nieco podobne, +ako ked Linus Torvalds oznamil svoju interpretaciu ako sa vztahuju +odvodene diela k modulom linuxovskeho kernelu. Nasa intepretacia sa odkazuje +len na Nmap - nehovorime za ine GPL produkty. + +Ak mate otazky tykajuce sa obmedzeni licencii GPL ohladom pouzivania Nmapu v dielach nelicencovanych +GPL, radi pomozeme. Ako uz bolo spomenute vyssie, tiez ponukame alternativne licencie na zahrnutie +Nmapu do proprietarnych aplikacii a zariadeni. Tieto zmluvy uz boli predane +mnohym vyrobcom zaoberajucich sa bezpecnostou a vseobecne zahrnuju trvalu +licenciu tak ako aj poskytovanie prioritnej podpory a updateov a pomoc +financne podporovat pokracujuci vyvoj technologie Nmapu. Na ziskanie dalsich informacii +zaslite e-mail na adresu sales@insecure.com. + +Ako vynimku ku terminom licencie GPL, spolocnost Insecure.Com LLC udeluje povolenie +spajat kod tohoto programu s lubovolnou verziou kniznice OpenSSL, ktora je distribuovana +pod licenciou identickou k tej zmienenej v zahrnutom subore +Copying.OpenSSL, a distribuovat suvisiace kombinacie vratane tychto dvoch. +Musite dodrziavat GNU GPL vo vsetkych ohladoch pre kod iny ako OpenSSL. Ak pozmenite +tento subor, je mozne nezavazne rozsirit tuto vynimku na vasu verziu tohoto suboru. + + +Ak ste tieto subory ziskali s pisomnou licencnou zmluvou alebo sa zmluva zmienuje +o inych pojmoch ako su vyssie uvedene, ma prednost pred tymito podmienkami. + + + + + Licencia Creative Commons pre tuto prirucku Nmapu + Tato prirucka Nmapu je chranena copyrightom spolocnosti (C) 2005 Insecure.Com LLC a je preto umiestnena + pod verziou licenciou Creative Commons + Attribution License verzie 2.5, co dovoluje redistribuovat a modifikovat dielo podla ziadosti, pricom + sa odkazete na povodny zdroj. Alternativne je mozne vybrat si, ze tento dokument sa bude povazovat, + ze spada pod tu istu licenciu ako sam Nmap (predtym rozobrata). + + + + + Dostupnost zdrojoveho kodu a prispevky komunity + +K tomuto softwaru je poskytovany kod, pretoze si myslime, ze pouzivatelia +maju pravo poznat pred jeho spustenim, co presne program vykona. To umoznuje aj vam +skumat software kvoli bezpecnostnym dieram, aj ked zatial neboli ziadne najdene. + + +Zdrojovy kod vam tiez dovoluje portovat Nmap na nove platformy, opravovat bugy, +a pridavat nove funkcie. Ste vrelo podporovani zasielat vase modifikacie pre pripadne zaclenenie +do hlavnej distribucie na adresu +fyodor@insecure.org. Zaslatim tychto zmien Fyodorovi alebo na niektory +z vyvojarskych mailing listov Insecure.Org sa predpoklada, ze poskytujete Fyodorovi +a firme Insecure.Com LLC nelimitovane, nevylucne pravo na pouzivanie, modifikaciu a opatovne +licencovanie kodu. Nmap bude vzdy dostupnym Open Source programom, ale tato zmienka je dolezita, +pretoze nemoznost prelicencovat kod uz sposobila obrovske problemy dalsim projektom Free Software (napr. KDE a NASM). +Prilezitostne relicencujeme kod tretim stranam podla hore spomenuteho. Ak si prajete specifikovat +specialne podmienky licencie vasich prispevkov, uvedte to pri ich zasielani. + + + +Bez zaruky + +Tento program je distribuovany s vierou, ze bude uzitocny, ale BEZ AKEJKOLVEK ZARUKY; +dokonca aj bez naznacenej zaruky PREDAJNOSTI a VHODNOSTI NA URCITY UCEL. Dalsie podrobnosti +mozete najst na adrese, alebo v subore COPYING +zahrnutym v Nmape. + +Je takisto dolezite poznamenat, ze Nmap je znamy tym, ze obcas sposobi zrutenie +slabo naprogramovanych aplikacii, stackov TCP/IP a dokonca aj operacnych systemov. Aj ked sa to +stava velmi zriedkave, je na to potrebne mysliet. +Nmap by sa nikdy nemal spustat na testovanie kritickych systemov +, kym nie ste pripraveny trpiet ich vypadky. +Na tomto mieste uznavame, ze Nmap moze sposobit spadnutie vasich systemov alebo sieti +a zriekame sa vsetkych zavazkov za akukolvek skodu alebo problemy pripadne zapricinene Nmapom. + + + +Nevhodne pouzitie +Kvoli istemu riziku padov systemov a niekolkym trufalcom, ktori +pouzivaju Nmap na prieskum pred napadnutim systemov existuju administratori, ktori +su znepokojeni a mozu sa stazovat pri zisteni scanovania systemu. Je preto doporuceniahodne +vyziadat si povolenie pred podniknutim co i len lahkeho scanu siete. + + +Nmap by nikdy nemal byt z bezpecnostnych dovodov instalovany so specialnymi privilegiami (napr. suid root) + + + +Software tretich stran +Tento produkt zahrnuje software vyvinuty organizaciou +Apache Software Foundation. Modifikovana verzia +kniznice Libpcap +portable packet capture library sa dofavat spolu s nmapom. +Verzia Nmapu pre Windows namiesto toho vyuziva od tejto kniznice odvodenu WinPcap library. +Podpora regularnych vyrazov je poskytovana kniznicouPCRE library, +ktora je open source softwarom a jej autorom je Philip Hazel. Niektore neupravene sietove funkcie +pouzivaju sietovu kniznicu s nazvomLibdnet +vytvorena autorom Dug Song. Jej pozmenena verzia sa dodava s Nmapom. +Nmap moze byt volitelne spojeny s toolkitomOpenSSL cryptography toolkit +na podporu detekcie verzie protokolu SSL. +Kazdy z tu spomenuteho softwaru tretich stran je volne siritelny +pod softwarovymi licenciami typu BSD. + + +Klasifikacia riadenia exportu z USA (US Export Control Classification) +Klasifikacia riadenia exportu z USA: Insecure.Com LLC sa domnieva, ze Nmap spada +pod americky ECCN (export control classification number) 5D992. Tato kategoria sa nazyva +Information Security software not controlled +by 5D002. Jedinym obmedzenim tejto klasifikacie je +AT (anti-terorizmus), ktory sa vztahuje na skoro vsetky tovary +a odmieta exportovat do par nebezpecnych krajin ako su Iran a Severna Korea, preto +exportovanie Nmapu nevyzaduje ziadnu specialnu licenciu, povolenie alebo ine splnomocnenie vladou. + + + + + +
diff --git a/docs/man-xlate/nmap-man-zh.xml b/docs/man-xlate/nmap-man-zh.xml new file mode 100644 index 000000000..4ec81934f --- /dev/null +++ b/docs/man-xlate/nmap-man-zh.xml @@ -0,0 +1,2486 @@ + +
+ + Nmap参考指南(Man Page) + + + + nmap + 1 + + + nmap + 网络探测工具和安全/端口扫描器 + + + + + nmap + + 扫描类型 + + + 选项 + + + 扫描目标说明 + + + + + 描述 + + Nmap (Network Mapper(网络映射器)) 是一款开放源代码的 + 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 + 主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些 + 主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), + 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核, + 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息, + 管理服务升级计划,以及监视主机和服务的运行。 + + Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。 + 所感兴趣的端口表格是其中的关键。那张表列出端口号,协议,服务名称和状态。状态可能是 + open(开放的),filtered(被过滤的), + closed(关闭的),或者unfiltered(未被过滤的)。 + Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。 + filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知 + 它是 + open(开放的) 还是 closed(关闭的)。 + closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。 + 当端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放时,这些端口就被认为是 + unfiltered(未被过滤的) + 如果Nmap报告状态组合 + open|filtered 和 + closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。 + 当要求进行版本探测时,端口表也可以包含软件的版本信息。当要求进行IP协议扫描时 + (),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。 + + 除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。 + + 一个典型的Nmap扫描如所示。在这个例子中,唯一的选项是, + 用来进行操作系统及其版本的探测, 可以加快执行速度,接着是两个目标主机名。 + +一个典型的Nmap扫描 + +# nmap -A -T4 scanme.nmap.org playground + +Starting nmap ( http://www.insecure.org/nmap/ ) +Interesting ports on scanme.nmap.org (205.217.153.62): +(The 1663 ports scanned but not shown below are in state: filtered) +port STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2.0.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2.4.X|2.5.X|2.6.X +OS details: Linux 2.4.7 - 2.6.11,Linux 2.6.0 - 2.6.11 +Uptime 33。908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground。nmap。或者g (192.168.0.40): +(The 1659 ports scanned but not shown below are in state: closed) +port STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios-ssn +389/tcp open ldap? +445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds +1002/tcp open windows-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H.323/Q.931 CompTek AquaGateKeeper +5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3.8) +MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows,Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds + + + + + + + 译注 +该Nmap参考指南中文版由Fei Yang +fyang1024@gmail.com和Lei Lililei_721@6611.org +从英文版本翻译而来。 +我们希望这将使全世界使用中文的人们更了解Nmap,但我们不能保证该译本和官方的 +英文版本一样完整,也不能保证同步更新。 +它可以在Creative Commons +Attribution License下被修改并重新发布。 + + + + 选项概要 + +当Nmap不带选项运行时,该选项概要会被输出,最新的版本在这里 +。 +它帮助人们记住最常用的选项,但不能替代本手册其余深入的文档,一些晦涩的选项甚至不在这里。 + + +Usage: nmap [Scan Type(s)] [Options] {target specification} +TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. + Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254 + -iL <inputfilename>: Input from list of hosts/networks + -iR <num hosts>: Choose random targets + --exclude <host1[,host2][,host3],...>: Exclude hosts/networks + --excludefile <exclude_file>: Exclude list from file +HOST DISCOVERY: + -sL: List Scan - simply list targets to scan + -sP: Ping Scan - go no further than determining if host is online + -P0: Treat all hosts as online -- skip host discovery + -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports + -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes + -n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve] +SCAN TECHNIQUES: + -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans + -sN/sF/sX: TCP Null, FIN, and Xmas scans + --scanflags <flags>: Customize TCP scan flags + -sI <zombie host[:probeport]>: Idlescan + -sO: IP protocol scan + -b <ftp relay host>: FTP bounce scan +PORT SPECIFICATION AND SCAN ORDER: + -p <port ranges>: Only scan specified ports + Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 + -F: Fast - Scan only the ports listed in the nmap-services file) + -r: Scan ports consecutively - don't randomize +SERVICE/VERSION DETECTION: + -sV: Probe open ports to determine service/version info + --version-light: Limit to most likely probes for faster identification + --version-all: Try every single probe for version detection + --version-trace: Show detailed version scan activity (for debugging) +OS DETECTION: + -O: Enable OS detection + --osscan-limit: Limit OS detection to promising targets + --osscan-guess: Guess OS more aggressively +TIMING AND PERFORMANCE: + -T[0-6]: Set timing template (higher is faster) + --min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes + --min-parallelism/max-parallelism <msec>: Probe parallelization + --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies + probe round trip time. + --host-timeout <msec>: Give up on target after this long + --scan-delay/--max_scan-delay <msec>: Adjust delay between probes +FIREWALL/IDS EVASION AND SPOOFING: + -f; --mtu <val>: fragment packets (optionally w/given MTU) + -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys + -S <IP_Address>: Spoof source address + -e <iface>: Use specified interface + -g/--source-port <portnum>: Use given port number + --data-length <num>: Append random data to sent packets + --ttl <val>: Set IP time-to-live field + --spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC address +OUTPUT: + -oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3, + and Grepable format, respectively, to the given filename. + -oA <basename>: Output in the three major formats at once + -v: Increase verbosity level (use twice for more effect) + -d[level]: Set or increase debugging level (Up to 9 is meaningful) + --packet-trace: Show all packets sent and received + --iflist: Print host interfaces and routes (for debugging) + --append-output: Append to rather than clobber specified output files + --resume <filename>: Resume an aborted scan + --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML + --no_stylesheet: Prevent Nmap from associating XSL stylesheet w/XML output +MISC: + -6: Enable IPv6 scanning + -A: Enables OS detection and Version detection + --datadir <dirname>: Specify custom Nmap data file location + --send-eth/--send-ip: Send packets using raw ethernet frames or IP packets + --privileged: Assume that the user is fully privileged + -V: Print version number + -h: Print this help summary page. +EXAMPLES: + nmap -v -A scanme.nmap.org + nmap -v -sP 192.168.0.0/16 10.0.0.0/8 + nmap -v -iR 10000 -P0 -p 80 + + + + + + + + 目标说明 + +除了选项,所有出现在Nmap命令行上的都被视为对目标主机的说明。 +最简单的情况是指定一个目标IP地址或主机名。 + +有时候您希望扫描整个网络的相邻主机。为此,Nmap支持CIDR风格的地址。您可以附加 +一个/numbit在一个IP地址或主机名后面, +Nmap将会扫描所有和该参考IP地址具有 +numbit相同比特的所有IP地址或主机。 +例如,192.168.10.0/24将会扫描192.168.10.0 (二进制格式: 11000000 10101000 +00001010 00000000)和192.168.10.255 (二进制格式: 11000000 10101000 +00001010 11111111)之间的256台主机。 +192.168.10.40/24 将会做同样的事情。假设主机 +scanme.nmap.org的IP地址是205.217.153.62, +scanme.nmap.org/16 将扫描205.217.0.0和205.217.255.255之间的65,536 个IP地址。 +所允许的最小值是/1, +这将会扫描半个互联网。最大值是/32,这将会扫描该主机或IP地址, +因为所有的比特都固定了。 + +CIDR标志位很简洁但有时候不够灵活。例如,您也许想要扫描 +192.168.0.0/16,但略过任何以.0或者.255 结束的IP地址,因为它们通常是广播地址。 +Nmap通过八位字节地址范围支持这样的扫描 +您可以用逗号分开的数字或范围列表为IP地址的每个八位字节指定它的范围。 +例如,192.168.0-255.1-254 将略过在该范围内以.0和.255结束的地址。 +范围不必限于最后的8位:0-255.0-255.13.37 将在整个互联网范围内扫描所有以13.37结束的地址。 +这种大范围的扫描对互联网调查研究也许有用。 + +IPv6地址只能用规范的IPv6地址或主机名指定。 +CIDR 和八位字节范围不支持IPv6,因为它们对于IPv6几乎没什么用。 + +Nmap命令行接受多个主机说明,它们不必是相同类型。命令nmap +scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255将和您预期的一样执行。 + + +虽然目标通常在命令行指定,下列选项也可用来控制目标的选择: + + + + + (从列表中输入) + + + 从 + inputfilename中读取目标说明。在命令行输入 + 一堆主机名显得很笨拙,然而经常需要这样。 + 例如,您的DHCP服务器可能导出10,000个当前租约的列表,而您希望对它们进行 + 扫描。如果您不是使用未授权的静态IP来定位主机,或许您想要扫描所有IP地址。 + 只要生成要扫描的主机的列表,用 把文件名作为选项传给Nmap。列表中的项可以是Nmap在 + 命令行上接受的任何格式(IP地址,主机名,CIDR,IPv6,或者八位字节范围)。 + 每一项必须以一个或多个空格,制表符或换行符分开。 + 如果您希望Nmap从标准输入而不是实际文件读取列表, + 您可以用一个连字符(-)作为文件名。 + + + + + + (随机选择目标) + + + 对于互联网范围内的调查和研究, + 您也许想随机地选择目标。 hostnum 选项告诉 + Nmap生成多少个IP。不合需要的IP如特定的私有,组播或者未分配的地址自动 + 略过。选项 0 + 意味着永无休止的扫描。记住,一些网管对于未授权的扫描可能会很感冒并加以抱怨。 + 使用该选项的后果自负! 如果在某个雨天的下午,您觉得实在无聊, + 试试这个命令nmap -sS -PS80 -iR 0 -p + 80随机地找一些网站浏览。 + + + + + + (排除主机/网络) + + + 如果在您指定的扫描范围有一些主机或网络不是您的目标, + 那就用该选项加上以逗号分隔的列表排除它们。该列表用正常的Nmap语法, + 因此它可以包括主机名,CIDR,八位字节范围等等。 + 当您希望扫描的网络包含执行关键任务的服务器,已知的对端口扫描反应强烈的 + 系统或者被其它人看管的子网时,这也许有用。 + + + + + + (排除文件中的列表) + + + 这和 + 选项的功能一样,只是所排除的目标是用以 + 换行符,空格,或者制表符分隔的 + excludefile提供的,而不是在命令行上输入的。 + + + + + + + 主机发现 + + 任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为 + 一列活动的或者您感兴趣的主机。扫描每个IP的每个端口很慢,通常也没必要。 + 当然,什么样的主机令您感兴趣主要依赖于扫描的目的。网管也许只对运行特定服务的 + 主机感兴趣,而从事安全的人士则可能对一个马桶都感兴趣,只要它有IP地址:-)。一个系统管理员 + 也许仅仅使用Ping来定位内网上的主机,而一个外部入侵测试人员则可能绞尽脑汁用各种方法试图 + 突破防火墙的封锁。 + + 由于主机发现的需求五花八门,Nmap提供了一箩筐的选项来定制您的需求。 + 主机发现有时候也叫做ping扫描,但它远远超越用世人皆知的ping工具 + 发送简单的ICMP回声请求报文。用户完全可以通过使用列表扫描()或者 + 通过关闭ping ()跳过ping的步骤,也可以使用多个端口把TPC SYN/ACK,UDP和ICMP + 任意组合起来玩一玩。这些探测的目的是获得响应以显示某个IP地址是否是活动的(正在被某 + 主机或者网络设备使用)。 在许多网络上,在给定的时间,往往只有小部分的IP地址是活动的。 + 这种情况在基于RFC1918的私有地址空间如10.0.0.0/8尤其普遍。 + 那个网络有16,000,000个IP,但我见过一些使用它的公司连1000台机器都没有。 + 主机发现能够找到零星分布于IP地址海洋上的那些机器。 + + 如果没有给出主机发现的选项,Nmap + 就发送一个TCP ACK报文到80端口和一个ICMP回声请求到每台目标机器。 + 一个例外是ARP扫描用于局域网上的任何目标机器。对于非特权UNIX + shell用户,使用connect()系统调用会发送一个SYN报文而不是ACK + 这些默认行为和使用选项的效果相同。 + 扫描局域网时,这种主机发现一般够用了,但是对于安全审核,建议进行 + 更加全面的探测。 + + 选项(用于选择 + ping的类型)可以被结合使用。 您可以通过使用不同的TCP端口/标志位和ICMP码发送许多探测报文 + 来增加穿透防守严密的防火墙的机会。另外要注意的是即使您指定了其它 + 选项,ARP发现()对于局域网上的 + 目标而言是默认行为,因为它总是更快更有效。 + + 下列选项控制主机发现。 + + + + + (列表扫描) + + 列表扫描是主机发现的退化形式,它仅仅列出指定网络上的每台主机, + 不发送任何报文到目标主机。默认情况下,Nmap仍然对主机进行反向域名解析以获取 + 它们的名字。简单的主机名能给出的有用信息常常令人惊讶。例如, + fw.chi.playboy.com是花花公子芝加哥办公室的 + 防火墙。Nmap最后还会报告IP地址的总数。列表扫描可以很好的确保您拥有正确的目标IP。 + 如果主机的域名出乎您的意料,那么就值得进一步检查以防错误地扫描其它组织的网络。 + + 既然只是打印目标主机的列表,像其它一些高级功能如端口扫描,操作系统探测或者Ping扫描 + 的选项就没有了。如果您希望关闭ping扫描而仍然执行这样的高级功能,请继续阅读关于 + 选项的介绍。 + + + + + + (Ping扫描) + + + 该选项告诉Nmap仅仅 + 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 + 没有进一步的测试 (如端口扫描或者操作系统探测)。 这比列表扫描更积极,常常用于 + 和列表扫描相同的目的。它可以得到些许目标网络的信息而不被特别注意到。 + 对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名往往更有价值。 + + 系统管理员往往也很喜欢这个选项。 它可以很方便地得出 + 网络上有多少机器正在运行或者监视服务器是否正常运行。常常有人称它为 + 地毯式ping,它比ping广播地址更可靠,因为许多主机对广播请求不响应。 + + 选项在默认情况下, + 发送一个ICMP回声请求和一个TCP报文到80端口。如果非特权用户执行,就发送一个SYN报文 + (用connect()系统调用)到目标机的80端口。 + 当特权用户扫描局域网上的目标机时,会发送ARP请求(), + ,除非使用了选项。 + 选项可以和除)之外的任何发现探测类型 + 选项结合使用以达到更大的灵活性。 + 一旦使用了任何探测类型和端口选项,默认的探测(ACK和回应请求)就被覆盖了。 + 当防守严密的防火墙位于运行Nmap的源主机和目标网络之间时, + 推荐使用那些高级选项。否则,当防火墙捕获并丢弃探测包或者响应包时,一些主机就不能被探测到。 + + + + + + + + (无ping) + + + 该选项完全跳过Nmap发现阶段。 + 通常Nmap在进行高强度的扫描时用它确定正在运行的机器。 + 默认情况下,Nmap只对正在运行的主机进行高强度的探测如 + 端口扫描,版本探测,或者操作系统探测。用禁止 + 主机发现会使Nmap对每一个指定的目标IP地址 + 进行所要求的扫描。所以如果在命令行指定一个B类目标地址空间(/16), + 所有 65,536 个IP地址都会被扫描。 + 的第二个字符是数字0而不是字母O。 + 和列表扫描一样,跳过正常的主机发现,但不是打印一个目标列表, + 而是继续执行所要求的功能,就好像每个IP都是活动的。 + + + + + + (TCP SYN Ping) + + + 该选项发送一个设置了SYN标志位的空TCP报文。 + 默认目的端口为80 (可以通过改变nmap.h) + 文件中的DEFAULT_TCP_PROBE_PORT值进行配置,但不同的端口也可以作为选项指定。 + 甚至可以指定一个以逗号分隔的端口列表(如 ), + 在这种情况下,每个端口会被并发地扫描。 + + SYN标志位告诉对方您正试图建立一个连接。 + 通常目标端口是关闭的,一个RST (复位) 包会发回来。 + 如果碰巧端口是开放的,目标会进行TCP三步握手的第二步,回应 + 一个SYN/ACK TCP报文。然后运行Nmap的机器则会扼杀这个正在建立的连接, + 发送一个RST而非ACK报文,否则,一个完全的连接将会建立。 + RST报文是运行Nmap的机器而不是Nmap本身响应的,因为它对收到 + 的SYN/ACK感到很意外。 + + Nmap并不关心端口开放还是关闭。 + 无论RST还是SYN/ACK响应都告诉Nmap该主机正在运行。 + + 在UNIX机器上,通常只有特权用户 + root 能否发送和接收 + 原始的TCP报文。因此作为一个变通的方法,对于非特权用户, + Nmap会为每个目标主机进行系统调用connect(),它也会发送一个SYN + 报文来尝试建立连接。如果connect()迅速返回成功或者一个ECONNREFUSED + 失败,下面的TCP堆栈一定已经收到了一个SYN/ACK或者RST,该主机将被 + 标志位为在运行。 + 如果连接超时了,该主机就标志位为down掉了。这种方法也用于IPv6 + 连接,因为Nmap目前还不支持原始的IPv6报文。 + + + + + + + (TCP ACK Ping) + + TCP ACK ping和刚才讨论的SYN ping相当类似。 + 也许您已经猜到了,区别就是设置TCP的ACK标志位而不是SYN标志位。 + ACK报文表示确认一个建立连接的尝试,但该连接尚未完全建立。 + 所以远程主机应该总是回应一个RST报文, + 因为它们并没有发出过连接请求到运行Nmap的机器,如果它们正在运行的话。 + + + 选项使用和SYN探测相同的默认端口(80),也可以 + 用相同的格式指定目标端口列表。如果非特权用户尝试该功能, + 或者指定的是IPv6目标,前面说过的connect()方法将被使用。 + 这个方法并不完美,因为它实际上发送的是SYN报文,而不是ACK报文。 + + + 提供SYN和ACK两种ping探测的原因是使通过防火墙的机会尽可能大。 + 许多管理员会配置他们的路由器或者其它简单的防火墙来封锁SYN报文,除非 + 连接目标是那些公开的服务器像公司网站或者邮件服务器。 + 这可以阻止其它进入组织的连接,同时也允许用户访问互联网。 + 这种无状态的方法几乎不占用防火墙/路由器的资源,因而被硬件和软件过滤器 + 广泛支持。Linux Netfilter/iptables 防火墙软件提供方便的 + 选项来实现这种无状态的方法。 + 当这样的无状态防火墙规则存在时,发送到关闭目标端口的SYN ping探测 () + 很可能被封锁。这种情况下,ACK探测格外有闪光点,因为它正好利用了 + 这样的规则。 + + + 另外一种常用的防火墙用有状态的规则来封锁非预期的报文。 + 这一特性已开始只存在于高端防火墙,但是这些年类它越来越普遍了。 + Linux Netfilter/iptables 通过 + 选项支持这一特性,它根据连接状态把报文 + 进行分类。SYN探测更有可能用于这样的系统,由于没头没脑的ACK报文 + 通常会被识别成伪造的而丢弃。解决这个两难的方法是通过即指定 + 又指定来即发送SYN又发送ACK。 + + + + + + (UDP Ping) + + + 还有一个主机发现的选项是UDP ping,它发送一个空的(除非指定了 + UDP报文到给定的端口。端口列表的格式和前面讨论过的选项还是一样。 + 如果不指定端口,默认是31338。该默认值可以通过在编译时改变nmap.h文件中的 + DEFAULT_UDP_PROBE_PORT值进行配置。默认使用这样一个奇怪的端口是因为对开放端口 + 进行这种扫描一般都不受欢迎。 + + 如果目标机器的端口是关闭的,UDP探测应该马上得到一个ICMP端口无法到达的回应报文。 + 这对于Nmap意味着该机器正在运行。 + 许多其它类型的ICMP错误,像主机/网络无法到达或者TTL超时则表示down掉的或者不可到达的主机。 + 没有回应也被这样解释。如果到达一个开放的端口,大部分服务仅仅忽略这个 + 空报文而不做任何回应。这就是为什么默认探测端口是31338这样一个 + 极不可能被使用的端口。少数服务如chargen会响应一个空的UDP报文, + 从而向Nmap表明该机器正在运行。 + + 该扫描类型的主要优势是它可以穿越只过滤TCP的防火墙和过滤器。 + 例如。我曾经有过一个Linksys BEFW11S4无线宽带路由器。默认情况下, + 该设备对外的网卡过滤所有TCP端口,但UDP探测仍然会引发一个端口不可到达 + 的消息,从而暴露了它自己。 + + + + + + + + ; + ; + (ICMP Ping Types) + + + 除了前面讨论的这些不常见的TCP和UDP主机发现类型, + Nmap也能发送世人皆知的ping + 程序所发送的报文。Nmap发送一个ICMP + type 8 (回声请求)报文到目标IP地址, + 期待从运行的主机得到一个type 0 (回声响应)报文。 + 对于网络探索者而言,不幸的是,许多主机和 + 防火墙现在封锁这些报文,而不是按期望的那样响应, + 参见RFC + 1122。因此,仅仅ICMP扫描对于互联网上的目标通常是不够的。 + 但对于系统管理员监视一个内部网络,它们可能是实际有效的途径。 + 使用选项打开该回声请求功能。 + + 虽然回声请求是标准的ICMP ping查询, + Nmap并不止于此。ICMP标准 (RFC + 792)还规范了时间戳请求,信息请求 + request,和地址掩码请求,它们的代码分别是13,15和17。 + 虽然这些查询的表面目的是获取信息如地址掩码和当前时间, + 它们也可以很容易地用于主机发现。 + 很简单,回应的系统就是在运行的系统。Nmap目前没有实现信息请求报文, + 因为它们还没有被广泛支持。RFC 1122 坚持 + 主机不应该实现这些消息。 + 时间戳和地址掩码查询可以分别用选项发送。 + 时间戳响应(ICMP代码14)或者地址掩码响应(代码18)表示主机在运行。 + 当管理员特别封锁了回声请求报文而忘了其它ICMP查询可能用于 + 相同目的时,这两个查询可能很有价值。 + + + + + + + + (ARP Ping) + + + 最常见的Nmap使用场景之一是扫描一个以太局域网。 + 在大部分局域网上,特别是那些使用基于 + RFC1918私有地址范围的网络,在一个给定的时间绝大部分 + IP地址都是不使用的。 + 当Nmap试图发送一个原始IP报文如ICMP回声请求时, + 操作系统必须确定对应于目标IP的硬件 + 地址(ARP),这样它才能把以太帧送往正确的地址。 + 这一般比较慢而且会有些问题,因为操作系统设计者认为一般不会在短时间内 + 对没有运行的机器作几百万次的ARP请求。 + + + 当进行ARP扫描时,Nmap用它优化的算法管理ARP请求。 + 当它收到响应时, + Nmap甚至不需要担心基于IP的ping报文,既然它已经知道该主机正在运行了。 + 这使得ARP扫描比基于IP的扫描更快更可靠。 + 所以默认情况下,如果Nmap发现目标主机就在它所在的局域网上,它会进行ARP扫描。 + 即使指定了不同的ping类型(如 或者 + ) ,Nmap也会对任何相同局域网上的目标机使用ARP。 + 如果您真的不想要ARP扫描,指定 + 。 + + + + + + + + (不用域名解析) + + + 告诉Nmap + 永不对它发现的活动IP地址进行反向域名解析。 + 既然DNS一般比较慢,这可以让事情更快些。 + + + + + + (为所有目标解析域名) + + + 告诉Nmap + 永远 对目标IP地址作反向域名解析。 + 一般只有当发现机器正在运行时才进行这项操作。 + + + + + + (使用系统域名解析器) + + + 默认情况下,Nmap通过直接发送查询到您的主机上配置的域名服务器 + 来解析域名。为了提高性能,许多请求 (一般几十个 + ) 并发执行。如果您希望使用系统自带的解析器,就指定该选项 + (通过getnameinfo()调用一次解析一个IP)。除非Nmap的DNS代码有bug--如果是这样,请联系我们。 + 一般不使用该选项,因为它慢多了。系统解析器总是用于IPv6扫描。 + + + + + + + 端口扫描基础 + + 虽然Nmap这些年来功能越来越多, + 它也是从一个高效的端口扫描器开始的,并且那仍然是它的核心功能。 + nmap + target这个简单的命令扫描主机target上的超过 + 1660个TCP端口。 + 。许多传统的端口扫描器只列出所有端口是开放还是关闭的, + Nmap的信息粒度比它们要细得多。 它把端口分成六个状态: + open(开放的), + closed(关闭的),filtered(被过滤的), + unfiltered(未被过滤的), + open|filtered(开放或者被过滤的),或者 + closed|filtered(关闭或者未被过滤的) + +这些状态并非端口本身的性质,而是描述Nmap怎样看待它们。例如, +对于同样的目标机器的135/tcp端口,从同网络扫描显示它是开放的,而跨网络作完全相同的扫描则可能显示它是 +filtered(被过滤的)。 + + +Nmap所识别的6个端口状态。 + + open(开放的) + 应用程序正在该端口接收TCP + 连接或者UDP报文。发现这一点常常是端口扫描 + 的主要目标。安全意识强的人们知道每个开放的端口 + 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 + 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 + 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。 + + + closed(关闭的) + + 关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), + 但没有应用程序在其上监听。 + 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up + 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 + 系统管理员可能会考虑用防火墙封锁这样的端口。 + 那样他们就会被显示为被过滤的状态,下面讨论。 + + + filtered(被过滤的) + + 由于包过滤阻止探测报文到达端口, + Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 + 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 + 任何信息。有时候它们响应ICMP错误消息如类型3代码13 + (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, + 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 + 这使得扫描速度明显变慢。 + + + unfiltered(未被过滤的) + 未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 + 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 + 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 + 端口是否开放。 + + + open|filtered(开放或者被过滤的) + 当无法确定端口是开放还是被过滤的,Namp就把该端口划分成 + 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 + 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 + UDP,IP协议, + FIN,Null,和Xmas扫描可能把端口归入此类。 + + closed|filtered(关闭或者被过滤的) + 该状态用于Nmap不能确定端口是关闭的还是被过滤的。 + 它只可能出现在IPID + Idle扫描中。 + + + + + 端口扫描技术 + +作为一个修车新手,我可能折腾几个小时来摸索怎样把基本工具(锤子,胶带,扳子等) +用于手头的任务。当我惨痛地失败,把我的老爷车拖到一个真正的技师那儿的时候 +,他总是在他的工具箱里翻来翻去,直到拽出一个完美的工具然后似乎不费吹灰之力搞定它。 +端口扫描的艺术和这个类似。专家理解成打的扫描技术,选择最适合的一种 (或者组合)来完成给定的 +任务。 另一方面,没有经验的用户和刚入门者总是用默认的SYN扫描解决每个问题。 +既然Nmap是免费的,掌握端口扫描的唯一障碍就是知识。这当然是汽车世界所不能比的, +在那里,可能需要高超的技巧才能确定您需要一个压杆弹簧压缩机,接着您还得为它付数千美金。 + +大部分扫描类型只对特权用户可用。 +这是因为他们发送接收原始报文,这在Unix系统需要root权限。 +在Windows上推荐使用administrator账户,但是当WinPcap已经被加载到操作系统时, +非特权用户也可以正常使用Nmap。当Namp在1997年发布时,需要root权限是一个严重的 +局限,因为很多用户只有共享的shell账户。现在,世界变了,计算机便宜了,更多人拥有互联网连接 +,桌面UNIX系统 (包括Linux和MAC OS X)很普遍了。Windows版本的Nmap现在也有了,这使它可以运行在更多的桌面上。 +由于所有这些原因,用户不再需要用有限的共享shell账户运行Nmap。 +这是很幸运的,因为特权选项让Nmap强大得多也灵活得多。 + + +虽然Nmap努力产生正确的结果,但请记住所有结果都是基于目标机器(或者它们前面的防火墙)返回的报文的。 +。这些主机也许是不值得信任的,它们可能响应以迷惑或误导Nmap的报文。 +更普遍的是非RFC兼容的主机以不正确的方式响应Nmap探测。FIN,Null和Xmas扫描 +特别容易遇到这个问题。这些是特定扫描类型的问题,因此我们在个别扫描类型里讨论它们。 + + +这一节讨论Nmap支持的大约十几种扫描技术。 +一般一次只用一种方法, +除了UDP扫描()可能和任何一种TCP扫描类型结合使用。 +友情提示一下,端口扫描类型的选项格式是, +其中C 是个显眼的字符,通常是第一个字符。 +一个例外是deprecated +FTP bounce扫描()。默认情况下,Nmap执行一个 +SYN扫描,但是如果用户没有权限发送原始报文(在UNIX上需要root权限)或者如果指定的是IPv6目标,Nmap调用connect()。 +本节列出的扫描中,非特权用户只能执行connect()和ftp bounce扫描。 + + + + + + (TCP SYN扫描) + + +SYN扫描作为默认的也是最受欢迎的扫描选项,是有充分理由的。 +它执行得很快,在一个没有入侵防火墙的快速网络上,每秒钟可以扫描数千个 +端口。 +SYN扫描相对来说不张扬,不易被注意到,因为它从来不完成TCP连接。 +它也不像Fin/Null/Xmas,Maimon和Idle扫描依赖于特定平台,而可以应对任何兼容的 +TCP协议栈。 +它还可以明确可靠地区分open(开放的), +closed(关闭的),和filtered(被过滤的) +状态 + +它常常被称为半开放扫描, +因为它不打开一个完全的TCP连接。它发送一个SYN报文, +就像您真的要打开一个连接,然后等待响应。 +SYN/ACK表示端口在监听 (开放),而 +RST (复位)表示没有监听者。如果数次重发后仍没响应, +该端口就被标记为被过滤。如果收到ICMP不可到达错误 +(类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。 + + + + + + + (TCP connect()扫描) + + +当SYN扫描不能用时,CP Connect()扫描就是默认的TCP扫描。 +当用户没有权限发送原始报文或者扫描IPv6网络时,就是这种情况。 +Instead of writing raw +packets as most other scan types do,Nmap通过创建connect() + 系统调用要求操作系统和目标机以及端口建立连接,而不像其它扫描类型直接发送原始报文。 + 这是和Web浏览器,P2P客户端以及大多数其它网络应用程序用以建立连接一样的 + 高层系统调用。它是叫做Berkeley Sockets +API编程接口的一部分。Nmap用 +该API获得每个连接尝试的状态信息,而不是读取响应的原始报文。 + + +当SYN扫描可用时,它通常是更好的选择。因为Nmap对高层的 +connect()调用比对原始报文控制更少, +所以前者效率较低。 该系统调用完全连接到开放的目标端口而不是像SYN扫描进行 +半开放的复位。这不仅花更长时间,需要更多报文得到同样信息,目标机也更可能 +记录下连接。IDS(入侵检测系统)可以捕获两者,但大部分机器没有这样的警报系统。 当Nmap连接,然后不发送数据又关闭连接, +许多普通UNIX系统上的服务会在syslog留下记录,有时候是一条加密的错误消息。 +此时,有些真正可怜的服务会崩溃,虽然这不常发生。如果管理员在日志里看到来自同一系统的 +一堆连接尝试,她应该知道她的系统被扫描了。 + + + + + (UDP扫描) + + +虽然互联网上很多流行的服务运行在TCP +协议上,UDP服务也不少。 +DNS,SNMP,和DHCP +(注册的端口是53,161/162,和67/68)是最常见的三个。 +因为UDP扫描一般较慢,比TCP更困难,一些安全审核人员忽略这些端口。 +这是一个错误,因为可探测的UDP服务相当普遍,攻击者当然不会忽略整个协议。 +所幸,Nmap可以帮助记录并报告UDP端口。 + + +UDP扫描用选项激活。它可以和TCP扫描如 +SYN扫描 +()结合使用来同时检查两种协议。 + +UDP扫描发送空的(没有数据)UDP报头到每个目标端口。 +如果返回ICMP端口不可到达错误(类型3,代码3), +该端口是closed(关闭的)。 其它ICMP不可到达错误(类型3, +代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。 +偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。 +如果几次重试后还没有响应,该端口就被认为是 +open|filtered(开放|被过滤的)。 +这意味着该端口可能是开放的,也可能包过滤器正在封锁通信。 +可以用版本扫描()帮助区分真正的开放端口和被过滤的端口。 + +UDP扫描的巨大挑战是怎样使它更快速。 +开放的和被过滤的端口很少响应,让Nmap超时然后再探测,以防探测帧或者 +响应丢失。关闭的端口常常是更大的问题。 +它们一般发回一个ICMP端口无法到达错误。但是不像关闭的TCP端口响应SYN或者Connect +扫描所发送的RST报文,许多主机在默认情况下限制ICMP端口不可到达消息。 +Linux和Solaris对此特别严格。例如, +Linux 2.4.20内核限制一秒钟只发送一条目标不可到达消息 +(见net/ipv4/icmp。c)。 + +Nmap探测速率限制并相应地减慢来避免用那些目标机会丢弃的无用报文来阻塞 +网络。不幸的是,Linux式的一秒钟一个报文的限制使65,536个端口的扫描要花 +18小时以上。加速UDP扫描的方法包括并发扫描更多的主机,先只对主要端口进行快速 +扫描,从防火墙后面扫描,使用跳过慢速的 +主机。 + + + + + + + ; ; (TCP Null,FIN,and Xmas扫描) + + +这三种扫描类型 (甚至用下一节描述的 + 选项的更多类型) +在TCP RFC +中发掘了一个微妙的方法来区分open(开放的)和 +closed(关闭的)端口。第65页说如果 +[目标]端口状态是关闭的.... 进入的不含RST的报文导致一个RST响应。 接下来的一页 +讨论不设置SYN,RST,或者ACK位的报文发送到开放端口: +理论上,这不应该发生,如果您确实收到了,丢弃该报文,返回。 + + +如果扫描系统遵循该RFC,当端口关闭时,任何不包含SYN,RST,或者ACK位的报文会导致 +一个RST返回,而当端口开放时,应该没有任何响应。只要不包含SYN,RST,或者ACK, +任何其它三种(FIN,PSH,and URG)的组合都行。Nmap有三种扫描类型利用这一点: + + + Null扫描 () + 不设置任何标志位(tcp标志头是0) + + FIN扫描 () + 只设置TCP FIN标志位。 + + Xmas扫描 () + 设置FIN,PSH,和URG标志位,就像点亮圣诞树上所有的灯一样。 + + + +除了探测报文的标志位不同,这三种扫描在行为上完全一致。 +如果收到一个RST报文,该端口被认为是 +closed(关闭的),而没有响应则意味着 +端口是open|filtered(开放或者被过滤的)。 +如果收到ICMP不可到达错误(类型 3,代号 +1,2,3,9,10,或者13),该端口就被标记为 +被过滤的 + +这些扫描的关键优势是它们能躲过一些无状态防火墙和报文过滤路由器。 +另一个优势是这些扫描类型甚至比SYN扫描还要隐秘一些。但是别依赖它 -- 多数 +现代的IDS产品可以发现它们。一个很大的不足是并非所有系统都严格遵循RFC 793。 +许多系统不管端口开放还是关闭,都响应RST。 +这导致所有端口都标记为closed(关闭的)。 +这样的操作系统主要有Microsoft Windows,许多Cisco设备,BSDI,以及IBM OS/400。 +但是这种扫描对多数UNIX系统都能工作。这些扫描的另一个不足是 +它们不能辨别open(开放的)端口和一些特定的 +filtered(被过滤的)端口,从而返回 +open|filtered(开放或者被过滤的) + + + + + + + (TCP ACK扫描) + + +这种扫描与目前为止讨论的其它扫描的不同之处在于 +它不能确定open(开放的)或者 +open|filtered(开放或者过滤的))端口。 +它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。 + + +ACK扫描探测报文只设置ACK标志位(除非您使用 +)。当扫描未被过滤的系统时, +open(开放的)和closed(关闭的) 端口 +都会返回RST报文。Nmap把它们标记为 +unfiltered(未被过滤的),意思是 +ACK报文不能到达,但至于它们是open(开放的)或者 +closed(关闭的) 无法确定。不响应的端口 +或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, +或者13)的端口,标记为 filtered(被过滤的)。 + + + + + + + (TCP窗口扫描) + + +除了利用特定系统的实现细节来区分开放端口和关闭端口,当收到RST时不总是打印unfiltered, +窗口扫描和ACK扫描完全一样。 +它通过检查返回的RST报文的TCP窗口域做到这一点。 +在某些系统上,开放端口用正数表示窗口大小(甚至对于RST报文) +而关闭端口的窗口大小为0。因此,当收到RST时,窗口扫描不总是把端口标记为 +unfiltered, +而是根据TCP窗口值是正数还是0,分别把端口标记为open或者 +closed + +该扫描依赖于互联网上少数系统的实现细节, +因此您不能永远相信它。不支持它的系统会通常返回所有端口closed。 +当然,一台机器没有开放端口也是有可能的。 +如果大部分被扫描的端口是 +closed,而一些常见的端口 (如 22, +25,53) 是 filtered,该系统就非常可疑了。 +偶尔地,系统甚至会显示恰恰相反的行为。 +如果您的扫描显示1000个开放的端口和3个关闭的或者被过滤的端口, +那么那3个很可能也是开放的端口。 + + + + + + + (TCP Maimon扫描) + + +Maimon扫描是用它的发现者Uriel Maimon命名的。他在 +Phrack Magazine issue #49 (November 1996)中描述了这一技术。 +Nmap在两期后加入了这一技术。 +这项技术和Null,FIN,以及Xmas扫描完全一样,除了探测报文是FIN/ACK。 +根据RFC 793 (TCP),无论端口开放或者关闭,都应该对这样的探测响应RST报文。 +然而,Uriel注意到如果端口开放,许多基于BSD的系统只是丢弃该探测报文。 + + + + + + + + (定制的TCP扫描) + + +真正的Nmap高级用户不需要被这些现成的扫描类型束缚。 +选项允许您通过指定任意TCP标志位来设计您自己的扫描。 +让您的创造力流动,躲开那些仅靠本手册添加规则的入侵检测系统! + +选项可以是一个数字标记值如9 (PSH和FIN), +但使用字符名更容易些。 +只要是URG, +ACKPSH, +RSTSYN,and +FIN的任何组合就行。例如,设置了所有标志位,但是这对扫描没有太大用处。 +标志位的顺序不重要。 + +除了设置需要的标志位,您也可以设置 +TCP扫描类型(如或者)。 +那个基本类型告诉Nmap怎样解释响应。例如, +SYN扫描认为没有响应意味着 +filtered端口,而FIN扫描则认为是 +open|filtered。 +除了使用您指定的TCP标记位,Nmap会和基本扫描类型一样工作。 +如果您不指定基本类型,就使用SYN扫描。 + + + + + + + (Idlescan) + + + + 这种高级的扫描方法允许对目标进行真正的TCP端口盲扫描 + (意味着没有报文从您的真实IP地址发送到目标)。相反,side-channel攻击 + 利用zombie主机上已知的IP分段ID序列生成算法来窥探目标上开放端口的信息。 + IDS系统将显示扫描来自您指定的zombie机(必须运行并且符合一定的标准)。 + 这种奇妙的扫描类型太复杂了,不能在此完全描述,所以我写一篇非正式的论文, + 发布在 + + 除了极端隐蔽(由于它不从真实IP地址发送任何报文), + 该扫描类型可以建立机器间的基于IP的信任关系。 + 端口列表从zombie + 主机的角度。显示开放的端口。 + 因此您可以尝试用您认为(通过路由器/包过滤规则)可能被信任的 + zombies扫描目标。 + + 如果您由于IPID改变希望探测zombie上的特定端口, + 您可以在zombie 主机后加上一个冒号和端口号。 + 否则Nmap会使用默认端口(80)。 + + + + + + + (IP协议扫描) + + +IP 协议扫描可以让您确定目标机支持哪些IP协议 +(TCP,ICMP,IGMP,等等)。从技术上说,这不是端口扫描 +,既然它遍历的是IP协议号而不是TCP或者UDP端口号。 +但是它仍使用 +选项选择要扫描的协议号, +用正常的端口表格式报告结果,甚至用和真正的端口扫描一样 +的扫描引擎。因此它和端口扫描非常接近,也被放在这里讨论。 + + +除了本身很有用,协议扫描还显示了开源软件的力量。 +尽管基本想法非常简单,我过去从没想过增加这一功能也没收到任何对它的请求。 +在2000年夏天,Gerhard Rieger孕育了这个想法,写了一个很棒的补丁程序,发送到nmap-hackers邮件列表。 +我把那个补丁加入了Nmap,第二天发布了新版本。 +几乎没有商业软件会有用户有足够的热情设计并贡献他们的改进。 + + +协议扫描以和UDP扫描类似的方式工作。它不是在UDP报文的端口域上循环, +而是在IP协议域的8位上循环,发送IP报文头。 +报文头通常是空的,不包含数据,甚至不包含所申明的协议的正确报文头 +TCP,UDP,和ICMP是三个例外。它们三个会使用正常的协议头,因为否则某些系 +统拒绝发送,而且Nmap有函数创建它们。协议扫描不是注意ICMP端口不可到达消息, +而是ICMP +协议不可到达消息。如果Nmap从目标主机收到 +任何协议的任何响应,Nmap就把那个协议标记为open。 +ICMP协议不可到达 +错误(类型 3,代号 2) 导致协议被标记为 +closed。其它ICMP不可到达协议(类型 3,代号 +1,3,9,10,或者13) 导致协议被标记为 +filtered (虽然同时他们证明ICMP是 +open )。如果重试之后仍没有收到响应, +该协议就被标记为open|filtered + + + + + + + + + (FTP弹跳扫描) + + +FTP协议的一个有趣特征(RFC 959) +是支持所谓代理ftp连接。它允许用户连接到一台FTP服务器,然后要求文件送到一台第三方服务器。 +这个特性在很多层次上被滥用,所以许多服务器已经停止支持它了。其中一种就是导致FTP服务器对其它主机端口扫描。 +只要请求FTP服务器轮流发送一个文件到目标主机上的所感兴趣的端口。 +错误消息会描述端口是开放还是关闭的。 +这是绕过防火墙的好方法,因为FTP服务器常常被置于可以访问比Web主机更多其它内部主机的位置。 +Nmap用选项支持ftp弹跳扫描。参数格式是 +username:password@server:port。 +Server 是某个脆弱的FTP服务器的名字或者IP地址。 +您也许可以省略username:password, +如果服务器上开放了匿名用户(user:anonymous password:-wwwuser@)。 +端口号(以及前面的冒号) 也可以省略,如果server使用默认的FTP端口(21)。 + +当Nmap1997年发布时,这个弱点被广泛利用,但现在大部分已经被fix了。 +脆弱的服务器仍然存在,所以如果其它都失败了,这也值得一试。 +如果您的目标是绕过防火墙,扫描目标网络上的开放的21端口(或者 +甚至任何ftp服务,如果您用版本探测扫描所有端口), +然后对每个尝试弹跳扫描。Nmap会告诉您该主机脆弱与否。 +如果您只是试着玩Nmap,您不必(事实上,不应该)限制您自己。 +在您随机地在互联网上寻找脆弱的FTP服务器时,考虑一下系统管理员不太喜欢您这样滥用他们的服务器。 + + + + + + + + 端口说明和扫描顺序 + + 除了所有前面讨论的扫描方法, + Nmap提供选项说明那些端口被扫描以及扫描是随机还是顺序进行。 + 默认情况下,Nmap用指定的协议对端口1到1024以及nmap-services + 文件中列出的更高的端口在扫描。 + + + + + (只扫描指定的端口) + + + + 该选项指明您想扫描的端口,覆盖默认值。 + 单个端口和用连字符表示的端口范围(如 1-1023)都可以。 + 范围的开始以及/或者结束值可以被省略, + 分别导致Nmap使用1和65535。所以您可以指定 + 从端口1扫描到65535。 + 如果您特别指定,也可以扫描端口0。 + 对于IP协议扫描(),该选项指定您希望扫描的协议号 + (0-255)。 + + 当既扫描TCP端口又扫描UDP端口时,您可以通过在端口号前加上T: + 或者U:指定协议。 + 协议限定符一直有效您直到指定另一个。 + 例如,参数 将扫描UDP + 端口53,111,和137,同时扫描列出的TCP端口。注意,要既扫描 + UDP又扫描TCP,您必须指定 + ,以及至少一个TCP扫描类型(如 + ,或者 + )。如果没有给定协议限定符, + 端口号会被加到所有协议列表。 + + + + + + + (快速 (有限的端口) 扫描) + + + + 在nmap的nmap-services + 文件中(对于,是协议文件)指定您想要扫描的端口。 + 这比扫描所有65535个端口快得多。 + 因为该列表包含如此多的TCP端口(1200多),这和默认的TCP扫描 scan + (大约1600个端口)速度差别不是很大。如果您用选项指定您自己的 + 小小的nmap-services文件 + ,差别会很惊人。 + + + + + + (不要按随机顺序扫描端口) + + + 默认情况下,Nmap按随机顺序扫描端口 + (除了出于效率的考虑,常用的端口前移)。这种随机化通常都是受欢迎的, + 但您也可以指定来顺序端口扫描。 + + + + + + + + 服务和版本探测 + + 把Nmap指向一个远程机器,它可能告诉您 + 端口25/tcp,80/tcp,和53/udp是开放的。使用包含大约2,200个著名的服务的 + nmap-services数据库, + Nmap可以报告那些端口可能分别对应于一个邮件服务器 + (SMTP),web服务器(HTTP),和域名服务器(DNS)。 + 这种查询通常是正确的 -- 事实上,绝大多数在TCP端口25监听的守护进程是邮件 + 服务器。然而,您不应该把赌注押在这上面! + 人们完全可以在一些奇怪的端口上运行服务。 + + 即使Nmap是对的,假设运行服务的确实是 + SMTP,HTTP和DNS,那也不是特别多的信息。 + 当为您的公司或者客户作安全评估(或者甚至简单的网络明细清单)时, + 您确实想知道正在运行什么邮件和域名服务器以及它们的版本。 + 有一个精确的版本号对了解服务器有什么漏洞有巨大帮助。 + 版本探测可以帮您获得该信息。 + + + 在用某种其它类型的扫描方法发现TCP 和/或者UDP端口后, + 版本探测会询问这些端口,确定到底什么服务正在运行。 + nmap-service-probes 数据库包含查询不同服务的探测报文 + 和解析识别响应的匹配表达式。 + Nmap试图确定服务协议 + (如 ftp,ssh,telnet,http),应用程序名(如ISC + Bind,Apache httpd,Solaris telnetd),版本号, + 主机名,设备类型(如 打印机,路由器),操作系统家族 + (如Windows,Linux)以及其它的细节,如 + 如是否可以连接X server,SSH协议版本 + ,或者KaZaA用户名)。当然,并非所有服务都提供所有这些信息。 + 如果Nmap被编译成支持OpenSSL, + 它将连接到SSL服务器,推测什么服务在加密层后面监听。 + 当发现RPC服务时, + Nmap RPC grinder ()会自动被用于确定RPC程序和它的版本号。 + 如果在扫描某个UDP端口后仍然无法确定该端口是开放的还是被过滤的,那么该端口状态就 + 被标记为open|filtered。 + 版本探测将试图从这些端口引发一个响应(就像它对开放端口做的一样), + 如果成功,就把状态改为开放。 + open|filtered TCP端口用同样的方法对待。 + 注意Nmap 选项在其它情况下打开版本探测。 + 有一篇关于版本探测的原理,使用和定制的文章在 + + + 当Nmap从某个服务收到响应,但不能在数据库中找到匹配时, + 它就打印一个特殊的fingerprint和一个URL给您提交,如果您确实知道什么服务运行在端口。 + 请花两分钟提交您的发现,让每个人受益。由于这些提交, + Nmap有350种以上协议如smtp,ftp,http等的大约3,000条模式匹配。 + + 用下列的选项打开和控制版本探测。 + + + + + + + (版本探测) + + + 打开版本探测。 + 您也可以用同时打开操作系统探测和版本探测。 + + + + + + + (不为版本探测排除任何端口) + + + 默认情况下,Nmap版本探测会跳过9100 TCP端口,因为一些打印机简单地打印送到该端口的 + 任何数据,这回导致数十页HTTP get请求,二进制 + SSL会话请求等等被打印出来。这一行为可以通过修改或删除nmap-service-probes + 中的Exclude指示符改变, + 您也可以不理会任何Exclude指示符,指定扫描所有端口 + + + + + + + (设置 + 版本扫描强度) + + + + 当进行版本扫描()时,nmap发送一系列探测报文 + ,每个报文都被赋予一个1到9之间的值。 + 被赋予较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文 + 一般没什么用。强度水平说明了应该使用哪些探测报文。数值越高, + 服务越有可能被正确识别。 + 然而,高强度扫描花更多时间。强度值必须在0和9之间。 + 默认是7。当探测报文通过nmap-service-probes ports指示符 + 注册到目标端口时,无论什么强度水平,探测报文都会被尝试。这保证了DNS + 探测将永远在任何开放的53端口尝试, + SSL探测将在443端口尝试,等等。 + + + + + + + (打开轻量级模式) + + + 这是 + 的方便的别名。轻量级模式使 + 版本扫描快许多,但它识别服务的可能性也略微小一点。 + + + + + + (尝试每个探测) + + + 的别名, + 保证对每个端口尝试每个探测报文。 + + + + + + (跟踪版本扫描活动) + + + 这导致Nmap打印出详细的关于正在进行的扫描的调试信息。 + 它是您用所得到的信息的子集。 + + + + + + (RPC扫描) + + 这种方法和许多端口扫描方法联合使用。 + 它对所有被发现开放的TCP/UDP端口执行SunRPC程序NULL命令,来试图 + 确定它们是否RPC端口,如果是, + 是什么程序和版本号。因此您可以有效地获得和rpcinfo -p一样的信息, + 即使目标的端口映射在防火墙后面(或者被TCP包装器保护)。Decoys目前不能和RPC scan一起工作。 + 这作为版本扫描()的一部分自动打开。 + 由于版本探测包括它并且全面得多,很少被需要。 + + + + + + + + + 操作系统探测 + + Nmap最著名的功能之一是用TCP/IP协议栈fingerprinting进行远程操作系统探测。 + Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。 + 在进行一打测试如TCP + ISN采样,TCP选项支持和排序,IPID采样,和初始窗口大小检查之后, + Nmap把结果和数据库nmap-os-fingerprints中超过 + 1500个已知的操作系统的fingerprints进行比较,如果有匹配,就打印出操作系统的详细信息。 + 每个fingerprint包括一个自由格式的关于OS的描述文本, + 和一个分类信息,它提供供应商名称(如Sun),下面的操作系统(如Solaris),OS版本(如10), + 和设备类型(通用设备,路由器,switch,游戏控制台, + 等)。 + + 如果Nmap不能猜出操作系统,并且有些好的已知条件(如 + 至少发现了一个开放端口和一个关闭端口),Nmap会提供一个 + URL,如果您确知运行的操作系统,您可以把fingerprint提交到那个URL。 + 这样您就扩大了Nmap的操作系统知识库,从而让每个Nmap用户都受益。 + + + 操作系统检测可以进行其它一些测试,这些测试可以利用处理 + 过程中收集到的信息。例如运行时间检测,使用TCP时间戳选项(RFC 1323) + 来估计主机上次重启的时间,这仅适用于提供这类信息的主机。另一种 + 是TCP序列号预测分类,用于测试针对远程主机建立一个伪造的TCP连接 + 的可能难度。这对于利用基于源IP地址的可信关系(rlogin,防火墙过滤等) + 或者隐含源地址的攻击非常重要。这一类哄骗攻击现在很少见,但一些 + 主机仍然存在这方面的漏洞。实际的难度值基于统计采样,因此可能会有 + 一些波动。通常采用英国的分类较好,如worthy challenge或者 + trivial joke。在详细模式()下只以 + 普通的方式输出,如果同时使用,还报告IPID序列产生号。 + 很多主机的序列号是增加类别,即在每个发送包的IP头中 + 增加ID域值, 这对一些先进的信息收集和哄骗攻击来说是个漏洞。 + + + 文档使用多种语言描述了版本检测的方式、使用和定制。 + + 采用下列选项启用和控制操作系统检测: + + + + + (启用操作系统检测) + + + 也可以使用来同时启用操作系统检测和版本检测。 + + + + + + (针对指定的目标进行操作系统检测) + + + 如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 + 采用这个选项,Nmap只对满足这个条件的主机进行操作系统检测,这样可以 + 节约时间,特别在使用扫描多个主机时。这个选项仅在使用 + + 进行操作系统检测时起作用。 + + + + + + ; (推测操作系统检测结果) + + + 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认 + 进行这种匹配,使用上述任一个选项使得Nmap的推测更加有效。 + + + + + + + + + 时间和性能 + Nmap开发的最高优先级是性能。在本地网络对一个主机的默认扫描(nmap +hostname)需要1/5秒。而仅仅眨眼的 +时间,就需要扫描上万甚至几十万的主机。此外,一些特定的扫描选项会明显增 +加扫描时间,如UDP扫描和版本检测。同样,防火墙配置以及特殊的响应速度限制也会 +增加时间。Nmap使用了并行算法和许多先进的算法来加速扫描,用户对Nmap如何 +工作有最终的控制权。高级用户可以仔细地调整Nmap命令,在满足时间要求的同时获得他们所关心的信息。 + + 改善扫描时间的技术有:忽略非关键的检测、升级最新版本的Nmap(性能增强不断改善)。 + 优化时间参数也会带来实质性的变化,这些参数如下。 + + + + + + ; + (调整并行扫描组的大小) + +Nmap具有并行扫描多主机端口或版本的能力,Nmap将多个目标IP地址 +空间分成组,然后在同一时间对一个组进行扫描。通常,大的组更有效。缺 +点是只有当整个组扫描结束后才会提供主机的扫描结果。如果组的大小定义 +为50,则只有当前50个主机扫描结束后才能得到报告(详细模式中的补充信息 +除外)。 + +默认方式下,Nmap采取折衷的方法。开始扫描时的组较小, +最小为5,这样便于尽快产生结果;随后增长组的大小,最大为1024。确切的 +大小依赖于所给定的选项。为保证效率,针对UDP或少量端口的TCP扫描,Nmap +使用大的组。 + +选项用于说明使用最大的组,Nmap不 +会超出这个大小。选项说明最小的组,Nmap +会保持组大于这个值。如果在指定的接口上没有足够的目标主机来满足所 +指定的最小值,Nmap可能会采用比所指定的值小的组。这两个参数虽然很少使用, +但都用于保持组的大小在一个指定的范围之内。 + +这些选项的主要用途是说明一个最小组的大小,使得整个扫描更加快速。通常 +选择256来扫描C类网段。对于端口数较多的扫描,超出该值没有意义。对于 +端口数较少的扫描,2048或更大的组大小是有帮助的。 + + + + + + + ; + (调整探测报文的并行度) + + +这些选项控制用于主机组的探测报文数量,可用于端口扫描和主机发现。默认状态下, +Nmap基于网络性能计算一个理想的并行度,这个值经常改变。如果报文被丢弃, +Nmap降低速度,探测报文数量减少。随着网络性能的改善,理想的探测报文数量会缓慢增加。 +这些选项确定这个变量的大小范围。默认状态下,当网络不可靠时,理想的并行度值 +可能为1,在好的条件下,可能会增长至几百。 + +最常见的应用是值大于1,以加快 +性能不佳的主机或网络的扫描。这个选项具有风险,如果过高则影响准确度,同时 +也会降低Nmap基于网络条件动态控制并行度的能力。这个值设为10较为合适, +这个值的调整往往作为最后的手段。 + +选项通常设为1,以防止Nmap在同一时间 +向主机发送多个探测报文,和选择同时使用非常有用,虽然 +这个选项本身的用途已经很好。 + + + + + + + , + , + (调整探测报文超时) + + +Nmap使用一个运行超时值来确定等待探测报文响应的时间,随后会放弃或重新 +发送探测报文。Nmap基于上一个探测报文的响应时间来计算超时值,如果网络延迟比较显著 +和不定,这个超时值会增加几秒。初始值的比较保守(高),而当Nmap扫描无响应 +的主机时,这个保守值会保持一段时间。 + +这些选项以毫秒为单位,采用小的值,使 +值大于默认值可以明显减少扫描时间,特别 +是对不能ping通的扫描()以及具有严格过滤的网络。如果使用太 +小的值,使得很多探测报文超时从而重新发送,而此时可能响应消息正在发送,这使得整个扫描的时 +间会增加。 + +如果所有的主机都在本地网络,对于值来 +说,100毫秒比较合适。如果存在路由,首先使用ICMP ping工具ping主机,或使用其 +它报文工具如hpings,可以更好地穿透防火墙。查看大约10个包的最大往返时间,然后将 +设成这个时间的2倍, +可设成这个时间值的3倍或4倍。通常,不管ping的时间是多少,最大的rtt值不得小于100ms, +不能超过1000ms。 + +这个选项很少使用,当网络不可靠时, +Nmap的默认值也显得过于强烈,这时这个选项可起作用。当网络看起来不可靠时,Nmap仅将 +超时时间降至最小值,这个情况是不正常的,需要向namp-dev邮件列表报告bug。 + + + + + + + + (放弃低速目标主机) + + + +由于性能较差或不可靠的网络硬件或软件、带宽限制、严格的防火墙等原因, +一些主机需要很长的时间扫描。这些极少数的主机扫描往往占 +据了大部分的扫描时间。因此,最好的办法是减少时间消耗并且忽略这些主机,使用 +选项来说明等待的时间(毫秒)。通常使用1800000 +来保证Nmap不会在单个主机上使用超过半小时的时间。需要注意的是,Nmap在这半小时中可以 +同时扫描其它主机,因此并不是完全放弃扫描。超时的主机被忽略,因此也没有针对该主机的 +端口表、操作系统检测或版本检测结果的输出。 + + + + + + + ; + (调整探测报文的时间间隔) + + +这个选项用于Nmap控制针对一个主机发送探测报文的等待时间(毫秒),在带宽 +控制的情况下这个选项非常有效。Solaris主机在响应UDP扫描探测报文报文时,每秒 +只发送一个ICMP消息,因此Nmap发送的很多数探测报文是浪费的。 +设为1000,使Nmap低速运行。Nmap尝试检测带宽控制并相应地调整扫描的延迟,但 +并不影响明确说明何种速度工作最佳。 + +的另一个用途是躲闭基于阈值的入侵检测和预防 +系统(IDS/IPS)。 + + + + + + + + (设置时间模板) + + + +上述优化时间控制选项的功能很强大也很有效,但有些用户会被迷惑。此外, +往往选择合适参数的时间超过了所需优化的扫描时间。因此,Nmap提供了一些简单的 +方法,使用6个时间模板,使用时采用选项及数字(0 - 5) +或名称。模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 +aggressive (4)和insane (5)。前两种模式用于IDS躲避,Polite模式降低了扫描 +速度以使用更少的带宽和目标主机资源。默认模式为Normal,因此 +实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速 +扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。 + +用户可以根据自己的需要选择不同的模板,由Nmap负责选择实际的时间值。 +模板也会针对其它的优化控制选项进行速度微调。例如, +针对TCP端口禁止动态扫描延迟超过10ms,对应的值为5ms。 +模板可以和优化调整控制选项组合使用,但模板必须首先指定,否则模板的标准值 +会覆盖用户指定的值。建议在扫描可靠的网络时使用 ,即使 +在自己要增加优化控制选项时也使用(在命令行的开始),从而从这些额外的较小的优化 +中获益。 + +如果用于有足够的带宽或以太网连接,仍然建议使用选项。 +有些用户喜欢选项,但这个过于强烈。有时用户考虑到避免使主机 +崩溃或者希望更礼貌一些会采用选项。他们并没意识到选项是如何的慢,这种模式的扫描比默认方式实际上要多花10倍的时间。默认时间 +选项()很少有主机崩溃和带宽问题,比较适合于谨慎的用户。不进行 +版本检测比进行时间调整能更有效地解决这些问题。 + +虽然选项可能有助于避免IDS告警,但 +在进行上千个主机或端口扫描时,会显著增加时间。对于这种长时间的扫描,宁可设定确切的时间 +值,而不要去依赖封装的选项。 + +选项的主要影响是对于连续扫描,在一个时间只能扫描一个端口, +每个探测报文的发送间隔为5分钟。选项比较类似, +探测报文间隔分别为15秒和0.4秒。是Nmap的默认选项,包含了并行扫描。 +选项与 +等价,最大TCP扫描延迟为10ms。等价于 +,最大TCP扫描延迟为5ms。 + + + + + + + + 防火墙/IDS躲避和哄骗 + +很多Internet先驱们设想了一个全球开放的网络,使用全局的IP +地址空间,使得任何两个节点之间都有虚拟连接。这使得主机间可以作为真 +正的对等体,相互间提供服务和获取信息。人们可以在工作时访问家里所 +有的系统、调节空调温度、为提前到来的客人开门。随后,这些全球连接的设想 +受到了地址空间短缺和安全考虑的限制。在90年代早期,各种机构开始部 +署防火墙来实现减少连接的目的,大型网络通过代理、NAT和包过滤器与未 +过滤的Internet隔离。不受限的信息流被严格控制的可信通信通道信息流所替代。 + +类似防火墙的网络隔离使得对网络的搜索更加困难,随意的搜 +索变得不再简单。然而,Nmap提供了很多特性用于理解这些复杂的网 +络,并且检验这些过滤器是否正常工作。此外,Nmap提供了绕过某些较弱的 +防范机制的手段。检验网络安全状态最有效的方法之一是尝试哄骗网络,将 +自己想象成一个攻击者,使用本节提供的技术来攻击自己的网络。如使用FTP +bounce扫描、Idle扫描、分片攻击或尝试穿透自己的代理。 + +除限止网络的行为外,使用入侵检测系统(IDS)的公司也不断增加。由于Nmap +常用于攻击前期的扫描,因此所有主流的IDS都包含了检测Nmap扫描的规则。 +现在,这些产品变形为入侵预防系统(IPS),可以主 +动地阻止可疑的恶意行为。不幸的是,网络管理员和IDS厂商通过分析报文 +来检测恶意行为是一个艰苦的工作,有耐心和技术的攻击者,在特定Nmap选项 +的帮助下,常常可以不被IDS检测到。同时,管理员必须应付大量的误报结果, +正常的行为被误判而被改变或阻止。 + +有时,人们建议Nmap不应该提供躲闭防火墙规则或哄骗IDS的功能, +这些功能可能会被攻击者滥用,然而管理员却可以利用这些功能来增强安全性。 +实际上,攻击的方法仍可被攻击者利用,他们可以发现其它工具或Nmap的补丁程 +序。同时,管理员发现攻击者的工作更加困难,相比较采取措施来预防执 +行FTP Bounce攻击的工具而言,部署先进的、打过补丁的FTP服务器更 +加有效。 + +Nmap不提供检测和破坏防火墙及IDS系统的魔弹(或Nmap选项),它使用 +的是技术和经验,这超出了本参考手册的范围,下面描述了相关的选项和 +完成的工作。 + + + + + (报文分段); + (使用指定的MTU) + + + + 选项要求扫描时(包挺ping扫描)使用 + 小的IP包分段。其思路是将TCP头分段在几个包中,使得包过滤器、 + IDS以及其它工具的检测更加困难。必须小心使用这个选项,有些系 + 统在处理这些小包时存在问题,例如旧的网络嗅探器Sniffit在接收 + 到第一个分段时会立刻出现分段错误。该选项使用一次,Nmap在IP + 头后将包分成8个字节或更小。因此,一个20字节的TCP头会被分成3个 + 包,其中2个包分别有TCP头的8个字节,另1个包有TCP头的剩下4个字 + 节。当然,每个包都有一个IP头。再次使用可使用 + 16字节的分段(减少分段数量)。使用选项可 + 以自定义偏移的大小,使用时不需要,偏移量必须 + 是8的倍数。包过滤器和防火墙对所有的IP分段排队,如Linux核心中的 + CONFIG_IP_ALWAYS_DEFRAG配置项,分段包不会直接使用。一些网络无法 + 承受这样所带来的性能冲击,会将这个配置禁止。其它禁止的原因有分段 + 包会通过不同的路由进入网络。一些源系统在内核中对发送的报文进行 + 分段,使用iptables连接跟踪模块的Linux就是一个例子。当使用类似Ethereal + 的嗅探器时,扫描必须保证发送的报文要分段。如果主机操作系统会产 + 生问题,尝试使用选项以避开IP层而直接 + 发送原始的以太网帧。 + + + + + + + (使用诱饵隐蔽扫描) + + + 为使诱饵扫描起作用,需要使远程主机认为是诱饵在扫描目标网络。 + IDS可能会报个某个IP的5-10个端口扫描,但并不知道哪个IP在扫描以及 + 哪些不是诱饵。但这种方式可以通过路由跟踪、响应丢弃以及其它主动 + 机制在解决。这是一种常用的隐藏自身IP地址的有效技术。 + + 使用逗号分隔每个诱饵主机,也可用自己的真实IP作为诱饵,这时可使用 + ME选项说明。如果在第6个位置或 + 更后的位置使用ME选项,一些常用 + 端口扫描检测器(如Solar Designer's excellent scanlogd)就不会报告 + 这个真实IP。如果不使用ME选项,Nmap + 将真实IP放在一个随机的位置 + + 注意,作为诱饵的主机须在工作状态,否则会导致目标主机的SYN洪水攻击。 + 如果在网络中只有一个主机在工作,那就很容易确定哪个主机在扫描。也可 + 使用IP地址代替主机名(被诱骗的网络就不可能在名字服务器日志中发现)。 + + 诱饵可用在初始的ping扫描(ICMP、SYN、ACK等)阶段或真正的端口扫描 + 阶段。诱饵也可以用于远程操作系统检测()。在进行版 + 本检测或TCP连接扫描时,诱饵无效。 + + 使用过多的诱饵没有任何价值,反而导致扫描变慢并且结果不准确。 + 此外,一些ISP会过滤哄骗的报文,但很多对欺骗IP包没有任何限制。 + + + + + + (源地址哄骗) + + + 在某些情况下,Nmap可能无法确定你的源地址(如果这样,Nmap会给出 + 提示)。此时,使用选项并说明所需发送包的接口IP地址。 + + 这个标志的另一个用处是哄骗性的扫描,使得目标认为是另 + 一个地址在进行扫描。可以想象某一个竞争对手在不断扫描某个公司! + 选项常在这种情况下使用,也可采用选项。 + + + + + + + (使用指定的接口) + + + 告诉Nmap使用哪个接口发送和接收报文,Nmap可以进行自动检测, + 如果检测不出会给出提示。 + + + + + + + (源端口哄骗) + + + +仅依赖于源端口号就信任数据流是一种常见的错误配置,这个问题非常 +好理解。例如一个管理员部署了一个新的防火墙,但招来了很多用户的不满,因为 +他们的应用停止工作了。可能是由于外部的UDP DNS服务器响应无法进入网络,而导致 +DNS的崩溃。FTP是另一个常见的例子,在FTP传输时,远程服务器尝试和内部用 +建立连接以传输数据。 + +对这些问题有安全解决方案,通常是应用级代理或协议分析防火墙模块。 +但也存在一些不安全的方案。注意到DNS响应来自于53端口,FTP连接 +来自于20端口,很多管理员会掉入一个陷阱,即允许来自于这些端口的数据进入 +网络。他们认为这些端口里不会有值得注意的攻击和漏洞利用。此外,管理员 +或许认为这是一个短期的措施,直至他们采取更安全的方案。但他们忽视了安全的 +升级。 + + +不仅仅是工作量过多的网络管理员掉入这种陷阱,很多产品本身也会有这类 +不安全的隐患,甚至是微软的产品。Windows 2000和Windows XP中包含的IPsec过滤 +器也包含了一些隐含规则,允许所有来自88端口(Kerberos)的TCP和UDP数据流。另 +一个常见的例子是Zone Alarm个人防火墙到2.1.25版本仍然允许源端口53(DNS)或 +67(DHCP)的UDP包进入。 + +Nmap提供了选项(它们是 +等价的),用于利用上述弱点。只需要提供一个端口号,Nmap就可以从这些 +端口发送数据。为使特定的操作系统正常工作,Nmap必须使用不同的端口号。 +DNS请求会忽略选项,这是因为Nmap依靠系 +统库来处理。大部分TCP扫描,包括SYN扫描,可以完全支持这些选项,UDP扫 +描同样如此。 + + + + + + + (发送报文时 + 附加随机数据) + + + 正常情况下,Nmap发送最少的报文,只含一个包头。因此TCP包通常 + 是40字节,ICMP ECHO请求只有28字节。这个选项告诉Nmap在发送的报文上 + 附加指定数量的随机字节。操作系统检测()包不受影响, + 但大部分ping和端口扫描包受影响,这会使处理变慢,但对扫描的影响较小。 + + + + + + (设置IP time-to-live域) + + + 设置IPv4报文的time-to-live域为指定的值。 + + + + + + (对目标主机的顺序随机排列) + + + 告诉Nmap在扫描主机前对每个组中的主机随机排列,最多可达 + 8096个主机。这会使得扫描针对不同的网络监控系统来说变得不是很 + 明显,特别是配合值较小的时间选项时更有效。如果需要对一个较大 + 的组进行随机排列,需要增大nmap.h文件中 + PING_GROUP_SZ的值,并重新编译。另一种方法是使用列表扫描 + (),产生目标IP的列表, + 使用Perl脚本进行随机化,然后使用提供给Nmap。 + + + + + + (MAC地址哄骗) + + + + 要求Nmap在发送原以太网帧时使用指定的MAC地址,这个选项隐含了 + 选项,以保证Nmap真正发送以太网包。MAC地址有几 + 种格式。如果简单地使用字符串0,Nmap选择一个完全随机的MAC + 地址。如果给定的字符品是一个16进制偶数(使用:分隔),Nmap将使用这个MAC地址。 + 如果是小于12的16进制数字,Nmap会随机填充剩下的6个字节。如果参数不是0或16进 + 制字符串,Nmap将通过nmap-mac-prefixes查找 + 厂商的名称(大小写区分),如果找到匹配,Nmap将使用厂商的OUI(3字节前缀),然后 + 随机填充剩余的3个节字。正确的参数有, + Apple, + 001:02:03:04:05:06, + deadbeefcafe0020F2, + 和Cisco. + + + + + + + + + 输出 + + 任何安全工具只有在输出结果时才是有价值的,如果没有通过组织和 + 易于理解的方式来表达,复杂的测试和算法几乎没有意义。Nmap提供了一些 + 方式供用户和其它软件使用,实际上,没有一种方式可以使所有人满意。 + 因此Nmap提供了一些格式,包含了方便直接查看的交互方式和方便软件处理 + 的XML格式。 + +除了提供输出格式外,Nmap还提供了选项来控制输出的细节以及调试 +信息。输出内容可发送给标准输出或命名文件,可以追加或覆盖。输出文件还可 +被用于继续中断的扫描。 + +Nmap提供5种不同的输出格式。默认的方式是interactive output, +发送给标准输出(stdout)。normal output方式类似于 +interactive,但显示较少的运行时间信息 +和告警信息,这是由于这些信息是在扫描完全结束后用于分析,而不是交互式的。 + +XML输出是最重要的输出类型,可被转换成HTML,对于程序处理非常方便, +如用于Nmap图形用户接口或导入数据库。 + +另两种输出类型比较简单,grepable +output格式,在一行中包含目标主机最多的信息;sCRiPt KiDDi3 0utPUt +格式,用于考虑自己的用户 |<-r4d。 + +交互式输出是默认方式,没有相应的命令行选项,其它四种格式选项 +使用相同的语法,采用一个参数,即存放结果的文件名。多种格式可同时 +使用,但一种格式只能使用一次。例如,在标准输出用于查看的同时,可将结 +果保存到XML文件用于程序分析,这时可以使用选项。 +为便于描述的简化,本章使用类似于myscan.xml的简单文件名, +建议采用更具有描述性的文件名。文件名的选择与个人喜好有关,建议增加 +扫描日期以及一到两个单词来描述,并放置于一个目录中。 + +在将结果输出到文件的同时,Nmap仍将结果发送给标准输出。例如, +命令nmap -oX myscan.xml target将 +输出XML至myscan.xml,并在stdout +上打印相同的交互式结果,而此时选项没有采用。可以 +使用连字符作为选项来改变,这使得Nmap禁止交互式输出,而是将结果打印到 +所指定的标准输出流中。因此,命令nmap -oX - target只 +输出XML至标准输出stdout。严重错误仍然是输出到标准错误流stderr中。 + +与其它Nmap参数不同,日志文件选项的空格(如)和 +文件名或连字符是必需的。如果省略了标记,例如或 +,Nmap的向后兼容特点将建立 +标准格式的输出文件,相应的文件名为G-和 +Xscan.xml + +Nmap还提供了控制扫描细节以及输出文件的添加或覆盖的选项,这些选项 +如下所述。 + +Nmap输出格式 + + + (标准输出) + + 要求将标准输出直接写入指定 + 的文件。如上所述,这个格式与交互式输出 + 略有不同。 + + + + + + (XML输出) + + + 要求XML输出直接写入指定 + 的文件。Nmap包含了一个文档类型定义(DTD),使XML解析器有效地 + 进行XML输出。这主要是为了程序应用,同时也可以协助人工解释 + Nmap的XML输出。DTD定义了合法的格式元素,列举可使用的属性和 + 值。最新的版本可在 获取。 + + XML提供了可供软件解析的稳定格式输出,主要的计算机 + 语言都提供了免费的XML解析器,如C/C++,Perl,Python和Java。 + 针对这些语言有一些捆绑代码用于处理Nmap的输出和特定的执行程序。 + 例如perl CPAN中的Nmap::Scanner + 和Nmap::Parser。 + 对几乎所有与Nmap有接口的主要应用来说,XML是首选的格式。 + + XML输出引用了一个XSL样式表,用于格式化输出结果,类似于 + HTML。最方便的方法是将XML输出加载到一个Web浏览器,如Firefox + 或IE。由于nmap.xsl文件的绝对 + 路径,因此通常只能在运行了Nmap的机器上工作(或类似配置的机器)。 + 类似于任何支持Web机器的HTML文件, + 选项可用于建立可移植的XML文件。 + + + + + + + (ScRipT KIdd|3 oUTpuT) + + 脚本小子输出类似于交互工具输出,这是一个事后处理,适合于 'l33t HaXXorZ, + 由于原来全都是大写的Nmap输出。这个选项和脚本小子开了玩笑,看上去似乎是为了 + 帮助他们 + + + + + + (Grep输出) + + +这种方式最后介绍,因为不建议使用。XML输格式很强大,便于有经验 +的用户使用。XML是一种标准,由许多解析器构成,而Grep输届更简化。XML +是可扩展的,以支持新发布的Nmap特点。使用Grep输出的目的是忽略这些 +特点,因为没有足够的空间。 + +然面,Grep输出仍然很常使用。它是一种简单格式,每行一个主机,可以 +通过UNIX工具(如grep、awk、cut、sed、diff)和Perl方便地查找和分解。常可 +用于在命令行上进行一次性测式。查找ssh端口打开或运行Sloaris的主机,只需 +要一个简单的grep主机说明,使用通道并通过awk或cut命令打印所需的域。 + +Grep输出可以包含注释(每行由#号开始)。每行由6个标记的域组成,由制表符及 +冒号分隔。这些域有主机端口, +协议忽略状态, +操作系统序列号, +IPID状态 + +这些域中最重要的是Ports,它提供 +了所关注的端口的细节,端口项由逗号分隔。每个端口项代表一个所关注的端口, +每个子域由/分隔。这些子域有:端口号, +状态协议, +拥有者服务, +SunRPCinfo版本信息 + +对于XML输出,本手册无法列举所有的格式,有关Nmap Grep输出的更详细信息可 +查阅 + + + + + + (输出至所有格式) + + 为使用方便,利用选项 + 可将扫描结果以标准格式、XML格式和Grep格式一次性输出。分别存放在 + basename.nmap,basename.xml和 + basename.gnmap文件中。也可以在文件名前 + 指定目录名,如在UNIX中,使用~/nmaplogs/foocorp/, + 在Window中,使用c:\hacking\sco on Windows。 + + + + + + 细节和调试选项 + + + (提高输出信息的详细度) + + + 通过提高详细度,Nmap可以输出扫描过程的更多信息。 + 输出发现的打开端口,若Nmap认为扫描需要更多时间会显示估计 + 的结束时间。这个选项使用两次,会提供更详细的信息。这个选 + 项使用两次以上不起作用。 + + 大部分的变化仅影响交互式输出,也有一些影响标准和脚本 + 小子输出。其它输出类型由机器处理,此时Nmap默认提供详细的信 + 息,不需要人工干预。然而,其它模式也会有一些变化,省略一些 + 细节可以减小输出大小。例如,Grep输出中的注释行提供所有扫描 + 端口列表,但由于这些信息过长,因此只能在细节模式中输出。 + + + + + + (提高或设置调试级别) + + + +当详细模式也不能为用户提供足够的数据时,使用调试可以得到更 +多的信息。使用细节选项()时,可启用命令行参数 +(),多次使用可提高调试级别。也可在 +后面使用参数设置调试级别。例如,设定级别9。这是 +最高的级别,将会产生上千行的输出,除非只对很少的端口和目标进行简单扫描。 + +如果Nmap因为Bug而挂起或者对Namp的工作及原理有疑问,调试输出 +非常有效。主要是开发人员用这个选项,调试行不具备自我解释的特点。 +例如,Timeoutvals: srtt: -1 +rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 +rttvar: 14987 to: 100000。如果对某行输出不明白, +可以忽略、查看源代码或向开发列表(nmap-dev)求助。有些输出行会有自 +我解释的特点,但随着调试级别的升高,会越来越含糊。 + + + + + + + (跟踪发送和接收的报文) + + + 要求Nmap打印发送和接收的每个报文的摘要,通常用于 + 调试,有助于新用户更好地理解Nmap的真正工作。为避免输出过 + 多的行,可以限制扫描的端口数,如。 + 如果只需进行版本检测,使用 + + + + + + (列举接口和路由) + + + 输出Nmap检测到的接口列表和系统路由,用于调试路由 + 问题或设备描述失误(如Nmap把PPP连接当作以太网对待)。 + + + + + + 其它输出选项 + + + + (在输出文件中添加) + + + 当使用文件作为输出格式,如, + 默认该文件被覆盖。如果希望文件保留现有内容,将结果添加在现 + 有文件后面,使用选项。所有指 + 定的输出文件都被添加。但对于XML()扫描输出 + 文件无效,无法正常解析,需要手工修改。 + + + + + + (继续中断的扫描) + + + + 一些扩展的Nmap运行需要很长的时间 -- 以天计算,这类扫描 + 往往不会结束。可以进行一些限制,禁止Nmap在工作时间运行,导致 + 网络中断、运行Nmap的主机计划或非计划地重启、或者Nmap自己中断。 + 运行Nmap的管理员可以因其它原因取消运行,按下ctrl-C + 即可。从头开始启动扫描可能令人不快,幸运的是,如果标准扫描 + ()或Grep扫描()日志 + 被保留,用户可以要求Nmap恢复终止的扫描,只需要简单地使用选项 + 并说明标准/Grep扫描输出文件,不允许 + 使用其它参数,Nmap会解析输出文件并使用原来的格式输出。使用方式 + 如nmap --resume logfilename。 + Nmap将把新地结果添加到文件中,这种方式不支持XML输出格式,原因是 + 将两次运行结果合并至一个XML文件比较困难。 + + + + + + (设置XSL样式表,转换XML输出) + + + Nmap提从了XSL样式表nmap.xsl,用于查看 + 或转换XML输出至HTML。XML输出包含了一个xml-stylesheet, + 直接指向nmap.xml文件, + 该文件由Nmap安装(或位于Windows当前工作目录)。在Web浏览器 + 中打开Nmap的XML输出时,将会在文件系统中寻找nmap.xsl文件, + 并使用它输出结果。如果希望使用不同的样式表,将它作为 + 的参数,必段指明完整的路 + 径或URL,常见的调用方式是。 + 这告诉浏览器从Insecire.Org中加载最新的样式表。这使得 + 没安装Nmap(和nmap.xsl) + 的机器中可以方便地查看结果。因此,URL更方便使用,本地文件系统 + 的nmap.xsl用于默认方式。 + + + + + + (忽略XML声明的XSL样式表) + + + 使用该选项禁止Nmap的XML输出关联任何XSL样式表。 + xml-stylesheet指示被忽略。 + + + + + + + + + + 其它选项 + 本节描述一些重要的(和并不重要)的选项,这些选项 + 不适合其它任何地方。 + + + + + (启用IPv6扫描) + + + + 从2002年起,Nmap提供对IPv6的一些主要特征的支持。ping扫描(TCP-only)、 + 连接扫描以及版本检测都支持IPv6。除增加选项外, + 其它命令语法相同。当然,必须使用IPv6地址来替换主机名,如 + 3ffe:7501:4819:2000:210:f3ff:fe03:14d0。 + 除所关注的端口行的地址部分为IPv6地址。 + + IPv6目前未在全球广泛采用,目前在一些国家(亚洲)应用较多, + 一些高级操作系统支持IPv6。使用Nmap的IPv6功能,扫描的源和目 + 的都需要配置IPv6。如果ISP(大部分)不分配IPv6地址,Nmap可以采用 + 免费的隧道代理。一种较好的选择是BT Exact,位于。 + 此外,还有Hurricane Electric,位于。6to4隧道是 + 另一种常用的免费方法。 + + + + + + (激烈扫描模式选项) + + + 这个选项启用额外的高级和高强度选项,目前还未确定代表 + 的内容。目前,这个选项启用了操作系统检测() + 和版本扫描(),以后会增加更多的功能。 + 目的是启用一个全面的扫描选项集合,不需要用户记忆大量的 + 选项。这个选项仅仅启用功能,不包含用于可能所需要的 + 时间选项(如)或细节选项()。 + + + + + + (说明用户Nmap数据文件位置) + + + Nmap在运行时从文件中获得特殊的数据,这些文件有 + nmap-service-probes, + nmap-services, + nmap-protocols, + nmap-rpc, + nmap-mac-prefixes和 + nmap-os-fingerprints。Nmap首先 + 在选项说明的目录中查找这些文件。 + 未找到的文件,将在BMAPDIR环境变量说明的目录中查找。 + 接下来是用于真正和有效UID的~/.nmap + 或Nmap可执行代码的位置(仅Win32);然后是是编译位置, + 如/usr/local/share/nmap + 或/usr/share/nmap。 + Nmap查找的最后一个位置是当前目录。 + + + + + + (使用原以太网帧发送) + + + 要求Nmap在以太网(数据链路)层而不是IP(网络层)发送 + 报文。默认方式下,Nmap选择最适合其运行平台的方式,原套接 + 字(IP层)是UNIX主机最有效的方式,而以太网帧最适合Windows操作 + 系统,因为Microsoft禁用了原套接字支持。在UNIX中,如果没有其 + 它选择(如无以太网连接),不管是否有该选项,Nmap都使用原IP包。 + + + + + + + + (在原IP层发送) + + + 要求Nmap通过原IP套接字发送报文,而不是低层的以 + 太网帧。这是选项的补充。 + + + + + + + (假定用户具有全部权限) + + + 告诉Nmap假定其具有足够的权限进行源套接字包发送、 + 报文捕获和类似UNIX系统中根用户操作的权限。默认状态下, + 如果由getuid()请求的类似操作不为0,Nmap将退出。 + 在具有Linux内核性能的类似 + 系统中使用非常有效,这些系统配置允许非特权用户可以进行 + 原报文扫描。需要明确的是,在其它选项之前使用这些需要权 + 限的选项(SYN扫描、操作系统检测等)。Nmap_PRIVILEGED变量 + 设置等价于选项。 + + + + + + (在交互模式中启动) + + + 在交互模式中启动Nmap,提供交互式的Nmap提示,便于 + 进行多个扫描(同步或后台方式)。对于从多用户系统中扫描 + 的用户非常有效,这些用户常需要测试他们的安全性,但不希望 + 系统中的其它用户知道他们扫描哪些系统。使用 + 激活这种方式,然后输入h可 + 获得帮助信息。由于需要对正确的shell程序和整个功能非常熟悉, + 这个选项很少使用。这个选项包含了一个!操作符,用于执行shell命令, + 这是不安装Nmap setuid root的多个原因之一。 + + + + + + ; (打印版本信息) + + + 打印Nmap版本号并退出。 + + + + + + ; (打印帮助摘要面) + + + 打印一个短的帮助屏幕,列出大部分常用的 + 命令选项,这个功能与不带参数运行Nmap是相同的。 + + + + + + + + 运行时的交互 + + Nmap目前还不具有这个功能,本节内容可能会增加或删除。 + + 在执行Nmap时,所有的键盘敲击都被记录。这使得用户可以与 + 程序交互而不需要终止或重启。特定的键可改变选项,其它键会输出 + 一个有关扫描的状态消息。约定如下,小写字母增加 + 打印量,大写字母减少打印量。 + + + + / + + + 增加 / 减少细节 + + + + + / + + + 提高 / 降低调试级别 + + + + + / + + + 打开/ 养老报文跟踪 + + + + + 其它 + + + 打印的信息类似于: + Stats: 0:00:08 elapsed; 111 hosts completed (5 up), + 5 undergoing Service Scan + Service scan Timing: About 28.00% done; ETC: 16:18 + (0:00:15 remaining) + + + + + + + 实例 + 下面给出一些实例,简单的、复杂的到深奥的。为更具体,一 + 些例子使用了实际的IP地址和域名。在这些位置,可以使用你自己网络 + 的地址/域名替换。注意,扫描其它网络不一定合法,一些网络管理员不愿看到 + 未申请过的扫描,会产生报怨。因此,先获得允许是最好的办法。 + + 如果是为了测试,scanme.nmap.org + 允许被扫描。但仅允许使用Nmap扫描并禁止测试漏洞或进行DoS攻击。为 + 保证带宽,对该主机的扫描每天不要超过12次。如果这个免费扫描服务被 + 滥用,系统将崩溃而且Nmap将报告解析 + 指定的主机名/IP地址失败:scanme.nmap.org。这些免 + 费扫描要求也适用于scanme2.nmap.org、 + scanme3.nmap.org等等,虽然这些 + 主机目前还不存在。 + + + nmap -v scanme.nmap.org + + 这个选项扫描主机scanme.nmap.org中 + 所有的保留TCP端口。选项启用细节模式。 + + nmap -sS -O scanme.nmap.org/24 + + 进行秘密SYN扫描,对象为主机Saznme所在的C类网段 + 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 + 和操作系统检测,这个扫描需要有根权限。 + + nmap -sV -p 22,53,110,143,4564 + 198.116.0-255.1-127 + + + 进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 + 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 + 打开,将使用版本检测来确定哪种应用在运行。 + + + nmap -v -iR 100000 -P0 -p 80 + + + 随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 + 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 + 此使用禁止对主机列表。 + + + + nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + logs/pb-port80scan.gnmap 216.163.128.20/20 + + 扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。 + + + + host -l company.com | cut -d -f 4 | nmap -v -iL + - + + + 进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 + Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。 + + + + + Bugs + + 和作者一样,Nmap也不是完美的,但可以通过发送Bug报告甚至编写 + 补丁使其更加完善。如果Nmap不能满足要求,首先从 + 升级最新版本。如果总问题仍然存在,需要进行调查以确定问题是否 + 已经被解决。在尝试搜索出错消息或 + 浏览Nmap-dev档案,以及仔细阅读使用手册。如果问题还是不能解决,发送 + Bug报告至nmap-dev@insecure.org。在报告中包含所有 + 有关问题的信息,以及所使用的Nmap版本、操作系统版本。问题报告以及 + Nmap的使用问题发送给nmap-dev@insecure.org比直接发送给Gyodor能更好回答。 + + 解决Bug的代码补丁比Bug报告更受欢迎,在 + 可获得建立补丁文件的基本指令。补丁可发送给nmap-dev(建议) + 或直接发给Fyodor。 + + + + 作者 + Fyodor + fyodor@insecure.org + () + + 译者:Fei Yang + fyang1024@gmail.com, + Lei Li + lilei_721@6611.org + + + 近年来,上百的人们为Nmap作出了极有价值的贡献,详细信息参见 + 随Nmap一起发布的CHANGELOG文件, + 也可查看。 + + + + + + 法律事项(版权、许可证、担保(缺)、出口限制) + +Unofficial Translation Disclaimer / 非官方翻译声明 + +This is an unnofficial translation of the Nmap license +details into [Finnish]. It was not written by Insecure.Com +LLC, and does not legally state the distribution terms for Nmap -- +only the original English text does that. However, we hope that this +translation helps [Finish] speakers understand the Nmap license +better. + + +这是Nmap许可证明细 +的非官方的中文译本。它并非由Insecure.Com LLC编写,不是有法律效力的Nmap发布条款-- +只有原英文版具有此法律效力。然而,我们希望该译本帮助中文用户更好地理解Nmap许可证。 + + + +可获得Nmap的最新版本。 + +Nmap安全扫描器(C) 1996-2005是Insecure.Com LLC的产品。 Nmap也是 +Insecure.Com LLC的注册商标。这是一个免费软件,按照免费软件联盟V2.0的 +GNU普通公共许可证的规定,可以重新发布和/或修改。这保证用户在一定的条件 +下可以使用、修改和重新发布此软件。如果需要将Nmap嵌入专用软件,我们 +会销售相应的许可证(联系 sales@insecure.com)。很多安全 +扫描器厂商已经获得了Nmap技术的许可证,如主机发现、端口扫描、OS系统 +检测以及服务/版本检测等技术。 + + +注意,GPL对衍生工作有重要的限制,但未给出有关的详细 +描述。为避免误解,我们认为如果某个应用进行以下工作时被认为是该许可证的 +衍生工作: + + + +集成Nmap的源代码 +读取或包含Nmap拷贝权的数据文件,如 + nmap-os-fingerprints或 + nmap-service-probes. +执行Nmap并解析结果(与之相反的是,shell执行或执行菜单 +应用,仅仅显示原始Nmap输出,则不是衍生工作。) +将Nmap集成/包含/组合至一个专用的可执行安装程序,如由 + InstallShield生成的安装程序。 + +将Namp链接到进行上述工作的库或程序中。 + + + +名词Nmap包含了Nmap的任何部分以及衍生工作,因此不仅限于上述 +内容。上述内容使用了一些常见的例子来说明衍生工作。这些限制仅适 +用于真正重新发布Nmap时。例如,不禁止开发和销售Nmap的前端,可以任意发布, +但必须说明从下载Nmap。 + + +这些条款并不是在GPL之上增加限制,只是为了明确说明与Nmap(有GPL许可证) +产品有关的衍生工作。这类似于Linus Torvalds对Linux内核模 +块衍生工作的解释。我们的解释仅适用于Nmap - 不适合其它 +GPL产品。 + + +如果对有GPL许可证限制的Nmap应用于非GPL工作有任何问题,我们将提供 +相关的帮助。如上述条款所述,我们提供了可选的许可证以集成Nmap到专用应用和设备, +这些合同已被销售给多个安全厂商,通常都包含了永久的许可证以及提供优先支 +持、更新,并资助可持续的Nmap技术开发。请发送邮件至sales@insecure.com +以获得更多信息。 + + +作为GPL的一个特殊例外,Insecure.Com LLC授权许可链接该程序的代码 +至任何版本的OpenSSL库,这个库的发布符合等同于Copying.OpenSSL文件中包含 +的许可证,它的发布同时包含了两个内容。除OpenSSL外,在任何方面都必须遵 +守GNU GPL。如果改变这个文件,就可能超出该文件的版本,但并不对此负责。 + + +如果收到书面的许可证协定或合同文件,与上述条款不同时,该可选的 +许可证协定具有优先权。 + + +Nmap软件提供源代码,这是因为我们认为用户有权在运行之前知道程序的工作 +内容,同时也使用户可以检查软件的漏洞(目前还未发现)。 + + +源代码还允许被移植到新的平台、修改Bug以及增加新功能。鼓励用户 +向fyodor@insecure.org 发送更新,以并入正式的发布中。 +发送这些更新至Fyodor或Insecure.Org开发列表,表明允许Fyodor和Insecure.Com LLC +具有无限止的、非独有的权限来使用、修改和重新定义这些代码的许可证。 +Nmap将一直以开放代码的方式提供,由于无法进行代码的许可证重新定义从而可能 +导致了对其它开放软件项目的破坏问题(如KDEt NASM),这一点很重要。 +偶尔我们会向第三方提供重新定义的代码许可证。如果希望为自己的贡献说明 +一个特定的许可证条件,在发送时指明。 + + +本程序的发布只是为了应用,不提供任何担保,也不隐含任何有关 +特定目的的商业或适用性担保。在 +的GNU通用公共许可证或Nmap中包含的COPYING文件中可查看更多细节。 + + +还需要注意,Nmap已经导致了一些编写拙劣的应用程序、TCP/IP +栈甚至操作系统的崩溃。Nmap不能用于破坏关键系统, +除非准备好系统受到崩溃的影响。Nmap可能会造成系统或网络的崩溃,但 +我们不对Nmap可能产生的破坏和问题负任何责任。 + + +由于崩溃的风险以及一些攻击者在攻击系统前使用Nmap进行检测, +因此一些管理员对此感到不安,报怨他们的系统受到扫描。因此,建议在扫描 +之间获得允许,哪怕是对一个网络很轻微的扫描。 + +为安全起见,不要将Nmap安装在有特殊权限的环境(如suid root)。 + +这个产品包含了由Apache Software Foundation开发的 +软件,发布时还包含了Libpcap +可移植包捕获器的改进版本。Windows版的Nmap使用了源于WinPcap library +的libpcap。正常的描述支持由PCRE library +提供,这也是一个开放源码软件,由Philip Hazel编写。特定的原网络功能使用 +了Libdnet网络库, +由Dug Song编写,Nmap发布时带有一个改进版本。Nmap可以与 +OpenSSL加密工具库链接用于SSL版本检测。 +所有本段描述的第三方软件在遵守BSD风格软件许可证下均可以免费发布。 + + +美国出口控制:Insecure.Com LLC认为Nmap归入美国ECCN(出口控制分 +类编码) 5D922。这个分类称为不受5D002控制的信息安全软件。 +这个分类的唯一限制是AT(反恐怖主义),这个限制几乎适用于所有的产品,禁 +止出口到一些国家,如伊朗和朝鲜。因此,出口Nmap不需要任何特殊的许可 +证、允许或其它政府授权。 + + + + + +