NetBIOS in den Händen eines Hackers

Dieser Artikel wird eine kurze Geschichte darüber erzählen, was wir so etwas Vertrautes wie NetBIOS erzählen können. Welche Informationen kann er für einen potenziellen Angreifer / Pentester bereitstellen?

Der demonstrierte Anwendungsbereich von Aufklärungstechniken bezieht sich auf interne, dh isolierte und von externen Netzwerken nicht zugängliche Netzwerke. Solche Netzwerke existieren in der Regel auch für kleinste Unternehmen.

NetBIOS selbst wird in der Regel verwendet, um einen Netzwerknamen zu erhalten. Und das wird ausreichen, um mindestens 4 Dinge zu tun.

Hosterkennung


Aufgrund der Tatsache, dass NetBIOS UDP als Transportmittel verwenden kann, ermöglicht seine Geschwindigkeit die Erkennung von Hosts in sehr großen Netzwerken. So kann beispielsweise das im gleichnamigen Paket enthaltene nbtscan- Tool Netzwerkadressen vom Typ 192.168.0.0/16 nur in 2 Sekunden auflösen (es kann ein Netzwerk einrichten ), während das herkömmliche TCP-Scannen mehrere zehn Minuten dauert. Diese Funktion kann als Host-Sweep-Technik in sehr großen Netzwerken verwendet werden, die vor dem Start von nmap nicht bekannt sind. Obwohl das Ergebnis keine 100% ige Erkennung garantiert, da Windows-Hosts meistens und nicht alle reagieren, können Sie dennoch ungefähr bestimmen, in welchen Bereichen sich Live-Hosts befinden.

Host-Identifikation


Verwenden der Ergebnisse zum Abrufen von Namen von IP-Adressen:

Bild

Sie können sehen: Zusätzlich zu der Tatsache, dass der Name den Besitzer der Workstation angibt (obwohl dies übrigens bei weitem nicht immer der Fall ist), hebt sich eine der Adressen deutlich von den anderen ab. Wir können sehen, dass der Name KALI erhalten wurde. Dieses Verhalten ist in der Regel typisch für die Unix- Implementierung von SMB / NetBIOS als Teil des Samba- Softwarepakets oder von sehr altem Windows 2000 .

Wenn Sie den Namen KALI erhalten , zeigt dieses < unbekannte > auf anderen Hosts das Vorhandensein der sogenannten Null-Sitzung an . Mit den Standardeinstellungen ist der SMB- Server unter Linux dafür anfällig. Mit der Null-Sitzung können Sie nur eine ganze Reihe zusätzlicher Informationen abrufen, z. B. eine lokale Kennwortrichtlinie, eine Liste lokaler Benutzer, Gruppen und eine Liste freigegebener Ressourcen (Ball), absolut anonym (und wir haben keine Kennwörter eingegeben, wie Sie auf dem Bildschirm sehen können):

Bild

Auf Linux-SMB- Servern gibt es häufig öffentlich zugängliche Bälle, nicht nur zum Lesen, sondern auch zum Schreiben. Das Vorhandensein von beiden birgt verschiedene Bedrohungen, deren Verwendung den Rahmen dieses Artikels sprengt.

Mit NetBIOS können Sie auch die Namen aller Typen abrufen, die auf der Workstation gespeichert sind:

Bild

In diesem Fall können Sie feststellen, dass der Host auch ein ARRIVA- Domänencontroller ist.

