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

77 lines
4.2 KiB
Markdown

# 137,138,139 - Pentesting NetBios
{{#include ../banners/hacktricks-training.md}}
## Usługa Nazw NetBios
**Usługa Nazw NetBIOS** odgrywa kluczową rolę, obejmując różne usługi, takie jak **rejestracja i rozwiązywanie nazw**, **dystrybucja datagramów** oraz **usługi sesji**, wykorzystując określone porty dla każdej usługi.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
- Usługa nazw do rejestracji i rozwiązywania nazw (porty: 137/udp i 137/tcp).
- Usługa dystrybucji datagramów do komunikacji bezpołączeniowej (port: 138/udp).
- Usługa sesji do komunikacji zorientowanej na połączenie (port: 139/tcp).
### Usługa Nazw
Aby urządzenie mogło uczestniczyć w sieci NetBIOS, musi mieć unikalną nazwę. Osiąga się to poprzez **proces rozgłaszania**, w którym wysyłany jest pakiet "Zapytanie o nazwę". Jeśli nie wpłyną żadne zastrzeżenia, nazwa jest uznawana za dostępną. Alternatywnie, można bezpośrednio zapytać **serwer Usługi Nazw**, aby sprawdzić dostępność nazwy lub rozwiązać nazwę na adres IP. Narzędzia takie jak `nmblookup`, `nbtscan` i `nmap` są wykorzystywane do enumeracji usług NetBIOS, ujawniając nazwy serwerów i adresy MAC.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Enumerując usługę NetBIOS, możesz uzyskać nazwy używane przez serwer oraz adres MAC serwera.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Usługa dystrybucji datagramów
Datagramy NetBIOS umożliwiają komunikację bezpołączeniową za pomocą UDP, wspierając bezpośrednie wiadomości lub broadcasting do wszystkich nazw w sieci. Ta usługa używa portu **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Usługa Sesji
Dla interakcji opartych na połączeniach, **Usługa Sesji** ułatwia rozmowę między dwoma urządzeniami, wykorzystując połączenia **TCP** przez port **139/tcp**. Sesja rozpoczyna się od pakietu "Żądanie Sesji" i może być nawiązana na podstawie odpowiedzi. Usługa obsługuje większe wiadomości, wykrywanie błędów i odzyskiwanie, a TCP zajmuje się kontrolą przepływu i retransmisją pakietów.
Transmisja danych w ramach sesji obejmuje pakiety **Wiadomości Sesji**, a sesje są kończone przez zamknięcie połączenia TCP.
Usługi te są integralne dla funkcjonalności **NetBIOS**, umożliwiając efektywną komunikację i udostępnianie zasobów w sieci. Aby uzyskać więcej informacji na temat protokołów TCP i IP, zapoznaj się z ich odpowiednimi stronami [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) i [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol).
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Przeczytaj następną stronę, aby dowiedzieć się, jak enumerować tę usługę:**
{{#ref}}
137-138-139-pentesting-netbios.md
{{#endref}}
## Automatyczne polecenia 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.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}}