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

76 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 137,138,139 - Pentesting NetBios
{{#include ../banners/hacktricks-training.md}}
## NetBios Name Service
**NetBIOS Name Service** відіграє важливу роль, включаючи різні сервіси, такі як **реєстрація та розв'язання імен**, **розподіл датаграм** та **сесійні сервіси**, використовуючи специфічні порти для кожного сервісу.
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
- Сервіс імен для реєстрації та розв'язання імен (порти: 137/udp та 137/tcp).
- Сервіс розподілу датаграм для без'єднаної комунікації (порт: 138/udp).
- Сесійний сервіс для орієнтованої на з'єднання комунікації (порт: 139/tcp).
### Name Service
Щоб пристрій міг брати участь у мережі NetBIOS, він повинен мати унікальне ім'я. Це досягається через **процес широкомовлення**, де надсилається пакет "Запит імені". Якщо заперечень не надходить, ім'я вважається доступним. Альтернативно, можна безпосередньо запитати **сервер служби імен**, щоб перевірити доступність імені або розв'язати ім'я в IP-адресу. Інструменти, такі як `nmblookup`, `nbtscan` та `nmap`, використовуються для перерахунку сервісів NetBIOS, виявляючи імена серверів та MAC-адреси.
```bash
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
```
Перераховуючи службу NetBIOS, ви можете отримати імена, які використовує сервер, та MAC-адресу сервера.
```bash
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
```
### Datagram Distribution Service
NetBIOS датаграми дозволяють безконнектне спілкування через UDP, підтримуючи прямі повідомлення або трансляцію на всі мережеві імена. Ця служба використовує порт **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### Сесійна служба
Для орієнтованих на з'єднання взаємодій, **Сесійна служба** полегшує спілкування між двома пристроями, використовуючи **TCP** з'єднання через порт **139/tcp**. Сесія починається з пакета "Запит сесії" і може бути встановлена на основі відповіді. Служба підтримує більші повідомлення, виявлення помилок і відновлення, при цьому TCP обробляє управління потоком і повторну передачу пакетів.
Передача даних у межах сесії включає **пакети повідомлень сесії**, при цьому сесії завершуються закриттям TCP з'єднання.
Ці служби є невід'ємною частиною функціональності **NetBIOS**, що забезпечує ефективне спілкування та обмін ресурсами в мережі. Для отримання додаткової інформації про протоколи TCP та IP, зверніться до їх відповідних [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) та [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) сторінок.
```bash
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
```
**Прочитайте наступну сторінку, щоб дізнатися, як перерахувати цю службу:**
{{#ref}}
137-138-139-pentesting-netbios.md
{{#endref}}
## 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}}