Es lohnt sich auch, besonders darauf zu achten, dass Sie mit NetBIOS eine Mac- Adresse erhalten. Darüber hinaus können NetBIOS-Anforderungen im Gegensatz zu Arp-Anforderungen über das Subnetz hinausgehen. Dies kann nützlich sein, wenn Sie beispielsweise einen Laptop oder eine bestimmte Hardware im Netzwerk suchen müssen und dessen Hersteller kennen. Da die ersten drei Oktette der Mac- Adresse den Hersteller identifizieren, können Sie ähnliche NetBIOS- Anforderungen an alle bekannten Subnetze senden, um das benötigte Gerät zu finden (http://standards-oui.ieee.org/oui.txt).

Bestimmung der Domain-Mitgliedschaft


Wenn Sie sich durch interne Unternehmensnetzwerke bewegen, müssen Sie häufig die in der Domäne enthaltene Workstation angreifen (z. B. um die Berechtigungen auf die Ebene des Domänenadministrators zu erhöhen) oder umgekehrt. In diesem Fall kann NetBIOS erneut helfen:

Bild

In diesem Fall wurden unter Verwendung von NetBIOS alle Namen aller Typen erhalten. Darunter sehen Sie neben dem Namen des PCs (was bereits zuvor empfangen wurde) den Namen der Arbeitsgruppe. Standardmäßig handelt es sich bei Windows normalerweise um WORKGROUP oder IVAN-PC . Wenn sich die Arbeitsstation jedoch in einer Domäne befindet, ist ihre Arbeitsgruppe der Domänenname.

Mit NetBIOS können Sie also herausfinden, ob und in welcher Domäne sich eine Workstation in einer Domäne befindet.

Wenn Sie eine Liste der Domänenhosts im Subnetz abrufen möchten, reicht eine Broadcast-Anforderung mit dem Namen der benötigten Domäne aus:

Bild

Infolgedessen antworten alle Hosts in dieser Domäne.

Entdeckung von Multihomed-Hosts


Und schließlich eine andere, wahrscheinlich sehr wenig bekannte Technik, die einfach unverzichtbar ist, um Wege zu finden , um möglicherweise sogar physisch isolierte Netzwerke zu sichern. Es kann ein Werkstattnetzwerk von Unternehmen sein, die mit Controllern gefüllt sind. Für einen Angreifer bedeutet der Zugriff auf dieses Netzwerk die Möglichkeit, den technologischen Prozess zu beeinflussen, und für ein Unternehmen besteht das Risiko großer Verluste.

Das Fazit ist also, dass selbst wenn das Netzwerk vom Unternehmensnetzwerk isoliert ist, einige Administratoren häufig entweder aufgrund ihrer Faulheit oder auf irgendeine Weise eine andere Netzwerkkarte auf ihren PCs erheben möchten, um auf dasselbe Netzwerk zuzugreifen. Darüber hinaus geschieht dies natürlich unter Umgehung aller möglichen Regeln für Unternehmensfirewalls. Praktisch, ja, aber nicht sehr sicher. Wenn Sie gehackt werden, werden Sie zu einer Brücke zu diesem Netzwerk und tragen die Verantwortung.
Für den Angreifer besteht jedoch ein Problem darin, genau den Administrator zu finden, der auf ähnliche illegale Weise dem sicheren Netzwerk beigetreten ist. Darüber hinaus ist dies für das Netzwerksicherheitspersonal selbst kein einfaches Problem. In großen Unternehmen ist dies wirklich eine schwierige Aufgabe, als würde man eine Nadel im Heuhaufen finden.

In dieser Situation gibt es zwei offensichtliche Optionen für einen Angreifer:

  1. Versuchen Sie, jeden PC im Unternehmenssubnetz als Gateway zum gewünschten Netzwerk zu verwenden. Es wäre sehr praktisch, aber dies wird selten gesehen, da auf Windows- Hosts die IP-Weiterleitung fast immer deaktiviert ist. Darüber hinaus ist eine solche Überprüfung nur innerhalb des eigenen Subnetzes möglich, und der Angreifer muss die Zieladresse des isolierten Netzwerks genau kennen
  2. Versuchen Sie, sich remote bei jedem Host anzumelden und den banalen Befehl ipconfig / ifconfig auszuführen. Und hier ist nicht alles so glatt. Selbst wenn ein Angreifer die Rechte eines Domänenadministrators gesichert hat, hat niemand die Firewalls und lokalen Firewalls abgebrochen. Diese Aufgabe ist also nicht zu 100% automatisiert. Infolgedessen bleibt es schmerzhaft, zu jedem Host zu gehen und Firewalls zu überwinden (die oft genau den 445 / tcp-Port blockieren), in der Hoffnung, endlich die begehrte Netzwerkschnittstelle zu sehen.

Alles ist jedoch viel einfacher. Es gibt einen extrem einfachen Trick, mit dem Sie eine Liste der Netzwerkschnittstellen von einem bestimmten Host abrufen können. Nehmen wir an, wir haben einen bestimmten Gastgeber:

Bild

Dies ist die IP-Adresse des Reverse Resolvers → Netzwerkname. Wenn wir jetzt versuchen, einen direkten Resolv-Netzwerknamen zu erstellen → IP-Adresse:

Bild

dann werden wir herausfinden, dass dieser Host (anscheinend) auch ein Gateway in einem anderen Netzwerk ist. Es ist erwähnenswert, dass in diesem Fall die Anfrage gesendet wurde. Mit anderen Worten, Hosts hören es nur vom Subnetz des Angreifers.

Befindet sich der Zielhost außerhalb des Subnetzes, können Sie eine gezielte Anfrage senden:

Bild

In diesem Fall ist zu erkennen, dass sich das Ziel außerhalb des Subnetzes des Angreifers befindet. Mit dem Schalter -B wurde angegeben, dass die Anforderung an eine bestimmte Adresse und nicht an die Broadcast-Adresse gesendet werden soll.

Jetzt müssen nur noch schnell Informationen aus dem gesamten interessierenden Subnetz und nicht aus einer einzigen Adresse gesammelt werden. Dazu können Sie ein kleines Python- Skript verwenden:

Bild

Und nach ein paar Sekunden:

Bild

In diesem improvisierten Fall war es ein dedizierter Host, der das erste Ziel des Angreifers wurde, wenn er das Netzwerk 172.16.1 / 24 verfolgte.

Bild

Doppelte Namen auf verschiedenen IP-Adressen zeigen an, dass der Host auch zwei Netzwerkkarten hat, jedoch im selben Subnetz. Es ist erwähnenswert, dass NetBIOS keinen Alias offenlegt (der leicht über Arp-Anfragen wie IP mit demselben Mac berechnet werden kann). In diesem Fall haben die IP-Adressen unterschiedliche Macs .

Ein weiteres Beispiel für die Verwendung dieser Technik ist öffentliches WLAN. Manchmal ist es möglich, eine Situation zu treffen, in der unter den Gastgeräten Mitarbeiter des geschlossenen Unternehmenssegments mit dem öffentlichen Netzwerk verbunden sind. Mit Hilfe dieser Aufklärungstechnik kann ein Angreifer dann sehr schnell selbst einen Weg für den Übergang in ein geschlossenes Netzwerk bestimmen:

Bild

In diesem Fall gab es unter 65 öffentlichen Wi-Fi-Clients zwei Workstations mit einer zusätzlichen Schnittstelle, die wahrscheinlich mit dem Unternehmensnetzwerk zusammenhängen.

Wenn manchmal eine Filterung des Datenverkehrs zum 445 / tcp-Port zwischen Netzwerksegmenten oder direkt an Arbeitsstationen beobachtet wird, wodurch eine Remote-Anmeldung am System verhindert wird (Remote-Code-Ausführung), wird in diesem Fall der 137 / udp-Port zum Auflösen von Namen in NetBIOS verwendet , das fast nie bewusst blockiert wird tritt auf, weil die Netzwerkbenutzbarkeit stark darunter leidet, z. B. kann die Netzwerkumgebung verschwinden usw.

Wie sie sagen, ist die Aufzählung der Schlüssel
Gibt es einen Schutz dagegen? Es ist nicht, weil es nicht in allem eine Schwachstelle ist. Dies ist nur die Standardfunktionalität von Little, über die Windows standardmäßig verfügt (unter Linux ist das Verhalten etwas anders). Und wenn Sie plötzlich uneinheitlich die Regeln des Netzwerkroutings umgehen und sich einem geschlossenen Segment anschließen, wird der Angreifer Sie mit Sicherheit finden und dies sehr schnell tun.

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


All Articles