DEFCON-Konferenz 16. Fedor, InSecure.org Hacker. NMAP Scan Online

Guten Tag, mein Name ist Fedor, ich bin von InSecure.org und ich bin der Autor des 1997 veröffentlichten Nmap- Sicherheitsscanner-Projekts. Ich möchte allen, die hierher gekommen sind, und Defcon selbst dafür danken, dass er mich hierher eingeladen hat. Ich bin ein großer Fan solcher Konferenzen, bei denen Leute kommen können, die eine echte Leidenschaft für Amateurtechnologie haben, aber keine Unternehmen haben, die bereit sind, Tausende von Dollar für ein Ticket zu bezahlen.

Ich möchte Sie warnen, dass es in diesem Gespräch nicht darum geht, wie man Cross-Site-Skript-Angriffe auf soziale Netzwerke durchführt oder Twitter- Kanäle hackt. Es geht um das Scannen von Ports und mehr als nur um das Scannen von Ports. Wenn Sie das Scannen von Ports nicht mögen, sind die nächsten 50 Minuten der schlimmste Albtraum für Sie.



Denn für mich wird es genauso ungewöhnlich sein, über etwas anderes zu sprechen, als Dan Kaminsky zu hören, der nicht über DNS spricht. Ich meine, ich kann mich auf die Entdeckung eines Betriebssystems oder der Aktion des Nmap- Skript-Handlers beeilen, genauso wie Dan sein DNS verwenden kann, um YouTube zu tunneln, um einen Idioten zu täuschen, aber in beiden Fällen erweitern wir einfach unseren Schlüssel Thema.

Wie Sie auf der ersten Folie sehen können, geht es in meinem Thema um das Scannen des Internets. Ich habe diesen Sommer viel Zeit damit verbracht, zig Millionen Hosts im Internet zu scannen und die erforderlichen Daten zu sammeln.

Und wenn ich Leuten davon erzähle, fragen sie oft: "Warum?" Für mich ist das Scannen an sich schon wertvoll, aber wenn Sie einen Grund brauchen, dann hatte ich in diesem Fall in diesem Fall einige spezifische Ziele des Projekts. Die erste besteht darin, empirische Daten zu sammeln und diese zu verwenden, um die Funktionalität von Nmap zu erweitern und zu verbessern. Wir werden etwas später darüber sprechen.

Das zweite Ziel besteht darin, Daten zu verwenden, damit sachkundige Personen effizienter scannen können. Es gibt viele Leute, die Informationen über die Netzwerkstruktur und die Grundgesamtheit sammeln, um herauszufinden, welche Scanmethoden am besten geeignet sind. Normalerweise fragen sie sich jedoch, wie sie vorhandene Scan-Tools anpassen können, ohne etwas Passendes zu finden. Damit Sie meine empirischen Daten für Ihre eigenen Bedürfnisse verwenden können, lernen Sie, wie Sie die Ergebnisse scannen und sammeln.



Das dritte Ziel besteht darin, Nmap- Fehler zu erkennen und zu beheben und die Leistung beim Scannen in großem Maßstab zu verbessern. Weil Millionen von Hosts in verschiedenen Situationen gescannt werden und Sie verfolgen können, wie Nmap darauf reagiert. Ich habe es geschafft, die Fehler zu beheben, die zum Absturz oder Einfrieren des Systems führen, und den Prozess zu beschleunigen, indem ich herausgefunden habe, was genau den Scan verlangsamt.

Das vierte Ziel besteht darin, Technologien zu demonstrieren, die sowohl für das konventionelle Scannen als auch für das Scannen des Internets in großem Maßstab verwendet werden können.

Die Idee ist, dass wenn dieser Scan für 25 Millionen Hosts funktioniert, er wahrscheinlich 25.000 Hosts scannt oder wie viele Sie scannen müssen.
Schauen wir uns die Probleme an, mit denen ich beim Scannen konfrontiert war. Zunächst möchte ich sagen, dass es besser ist, Dutzende großer, aber gezielter Scans durchzuführen, als einen großen Scan. Mit jedem dieser Ziele können Sie nützliche Daten einer bestimmten Art erfassen. Das Problem besteht jedoch darin, die spezifischen IP-Adressen zu ermitteln, die gescannt werden müssen.

Hierfür gibt es viele Möglichkeiten: BGP- Routing-Tabellen, mit denen Sie wissen, welche Netzwerke geroutet werden, DNS-Zonendateien, Registerzuordnungstabellen usw.



Ich entschied mich für meinen eigenen skriptbasierten Nmap- IP-Adressgenerator, mit dem ich 25.000.000 IP-Adressen erstellen kann, und machte aufgrund möglicher Duplikate weitere 200.000. Gleichzeitig werden nicht tatsächlich Computer gescannt, sondern deren Liste, da ich die Maschinen später selbst scannen werde. Als Ergebnis erhielt ich eine Liste mit 25 Millionen IP-Adressen, die ich zum Scannen verwendet habe. Es war eine Möglichkeit, Zufallszahlen zu generieren. Sobald Sie jedoch bestimmte Ziele haben, die gescannt werden müssen, stellt sich die folgende Frage: Welche Quelle werden Sie verwenden?

