mirror of
https://github.com/LOLBAS-Project/LOLBAS
synced 2024-12-26 14:59:03 +01:00
Adding Microsoft.Workflow.Compiler.exe and payload examples.
This commit is contained in:
parent
9e97702acb
commit
d6fe95fe98
32
OSBinaries/Microsoft.Wrokflow.Compiler.xml
Normal file
32
OSBinaries/Microsoft.Wrokflow.Compiler.xml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CompilerInput xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Microsoft.Workflow.Compiler">
|
||||||
|
<files xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
|
||||||
|
<d2p1:string>Microsoft.Workflow.Compiler.xoml</d2p1:string>
|
||||||
|
</files>
|
||||||
|
<parameters xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Workflow.ComponentModel.Compiler">
|
||||||
|
<assemblyNames xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<compilerOptions i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<coreAssemblyFileName xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler"></coreAssemblyFileName>
|
||||||
|
<embeddedResources xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<evidence xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Security.Policy" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<generateExecutable xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler">false</generateExecutable>
|
||||||
|
<generateInMemory xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler">true</generateInMemory>
|
||||||
|
<includeDebugInformation xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler">false</includeDebugInformation>
|
||||||
|
<linkedResources xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<mainClass i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<outputName xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler"></outputName>
|
||||||
|
<tempFiles i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<treatWarningsAsErrors xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler">false</treatWarningsAsErrors>
|
||||||
|
<warningLevel xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler">-1</warningLevel>
|
||||||
|
<win32Resource i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.CodeDom.Compiler" />
|
||||||
|
<d2p1:checkTypes>false</d2p1:checkTypes>
|
||||||
|
<d2p1:compileWithNoCode>false</d2p1:compileWithNoCode>
|
||||||
|
<d2p1:compilerOptions i:nil="true" />
|
||||||
|
<d2p1:generateCCU>false</d2p1:generateCCU>
|
||||||
|
<d2p1:languageToUse>CSharp</d2p1:languageToUse>
|
||||||
|
<d2p1:libraryPaths xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
|
||||||
|
<d2p1:localAssembly xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Reflection" i:nil="true" />
|
||||||
|
<d2p1:mtInfo i:nil="true" />
|
||||||
|
<d2p1:userCodeCCUs xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.CodeDom" i:nil="true" />
|
||||||
|
</parameters>
|
||||||
|
</CompilerInput>
|
10
OSBinaries/Microsoft.Wrokflow.Compiler.xoml
Normal file
10
OSBinaries/Microsoft.Wrokflow.Compiler.xoml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<SequentialWorkflowActivity x:Class="MyWorkflow" x:Name="MyWorkflow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">
|
||||||
|
<CodeActivity x:Name="codeActivity1" />
|
||||||
|
<x:Code><![CDATA[
|
||||||
|
public class Foo : SequentialWorkflowActivity {
|
||||||
|
public Foo() {
|
||||||
|
Console.WriteLine("FOOO!!!!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]></x:Code>
|
||||||
|
</SequentialWorkflowActivity>
|
64
yml/OSBinaries/Microsoft.Workflow.Compiler.yml
Normal file
64
yml/OSBinaries/Microsoft.Workflow.Compiler.yml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
Name: Microsoft.Workflow.Compiler.exe
|
||||||
|
Description: A utility included with .NET that is capable of compiling and executing C# or VB.net code.
|
||||||
|
Author: 'Conor Richard'
|
||||||
|
Created: '2018-10-22'
|
||||||
|
Commands:
|
||||||
|
- Command: Microsoft.Worflow.Compiler.exe tests.xml results.xml
|
||||||
|
Description: Compile and execute C# or VB.net code in a XOML file referenced in the test.xml file.
|
||||||
|
Usecase: Compile and run code
|
||||||
|
Category: Execution
|
||||||
|
Privileges: User
|
||||||
|
MitreID: T1127
|
||||||
|
MitreLink: https://attack.mitre.org/wiki/Technique/T1127
|
||||||
|
OperatingSystem: Windows 10S
|
||||||
|
- Command: Microsoft.Worflow.Compiler.exe tests.txt results.txt
|
||||||
|
Description: Compile and execute C# or VB.net code in a XOML file referenced in the test.txt file.
|
||||||
|
Usecase: Compile and run code
|
||||||
|
Category: Execution
|
||||||
|
Privileges: User
|
||||||
|
MitreID: T1127
|
||||||
|
MitreLink: https://attack.mitre.org/wiki/Technique/T1127
|
||||||
|
OperatingSystem: Windows 10S
|
||||||
|
- Command: Microsoft.Worflow.Compiler.exe tests.xml results.xml
|
||||||
|
Description: Compile and execute C# or VB.net code in a XOML file referenced in the test.xml file.
|
||||||
|
Usecase: Compile and run code
|
||||||
|
Category: AWL Bypass
|
||||||
|
Privileges: User
|
||||||
|
MitreID: T1127
|
||||||
|
MitreLink: https://attack.mitre.org/wiki/Technique/T1127
|
||||||
|
OperatingSystem: Windows 10S
|
||||||
|
- Command: Microsoft.Worflow.Compiler.exe tests.txt results.txt
|
||||||
|
Description: Compile and execute C# or VB.net code in a XOML file referenced in the test.txt file.
|
||||||
|
Usecase: Compile and run code
|
||||||
|
Category: AWL Bypass
|
||||||
|
Privileges: User
|
||||||
|
MitreID: T1127
|
||||||
|
MitreLink: https://attack.mitre.org/wiki/Technique/T1127
|
||||||
|
OperatingSystem: Windows 10S
|
||||||
|
Full Path:
|
||||||
|
- Path: C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Microsoft.Workflow.Compiler.exe
|
||||||
|
Code Sample:
|
||||||
|
- Code:
|
||||||
|
Detection:
|
||||||
|
- IOC: Microsoft.Workflow.Compiler.exe would not normally be run on workstations.
|
||||||
|
- IOC: The presence of csc.exe or vbc.exe as child processes of Microsoft.Workflow.Compiler.exe
|
||||||
|
- IOC: Presence of "<CompilerInput" in a text file.
|
||||||
|
Resources:
|
||||||
|
- Link: https://twitter.com/mattifestation/status/1030445200475185154
|
||||||
|
- Link: https://posts.specterops.io/arbitrary-unsigned-code-execution-vector-in-microsoft-workflow-compiler-exe-3d9294bc5efb
|
||||||
|
- Link: https://gist.github.com/mattifestation/3e28d391adbd7fe3e0c722a107a25aba#file-workflowcompilerdetectiontests-ps1
|
||||||
|
- Link: https://gist.github.com/mattifestation/7ba8fc8f724600a9f525714c9cf767fd#file-createcompilerinputxml-ps1
|
||||||
|
- Link: https://www.forcepoint.com/blog/security-labs/using-c-post-powershell-attacks
|
||||||
|
- Link: https://www.fortynorthsecurity.com/microsoft-workflow-compiler-exe-veil-and-cobalt-strike/
|
||||||
|
- Link: https://medium.com/@Bank_Security/undetectable-c-c-reverse-shells-fab4c0ec4f15
|
||||||
|
Acknowledgement:
|
||||||
|
- Person: Matt Graeber
|
||||||
|
Handle: '@mattifestation'
|
||||||
|
- Person: John Bergbom
|
||||||
|
Handle: '@BergbomJohn'
|
||||||
|
- Person: FortyNorth Security
|
||||||
|
Handle: '@FortyNorthSec'
|
||||||
|
- Person: Bank Security
|
||||||
|
Handle: '@Bank_Security'
|
||||||
|
---
|
Loading…
Reference in New Issue
Block a user