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

5.8 KiB
Raw Blame History

137,138,139 - Pentesting NetBios

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS Red Team Expert

支持HackTricks的其他方式

NetBios名称服务

NetBIOS名称服务发挥着关键作用,涉及各种服务,如名称注册和解析数据报分发会话服务,每种服务都使用特定的端口。

来自Wikidepia:

  • 用于名称注册和解析的名称服务端口137/udp和137/tcp
  • 用于无连接通信的数据报分发服务端口138/udp
  • 用于面向连接的通信的会话服务端口139/tcp

名称服务

要使设备参与NetBIOS网络它必须具有唯一的名称。这是通过广播过程实现的,其中发送“名称查询”数据包。如果没有收到异议,该名称被视为可用。或者,可以直接查询名称服务服务器以检查名称是否可用或将名称解析为IP地址。工具如nmblookupnbtscannmap用于枚举NetBIOS服务显示服务器名称和MAC地址。

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进行无连接通信支持直接消息传递或向所有网络名称广播。该服务使用138/udp端口。

PORT    STATE         SERVICE     VERSION
138/udp open|filtered netbios-dgm

会话服务

对于面向连接的交互,会话服务通过端口139/tcp促进两台设备之间的对话,利用TCP连接。会话始于“会话请求”数据包并可根据响应建立。该服务支持更大的消息、错误检测和恢复TCP处理流量控制和数据包重传。

会话内的数据传输涉及会话消息数据包会话通过关闭TCP连接来终止。

这些服务对于NetBIOS功能至关重要实现网络上的高效通信和资源共享。有关TCP和IP协议的更多信息请参考它们各自的TCP WikipediaIP Wikipedia页面。

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 %}

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黑客技术成为专家 htARTEHackTricks AWS红队专家

其他支持HackTricks的方式