Hier hatte ich viele Ideen, eine verrückter als die andere, zum Beispiel P2P-Scannen. Ich wollte einen Client namens Nmapster verteilen , den die Leute herunterladen konnten. Er würde ihre Computer scannen und sagen, dass wir Daten zur Verallgemeinerung sammeln. Ich entschied jedoch, dass das Hauptziel darin bestand, Nmap für das tägliche Scannen schneller und effizienter zu machen, und dass es besser war, sich auf die Verwendung von Nmap selbst zu konzentrieren, anstatt benutzerdefinierte Programme dafür zu erstellen.

Das zweite große Hindernis war die Illegalität solcher Aktionen. Wenn Sie viele Hosts scannen, sind die Leute möglicherweise empört, und ich möchte nicht, dass mein ISP sich weigert, mich erneut zur Verfügung zu stellen, aber die Möglichkeit, verhaftet zu werden, sieht noch schlimmer aus. Aus diesem Grund habe ich mich entschlossen, über den kostenlosen drahtlosen Zugangspunkt meines Nachbarn online zu gehen (Applaus und Lachen).

Nein, ich mache nur Spaß, außerdem hätte der Internetkanal meines Nachbarn nicht genug Bandbreite, um so viel Verkehr zu verarbeiten, wie ich brauchte.

Aus diesem Grund habe ich mich entschlossen, den ISP zu verwenden, den ich für die Colocation verwende, und von dort aus zu scannen, dh durch Geräte auf seinem Territorium. 15 Minuten nach dem Start des Scans kontaktierten mich diese Leute und fragten verzweifelt, was zum Teufel los sei. Vielleicht ist mein Computer mit dem schlimmsten Wurm im Internet infiziert, weil er verrückt wird und Tausende von Autos pro Sekunde im Internet abfragt! Sie schlugen vor, mich zu trennen, aber ich erklärte, dass sie sich keine Sorgen machen sollten, dass ich nicht verletzt würde, ich mache dies für einen bestimmten Zweck. Dann dachten sie, ich sei eine Art Spammer oder noch schlimmer, wenn dies möglich ist, und ich musste verhaftet werden. Dann bekam ich Angst und dachte, ich wäre fertig, ich müsste mein Projekt aufgeben und anfangen, die Cross-Site-Schwachstelle zu untersuchen. Glücklicherweise stellte sich heraus, dass es sich um Nmap- Benutzer handelte, und ich konnte erklären, dass dieser Scan erforderlich ist, um mein Programm effizienter und produktiver zu gestalten. Zu dem sagten sie: "Nun, dann kannst du weitermachen!"

Ich habe die Scangeschwindigkeit leicht reduziert, weil ich nicht wollte, dass ihre Sicherungen durchbrennen, und diese großartige Arbeit fortgesetzt. Leider war das US-Verteidigungsministerium nicht so nett, sie mochten meinen Scan überhaupt nicht und sagten mir, ich solle aufhören, wichtige militärische Einrichtungen zu scannen. Ich dachte, dass die Fähigkeit von Nmap, das Scannen bestimmter Netzwerke zu überspringen, für mich nützlich wäre, aber ich konnte diese Netzwerke nicht einmal identifizieren, da es sich auch um militärische Einrichtungen handelte. Seitdem bin ich etwas nervös, wenn Militärflugzeuge über meinen Kopf fliegen.



Das nächste Hindernis beim Scannen waren Firewalls. In einigen Fällen reichte es mir, Ergebnisse aus einem ungeschützten Segment des Internets zu erhalten, in anderen Fällen wäre es schön zu untersuchen, wie es hinter Unternehmensfirewalls aussieht. Sie wissen, dass sie häufig unterschiedliche Ports steuern, sodass ein offenes Netzwerk von innen völlig anders aussieht. Ich freue mich sagen zu können, dass ich eine Reihe von Firewalls nicht mit Hilfe eines fortgeschrittenen Fragmentierungsangriffs durchbrechen konnte, sondern mit Hilfe von Technologien, die sie einfach „gebeten“ haben, die erforderlichen Daten bereitzustellen.

Es gibt viele große Unternehmen, die ihre Netzwerke täglich mit Nmap scannen, und sie haben gerne in Form von Daten dazu beigetragen, diese zu verbessern.

