# 137,138,139 - Pentesting NetBios
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* 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.
{% endhint %}
## Service de nom NetBios
**Le service de nom NetBIOS** joue un rôle crucial, impliquant divers services tels que **l'enregistrement et la résolution de noms**, **la distribution de datagrammes** et **les services de session**, utilisant des ports spécifiques pour chaque service.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
* Service de nom pour l'enregistrement et la résolution de noms (ports : 137/udp et 137/tcp).
* Service de distribution de datagrammes pour la communication sans connexion (port : 138/udp).
* Service de session pour la communication orientée connexion (port : 139/tcp).
### Service de nom
Pour qu'un appareil participe à un réseau NetBIOS, il doit avoir un nom unique. Cela est réalisé par un **processus de diffusion** où un paquet "Name Query" est envoyé. Si aucune objection n'est reçue, le nom est considéré comme disponible. Alternativement, un **serveur de service de nom** peut être interrogé directement pour vérifier la disponibilité d'un nom ou pour résoudre un nom en une adresse IP. Des outils comme `nmblookup`, `nbtscan` et `nmap` sont utilisés pour énumérer les services NetBIOS, révélant les noms de serveurs et les adresses MAC.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
En énumérant un service NetBIOS, vous pouvez obtenir les noms que le serveur utilise et l'adresse MAC du serveur.
```bash
nmblookup -A
nbtscan /30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n
```
### Service de Distribution de Datagrammes
Les datagrammes NetBIOS permettent une communication sans connexion via UDP, prenant en charge la messagerie directe ou la diffusion à tous les noms de réseau. Ce service utilise le port **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Service de session
Pour les interactions orientées connexion, le **Service de session** facilite une conversation entre deux appareils, en utilisant des connexions **TCP** via le port **139/tcp**. Une session commence par un paquet "Demande de session" et peut être établie en fonction de la réponse. Le service prend en charge des messages plus volumineux, la détection d'erreurs et la récupération, avec TCP gérant le contrôle de flux et la retransmission des paquets.
La transmission de données au sein d'une session implique des **paquets de message de session**, les sessions étant terminées par la fermeture de la connexion TCP.
Ces services sont essentiels au fonctionnement de **NetBIOS**, permettant une communication efficace et le partage de ressources à travers un réseau. Pour plus d'informations sur les protocoles TCP et IP, consultez leurs pages respectives [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) et [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol).
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Lisez la page suivante pour apprendre à énumérer ce service :**
{% content-ref url="137-138-139-pentesting-netbios.md" %}
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
{% endcontent-ref %}
## Commandes Automatiques HackTricks
```
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" %}
Apprenez et pratiquez le hacking AWS :[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Apprenez et pratiquez le hacking GCP : [**HackTricks Formation Expert Red Team GCP (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Soutenir HackTricks
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez**-nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
{% endhint %}