0x00 前言
今天国外安全研究人员公布了一个通过SCF文件来偷取远程服务器的Window NTLM Auth Hash的技巧,笔者仔细看了一下他的文章觉得很不错,故做了简单研究遂作此文。
0x01 分析与实践
漏洞原理分析
该漏洞通过向网络中的共享目录中上传特殊构造的SCF文件(即在SCF文件中将图标文件指定到我们攻击机伪造的共享目录里),故当任何用户访问该共享目录时便可获取它的Windows NTLM Hash,从而可以进一步破解Hash获得明文密码或者利用NTLM Relay攻击目标服务器,这是一个非常简单且实用的内网渗透技巧。
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.
实验与实践
实验环境:
- 攻击机:192.168.1.105 (Kali)
- 目标机/局域网主机B (文件共享主机):192.168.1.107 (Windows 7 64 bits)
- 局域网主机A:192.168.1.104 (Windows 7 32 bits)
- 局域网主机C:192.168.1.106 (Windows XP)
具体步骤:
首先在目标机上创建一个共享文件夹并共享给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破解网站,来破解明文密码或者利用Net-NTLM Hash来NTLM Relay攻击。
0x02 参考
- http://www.sysadminjd.com/adv170014-ntlm-sso-exploitation-guide/
- https://room362.com/post/2016/smb-http-auth-capture-via-scf/
注:转载请注明出处,尊重知识产权,从你我做起!