Die nächsten Probleme waren Leistung und Genauigkeit. Das Scannen im Internet ist eine lange und schwierige Aufgabe. Das Hauptziel war die Verbesserung der Leistung von Nmap, da die Nutzungsstatistiken enttäuschend waren:

  • Verstrichene Zeit seit Beginn des Scans 93 h 57 min. 40 s (mehr als 4 Tage);
  • Während dieser Zeit wurden von 254868 geplanten Hosts UDP-Scans von 65.000 Ports auf 2048 Hosts durchgeführt.
  • Während dieser Zeit wurde das UDP-Scannen ungefähr 11,34% der geplanten Anzahl durchgeführt. Die Zeit zum Scannen der verbleibenden Hosts beträgt 688 Stunden 41 Minuten 48 Sekunden.

Wenn Ihre Schätzung der verbleibenden Zeit zu einem „Ganzzahlüberlauf“ führt und ein Negativ ergibt, ist dies kein sehr ermutigendes Zeichen. Dieser spezielle Scan ist noch im Gange, und vielleicht werde ich Ihnen auf der DEFCON-Konferenz im nächsten Jahr sagen, was daraus geworden ist. Glücklicherweise wurden einige unserer anderen Scans viel früher beendet. Dies ist eine Art Einführung in die Art der von uns durchgeführten Scans und warum.

Kommen wir nun zu weiteren praktischen Tipps, die als nützliche Details dienen können, und lassen Sie wissen, wie Sie diese als Hilfe für Ihren eigenen Scan verwenden können. Die Hosterkennung ist ein guter Anfang, da Sie beim erneuten Verbinden eines Netzwerks zunächst den Host suchen und herausfinden möchten, welche Netzwerke zum Scannen verfügbar sind. Daher sollten Sie keine Zeit damit verschwenden, IP-Adressen zu scannen, die von den Hosts nicht abgehört werden, und entscheiden, welche Methoden gescannt werden sollen.

Es gab eine Zeit, in der die meisten Hosts auf ICMP- Echoanfragen oder Ping-Pakete antworteten, die Nmap standardmäßig an Port 80 gesendet hatte, aber leider endete diese Zeit vor 10 Jahren.



Jetzt blockieren die meisten Unternehmen Ping-Pakete und ich musste effizientere Methoden anwenden.

Die erste war eine TCP- Methode zum Erkennen von Hosts mithilfe von synthetischen SYN (-PS) -Paketen, die am besten gegen statische Filterfirewalls funktionieren , die eine konstante Liste von Ausnahmen verwenden, und mit ACK (-PA) -Paketen, die gegen dynamische Filterfirewalls wirksam sind.

Diese Firewalls, die synthetische Pakete durchlassen , blockieren normalerweise ACK- Pakete und umgekehrt.

Ich werde ein kurzes Beispiel für die Verwendung von Nmap mit einem synthetischen Paket für Port 80 von sun.com zeigen . Wie Sie sehen können, kam die Antwort sehr schnell und zeigt, dass der Host verfügbar ist.



Dann verwenden wir ACK- Pakete für denselben Host. Sie sehen, dass der Scan länger gedauert hat und der Host nicht auf uns reagiert hat, weil er die Ping-Erkennung blockiert hat.



So können Sie verstehen, welche Firewall auf diesem Host installiert ist - mit statischer oder dynamischer Filterung. In diesem Fall haben wir eine statische Firewall, die SYN- Pakete übersprungen und ACK- Pakete blockiert hat.

Es kann sich die Frage stellen, welche Art der Porterkennung besser zu verwenden ist. Ich werde antworten - Sie müssen beide Arten von Paketen senden, bis der Host eines davon passiert.

Die nächste Frage ist, welcher Port verwendet werden soll. Sie haben 65.000 Ports, und es ist oft unmöglich, diejenigen auszuwählen, die am besten funktionieren. Daher habe ich eine Auswahl von Ports basierend auf empirischen Daten getroffen, die auf der nächsten Folie gezeigt werden. Dies sind die besten 10 Ports zum Erkennen bestimmter Hosttypen.



Einige Leute sehen sich diese Liste möglicherweise an und fragen, wo sich die häufigsten Windows- Ports 135 oder 139 befinden.

Denken Sie jedoch daran, dass ich meine Datenbank auf der Grundlage gut geschützter Hosts erstellt habe. Wenn Sie also Probleme bei der Installation einer Firewall haben, blockieren Sie diese Windows- Ports besser. Ich würde empfehlen, einen Teil dieser Ports mit SYN-Paketen zu "prüfen", den anderen Teil - mit ACK- Paketen.

Als nächstes haben wir UDP- Host-Erkennung. In diesem Fall sind geschlossene UDP- Ports besser als offene, da sie anfälliger für Antworten sind. Offene Ports, die ein sauberes Paket empfangen, wissen nicht, was sie damit machen sollen, und ignorieren es einfach. Geschlossene Ports verbieten normalerweise ein solches Paket, und dies bedeutet, dass der Host hier ist. Port 53 fällt häufig in Firewall-Ausnahmen, da es sich um DNS handelt .

