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

6.6 KiB

137,138,139 - Pentesting NetBios

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

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.

From Wikidepia:

  • 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 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, el nombre se considera disponible. Alternativamente, se puede consultar directamente a un servidor de Servicio de Nombres para verificar la disponibilidad del nombre o para 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.

PORT    STATE SERVICE    VERSION
137/udp open  netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)

Enumerando un servicio NetBIOS, puedes obtener los nombres que el servidor está utilizando y la dirección MAC del servidor.

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, soportando mensajería directa o difusión a todos los nombres de la red. Este servicio utiliza el puerto 138/udp.

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 a través de una red. Para más información sobre los protocolos TCP e IP, consulte sus respectivas páginas de TCP Wikipedia y IP Wikipedia.

PORT      STATE SERVICE      VERSION
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn

Lee la siguiente página para aprender a enumerar este servicio:

{% content-ref url="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}

{% hint style="success" %} Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}