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

99 lines
6.6 KiB
Markdown

# 137,138,139 - Pentesting NetBios
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
## Servicio de Nombres NetBios
El **Servicio de Nombres NetBIOS** juega un papel crucial, involucrando varios servicios como **registro y resolución de nombres**, **distribución de datagramas** y **servicios de sesión**, utilizando puertos específicos para cada servicio.
[Desde Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
* Servicio de nombres para registro y resolución de nombres (puertos: 137/udp y 137/tcp).
* Servicio de distribución de datagramas para comunicación sin conexión (puerto: 138/udp).
* Servicio de sesión para comunicación orientada a la conexión (puerto: 139/tcp).
### Servicio de Nombres
Para que un dispositivo participe en una red NetBIOS, debe tener un nombre único. Esto se logra a través de un **proceso de difusión** donde se envía un paquete de "Consulta de Nombre". Si no se reciben objeciones, se considera que el nombre está disponible. Alternativamente, se puede consultar directamente a un **servidor de Servicio de Nombres** para verificar la disponibilidad del nombre o resolver un nombre a una dirección IP. Herramientas como `nmblookup`, `nbtscan` y `nmap` se utilizan para enumerar servicios NetBIOS, revelando nombres de servidores y direcciones MAC.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Enumerar un servicio NetBIOS te permite obtener los nombres que el servidor está utilizando y la dirección MAC del servidor.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Servicio de Distribución de Datagramas
Los datagramas NetBIOS permiten la comunicación sin conexión a través de UDP, admitiendo mensajería directa o difusión a todos los nombres de red. Este servicio utiliza el puerto **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Servicio de Sesión
Para interacciones orientadas a la conexión, el **Servicio de Sesión** facilita una conversación entre dos dispositivos, aprovechando conexiones **TCP** a través del puerto **139/tcp**. Una sesión comienza con un paquete de "Solicitud de Sesión" y puede establecerse en función de la respuesta. El servicio admite mensajes más grandes, detección de errores y recuperación, con TCP manejando el control de flujo y la retransmisión de paquetes.
La transmisión de datos dentro de una sesión implica **paquetes de Mensaje de Sesión**, y las sesiones se terminan cerrando la conexión TCP.
Estos servicios son fundamentales para la funcionalidad de **NetBIOS**, permitiendo una comunicación eficiente y el intercambio de recursos en una red. Para obtener más información sobre los protocolos TCP e IP, consulte sus respectivas páginas de [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) e [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol).
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Lee la siguiente página para aprender cómo enumerar este servicio:**
{% content-ref url="137-138-139-pentesting-netbios.md" %}
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
{% endcontent-ref %}
## Comandos Automáticos de 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}
```
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>