内网协议

DeeLMind2024年12月23日大约 5 分钟

内网协议

SMBopen in new window

SMB(全称是 Server Message Block)是网络文件共享协议,用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现,端口 445。在很早期的 windows 中(windows2000 以下),文件共享服务是利用 TCP 的 139 端口实现的,服务名是 SMB。后来,微软又把 SMB 改名为 CIFS 协议,并且使用的是 TCP 的 445 端口。

  • 域内 SMB 走 kerberos
  • 其它 SMB 走 NTLM

LLMNR

LLMNR(Link-Local Multicast Name Resolution),链路本地多播名称解析 (LLMNR) 和 NetBIOS 名称服务 (NBT-NS) 是 Windows 机器在 DNS 解析失败时用于识别网络上的主机地址的两个名称解析服务。现代 Windows 计算机上默认启用 LLMNR 和 NetBIOS。

  • 数据格式

er

NetBIOS

NetBIOS,为网络基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了 OSI 模型中的会话层服务,让在不同电脑上运行的不同程序,可以在局域网中,互相连线,以及分享资料。严格来说,NetBIOS 不是一种网络协议,而是应用程序接口(API)。较古老的操作系统,使用 IEEE 802.2 与 IPX/SPX 协议,可以使用 NetBIOS Frames 协议或 NetBIOS over IPX/SPX 协议来运作。现代操作系统,多数都使用 TCP/IP 协议,则可透过 NetBIOS over TCP/IP 协议来相互通信,广播包。

  • NetBIOS 提供三种软件服务:
Service NamePortProtocolShort Name
NetBIOS Name Service137UDP/TCPNBNS
NetBIOS Datagram138UDPNBND
NetBIOS Session Service139TCPNBSS

SSDP

SSDP(Simple Sever Discovery Protocol),简单服务发现协议,采用基于通知和发现路由的多播发现方式实现。

MDNS

mNDS(multicast DNS),发现主机 IP 地址。

NBNS

NBNS 是 NetBIOS name service 的缩写,是 NetBIOS 的命名服务,用于将 NetBIOS 名称映射到 IP 地址上,是 NetBIOS-over-TCP(NBT)协议族的一份子。NBNS 是动态 DNS 的一种,Microsoft 的 NBNS 实现称为 WINS。路由器可以通过发送 NBNS 状态请求以获取设备名,windows PC 接收到后通过 WINS 或将本地缓存发送命名信息给路由器。

WPADopen in new window

网络代理自动发现协议(Web Proxy Auto-Discovery Protocol,WPAD)是一种客户端使用 DHCP 和/或 DNS 发现方法来定位一个配置文件 URL 的方法。在检测和下载配置文件后,它可以执行配置文件以测定特定 URL 应使用的代理。

MS16-077open in new window

sc query winhttpautoproxysvc

function FindProxyForURL(url, host) {
    if (host == "127.0.0.1" || isPlainHostName(host) || shExpMatch (host, "(192.168.253.15)")) {
        return "DIRECT";
    }

    return "PROXY 192.168.253.15:8080";
}

er

NTLM

Windows New Technology LAN Manager (NTLM) 是问询/应答(Challenge/Response)身份验证协议,如果 Kerberos 无法对用户进行身份验证,系统将尝试改用 NTLM。

  • LM Hash 299BD128C1101FD6
  • NTLM Hash(NTHash) e02bc503339d51f71d913c245d35b50b
  • NTLMv1(Net-NTLMv1)
  • NTLMSSP(NTLMSecurity Support Provider)
netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c
  • NTLMv2(Net-NTLMv2)
vagrant::UA-COMPUTER:a1e7b994fceaf520:DEF951B748B1BD0EA53056B8394ADE8F:010100000000000000B288B74DEAD8017F0B6B94E20909E90000000002000800480032005000490001001E00570049004E002D004F003300460031005A004600560034005A004800440004003400570049004E002D004F003300460031005A004600560034005A00480044002E0048003200500049002E004C004F00430041004C000300140048003200500049002E004C004F00430041004C000500140048003200500049002E004C004F00430041004C000700080000B288B74DEAD80106000400020000000800300030000000000000000000000000300000AC9FBB1C666A6A6D9DEEF6E44868B3432CD364FA736028D0AB1E5E9BD40CDB360A001000000000000000000000000000000000000900100063006900660073002F006100620063000000000000000000

NTLM 认证流程

  • 客户端向服务器发送 HTTP 请求,请求获得服务器资源,如访问邮件服务器资源

  • 服务器由于开启了 NTLM 认证,所以返回 401 的错误码(未授权),提示需要 NTLM 认证

  • 客户端发起 NTLM 认证,向服务器发送协商消息

  • 服务器收到消息后,生成一个随机数 Challenge,明文发送回客户端

  • 客户端接收到 Challenge 后,使用密码 hash 对 Challenge 加密,生成 Response 并发送给服务器

  • 服务器接收到 Response 后,会向 DC(Domain Controller)发送针对客户端的验证请求,该请求主要包含以下三方面的内容:客户端用户名,客户端密码哈希值加密的 Challenge 和原始的 Challenge

  • DC 根据用户名获取该帐号的密码哈希值,对原始的 Challenge 进行加密。如果加密后的 Challenge 和服务器发送的一致,则意味着用户拥有正确的密码,验证通过,否则验证失败。DC 将验证结果发给服务器,并最终反馈给客户端

er

er

SID安全标识符open in new window

安全标识符 SID (Security identifier) 用于唯一标识安全主体或安全组。安全主体可以表示任何可由操作系统进行身份验证的实体,例如用户帐户、计算机帐户或在用户或计算机帐户的安全上下文中运行的线程或进程。

  • 获取 SID
WMIC useraccount get name,sid
S-1-5-21-1004336348-1177238915-682003330-512

MSVopen in new window & NTLMopen in new window & LMopen in new window

DPAPIopen in new window

DPAPI(Data Protection API)是一种简单的加密 应用程序编程接口,可作为 Windows 2000 和更高版本的 Microsoft Windows 操作系统中的内置组件使用。理论上,数据保护 API 可以对任何类型的数据进行对称加密;实际上,它在 Windows 操作系统中的主要用途是执行非对称私钥的对称加密,使用用户或系统机密作为熵的重要贡献。

用于加密用户 RSA 密钥的 DPAPI 密钥存储在%APPDATA%\Microsoft\Protect{SID}目录下,其中 {SID} 是该用户的安全标识符。DPAPI 密钥与保护用户私钥的主密钥存储在同一文件中。它通常是 64 字节的随机数据。

DPAPI MasterKeyopen in new window

Vault

Windows stores credentials in special folders that they call "vaults" to help users login to websites and other computers.

WDigestopen in new window

SSPopen in new window

TsPkg

上次编辑于: 2026/3/11 05:49:26
贡献者: DeeLMind,DeeLMind
课程与服务