Ich habe auch die ICMP- Host-Erkennungsmethode (PE, PM, PP) verwendet . Einige Systeme akzeptieren problemlos Pings, blockieren jedoch andere. Beispielsweise sehen Google.com- Administratoren keine Bedrohung beim Empfang von Ping-Paketen, blockieren jedoch Netzwerkmaskenanforderungen und Zeitstempel, weil sie glauben, dass Hacker sie verwenden.

Andere Administratoren blockieren Echoanforderungen explizit als Hacker, vergessen jedoch das Blockieren von Netzwerkmaskenanforderungen und den Zeitstempel für Netzmaske / Zeitstempel . Daher rate ich Ihnen, beide Arten von Anforderungen zu verwenden - eine Echoanforderung und eine der zweiten Arten von Anforderungen.

Wir haben auch eine neue Funktion namens Protocol Ping (PO) . Standardmäßig verwendet dieses Protokoll drei Arten von IP-Paketen: 1 ( ICMP ), 2 ( IGMP ) und 4 ( IPinIP ), um eine kostengünstige Antwort zu erhalten, wenn der Host am Leben ist. Ich habe nicht getestet, um herauszufinden, welche Protokolle am nützlichsten sind, daher werden standardmäßig alle 3 verwendet.

Jetzt möchte ich über die verschiedenen Host-Erkennungstechnologien sprechen, die ich verwendet habe, und Sie können fragen, welche dieser Heaps am wertvollsten sind und was der Unterschied zwischen ihnen ist. Die Folie zeigt ein Beispiel, als ich 50.000 IP-Adressen generiert und den Standard-Ping-Scan verwendet habe, wodurch 3348 Hosts in 1600 s oder 27 Minuten gefunden wurden.



Dies sind viele Computer, und dieser Scan sieht ziemlich erfolgreich aus. Aber dann entschied ich mich für das „erweiterte“ Scannen, nahm fast dieselbe Liste von 50.000 Hosts und fügte verschiedene Erkennungstechniken hinzu, wie z. B. Echoantwort, Zeitstempel, SYN- Prüfung des Port-Heaps, und stellte den Quellport 53 ein, um ihn zu maskieren unter dem DNS . Dadurch konnten wir 4473 "lebende" Hosts erkennen, aber es dauerte etwas länger - 4259 s.



Ein Vergleich dieser beiden Scanmethoden - mit den Standard- und erweiterten Optionen - ergab, dass die zweite 167% mehr Zeit in Anspruch nahm (41 Minuten gegenüber 27) und 34% mehr Hosts fand.

Jetzt möchte ich über die Nmap- Upgrades sprechen, die auf Basis dieser Studien durchgeführt wurden.

Die neueste Version von Nmap 4.68 ist unter http://nmap.org/changelog.html verfügbar. Dort wurden Fehler behoben und die Leistung verbessert. Es gibt auch die neueste SVN- Version, die unter http://nmap.org/book/install.html#instsvn zu finden ist.

Ich habe es satt, Fehlermeldungen zu erhalten, die besagen, dass "Ja, wir haben es 2003 behoben", da es viele Leute gibt, die keine häufigen Updates vornehmen möchten. Dann beschweren sie sich, dass das Nmap- Programm längst veraltet ist, weil es Ihnen sagt, welche Portnummern offen sind, aber nicht sagt, welche Dienste dahinter stehen. Vor kurzem habe ich dem Programm eine Reihe von Verbesserungen hinzugefügt. Wenn Sie die fortschrittlichste Version des Programms benötigen - die Veröffentlichung von BHD CO 8 Black Hat DefCon - finden Sie diese unter dem speziellen Link svn: //svn.insecure.org/nmapexp/bhdc08 über das Gast-Login und Passwort. Diese neueste Version enthält die Top Ports- Scanfunktion und einige andere Funktionen, die ich später erläutern werde.

Das Top Ports- Projekt ist also ein weiterer großer Scan von Millionen von IP-Adressen, um offene TCP- und UDP- Ports mithilfe einer Auswahl beliebter Ports zu ermitteln. Einige große Organisationen haben auch die Möglichkeit bereitgestellt, interne Netzwerkdaten zu scannen, die sich hinter Firewalls befinden. Gleichzeitig wurden Nmap- Servicedateien mit Frequenzdaten für jeden Port ergänzt.

Betrachten Sie die Ports, die standardmäßig gescannt wurden. Nmap 4.68 hat 1715 TCP- Ports und 1488 UDP- Ports gescannt, Ports von 1 bis 1024 gescannt und alle benannten höheren Ports. Ich stelle fest, dass viele Häfen vor vielen Jahren erfunden wurden und schon lange nicht mehr genutzt wurden. Gleichzeitig gibt es viele offene namenlose Ports.



