YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_APT_HKTL_Proxy_Tool_Jun23_1
Detects agent used as proxy tool in UNC4841 intrusions - possibly Alchemist C2 framework implant
- Author
- Florian Roth
- Date
- 2023-06-16
- Modified
- 2023-12-05
- Score / Quality
- 75 / 85
What this rule detects
Detects agent used as proxy tool in UNC4841 intrusions - possibly Alchemist C2 framework implant
Targets: Windows PE, Linux ELF.
It defines 3 patterns (3 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_APT_HKTL_Proxy_Tool_Jun23_1 : FILE
{
meta:
= "Detects agent used as proxy tool in UNC4841 intrusions - possibly Alchemist C2 framework implant"
= "Florian Roth"
= "0e406737-3083-53c2-a6d2-14c07794125a"
= "2023-06-16"
= "2023-12-05"
= "https://www.mandiant.com/resources/blog/barracuda-esg-exploited-globally"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_barracuda_esg_unc4841_jun23.yar#L76-L101"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "ca72fa64ed0a9c22d341a557c6e7c1b6a7264b0c4de0b6f717dd44bddf550bca"
= "57e4b180fd559f15b59c43fb3335bd59435d4d76c4676e51a06c6b257ce67fb2"
= "7e2152e1aa74e1842519e2eecd2acd3ef8eb8d517f3c0ef9f05c983616f223c3"
= 75
= 85
= "FILE"
strings:
$a2 = "/src/runtime/panic.go"
$s1 = "main.handleClientRequest" ascii fullword
$s2 = "main.sockIP.toAddr" ascii fullword
condition:
( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 or uint16( 0 ) == 0xfeca or uint16( 0 ) == 0xfacf or uint32( 0 ) == 0xbebafeca or uint32( 0 ) == 0xbebafeca ) and filesize < 10MB and all of them
}
Strings (3 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $a2 | text | "/src/runtime/panic.go" | |
| $s1 | text | "main.handleClientRequest" | ascii fullword |
| $s2 | text | "main.sockIP.toAddr" | ascii fullword |
Condition
( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 or uint16( 0 ) == 0xfeca or uint16( 0 ) == 0xfacf or uint32( 0 ) == 0xbebafeca or uint32( 0 ) == 0xbebafeca ) and filesize < 10MB and all of themIn plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- The file must start with the ELF header — a Linux/Unix executable.
- The file must be smaller than 10MB (a cheap guard that skips large files).
- All patterns in the rule must match.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- ca72fa64ed0a9c22d341a557c6e7c1b6a7264b0c4de0b6f717dd44bddf550bca
- 57e4b180fd559f15b59c43fb3335bd59435d4d76c4676e51a06c6b257ce67fb2
Licence & attribution
Author: Florian Roth
Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 0e406737-3083-53c2-a6d2-14c07794125a
Tags:FILE
Related rules
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-11-22
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-06-16
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-06-16
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-11-09
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2022-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2021-05-27
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2025-06-21
- APT / threat actorSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-06-21