7.1 KiB
137,138,139 - Pentesting NetBios
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一个网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载HackTricks的PDF吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获得官方PEASS和HackTricks的衣物
- 加入💬 Discord群组或电报群组或关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
NetBios名称服务
- 用于名称注册和解析的名称服务(端口:137/udp和137/tcp)。
- 用于无连接通信的数据报分发服务(端口:138/udp)。
- 用于面向连接的通信的会话服务(端口:139/tcp)。
名称服务
每台机器在NetBios网络中都应该有一个名称。要请求一个名称,机器应该发送一个广播的“名称查询”数据包,如果有人回答说它已经在使用该名称,机器可以使用该名称。如果有一个名称服务服务器,计算机可以询问名称服务服务器是否有人在使用它想要使用的名称。
要发现名称的IP地址,PC必须发送一个“名称查询”数据包,并等待是否有人回答。如果有一个名称服务服务器,PC可以询问它名称的IP地址。
PORT STATE SERVICE VERSION
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
枚举NetBIOS服务时,您可以获取服务器正在使用的名称和服务器的MAC地址。
nmblookup -A <IP>
nbtscan <IP>/30
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
数据报分发服务
NetBIOS数据报通过UDP发送。如果数据报被发送到特定的NetBIOS名称,则使用“直接唯一”或“直接组”数据包发送;如果数据报被发送到网络上的所有NetBIOS名称,则使用“广播”数据包发送。
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
会话服务
会话模式允许两台计算机建立连接进行“对话”,可以处理较大的消息,并提供错误检测和恢复功能。
会话是通过交换数据包来建立的。建立会话的计算机尝试与要建立会话的计算机上的端口139建立TCP连接。如果连接成功,建立会话的计算机会通过连接发送一个“会话请求”数据包,其中包含建立会话的应用程序的NetBIOS名称和要建立会话的NetBIOS名称。要建立会话的计算机将以“积极会话响应”回复,表示可以建立会话,或者以“否定会话响应”回复,表示无法建立会话(可能是因为该计算机没有监听要建立到该名称的会话,或者因为没有可用资源来建立到该名称的会话)。
在已建立的会话中,通过会话消息数据包传输数据。
TCP处理所有会话服务数据包的流量控制和重传,并将数据流分割成足够小以适应链路层数据包的IP数据报。
会话通过关闭TCP连接来关闭。
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 {% 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}
☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?想要在 HackTricks 中宣传你的公司吗?或者你想要获取最新版本的 PEASS 或下载 HackTricks 的 PDF吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品——The PEASS Family
- 获取官方 PEASS & HackTricks 商品
- 加入 💬 Discord 群组 或 Telegram 群组,或者关注我在推特上的🐦@carlospolopm。
- 通过向 hacktricks 仓库 和 hacktricks-cloud 仓库 提交 PR 来分享你的黑客技巧。