Die endgültige Version von Nmap verwendete die Top 1000-Portfrequenzdaten für jedes Protokoll, sodass ich in vielen Fällen die besten Ergebnisse erzielte. Dadurch konnten wir keine Zeit damit verschwenden, alte nicht verwendete Ports zu scannen. Daher ist das Scannen schneller, da etwas mehr als die Hälfte aller vorhandenen Ports tatsächlich gescannt werden.

Ein schneller Scan unterscheidet sich stark von einem Standard-Scan. In Nmap wird es mit dem Buchstaben ( -F ) bezeichnet. Dieses Mal hat Nmap 4.68 1276 TCP- Ports und 1017 UDP- Ports über den gesamten Nummernkreis gescannt. Sie fragen sich vielleicht, warum beim Scannen standardmäßig mehr Ports verarbeitet wurden, aber hier gibt es nichts Dramatisches - ein schneller Scan hat nur weniger Zeit in Anspruch genommen. In diesem Fall überprüfte der Scanner jedoch nicht alle vorhandenen Ports, sondern arbeitete nur mit denen, deren Namen in der neuen Nmap- Dienstdatei enthalten waren. Infolgedessen wurde für jedes Protokoll nach den TOP 100-Ports gescannt, und ich erhielt einen Geschwindigkeitsgewinn, der um eine Größenordnung höher war als beim standardmäßigen Scannen. TCP UDP , , UDP -, . , UDP . , , .
Nmap . U Nmap — sUV – F-T4 UDP -, F – . , Nmap , . , scanme.nmap.org . , , .



, Nmap 4.68 , Blackhat DefCon 08 6 , «» Blackhat DefCon 08 13 . 3 53.

:
- top-ports <n> 

Sie scannte die beliebtesten offenen Ports mit jedem erforderlichen Protokoll und der Funktion:
 –port-ratio <n> 

Wenn n zwischen 0 und 1 ausgewählt wurde, wurden alle Ports mit einer auf dieser Ebene eingestellten Frequenz gescannt.

Die neueste Version arbeitete mit dem Flag " —Version - Intensität 0 ". Dies bedeutete, dass UDP- Anforderungen mit bestimmten Protokollen an bestimmte Ports gesendet wurden, dh für 53 habe ich nur DNS versucht, für 161 Ports nur SNMP usw. Dies reduzierte die Scanzeit auf 13 Sekunden.

Die Moral dieser Geschichte lautet: Wenn Sie wissen, welche Daten Sie wirklich benötigen, können Sie den Scan ein wenig optimieren und ihn viel schneller machen. In diesem Fall haben wir dieselben Daten erhalten, aber anstatt eine Stunde zu warten, haben wir nur 13 Sekunden gewartet. Das Konfigurieren der Funktionen hilft also sehr, insbesondere bei der Top-Port-Funktion. Sie müssen nur zwischen einem Standard-Scan von 1000 Ports und einem schnellen Scan von 100 Ports wählen und willkürlich angeben, wie viele Ports Sie scannen möchten.

Dies wirft die Frage auf, welche Top-Ports-Funktion am besten funktioniert. Die folgende Folie zeigt die Top-10- TCP- Ports und ein Beispiel für die Effizienz der „Tops“, die ich auf der Grundlage empirischer Daten erstellt habe. Dieses Beispiel zeigt, wie viele offene Ports ich mit dem einen oder anderen „Top“ gefunden habe.

Wenn Sie den schnellsten "Zehner" -Scan von Ports verwenden, können Sie etwas mehr als die Hälfte der offenen TCP-Ports erkennen. Mit den "Top 100" -Ports können Sie 73% der offenen Ports erkennen, mit der Standardeinstellung "Top 1000" werden 93% erkannt, aber Sie scannen nur 2% des 65 Tausendstel-Port-Speicherplatzes.



Als Nächstes werde ich Statistiken zum Auffinden offener UDP- Ports bereitstellen. Hier dominieren typische Microsoft- Ports, obwohl es SNMP und NTP gibt .



Die UDP- Effizienz unterscheidet sich von der TCP- Effizienz. Hier wird ein größerer Prozentsatz offener Ports mit niedrigeren "Top" -Werten ermittelt. Mit „Top-100“ -UDP können also 90% der Ports gegenüber 73% für TCP erkannt werden .

Ich habe eine andere Funktion verwendet, die ich kürzlich entwickelt habe: Packet Rate Control .



Ich habe gemischte Gefühle über sie. Ich bin stolz auf die Laststeuerung von Nmap und andere Technologien, um herauszufinden, welche Scan-Geschwindigkeit am besten funktioniert. Aber es gibt viele Leute, die sagen, dass sie Ports einfach mit einer bestimmten Frequenz scannen möchten und sich keine Sorgen machen möchten, wenn Pakete verloren gehen. Dies ist einer der Gründe, warum sie Scanner wie RAND oder Unicorn verwenden . In solchen Fällen habe ich beschlossen, eine Funktion hinzuzufügen, die die maximale und minimale Häufigkeit des Sendens von Paketen pro Sekunde festlegt.

