// 红队渗透 · 2025-02-04

渗透测试:NBT(NetBIOS)协议详解

@[TOC]

渗透测试:NBT(NetBIOS)协议详解

1. 什么是 NetBIOS?

NetBIOS(Network Basic Input/Output System)是一种 网络通信协议,用于 局域网(LAN)内的设备命名、会话管理和数据传输,最早由 IBM 在 1983 年开发。

  • NetBIOS 主要用于 Windows 计算机 之间的通信,早期依赖 NetBEUI(NetBIOS Extended User Interface)协议,但后来被 TCP/IP 取代。
  • NetBIOS 提供了 名称解析(Name Service)、会话管理(Session Service)和 数据报服务(Datagram Service)。

2. 什么是 NBT(NetBIOS over TCP/IP)?

NBT(NetBIOS over TCP/IP)是 让 NetBIOS 在 TCP/IP 网络上运行 的协议,允许 Windows 计算机在 非 NetBEUI 网络(如互联网、现代局域网) 中进行 NetBIOS 解析和通信。

  • NBT 允许基于 IP 进行 NetBIOS 设备发现、文件共享、远程访问等功能。
  • 在 Windows 2000 以后,微软逐渐用 DNS 代替 NetBIOS,但在许多局域网中,NBT 仍然广泛使用,特别是在 Windows 共享(SMB)服务 相关的环境中。

3. NBT 主要的端口

NBT 使用 UDP 和 TCP 端口 进行通信:

端口 协议 用途
137 UDP NetBIOS Name Service(名称解析)
138 UDP NetBIOS Datagram Service(数据报服务)
139 TCP NetBIOS Session Service(会话服务,SMB 使用)

端口 139 是 SMB(Server Message Block)文件共享的主要端口之一。

4. NBT 在渗透测试中的应用

在 内网渗透测试 或 信息收集 阶段,NBT 仍然是非常重要的目标。

4.1 发现 NetBIOS 设备

  • nbtscan:用于扫描 NetBIOS 设备信息,发现网络中的在线主机。

    nbtscan -r 10.11.1.0/24
  • Windows 命令行工具:使用 nbtstat 命令获取特定主机的 NetBIOS 信息。

    nbtstat -A 10.11.1.15
  • nmap:通过 UDP 端口 137 扫描 NetBIOS 服务,利用 nbstat 脚本获取更多详细信息。

    nmap -sU -p 137 --script nbstat 10.11.1.0/24

4.2 Responder(NBT-NS Poisoning)

  • 利用 NetBIOS 名称解析漏洞进行中间人攻击(MITM),窃取 Windows 认证信息。
    sudo responder -I eth0
  • 捕获 NetNTLMv2 哈希并尝试离线破解:
    john --format=netntlmv2 hash.txt --wordlist=/usr/share/wordlists/rockyou.txt

5. NBT 相关的攻击

由于 NetBIOS 仍然被许多 Windows 网络使用,攻击者可以利用以下方法进行渗透。

  • NetBIOS Name Spoofing(NBT-NS 欺骗):拦截并伪造 Windows 认证请求。
  • Pass-the-Hash(PTH):利用 SMB 和 NetBIOS 获取哈希并进行身份冒充。
  • SMB 共享攻击:利用 NetBIOS 发现共享资源,并尝试匿名访问。
  • NTLM 中继攻击:结合 Responder 进行身份盗用。
    ntlmrelayx.py -tf targets.txt -smb2support

6. 现代网络中的 NetBIOS

✅ 由于 DNS 和 Active Directory(AD) 的普及,现代 Windows 网络 逐渐减少了对 NetBIOS 的依赖。 ✅ 但 许多老旧系统、工业控制系统(ICS)和企业内网 仍然 启用 NetBIOS,成为安全风险点。 ✅ 在 渗透测试、红队评估 中,NBT 仍然是 发现域信息、共享文件、获取凭据的重要手段。

7. 防御措施

7.1 关闭 NetBIOS 服务

  • 在 Windows 服务器或客户端上,禁用 NetBIOS:
    ncpa.cpl  # 打开网络适配器设置
    • 选择网络适配器 → 右键属性 → Internet 协议版本 4(TCP/IPv4) → 高级 → WINS 选项卡 → 禁用 NetBIOS。

7.2 过滤相关端口

  • 在防火墙上 关闭 UDP 137、138 以及 TCP 139 端口。
  • 使用 Group Policy(GPO)限制 NetBIOS 解析。

7.3 启用 SMB 签名

  • 在 Windows 域环境中,启用 SMB 签名以防止中间人攻击。
    gpedit.msc  # 组策略管理
    • 计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项 → “Microsoft 网络服务器:数字签名(始终)” → 启用。

7.4 监测 NetBIOS 攻击

  • 通过 SIEM 监控 NBT-NS 请求 及可疑 NetBIOS 连接。
  • 部署 IDS/IPS 规则检测 NBT-NS Poisoning 攻击。

原文 https://blog.csdn.net/2301_79518550/article/details/145441918