# 137,138,139 - Pentesting NetBios
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs收藏品](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
## NetBios名称服务
**NetBIOS名称服务**发挥着关键作用,涉及各种服务,如**名称注册和解析**,**数据报分发**和**会话服务**,每种服务都使用特定的端口。
[来自Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
* 用于名称注册和解析的名称服务(端口:137/udp和137/tcp)。
* 用于无连接通信的数据报分发服务(端口:138/udp)。
* 用于面向连接的通信的会话服务(端口:139/tcp)。
### 名称服务
要使设备参与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
nbtscan /30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n
```
### 数据报分发服务
NetBIOS数据报允许通过UDP进行无连接通信,支持直接消息传递或向所有网络名称广播。该服务使用**138/udp**端口。
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
```
### 会话服务
对于面向连接的交互,**会话服务**通过端口**139/tcp**促进两台设备之间的对话,利用**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
```
**阅读下一页以了解如何枚举此服务:**
{% content-ref url="137-138-139-pentesting-netbios.md" %}
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
{% endcontent-ref %}
```
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}
```
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
其他支持HackTricks的方式:
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。