Es stellte sich als sehr nützlich heraus, als ich fast die Sicherungen meines Internet-Hostings „verschmolzen“ habe, weil ich den Scan-Parameter für Nmap mit einer Frequenz von 300 Paketen / s einstellen und diese Jungs vom ISP ein wenig glücklicher machen konnte.

Die folgende Folie zeigt ein Beispiel für die Zusammenstellung aller nützlichen Nmap- Funktionen.



Hier geben Sie die Quell-IP-Adresse ein, die ich für diesen bestimmten Scan verwenden möchte, und geben den Debug-Modus an. Ich habe diese Funktion häufig verwendet, um während des Scans mit dem Programm zu interagieren, da die Benutzer nicht wissen, dass Sie die Taste D drücken und den Debug-Modus öffnen können. Wenn Sie sie mehrmals drücken, können Sie den Bildschirm scrollen und sehen, was Nmap tut der Moment.

Hier habe ich eine niedrige Latenz verwendet, weil ich nicht lange auf Hosts warten wollte, für die die Paketfrequenz begrenzt war. Ich habe die Funktion zum Erstellen einer Protokolldatei mit der Funktion der Zeitwerte STRF angewendet , bei der Datum und Uhrzeit automatisch eingegeben werden.

Als Nächstes habe ich den Namen der Datei eingegeben, die am Ende abgerufen werden soll, und festgestellt, dass ich nicht länger als 1 Sekunde versuchen möchte, zu scannen, da ich so schnell wie möglich eine große Menge an Scans durchführen werde.

Als nächstes wird die Host-Randomisierung notiert, die Anzahl der gescannten Ports wird aufgelistet, eine große Gruppe von MAC-Adressen von Hosts wird angezeigt, die minimale Scan-Frequenz beträgt 175 Pakete pro Sekunde und die maximalen 300 Pakete pro Sekunde.

Dies ist ein Beispiel dafür, wie ich den Nmap- Algorithmus ständig geändert und verbessert habe, bis ich eine Option gefunden habe, die besser funktioniert als andere.

Jetzt möchte ich die verbleibende Zeit nutzen, um Ihnen die neuesten Nmap- Nachrichten zu übermitteln . Einige davon sind neue und interessante Funktionen, beispielsweise die NSE- Scripting-Engine. Dies ist ein modularer Mechanismus, der Ports auf bestimmte Weise abfragt. In diesem Fall erstellen wir HTML- Überschriften für die gefundenen Websites.



Jetzt gibt es mehr als 50 von Nmap unterstützte Skripte, die mit Whois- Daten kompatibel sind , Pop3- Passwörter brutal erzwingen und andere verrückte Dinge, die Sie verwenden möchten.

Jetzt zeige ich Ihnen schnell, wie die Nmap Scripting Engine funktioniert.



Dies ist ein langes Team, daher werde ich es von einem anderen Ort kopieren. Es legt den detaillierten Nmap- Modus fest - pingen Sie nicht, führen Sie keine UDP- Prüfung für Port 53 durch, verwenden Sie aggressives Timing und wenden Sie hier 3 Skripte an, um den DNS- Fehler zu vermeiden, über den Dan letzten Sonntag gesprochen hat. Ein Skript prüft einfach, ob der DNS-Server eine Rekursion zulässt, das zweite prüft, ob die ursprünglichen Portnummern zufällig ausgewählt wurden, und das dritte prüft, ob es eine zufällige Transaktionskennung hat. Dies sind die Fehler, die behoben werden sollen, um das Problem der Cache-Vergiftung zu verringern.

In unserem Fall möchte ich die Funktionsweise von NSE während des Port-Scannens eines der BlackHat- Server und eines der Shmoo.com- Server demonstrieren . Dies dauert etwas, und dann wird direkt neben der Portnummer das Ergebnis angezeigt.

Sie können sehen, dass für blackhat.com mit einer IP-Adresse von 216.231.64.55 beim UDP- Scan-Port 53 in beiden Fällen ein Serverrekursionsfehler empfangen wurde, sodass er nicht weiter "abgefragt" werden konnte. Für den Server archimedes.shmoo.com mit der IP-Adresse 12.21.210.234 fand die Rekursion statt. Aber ich freue mich, berichten zu können, dass es in Bezug auf die Port-Randomisierung großartig war.

Ich wollte eines der wenigen Beispiele zeigen, als mein Unternehmen kläglich gescheitert ist, daher wäre es hier möglich, das Spiel "Wer kann den Cache zuerst vergiften?" Zu spielen, entschied jedoch, dass dies keine gute Idee für unsere Präsentation war. Außerdem habe ich interessanteres Material zu einem Thema, das mich betrifft - dies ist die neue Zenmap-GUI .



