几天前我在Casey Smith的twitter上看到了有关iqy文件的一些介绍,和大多数渗透测试人员或者技术狂热者一样我也在探寻它的价值。能够通过使用本地/可信工具来构建一个Web查询,我想这是任何一个攻击者都不想错过的事情。

很快Casey在其twitter上发布了一个简单的PoC

这确实很简单,但是对于有效钓鱼已经十分足够了。IQY文件可用于SMB中继攻击,接下来我们就来看看存在哪些攻击可能。
钓鱼之明文凭证
我创建了一个可用于生成IQY文件的PowerShell脚本,Out-WebQuery.ps1文件可在Nishang项目下的Client目录下找到,下面是使用演示:
PS C:\> . C:\nishang\Client\Out-WebQuery.ps1

对于监听器,使用Start-CaptureServer.ps1,这个脚本打开一个HTTP监听器,获取基本的日志并且将NTLM身份验证请求记录下来,这需要在攻击者机器上运行一个高权限的Shell。因为是明文凭证,我们需要选择AuthType Basic
LogFilePath C:\test\log.txt

目前我们第一步生成的IQY文件就可以通过Email附件或者其他什么方式发送给目标机器。无论如何,该文件默认通过MS Excel进行打开,接着用户会看到一个安全警告。

当单击开启之后,我们的目标会看到一个请求凭证的提示

当目标键入凭证之后(他们总是这么干),我们可以在监听器和日志中看到

钓鱼之NTLM Hashes
Out-WebQuery以及Start-CaptureServer可以用来从目标的netntlm格式中捕获NTMLv2 hashes。相比基本的身份验证使用hashes捕获到的几率很低。用户对于凭证提示的免疫力太低了,我们只需使用AuthType NTLM2.

使用John the ripper可以创建hashes上面捕获的hashes在hashes.txt文件中是以下格式(format)
nikhil::PFPTLAB:00000000000000000000000000000000060380250000000F:970170524E4B2A0D00000000020000000000000000000000:1122334455667788
并且
john --format=netntlm hashes.txt
同样我们也可以使用Inveigh (https://github.com/Kevin-Robertson/Inveigh)来捕获hashes,相对Start-CaptureServer 来说他的功能更丰富

SMB中继攻击
你也可以使用IQY文件进行SMB中继攻击,IQY文件支持UNC路径。在以下情况,用户不需要输入其凭证:
C:\test\QueryData.iqy
不幸的是,这里没有PowerShell代码可用来中继hashes。我们从Impacket库中调用smbrelayx,接着我们从192.168.230.111捕获中继hashes,192.168.230.112是一个Windows7机器。

上面的 runps.exe是一个运行于PoweShell脚本的控制台程序,在目标机器上该文件名为powershell.exe,PowerShell脚本编码在Nishang项目的 Invoke-PowerShellTcpOneLine中
当然,我相信还有更棒的方法从.Net调用PoweShell代码,但我们这里就不多加讨论了。
一旦目标打开IQY文件我们将获取:


一个交互的PoweShell会话。如果你愿意你可以十分轻松的将其升级为meterpreter会话。
< 点击最下方的“阅读原文”查看更多内容 >
* 译者/鸢尾 转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)