What is the primary goal of the Defence Evasion tactic [TA0005]?
Adversaries attempt to avoid detection throughout all phases of their operation.
What is the main purpose of the Cobalt Strike Artifact Kit?
To modify the source code for compiled payload templates (.exe, .dll, .svc.exe) to evade anti-virus signatures.
In Cobalt Strike template naming, what does the suffix ‘big’ signify?
The template is for a stageless payload.
In Cobalt Strike template naming, what does the suffix ‘svc’ signify?
The template is for a service binary payload.
The Cobalt Strike payload templates are essentially _____ injectors, whose only role is to inject the Beacon shellcode into memory and execute it.
shellcode
In the Artifact Kit, which C file is the entry point for .exe templates?
main.c in the src-main directory.
In the Artifact Kit, which C file is the entry point for .dll templates?
dllmain.c in the src-main directory.
What is the purpose of the bypass-*.c files in the src-common directory of the Artifact Kit?
They contain various anti-sandbox techniques that can be built into a payload template.
What is the default anti-sandbox technique used by the built-in Cobalt Strike templates?
The dist-readfile technique.
Which file in the Artifact Kit contains most of the main logic for performing shellcode injection?
patch.c.
In the Artifact Kit’s build.sh script, what does the ‘Allocator’ parameter control?
It sets which API (e.g., HeapAlloc, VirtualAlloc) is used to allocate memory for the shellcode.
When using the build.sh script in the Artifact Kit, setting the ‘Resource File’ parameter to true allows for changing what properties of the artifact?
Metadata such as CompanyName, FileDescription, and ProductName, as defined in src-main/resource.rc.
What is the recommended first step when using ThreatCheck to find malicious code in an artifact?
Scan the unmodified, newly built artifact to identify the specific offset of the code block that is detected.
After ThreatCheck identifies a malicious offset in an artifact, what tool can be used to disassemble and decompile the binary for further analysis?
Ghidra.
In Ghidra, how do you navigate to a specific file offset identified by a tool like ThreatCheck?
Use the Navigation > Go To menu and enter file(0xOFFSET).
What is an effective strategy to bypass a signature on a specific loop in the artifact source code?
Modify the loop’s structure (e.g., convert a for loop to a backwards while loop) to compile into different machine code.
After building new templates with the Artifact Kit, which generated file must be loaded into the Cobalt Strike client to use them?
The Aggressor script, artifact.cna.
What is the primary purpose of the Cobalt Strike Resource Kit?
To modify script-based payload templates, such as those for PowerShell.
What is the primary security concern that the Resource Kit aims to address for PowerShell payloads?
Detection by the Antimalware Scan Interface (AMSI).
In the default PowerShell template (template.x64.ps1), which .NET method is often flagged by AMSI for copying shellcode into memory?
System.Runtime.InteropServices.Marshal::Copy.
What native API can be used as an alternative to Marshal.Copy in PowerShell to evade some AMSI signatures?
The WriteProcessMemory API.
What is the function of the compress.ps1 script in the Resource Kit?
It serves as a template for Cobalt Strike’s Scripted Web Delivery, which GZIP compresses and Base64 encodes the main PowerShell payload.
When obfuscating compress.ps1 for evasion, why must the %%DATA%% placeholder be left untouched?
Cobalt Strike uses this exact placeholder to patch the encoded payload into the script.
What Malleable C2 technique overwrites a legitimate DLL in memory with Beacon to make the memory region appear backed by a file on disk?
Module stomping.