Viele Leute sagen, dass sie keine grafische Oberfläche benötigen, weil sie seit 10 Jahren mit Nmap arbeiten und alle 130 Optionen genau kennen. Diese Schnittstelle ist jedoch ein leistungsstarkes Werkzeug für die Arbeit mit dem Scanner, das ich jetzt schnell demonstrieren werde.

Es wird ein Fenster mit der Ausgabe angezeigt, jeder geöffnete Host, Sie können die Filterung der HTTP- oder SSH- Anzeige festlegen und so weiter. Darüber hinaus haben wir der neuesten Version des Scanners eine interessante Funktion hinzugefügt. Für diejenigen, die sagen: "Da Sie dieses Tool eine H-Karte genannt haben , geben Sie mir diese Karte!", Haben wir ein grafisches Diagramm der Topologie des gescannten Netzwerks hinzugefügt.



Dies ist eine ziemlich genaue Sache, die das Ergebnis eines Netzwerkscans zeichnet und in der Mitte des Quellknotens platziert. In konzentrischen Kreisen um diese Mitte wird jeder Sprung zum Netzwerk und zu den Computern angezeigt, die Sie scannen. Sie können einen solchen Knoten nehmen und sagen: "Hey, zeigen Sie mir, was andere Daten für diesen bestimmten Scan sind, zeigen Sie mir offene Ports usw.", dh wenn Sie mit der Maus über einen gelben Kreis fahren, wird ein Fenster mit allen Details geöffnet Scan durchgeführt. Sie können neue Maschinen scannen und diese werden ebenfalls zur Schaltung hinzugefügt. Sie können das Diagramm auch relativ zu einem anderen Host zentrieren. Klicken Sie einfach auf den Knoten und ziehen Sie ihn in die gewünschte Richtung.



Ein weiteres großes Plus der grafischen Oberfläche ist, dass Nmap jetzt mit Windows- Benutzern arbeiten kann, die keine Ahnung haben, wie das Programm über die Befehlszeile gesteuert werden soll. Ich habe bereits Briefe von ihnen erhalten, in denen es geschrieben stand: „Ich habe auf das nmap.exe- Symbol auf dem Desktop doppelklickt , woraufhin für eine Sekunde eine schwarze Box auftauchte und dann alles verschwand. Offensichtlich ist Ihr Programm völlig kaputt. " Also hoffe ich, dass Zenmap GU ich ihnen helfen werde. Andererseits sollten solche Leute Nmap vielleicht überhaupt nicht verwenden.

Wir haben auch ein Betriebssystemerkennungssystem der zweiten Generation.



Es verkörperte alles, was ich in den letzten 7 Jahren in Bezug auf die Betriebssystemerkennung studiert hatte, und enthält 1.500 Signaturen neuer Betriebssysteme. So können Nmap-Benutzer auf unserer nmap.org- Website jedes erdenkliche Tool finden und die Version des Programms für Windows oder Linux herunterladen. Wir haben auch ein Tool zum Erkennen von Softwareversionen.



Es gibt auch eine Funktion namens Grund . Dies ist eine Art Filter, der anzeigt, aus welchem ​​Grund ein Port geöffnet wurde - aufgrund der Verwendung von synthetischen oder ACK- Paketen oder aus welchem ​​Grund der Port geschlossen wurde, z. B. aufgrund eines Neustarts.



Dies ist ein sehr gutes Werkzeug, um zu verstehen, was Nmap tatsächlich tut. Die nächste Funktion, die Ihnen viele nützliche Informationen liefern kann, heißt "Paketverfolgung" oder "Paketverfolgung".



Dank ihr kann ich herausfinden, ob Port 25 der letzte Host ist, der Pakete an mich zurückgibt, oder ob die Firewall sie zurückwirft. Anhand der Paketverfolgung während eines schnellen Nmap- Scans kann ich erkennen, mit welchem ​​Gerät sie interagieren. Hier sehen Sie die Häufigkeit, die verwendeten Scanoptionen, die IP-ID und mit dieser Funktion kann ich herausfinden, ob derselbe Host mir in beiden Fällen Pakete gesendet hat oder nicht. Dies ist hilfreich, um die verwendeten Firewalls und Filtersysteme zu verstehen.

Eine weitere Funktion namens Advanced Traceroute zeigt, welche Art von Klang für die Penetration am besten geeignet ist. Dies ist eine schnelle Funktion, da Nmap sie parallel zum Scannen ausführen kann.



Als Nächstes habe ich einige Verbesserungen der Leistung und Scangenauigkeit vorgenommen.



Auf der Hauptseite der Programmoberfläche befindet sich ein ganzer Abschnitt, in dem alle Optionen aufgeführt sind, mit denen Sie arbeiten können. Als Nächstes haben wir die Option TCP und IP- Header, mit der Sie die Quellroute oder den Quelldatensatz angeben können.



