YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_SUSP_RAR_NTFS_ADS
Detects RAR archive with NTFS alternate data stream
- Author
- Proofpoint
- Date
- 2024-12-17
- Modified
- 2025-01-17
- Score / Quality
- 70 / 83
What this rule detects
Detects RAR archive with NTFS alternate data stream
It defines 3 patterns (1 text, 2 hex, 0 regex).
YARA-X says: warning[text_as_hex]: hex pattern could be written as text literal
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_SUSP_RAR_NTFS_ADS : HUNTING FILE
{
meta:
= "Detects RAR archive with NTFS alternate data stream"
= "Proofpoint"
= "ca2b5904-b3d3-53cd-a973-6f30f0831a94"
= "2024-12-17"
= "2025-01-17"
= "https://www.proofpoint.com/us/blog/threat-insight/hidden-plain-sight-ta397s-new-attack-chain-delivers-espionage-rats"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_ta397_dec24.yar#L82-L110"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "feec47858379c29300d249d1693f68dc085300f493891d1a9d4ea83b8db6e3c3"
= "53a653aae9678075276bdb8ccf5eaff947f9121f73b8dcf24858c0447922d0b1"
= "bcca4771e8f940ce8cfcff08284545fec6163df549e1fb589d89ca3fa335f04c"
= 70
= 83
= "HUNTING, FILE"
= "hunting"
strings:
$rar_magic = {52 61 72 21}
$ads = {
03 // Header Type -> Service Header
23 // Header flags
[17-20] // Flags and extra data area
00 // Windows
03 // Length of name = STM = 3
53 54 4d // STM NTFS alternate data stream
[1-2] // variable int (vint) for size of the stream name -> 1-2 bytes should be enough to take into account
07 // Data type = Service data = Service header data array
3a // Start of the ADS name -> start with colon ":"
}
$neg = "Zone.Identifier"
condition:
$rar_magic at 0 and $ads and not $neg in ( @ads [ 1 ] .. @ads [ 1 ] + 15 )
}
Strings (3 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $rar_magic | hex | {52 61 72 21} | |
| $ads | hex | { 03 // Header Type -> Service Header 23 // Header flags [17-20] // Flags and extra data a … | |
| $neg | text | "Zone.Identifier" |
Condition
$rar_magic at 0 and $ads and not $neg in ( @ads [ 1 ] .. @ads [ 1 ] + 15 )In plain words (Heuristic)
- Pattern $rar_magic must be found at offset 0.
- Pattern $neg must be found within the range @ads [ 1 ] .. @ads [ 1 ] + 15.
- Pattern $neg must NOT be present.
- Pattern $ads must be present.
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).
- feec47858379c29300d249d1693f68dc085300f493891d1a9d4ea83b8db6e3c3
- 53a653aae9678075276bdb8ccf5eaff947f9121f73b8dcf24858c0447922d0b1
Licence & attribution
Author: Proofpoint
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: ca2b5904-b3d3-53cd-a973-6f30f0831a94
Metadata
| category | hunting |
|---|
Related rules
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-11-27
- APT / threat actorSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-11-20
- GenericSignature Base (Florian Roth / Nextron)· Proofpoint· 2024-11-27