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

76 lines
4.0 KiB
Markdown

# 137,138,139 - Pentesting NetBios
{{#include ../banners/hacktricks-training.md}}
## NetBios Name Service
**NetBIOS Name Service** igra ključnu ulogu, uključujući razne usluge kao što su **registracija i razrešenje imena**, **distribucija datagrama** i **sesijske usluge**, koristeći specifične portove za svaku uslugu.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
- Usluga imena za registraciju i razrešenje imena (portovi: 137/udp i 137/tcp).
- Usluga distribucije datagrama za komunikaciju bez veze (port: 138/udp).
- Sesijska usluga za komunikaciju orijentisanu na vezu (port: 139/tcp).
### Name Service
Da bi uređaj učestvovao u NetBIOS mreži, mora imati jedinstveno ime. To se postiže kroz **broadcast proces** gde se šalje paket "Name Query". Ako se ne prime primedbe, ime se smatra dostupnim. Alternativno, može se direktno upitati **Name Service server** da proveri dostupnost imena ili da razreši ime u IP adresu. Alati kao što su `nmblookup`, `nbtscan` i `nmap` se koriste za enumeraciju NetBIOS usluga, otkrivajući imena servera i MAC adrese.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Enumerisanjem NetBIOS usluge možete dobiti imena koja server koristi i MAC adresu servera.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Datagram Distribution Service
NetBIOS datagrami omogućavaju komunikaciju bez veze putem UDP-a, podržavajući direktno slanje poruka ili emitovanje svim mrežnim imenima. Ova usluga koristi port **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Session Service
Za interakcije orijentisane na konekciju, **Session Service** olakšava razgovor između dva uređaja, koristeći **TCP** konekcije preko porta **139/tcp**. Sesija počinje sa "Session Request" paketom i može se uspostaviti na osnovu odgovora. Usluga podržava veće poruke, detekciju grešaka i oporavak, pri čemu TCP upravlja kontrolom toka i ponovnim slanjem paketa.
Prenos podataka unutar sesije uključuje **Session Message** pakete, a sesije se završavaju zatvaranjem TCP konekcije.
Ove usluge su sastavni deo **NetBIOS** funkcionalnosti, omogućavajući efikasnu komunikaciju i deljenje resursa preko mreže. Za više informacija o TCP i IP protokolima, pogledajte njihove odgovarajuće [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) i [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) stranice.
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Pročitajte sledeću stranu da biste saznali kako da enumerišete ovu uslugu:**
{{#ref}}
137-138-139-pentesting-netbios.md
{{#endref}}
## HackTricks Automatske Komande
```
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.wiki/en/network-services-pentesting/137-138-139-pentesting-netbios.html
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}
```
{{#include ../banners/hacktricks-training.md}}