In diesem Artikel wird eine kurze Erzählung darüber gegeben, was uns eine scheinbar alltägliche Sache wie NetBIOSerzählen kann. Welche Informationen kann es einem potenziellen Angreifer/Pentester bereitstellen?
Der demonstrierte Anwendungsbereich von Aufklärungstechniken bezieht sich auf interne, also isolierte und von außen nicht zugängliche Netzwerke. solche Netzwerke sind in der Regel in jeder selbst kleinsten Firma zu finden.
Selbst NetBIOS wird in der Regel verwendet, um einen Netzwerknamen zu erhalten. Und das wird ausreichen, um mindestens 4 Dinge zu tun.
Hosterkennung
Dank der Tatsache, dass NetBIOS UDP als Transportprotokoll verwenden kann, ermöglicht seine Geschwindigkeit die Erkennung von Hosts in sehr großen Netzwerken. Zum Beispiel kann das Tool nbtscan, das Teil des gleichnamigen Pakets ist, innerhalb von nur 2 Sekunden (kann das Netzwerk überlasten) Adressen im Netzwerkbereich 192.168.0.0/16 auflösen, während traditionelles TCP-Scanning Dutzende von Minuten in Anspruch nehmen würde. Dieses Merkmal kann als Technik zur Hosterkennung (Host Sweep) in sehr großen Netzwerken genutzt werden, über die nichts bekannt ist, bevor nmap gestartet wird. Obwohl das Ergebnis keine 100%ige Erkennung garantiert, da hauptsächlich Windows-Hosts antworten und auch nicht alle, wird es dennoch helfen, in etwa zu bestimmen, in welchen Bereichen sich lebende Hosts befinden.
Hostidentifizierung
Durch die Verwendung der Ergebnisse der Namensabfrage aus IP-Adressen:

kann man sehen: abgesehen davon, dass der Name den Besitzer des Arbeitsplatzrechners offenbart (obwohl dies in der Tat nicht immer der Fall ist), sticht eine der Adressen eindeutig hervor. Wir können sehen, dass der Name erhalten wurde KALI. Ein solches Verhalten ist in der Regel charakteristisch für unix-Implementierungen von SMB/NetBIOS im Rahmen des Softwarepakets samba oder sehr alte Windows 2000.
Namensabfrage KALI, während auf anderen Hosts dies <unknown> auf das Vorhandensein einer sogenannten Null-Sitzunghinweist. Bei den Standardkonfigurationen SMB-Server sind linux dazu neigen. Die Null-Sitzung ermöglicht es, absolut anonym (und wir haben keine Passwörter eingegeben, wie man auf dem Screenshot sehen kann) ziemlich viele zusätzliche Informationen zu erhalten, wie z. B. lokale Passwortpolitiken, eine Liste lokaler Benutzer, Gruppen und eine Liste freigegebener Ressourcen:

Häufig auf Linux SMB-Server können sowohl öffentlich zugängliche Freigaben haben, die nicht nur zum Lesen, sondern sogar zum Schreiben geeignet sind. Das Vorhandensein beider Arten birgt verschiedene Risiken, deren Nutzung den Rahmen dieses Artikels sprengt.
NetBIOS ermöglicht auch den Zugang zu den Namen aller Typen, die die Workstation speichert:

in diesem Fall zeigt es an, dass der Host auch ein Domänencontroller ist. ARRIVA.
Es ist auch erwähnenswert, dass NetBIOS ermöglicht zu erhalten mac-Adresse. Im Gegensatz zu ARP-Anfragen können NetBIOS-Anfragen über Subnetzgrenzen hinausgehen. Dies kann nützlich sein, wenn beispielsweise ein Laptop oder spezifische Hardware im Netzwerk gefunden werden muss, wenn man den Hersteller kennt. Da die ersten drei Oktette mac-Adressen den Hersteller identifizieren, kann man versuchen, solche NetBIOS-Anfragen an alle bekannten Subnetze zu senden, um das benötigte Gerät zu finden (http://standards-oui.ieee.org/oui.txt).
Bestimmung der Zugehörigkeit zu Domain
Häufig muss man beim Navigieren in internen Unternehmensnetzwerken genau die Workstation angreifen, die in der Domain eingeschlossen ist (zum Beispiel, um Privilegien auf das Niveau eines Domainadministrators zu erhöhen) oder umgekehrt. In diesem Fall NetBIOS kann wiederum helfen:

In diesem Fall wurden mit Hilfe von NetBIOS alle Namen aller Typen erhalten. Neben dem PC-Namen (der bereits zuvor erhalten wurde) kann auch der Name der Arbeitsgruppe gesehen werden. Standardmäßig für windows ist es normalerweise etwas wie WORKGROUP oder IVAN-PC, aber wenn die Workstation in der Domain ist, dann ist ihre Arbeitsgruppe der Domänenname.
So kann man mithilfe von NetBIOS herausfinden, ob die Workstation in der Domain ist, und wenn ja, in welcher.
Wenn man jedoch eine Liste der Domain-Hosts innerhalb des Subnetzes erhalten möchte, reicht eine einzige Broadcast-Anfrage mit dem Namen der benötigten Domain aus:

als Ergebnis antworten alle Hosts, die zu dieser Domain gehören.
Erkennung von Multihomed-Hosts
Und schließlich eine möglicherweise sehr wenig bekannte Technik, die einfach unverzichtbar für das Auffinden von Pfaden in geschützte, möglicherweise sogar physisch isolierte Netzwerke. Diese könnten Werkstattnetzwerke von Unternehmen sein, die mit Controllern ausgestattet sind. Der Zugang zu diesem Netzwerk bedeutet für den Angreifer, Einfluss auf den technologischen Prozess nehmen zu können, und für das Unternehmen besteht das Risiko enormer Verluste.
Die Essenz ist, dass selbst wenn ein Netzwerk isoliert ist von dem Unternehmensnetz, einige Administratoren oft eine zusätzliche Netzwerkkarte auf ihren PCs aktivieren, um Zugang zu diesem Netzwerk zu erhalten, sei es aus Faulheit oder aus anderen Gründen. Dies geschieht natürlich oft in Umgehung aller Regeln der Unternehmensfirewalls. Praktisch, ja, aber nicht besonders sicher, denn falls Sie gehackt werden, werden Sie zur Brücke in dieses Netzwerk und tragen die Verantwortung.
Allerdings gibt es für den Angreifer hier ein Problem – herauszufinden, wer der Administrator ist, der sich auf illegale Weise mit dem geschützten Netzwerk verbunden hat. Darüber hinaus ist dies auch für die Sicherheitsexperten des Netzwerks eine komplizierte Aufgabe. In großen Unternehmen ist dies in der Tat eine komplexe Herausforderung, vergleichbar mit der Suche nach einer Nadel im Heuhaufen.
In dieser Situation wären für den Angreifer offensichtlich zwei Optionen möglich:
1. zu versuchen, jeden PC im Unternehmenssubnetz als Gateway zum gewünschten Netzwerk zu nutzen. Das wäre sehr praktisch, kommt aber selten vor, da auf windows Hosts IP-Forwarding fast immer deaktiviert ist. Darüber hinaus ist eine solche Prüfung nur innerhalb des eigenen Subnetzes möglich, und der Angreifer muss auch die Zieladresse im isolierten Netzwerk genau kennen.
2. zu versuchen, sich remote auf jeden Host zu verbinden und den einfachen Befehl ipconfig/ifconfigauszuführen. Und hier ist nicht alles so einfach. Selbst wenn der Angreifer die Rechte eines Domänenadministrators hat, gibt es immer noch Firewalls und lokale Sicherheitsvorkehrungen. Daher kann diese Aufgabe nicht zu 100 % automatisiert werden. Somit bleibt es mühsam, sich auf jeden Host zu verbinden und die Netzwerksperren zu überwinden (die oft genau den Port 445/tcp blockieren), in der Hoffnung, endlich das gewünschte Netzwerkinterface zu sehen.
Es gibt jedoch einen enorm einfachen Trick, mit dem man von einem bestimmten Host die Liste der Netzwerkschnittstellen abrufen kann. Angenommen, wir haben einen bestimmten Host:

das ist die Rückauflösung der IP-Adresse → des Netzwerknamens. Wenn wir nun versuchen, eine direkte Auflösung des Netzwerknamens → IP-Adresse durchzuführen:

werden wir feststellen, dass dieser Host anscheinend auch ein Gateway in ein anderes Netzwerk ist. Es ist zu beachten, dass die Anfrage in diesem Fall breit gefächert war. Mit anderen Worten, sie wird nur von Hosts aus dem Subnetz des Angreifers gehört.
Wenn sich der Zielhost jedoch außerhalb des Subnetzes befindet, kann eine gezielte Anfrage gesendet werden:

In diesem Fall ist deutlich zu erkennen, dass das Ziel außerhalb des Subnetzes des Angreifers liegt. Mit dem Schlüssel -B wurde angegeben, dass die Anfrage an eine spezifische Adresse und nicht an die Broadcast-Adresse gesendet werden soll.
Jetzt bleibt nur noch, schnell Informationen aus dem gesamten interessierenden Subnetz zu sammeln und nicht nur von einer Adresse. Dazu kann ein kleines python-Skript verwendet werden:

Und nach ein paar Sekunden:

Genau der dedizierte Host wäre in diesem improvisierten Fall das erste Ziel des Angreifers gewesen, wenn dieser das Netzwerk 172.16.1/24 angegriffen hätte.

Wiederholte Namen auf verschiedenen IPs deuten darauf hin, dass der Host auch zwei Netzwerkkarten, jedoch im gleichen Subnetz hat. Hier ist zu beachten, dass NetBIOS nicht offenbart Alias- (die leicht über ARP-Anfragen als IPs mit identischem mac). In diesem Fall IP-Adresse unterschiedliche mac.
Ein weiteres Beispiel für die Verwendung dieser Technik ist öffentliches Wi-Fi. Manchmal kann man auf eine Situation stoßen, in der unter den Gastgeräten in einem öffentlichen Netzwerk Mitarbeiter arbeiten, die im geschlossenen Unternehmenssegment tätig sind. Dann kann der Angreifer mit dieser Aufklärungstechnik sehr schnell einen Weg in das geschlossene Netzwerk planen:

In diesem Fall kamen unter 65 Kunden des öffentlichen Wi-Fi zwei Arbeitsstationen vor, die ein zusätzliches Interface hatten, das wahrscheinlich zum Unternehmensnetzwerk gehört.
Wenn gelegentlich zwischen den Netzsegmenten oder direkt auf den Arbeitsstationen der Datenverkehr am Port 445/tcp gefiltert wird, was den entfernten Zugriff auf das System (Remote Code Execution) verhindert, wird in diesem Fall der Port 137/udp zur Namensauflösung verwendet, dessen bewusste Sperrung kaum vorkommt, da dies die Benutzerfreundlichkeit im Netzwerk stark beeinträchtigen würde, z. B. kann die Netzwerkumgebung verschwinden usw. NetBIOS enumeration is the key
Wie man sagt, Gibt es einen Schutz dagegen? Es gibt keinen, da dies keine Schwachstelle ist. Es ist nur die Standardfunktion von dem, was standardmäßig bei
das Verhalten ist etwas anders). Und wenn Sie versehentlich gegen die Regeln der Netzwerkrouting-Kontrolle in einem geschlossenen Segment aktiv geworden sind, wird der Angreifer Sie definitiv finden und dies sehr schnell tun. windows (in linux Das Verhalten unterscheidet sich ein wenig. Und wenn Sie plötzlich, ohne die Regeln des Netzwerk-Routing zu beachten, sich in ein geschlossenes Segment eingeklinkt haben, wird der Angreifer Sie schnell finden.
Quelle: habr.com
