mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
97 lines
7.1 KiB
Markdown
97 lines
7.1 KiB
Markdown
# 137,138,139 - Pentesting NetBios
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* 你在一个**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
* 获得[**官方PEASS和HackTricks的衣物**](https://peass.creator-spring.com)
|
||
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
|
||
|
||
</details>
|
||
|
||
## NetBios名称服务
|
||
|
||
* 用于名称注册和解析的名称服务(端口:137/udp和137/tcp)。
|
||
* 用于无连接通信的数据报分发服务(端口:138/udp)。
|
||
* 用于面向连接的通信的会话服务(端口:139/tcp)。
|
||
|
||
### 名称服务
|
||
|
||
每台机器在NetBios网络中都应该有一个名称。要请求一个名称,机器应该发送一个广播的“名称查询”数据包,如果有人回答说它已经在使用该名称,机器可以使用该名称。如果有一个名称服务服务器,计算机可以询问名称服务服务器是否有人在使用它想要使用的名称。
|
||
|
||
要发现名称的IP地址,PC必须发送一个“名称查询”数据包,并等待是否有人回答。如果有一个名称服务服务器,PC可以询问它名称的IP地址。
|
||
```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>
|
||
```
|
||
### 数据报分发服务
|
||
|
||
NetBIOS数据报通过UDP发送。如果数据报被发送到特定的NetBIOS名称,则使用“直接唯一”或“直接组”数据包发送;如果数据报被发送到网络上的所有NetBIOS名称,则使用“广播”数据包发送。
|
||
```bash
|
||
PORT STATE SERVICE VERSION
|
||
138/udp open|filtered netbios-dgm
|
||
```
|
||
### 会话服务
|
||
|
||
会话模式允许两台计算机建立连接进行“对话”,可以处理较大的消息,并提供错误检测和恢复功能。
|
||
|
||
会话是通过交换数据包来建立的。建立会话的计算机尝试与要建立会话的计算机上的端口139建立[TCP](https://en.wikipedia.org/wiki/Transmission\_Control\_Protocol)连接。如果连接成功,建立会话的计算机会通过连接发送一个“会话请求”数据包,其中包含建立会话的应用程序的NetBIOS名称和要建立会话的NetBIOS名称。要建立会话的计算机将以“积极会话响应”回复,表示可以建立会话,或者以“否定会话响应”回复,表示无法建立会话(可能是因为该计算机没有监听要建立到该名称的会话,或者因为没有可用资源来建立到该名称的会话)。
|
||
|
||
在已建立的会话中,通过会话消息数据包传输数据。
|
||
|
||
TCP处理所有会话服务数据包的流量控制和重传,并将数据流分割成足够小以适应链路层数据包的[IP](https://en.wikipedia.org/wiki/Internet\_Protocol)数据报。
|
||
|
||
会话通过关闭TCP连接来关闭。
|
||
```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 %}
|
||
|
||
## 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).
|
||
|
||
Every machine should have a name inside the NetBios network. To request a name, a machine should send a "Name Query" packet in broadcast and if anyone answer that it is already using that name, the machine can use that name. If there is a Name Service server, the computer could ask the Name Service server if someone is using the name that it wants to use.
|
||
|
||
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}
|
||
```
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks 云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
|
||
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass),或者**关注**我在**推特**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
* **通过向** [**hacktricks 仓库**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud 仓库**](https://github.com/carlospolop/hacktricks-cloud) **提交 PR 来分享你的黑客技巧。**
|
||
|
||
</details>
|