Das SMB Protokoll hat eine große Verbreitung in Unternehmens- und auch Privatnetzwerken und hat aus diesem Grund eine große Bedeutung für Pentester.^

Was ist SMB?

SMB steht für Server Message Block und ist ein Protokoll, um stellt bestimmte Serverdienste in Netzwerken zur Verfügung. Am prominentesten ist dabei vermutlich die Freigabe von Dateien in Windowsnetzwerken, aber SMB kann auch Drucker und andere Dienste bereitstellen. Gibt man einen Ordner auf einem Windowsrechner mit der Freigabe-Funktion frei, dann wird hier SMB verwendet.

Wie erkennt man SMB-Dienste in Netzwerken?

SMB kann mit verschiedenen Bezeichnungen verknüpft werden. Zum Einen ist eine alte Bezeichnung für SMB die Abkürzung CIFS (Common Internet File System). Um Samba in TCP/IP-Netzen einzusetzen wurde anfangs NetBIOS over TCP/IP genutzt aus diesem Grund weisen auch die TCP-Ports 137-139 (NetBIOS bzw. NBT) auf die Nutzung von SMB hin. Aktuelle Versionen von SMB in Windowsnetzwerken nutzen direkt den TCP-Port 445. Aus Kompatibilitätsgründen sind meist beide Ports auf einem Rechner mit einer SMB-Freigabe geöffnet.

Zusätzlich gibt es noch eine Linux-Implementierung von SMB: Samba.

Wie kann SMB gescannt und ausgenutzt werden als Angreifer?

In Kali Linux sind die Tools smbmap und smbclient für die SMB-Enumeration nützlich. Sofern man als Angreifer keine Zugangsdaten für eine SMB-Freigabe hat, kann man immer einen anonymen Login versuchen:

smbmap -u '' -H 192.168.1.15
smbmap -u 'anonymous' -H 192.168.1.15
smbclient -U 'anonymous' -P 'anonymous' -L \\\\192.168.1.15\\

Sofern ein anonymer Login erlaubt ist, würden alle Befehle die Freigaben auflisten. Der Vorteil von smbmap ist, dass direkt aufgelistet wird, welche Zugriffsrechte der aktuelle User auf die Freigabe hat (read, write, none). Oft können hier dann sensible Daten ausgelesen werden.

Zusätzlich zu häufigen Preisgaben von sensiblen Informationen gibt es auch einige öffentliche Exploits für bestimmte SMB-Versionen. Exploits, wie EternalBlue, SambaCry oder Trans2Open, betreffen eine relativ große Versionsbereiche und sind in Metasploit verfügbar.

Eine wichtige Anmerkung noch zu SMB: Hat man als Angreifer Zugangsdaten eines Administrators eines Systems mit einer SMB-Freigabe, kann man mit psexec eine Shell als Administrator starten. SMB bildet also hier ein gewisses Pendant zu SSH auf Linuxsystemen.

SMB aus Verteidigerperspektive

Aus der Verteidigerperspektive sollte man das SMB-Protokoll immer in der aktuellen Version, also dringend SMBv1 deaktivieren! Zusätzlich sollte man in Unternehmensnetzwerken regelmäßig nach SMB-Freigaben scannen. Da lokale Admins diese Freigabe selbst erstellen können, kann hier Wildwuchs entstehen, d.h. es muss gescannt werden, ob Freigaben mit Everyone oder authenticated Users bestehen und diese hinterfragen!


1 Kommentar

Überblick Pentesting – Maxanit Consulting · Januar 1, 2021 um 9:02 pm

[…] SMB […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.