Netbios NBT-NS Poisoning

Was ist Netbios over TCP und warum ist das "Vergiften" dieser Pakete so gravierend?

In einem unserer letzten Beiträge haben wir aufgezeigt, wie wir mit LLMNR (Link-local Multicast Name Resolution) Poisoning durch einen Man-In-The-Middle-Angriff Informationen und Passwort-Hashes erlangt haben. In diesem Beitrag möchten wir uns um das „Vorgängerprotokoll“ NBT-NS (Netbios-Nameservice) kümmern, mit dem wir ebenfalls die Pakete „Vergiften“ können.

Wie funktioniert NBT-NS?

NetBios over TCP/IP oder NBT-NS ist ein altes Protokoll zur Namensauflösung, sollten die DNS-Server im Netzwerk keine passenden Namen liefern können. Der Host nutzt dieses Protokoll als Broadcast, um selbst nach dem passenden Dienst zu suchen.

Netbios wird in Windows-Versionen bis zu Windows ME verwendet, um höhere Netzwerkfunktionen (Server Message Block (SMB)) zu realisieren. Neuere Windows Versionen ab Windows 2000 wickeln die SMB-Kommunikation direkt über TCP-Port 445 ab.

Standardmäßig ist die NetBIOS-over-TCP/IP-Unterstützung für alle Schnittstellen in allen Windows-Versionen aktiviert.

Das Protokoll befindet sich auf folgenden Ports:

UDP 137: Namensauflösung
UDP 138: Datagram Service
TCP 139:  Session Service

Die Arbeitsweise das Protokolls kann über fünf Nodes eingestellt werden.

Netbios Arbeitsweisen

Standardmäßig nutzt NBT-NS den H-Node (hybrid) für die Namensauflösung und Namensregistrierung. Diese ist eine Kombination aus Broadcastanfragen (B-Node) und Peer-to-Peer-Anfragen (P-Node).

Du willst Dir die Folgen eines erfolgreichen Hackerangriffs auf
Dein IT-System ersparen?
Teste jetzt deine IT durch einen professionellen Penetrationstest!
Zum Penetrationstest

Offence: Wie funktioniert der NBT-NS Poisoning Angriff?

Ähnlich, wie beim LLMNR-Poisoning Angriff wird ohne passende Antwort des DNS-Servers auf NTB-NS verwendet.

Das heißt es wird versucht im lokalen Netz eine Antwort zu finden, dies kommt meist dann vor, wenn der User sich bei der Suche einer Netzwerkressource vertippt, sich nicht im richtigen Netz befindet, keinen DNS Server konfiguriert hat oder z.B. vergessen hat sich mit dem VPN zu verbinden und somit die gewünschte Netzwerkressource nicht erreichen kann. 

In dem Fall kann der Angreifer dem Client eine Rückmeldung senden, dass er die Netzwerkressource kennt und ihm die IP der gewünschten Ressource schicken. Über diese IP soll er die Netzwerkressource erreichen können, kommt jedoch beim vom Angreifer gehosteten Server an. 

Der Client sendet nun eine Anfrage an die ihm mitgeteilte IP-Adresse. Damit die vermeintliche Berechtigung des Clients aber geprüft werden kann verlangt der Angreifer vom Client nun eine Authentifizierung. Diese kann über Basic-Auth oder Challenge-Response (wie z.B. Net-NTLMv2) stattfinden. Nach der Authentifizierung bekommt der Client nun eine Fehlermeldung, sodass es aussieht, als wurde die Ressource doch nicht gefunden. In den meisten Fällen findet die Authentifizierung ohne User-Interaction statt.

LLMNR Poisoning Knowledge Base
Steigere jetzt die Sicherheit Deines IT-Systems!
Von uns erhältst Du eine ausführliche Beratung!
Jetzt kontaktieren

Die technische Umsetzung mit Responder

Zur technischen Umsetzung des soeben erklärten NBT-NS Poisoning Angriffs kann das Tool Responder verwendet werden.

Zum Start von Responder kann der folgende Befehl verwendet werden:

				
					responder -I <Interface>
				
			

Im Beispielfoto hat sich ein Client auf die Antwort des Angreifers mit Net-NTLMv2 authentifiziert.

Responder bietet eine Vielzahl von Einstellungsmöglichkeiten und Servern und kann auch für gezielte Angriffe konfiguriert werden.

Defence: Möglichkeiten den Angriff zu verhindern

Um NBT-NS Angriffe zu verhindern, bzw. NBT-NS Nutzung zu deaktivieren, gibt es verschiedenste Möglichkeiten. Von der Einstellung über DHCP bis hin zur Deaktivierung über GPO.

