hacktricks/network-services-pentesting/137-138-139-pentesting-netbios.md
2024-12-12 13:56:11 +01:00

101 lines
6.4 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 %}
## Serviço de Nome NetBios
**O Serviço de Nome NetBIOS** desempenha um papel crucial, envolvendo vários serviços, como **registro e resolução de nomes**, **distribuição de datagramas** e **serviços de sessão**, utilizando portas específicas para cada serviço.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
* Serviço de nome para registro e resolução de nomes (portas: 137/udp e 137/tcp).
* Serviço de distribuição de datagramas para comunicação sem conexão (porta: 138/udp).
* Serviço de sessão para comunicação orientada à conexão (porta: 139/tcp).
### Serviço de Nome
Para que um dispositivo participe de uma rede NetBIOS, ele deve ter um nome único. Isso é alcançado por meio de um **processo de broadcast** onde um pacote "Name Query" é enviado. Se nenhuma objeção for recebida, o nome é considerado disponível. Alternativamente, um **servidor de Serviço de Nome** pode ser consultado diretamente para verificar a disponibilidade do nome ou para resolver um nome em um endereço IP. Ferramentas como `nmblookup`, `nbtscan` e `nmap` são utilizadas para enumerar serviços NetBIOS, revelando nomes de servidores e endereços MAC.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Enumerando um serviço NetBIOS, você pode obter os nomes que o servidor está usando e o endereço MAC do servidor.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Serviço de Distribuição de Datagramas
Datagramas NetBIOS permitem comunicação sem conexão via UDP, suportando mensagens diretas ou transmissão para todos os nomes da rede. Este serviço utiliza a porta **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Session Service
Para interações orientadas a conexão, o **Session Service** facilita uma conversa entre dois dispositivos, aproveitando conexões **TCP** através da porta **139/tcp**. Uma sessão começa com um pacote de "Session Request" e pode ser estabelecida com base na resposta. O serviço suporta mensagens maiores, detecção de erros e recuperação, com o TCP lidando com controle de fluxo e retransmissão de pacotes.
A transmissão de dados dentro de uma sessão envolve pacotes de **Session Message**, com as sessões sendo encerradas ao fechar a conexão TCP.
Esses serviços são integrais à funcionalidade do **NetBIOS**, permitindo comunicação eficiente e compartilhamento de recursos em uma rede. Para mais informações sobre os protocolos TCP e IP, consulte suas respectivas páginas [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
```
**Leia a próxima página para aprender como enumerar este serviço:**
{% 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 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" %}
Aprenda e pratique Hacking AWS:<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">\
Aprenda e pratique Hacking GCP: <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>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}