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

6.4 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 %}

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.

Do Wikidepia:

  • 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.

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.

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.

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 e IP Wikipedia.

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 {% 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:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}