YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_APT_NK_MAL_M_Hunting_VEILEDSIGNAL_2
Detects VEILEDSIGNAL malware
- Author
- Mandiant
- Date
- 2023-04-20
- Modified
- 2023-12-05
- Score / Quality
- 75 / 85
What this rule detects
Detects VEILEDSIGNAL malware
Associated malware family: Veiledsignal.
Targets: Windows PE.
It defines 6 patterns (5 text, 1 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_APT_NK_MAL_M_Hunting_VEILEDSIGNAL_2 : FILE
{
meta:
= "Detects VEILEDSIGNAL malware"
= "Mandiant"
= "1b96c2f0-1c57-593e-9630-a72d43eb857e"
= "2023-04-20"
= "2023-12-05"
= "https://www.mandiant.com/resources/blog/3cx-software-supply-chain-compromise"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_nk_tradingtech_apr23.yar#L57-L76"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "404b09def6054a281b41d309d809a428"
= "62f74faa8f136f4dc63a4b703cffcb97b438cc4f180d5d127d1fc4b86d3cd1d1"
= 75
= 85
= "FILE"
= "This rule is meant for hunting and is not tested to run in a production environment"
strings:
$sb1 = { C1 E0 05 4D 8? [2] 33 D0 45 69 C0 7D 50 BF 12 8B C2 41 FF C2 C1 E8 07 33 D0 8B C2 C1 E0 16 41 81 C0 87 D6 12 00 }
$si1 = "CryptBinaryToStringA" fullword
$si2 = "BCryptGenerateSymmetricKey" fullword
$si3 = "CreateThread" fullword
$ss1 = "ChainingModeGCM" wide
$ss2 = "__tutma" fullword
condition:
( uint16( 0 ) == 0x5A4D ) and ( uint32( uint32( 0x3C ) ) == 0x00004550 ) and ( uint16( uint32( 0x3C ) + 0x18 ) == 0x020B ) and all of them
}
Strings (6 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $sb1 | hex | { C1 E0 05 4D 8? [2] 33 D0 45 69 C0 7D 50 BF 12 8B C2 41 FF C2 C1 E8 07 33 D0 8B C2 C1 E0 16 41 81 C0 87 D6 12 00 } | |
| $si1 | text | "CryptBinaryToStringA" | fullword |
| $si2 | text | "BCryptGenerateSymmetricKey" | fullword |
| $si3 | text | "CreateThread" | fullword |
| $ss1 | text | "ChainingModeGCM" | wide |
| $ss2 | text | "__tutma" | fullword |
Condition
( uint16( 0 ) == 0x5A4D ) and ( uint32( uint32( 0x3C ) ) == 0x00004550 ) and ( uint16( uint32( 0x3C ) + 0x18 ) == 0x020B ) and all of themIn plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- 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).
- 404b09def6054a281b41d309d809a428
Licence & attribution
Author: Mandiant
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: 1b96c2f0-1c57-593e-9630-a72d43eb857e
Metadata
| disclaimer | This rule is meant for hunting and is not tested to run in a production environment |
|---|
Tags:FILE
Related rules
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· X__Junior· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· X__Junior· 2023-04-29
- APT / threat actorSignature Base (Florian Roth / Nextron)· X__Junior· 2023-04-29