Viele von Ihnen werden sagen, dass die ursprünglichen Routen vor 15 Jahren benötigt wurden und jetzt niemand sie mehr braucht. Aber ich habe mit einem Mann gesprochen, der kürzlich ein lokales Netzwerk in einer Firma getestet hat. Es befand sich in einem Konferenzraum und konnte nur eine Verbindung zu Servern einer bestimmten Serie herstellen, sodass kein Kontakt zu allen Computern des Unternehmens hergestellt werden konnte. Sie hatten so etwas wie eine DMZ erstellt, um Zugang zum Konferenzraum zu erhalten. Dann nahm dieser Typ einen ihrer Server und verlor die ursprüngliche Route durch ihn, fand den Zielcomputer und konnte so diese Einschränkung umgehen.

Wir haben ein weiteres brandneues Tool namens Ncat entwickelt .



Dies ist eine moderne Netcat- Interpretation des ehrwürdigen Hobbits. Es unterstützt praktisch alle Funktionen von Netcat 1.10 , mit Ausnahme des grundlegenden Port-Scanners, da ich meine Nmap lieber als Scanner verwende. Es unterstützt auch viele neue coole Funktionen: SSL, IPv6 auf verschiedenen Plattformen unter Linux, Windows, Mac OS , Netzwerkvermittlung, Portweiterleitung, Proxys (Client, Server, Kette) zum Scannen über einen anderen Computer, Shell-Ausführung, Zugriffskontrolle usw. Dieses Programm wurde 2005 von Chris Catterjon erstellt und ist jetzt vollständig zur Veröffentlichung bereit. Chris fügte auch einige Funktionen hinzu, wie IP-Optionen und Ping-Erkennungsmodus.

Das nächste Tool ist Ndiff , auf dessen Erscheinung viele lange gewartet haben.



Dieses Dienstprogramm vergleicht die Ergebnisse von zwei oder mehr Scans und zeigt die Änderungen an: neue oder Remote-Hosts, Ports, geänderte Dienste usw. Es ist ideal, um Änderungen beim erneuten Scannen schnell zu erkennen. Zum Beispiel scanne ich jeden Tag das Netzwerk eines Unternehmens und rufe am Ende der Arbeit dieses Dienstprogramm auf und sage: „Senden Sie mir die Änderungen, die seit gestern vorgenommen wurden“. So kann ich neue offene Ports, hinzugefügte Computer usw. sehen.

Abschließend möchte ich Ihnen mein Buch „Network Scanning Using Nmap“ zeigen, an dem ich seit mehreren Jahren arbeite. Es wird nicht nur über die Funktionen meines Netzwerkscanners berichtet, sondern auch über Netzwerk-Scan-Techniken.



Ich habe 170 Exemplare dieses Buches gedruckt, das ich hier verteilen möchte, aber ich befürchte, dass sie am nächsten Morgen verkauft werden. Das Buch wird auch bei Amazon verkauft und kann unter denman.org/book kostenlos heruntergeladen werden . Sie können sich der Nmap- Hackerliste hinzufügen und Neuigkeiten über mein Programm erhalten.

Auf der folgenden Folie sind diejenigen aufgeführt, die zur Verbesserung des Nmap- Programms beigetragen haben, beginnend mit Version 4.50, die vor 9 Monaten veröffentlicht wurde. Ohne ihre Hilfe hätte ich nichts tun können. Unser Projekt ist den Freiwilligen sehr dankbar, die sich ihm angeschlossen haben und dazu beigetragen haben, dass es besser wird.

Und jetzt habe ich noch Zeit, ein paar Fragen zu beantworten.

In der Tat fühle ich mich in Deutschland, Großbritannien und anderen Ländern, in denen Gesetze verabschiedet wurden, die Menschen verbieten, Tools wie Nmap zu verwenden, nicht sehr wohl. Ja, sowohl gute als auch schlechte Menschen können sie verwenden, aber es ist besser, ihre Netzwerke zu verbessern und sich nicht ähnlich zu verhalten wie diejenigen, die den Einsatz von Hämmern verbieten, weil sie eine Person töten können. Persönlich spreche ich gerne in Deutschland und England, daher kann ein solches Verbot ein potenzielles Problem für mich sein, weil ich nicht wegen Gesetzesverstoßes verhaftet werden möchte.



Ich konnte dem Richter nicht einmal erklären, was meine Motivation ist, da ich die deutsche Sprache überhaupt nicht kenne. Daher bin ich froh, dass einige Vereinigungen gegen dieses Gesetz kämpfen.

Wenn Sie noch Fragen haben, beantworte ich diese gerne in Raum 103 direkt gegenüber der Halle. Vielen Dank für Ihre Aufmerksamkeit!




Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden empfehlen, einen Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie hier bestellen.

Dell R730xd 2 mal günstiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie, wie Sie eine Infrastruktur aufbauen Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?

Source: https://habr.com/ru/post/de422767/


All Articles