今天国外安全研究人员公布了一个通过SCF文件来偷取远程服务器的Window NTLM Auth Hash的技巧,笔者仔细看了一下他的文章觉得很不错,故做了简单研究遂作此文。
该漏洞通过向网络中的共享目录中上传特殊构造的SCF文件(即在SCF文件中将图标文件指定到我们攻击机伪造的共享目录里),故当任何用户访问该共享目录时便可获取它的Windows NTLM Hash,从而可以进一步破解Hash获得明文密码或者利用Pass The Hash攻击目标服务器,这是一个非常简单且实用的内网渗透技巧。
SCF stands for Shell Command File and is a file format that supports a very limited set of Windows Explorer commands, such as opening a Windows Explorer window or showing the Desktop. The "Show Desktop" shortcut we all use on a daily basis is an SCF file.
实验环境:
具体步骤:
首先在目标机上创建一个共享文件夹并共享给everyone可读写权限(例如:scftest)
然后关闭共享的密码保护如下:
接下来,在我们的攻击机上创建一个SCF文件,如下:
注意:其中的192.168.1.105是指向我们的攻击机。
上传上面构造的SCF文件至目标服务器的共享目录里:
在攻击机上开启MSF的auxiliary/server/capture/smb模块来伪造共享目录并抓取用户的Windows密码Hash:
此时任何访问下面目标机上的共享目录的Windows用户的密码Hash都将可能被我们的攻击机获取到。
\\192.168.1.107\Users\win7_64\Desktop\scftest\
局域网主机A:(192.168.1.104/win7_32)
局域网主机B:(192.168.1.107/win7_64)
局域网主机C:(192.168.1.106/win_xp)
在攻击机上我们也“如愿地”偷取到了这三个来自不同windows主机的用户的Windows密码Hash:
所有获取到的NTLM Hash保存在/tmp/smbhashes.txt_netntlmv2,如下:
最后,我们可以通过John the Ripper或者其他在线Windows Hash破解网站,来破解明文密码或者利用NTLM Hash来Pass The Hash攻击。