DHCP Server

In den DHCP Serveroptionen kann für alle Schnittstellen eine erweiterete Option mitgegeben werden: 001 Microsoft NetBIOS-Deaktiveriungsopiton – 0x2

Erhält ein System einen DHCP-Lease wird NetBIOS automatisch auf allen Schnittstellen deaktiviert.

Group Policy Object

Ebenfalls kann der Node Type via Registierung und GPO mitgegeben werden. Durch diese Änderung wird der NodeType auf P (Peer-to-Peer) geändert. Es erfolgt also keine Namensauflösung über NBT-NS.

GPO Einstellung für Netbios

Interface Settings Clients

Unter den Netzwerkoptionen, Auswählen TCP/IPv4, Erweitert, WINS – kann die Option „Netbios über TCP/IP deaktivieren“ ausgewählt werden.

Diese Anpassung kann auch mittels Powershell-Script über eine GPO in der Domäne ausgerollt werden.

Netbios Einstellungen

Detect: Wie kann ich den Angriff erkennen?

Nach dem Sie NBT-NS in Ihrem Netzwerk deaktiviert haben lohnt es sich den Traffic im Netzwerk zu analysieren. In diesem Zuge sehen Sie ebenfalls, ob es Probleme bei der Umsetzung der Härtungsmaßnahmen gab, oder neue Systeme möglicherweise nicht nach diesem neuen Standard konfiguriert wurden. Wenn Sie dies beachten, haben Sie einen Angriffsvektor im Optimalfall dauerhaft geschlossen.

Suchen Sie nach Broadcast NBT-NS Traffic oder konfigurieren Sie eine IDS-Regel (hier beispielhaft für Snort).

Snort Regel

				
					alert udp any 137 -> any 137 (msg:"NetBIOS NBT\-NS Query Broadcast"; content:"|01 10|"; depth: 46; reference:url,prosec-networks.com/blog/netbios-tcp; classtype:non-standard-protocol; sid:1000001; rev:001;)
				
			

Under Attack

Um einen Angreifer im Netzwerk zu erkennen bieten sich Tools an welche gezielt NBT-NS Anfragen für nicht existente Ressourcen ins Netzwerk senden. Bekommt man nun Anworten auf diese Anfragen befindet sich ein Angreifer im Netzwerk der auf NBT-NS Anfragen wartet.

Zur aktiven Erkennung eines Angreifers im Netzwerk können hierzu Tools wie Conveigh oder HoneyCreds verwendet werden. Hier am Beispiel von Respounder:

React: Wie gehe ich mit erkannten Angreifern im Netzwerk um?

Nach Durchführung der oben genannten Härtungsmaßnahmen und Installation eines Honeypot kann es sein, dass Sie leider feststellen müssen, dass es Angreifer in Ihrem Netz gibt.

Hier besteht die Möglichkeit durch den Honeypot Informationen über den Angreifer zu Sammeln und zu prüfen ob die GPO tatsächlich von allen Clients übernommen wurde.  

Wenn bekannt ist von welcher IP der Angriff erfolgt, kann der Port / MAC Adresse des Angreifers nach ausreichender Informationsgewinnung gesperrt werden um weitere Aktivitäten zu unterbinden.

Besonders im Notfall raten wir Ihnen dazu fachliche Hilfe hinzuzuziehen und so viel wie möglich zu dokumentieren.

Referenzen

Bei der Befassung mit den Folgenden ISMS-Framework-Controls spielt die Schwachstelle und deren Behebung eine Rolle:

ISO 27001:
A. 9.1.2 Zugang zu Netzwerken und Netzwerkdiensten
A.13.1.2 Sicherheit von Netzwerkdiensten

BSI Grundschutz:
NET.1.1.A7

Für die Schwachstelle gibt es einen Eintrag im MITRE ATT&CK Framework:

URL

PSN-ID: PS-TN-2020-0006

ANDERE BEITRÄGE
Teams Guest Enumeration
Teams Guest Enumeration

Azure Active Directory Enumeration durch Gäste in Microsoft Teams Was bedeutet das Finding Teams Guest Enumeration? Microsoft Teams bietet standardmäßig

Mehr lesen »

Inhaltsverzeichnis

Willst Du Teil unseres Teams werden?

Wir verwenden Cookies, um Ihnen die bestmögliche Erfahrung zu bieten. Wenn Sie unsere Website weiterhin besuchen, stimmen Sie der Verwendung von Cookies zu, wie in unserer Datenschutzerklärung beschrieben.