Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.
17 distinct techniques documented for this family, organized by ATT&CK tactic.
We noticed 3 different types of code language used for the shellcode loader. NSIS script, AutoIT script and C all implement similar functionality.
Of particular interest was the presence of CreateProcessW, VirtualAlloc and ReadProcessMemory, as well as GetThreadContext and SetThreadContext. These APIs are commonly associated with process injection... | Based on the presence of VirtualProtect and DllCallAddress, we made the safe assumption that it was executable code, likely in the form of shellcode.
The packer... makes it harder for antivirus programs to detect the malicious code... TrickGate always changes the way the payload is decrypted... Most of the samples use a custom decryption method...
Initially observed in July 2016, TrickGate is a shellcode-based packer offered as a service to hide malware from EDRs and antivirus programs.
When we analyzed the TrickGate code, no constant strings can be found... To hide the needed strings and its intentions, TrickGate uses a common technique called API hashing...
The first stage mainly comes in the form of an archived executable, but we monitored many file types and delivery permutations... Executable : BAT * CMD * COM * EXE * LNK * PIF * SCR. Document : DOC * DOCX * PDF * XLL * XLS * XLSX * RTF.
Of particular interest was the presence of CreateProcessW, VirtualAlloc and ReadProcessMemory, as well as GetThreadContext and SetThreadContext. These APIs are commonly associated with process injection... | Based on the presence of VirtualProtect and DllCallAddress, we made the safe assumption that it was executable code, likely in the form of shellcode.
After decrypting the payload, the shellcode then injects it into a newly created process. After the process is created using the create_suspended flag... NtUnmapViewOfSection NtWriteVirtualMemory NtResumeThread
The Shellcode loader usually contains a single function which is responsible for decrypting and loading the shellcode into memory... Decrypt the shellcode.
In the more recent versions of TrickGate, the shellcode loader abuses the “Callback Functions” mechanism... Instead of the Callback Function, the loader passes on the address of the newly allocated memory which holds the shellcode.
32 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.
IPs, domains, and DNS infrastructure linked to this family.
File hashes (MD5, SHA-1, SHA-256) from samples and reports.
2 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A shellcode-based loader likely used as the initial loading component in this infection chain. The content links it to AutoIT-based delivery, CRC32 API hashing, shellcode execution, and process injection behavior, and notes it has been documented deploying Xloader.
A transformative shellcode-based Packer-as-a-Service used to wrap, decrypt, and inject payloads into new processes to evade antivirus and EDR detection. It uses API hashing, shellcode loaders, direct kernel syscalls, manual ntdll mapping, and stealthy process injection.
Match every observed IP, domain, and hash against your live telemetry.
Named campaigns wielding this family, with evidence pinned to each claim.
CVEs this family uses for access and lateral movement.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Every documented technique, ranked by evidence weight.
Reddit, Mastodon, and CTI community discussion around this family.