137,138,139 - Pentesting NetBios

Reading time: 4 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Servizio Nome NetBios

Il Servizio Nome NetBIOS gioca un ruolo cruciale, coinvolgendo vari servizi come registrazione e risoluzione dei nomi, distribuzione dei datagrammi e servizi di sessione, utilizzando porte specifiche per ciascun servizio.

From Wikidepia:

  • Servizio nome per registrazione e risoluzione dei nomi (porte: 137/udp e 137/tcp).
  • Servizio di distribuzione dei datagrammi per comunicazione senza connessione (porta: 138/udp).
  • Servizio di sessione per comunicazione orientata alla connessione (porta: 139/tcp).

Servizio Nome

Affinché un dispositivo partecipi a una rete NetBIOS, deve avere un nome unico. Questo viene realizzato attraverso un processo di broadcast in cui viene inviato un pacchetto "Name Query". Se non si ricevono obiezioni, il nome è considerato disponibile. In alternativa, un server di Servizio Nome può essere interrogato direttamente per controllare la disponibilità del nome o per risolvere un nome in un indirizzo IP. Strumenti come nmblookup, nbtscan e nmap vengono utilizzati per enumerare i servizi NetBIOS, rivelando nomi dei server e indirizzi MAC.

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

Enumerando un servizio NetBIOS puoi ottenere i nomi che il server sta utilizzando e l'indirizzo MAC del server.

bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>

Servizio di Distribuzione Datagram

I datagrammi NetBIOS consentono comunicazioni senza connessione tramite UDP, supportando messaggi diretti o trasmissioni a tutti i nomi di rete. Questo servizio utilizza la porta 138/udp.

bash
PORT    STATE         SERVICE     VERSION
138/udp open|filtered netbios-dgm

Servizio di Sessione

Per interazioni orientate alla connessione, il Servizio di Sessione facilita una conversazione tra due dispositivi, sfruttando le connessioni TCP attraverso la porta 139/tcp. Una sessione inizia con un pacchetto "Richiesta di Sessione" e può essere stabilita in base alla risposta. Il servizio supporta messaggi più grandi, rilevamento degli errori e recupero, con TCP che gestisce il controllo del flusso e la ritrasmissione dei pacchetti.

La trasmissione dei dati all'interno di una sessione coinvolge pacchetti Messaggio di Sessione, con le sessioni che vengono terminate chiudendo la connessione TCP.

Questi servizi sono integrali per la funzionalità di NetBIOS, consentendo una comunicazione efficiente e la condivisione delle risorse attraverso una rete. Per ulteriori informazioni sui protocolli TCP e IP, fare riferimento alle rispettive pagine TCP Wikipedia e IP Wikipedia.

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

Leggi la pagina successiva per imparare a enumerare questo servizio:

{{#ref}} 137-138-139-pentesting-netbios.md {{#endref}}

Comandi Automatici 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}

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks