hacktricks/network-services-pentesting/137-138-139-pentesting-netbios.md

101 lines
6.5 KiB
Markdown

# 137,138,139 - Pentesting NetBios
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## NetBios Name Service
**NetBIOS Name Service** spielt eine entscheidende Rolle und umfasst verschiedene Dienste wie **Namensregistrierung und -auflösung**, **Datagrammauslieferung** und **Sitzungsdienste**, die spezifische Ports für jeden Dienst nutzen.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
* Namensdienst für Namensregistrierung und -auflösung (Ports: 137/udp und 137/tcp).
* Datagrammauslieferungsdienst für verbindungslose Kommunikation (Port: 138/udp).
* Sitzungsdienst für verbindungsorientierte Kommunikation (Port: 139/tcp).
### Name Service
Damit ein Gerät an einem NetBIOS-Netzwerk teilnehmen kann, muss es einen eindeutigen Namen haben. Dies wird durch einen **Broadcast-Prozess** erreicht, bei dem ein "Name Query"-Paket gesendet wird. Wenn keine Einwände eingehen, wird der Name als verfügbar betrachtet. Alternativ kann ein **Name Service-Server** direkt abgefragt werden, um die Verfügbarkeit eines Namens zu überprüfen oder um einen Namen in eine IP-Adresse aufzulösen. Tools wie `nmblookup`, `nbtscan` und `nmap` werden verwendet, um NetBIOS-Dienste zu enumerieren, die Servernamen und MAC-Adressen offenbaren.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Durch das Auflisten eines NetBIOS-Dienstes können Sie die Namen abrufen, die der Server verwendet, und die MAC-Adresse des Servers.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Datagram-Verteilungsdienst
NetBIOS-Datagramme ermöglichen eine verbindungslose Kommunikation über UDP und unterstützen direktes Messaging oder Broadcasting an alle Netzwerknamen. Dieser Dienst verwendet den Port **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Session Service
Für verbindungsorientierte Interaktionen erleichtert der **Session Service** ein Gespräch zwischen zwei Geräten, indem er **TCP**-Verbindungen über den Port **139/tcp** nutzt. Eine Sitzung beginnt mit einem "Session Request"-Paket und kann basierend auf der Antwort eingerichtet werden. Der Dienst unterstützt größere Nachrichten, Fehlererkennung und -wiederherstellung, wobei TCP die Flusskontrolle und die Paketübertragung übernimmt.
Die Datenübertragung innerhalb einer Sitzung erfolgt über **Session Message-Pakete**, wobei Sitzungen durch das Schließen der TCP-Verbindung beendet werden.
Diese Dienste sind integraler Bestandteil der **NetBIOS**-Funktionalität und ermöglichen eine effiziente Kommunikation und Ressourcenteilung über ein Netzwerk. Für weitere Informationen zu TCP- und IP-Protokollen siehe die jeweiligen [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) und [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) Seiten.
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Lies die nächste Seite, um zu lernen, wie man diesen Dienst enumeriert:**
{% content-ref url="137-138-139-pentesting-netbios.md" %}
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
{% endcontent-ref %}
## HackTricks Automatische Befehle
```
Protocol_Name: Netbios #Protocol Abbreviation if there is one.
Port_Number: 137,138,139 #Comma separated if there is more than one.
Protocol_Description: Netbios #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for NetBios
Note: |
Name service for name registration and resolution (ports: 137/udp and 137/tcp).
Datagram distribution service for connectionless communication (port: 138/udp).
Session service for connection-oriented communication (port: 139/tcp).
For a device to participate in a NetBIOS network, it must have a unique name. This is achieved through a broadcast process where a "Name Query" packet is sent. If no objections are received, the name is considered available. Alternatively, a Name Service server can be queried directly to check for name availability or to resolve a name to an IP address.
https://book.hacktricks.xyz/pentesting/137-138-139-pentesting-netbios
Entry_2:
Name: Find Names
Description: Three scans to find the names of the server
Command: nmblookup -A {IP} &&&& nbtscan {IP}/30 &&&& nmap -sU -sV -T4 --script nbstat.nse -p 137 -Pn -n {IP}
```
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Unterstützen Sie HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}