YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_APT_MAL_Falsefont_Backdoor_Jan24
Detects FalseFont backdoor, related to Peach Sandstorm APT
- Author
- X__Junior, Jonathan Peters
- Date
- 2024-01-11
- Modified
- 2024-04-24
- Score / Quality
- 80 / 85
What this rule detects
Detects FalseFont backdoor, related to Peach Sandstorm APT
Targets: Windows PE.
It defines 10 patterns (10 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_APT_MAL_Falsefont_Backdoor_Jan24 : FILE
{
meta:
= "Detects FalseFont backdoor, related to Peach Sandstorm APT"
= "X__Junior, Jonathan Peters"
= "b6a3efff-2abf-5ac1-9a2b-c7b30b51f92c"
= "2024-01-11"
= "2024-04-24"
= "https://twitter.com/MsftSecIntel/status/1737895710169628824"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_peach_sandstorm.yar#L1-L31"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "364275326bbfc4a3b89233dabdaf3230a3d149ab774678342a40644ad9f8d614"
= "9a1b3779b63dd7fa8ddc84067dec09542518e9acebbf5d3b45cb75ec4add1158"
= 80
= 85
= "FILE"
strings:
$x1 = "Agent.Core.WPF.App" ascii
$x2 = "3EzuNZ0RN3h3oV7rzILktSHSaHk+5rtcWOr0mlA1CUA=" wide
$x3 = "viOIZ9cX59qDDjMHYsz1Yw==" wide
$sa1 = "StopSendScreen" wide
$sa2 = "Decryption failed :(" wide
$sb1 = "{0} {1} {2} {3}" wide
$sb2 = "\\BraveSoftware\\Brave-Browser\\User Data\\" wide
$sb3 = "select * from logins" wide
$sb4 = "Loginvault.db" wide
$sb5 = "password_value" wide
condition:
uint16( 0 ) == 0x5a4d and ( 1 of ( $x* ) or all of ( $sa* ) or all of ( $sb* ) or ( 1 of ( $sa* ) and 4 of ( $sb* ) ) )
}
Strings (10 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $x1 | text | "Agent.Core.WPF.App" | ascii |
| $x2 | text | "3EzuNZ0RN3h3oV7rzILktSHSaHk+5rtcWOr0mlA1CUA=" | wide |
| $x3 | text | "viOIZ9cX59qDDjMHYsz1Yw==" | wide |
| $sa1 | text | "StopSendScreen" | wide |
| $sa2 | text | "Decryption failed :(" | wide |
| $sb1 | text | "{0} {1} {2} {3}" | wide |
| $sb2 | text | "\\BraveSoftware\\Brave-Browser\\User Data\\" | wide |
| $sb3 | text | "select * from logins" | wide |
| $sb4 | text | "Loginvault.db" | wide |
| $sb5 | text | "password_value" | wide |
Condition
uint16( 0 ) == 0x5a4d and ( 1 of ( $x* ) or all of ( $sa* ) or all of ( $sb* ) or ( 1 of ( $sa* ) and 4 of ( $sb* ) ) )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- All patterns in ( $sa* ) must match.
- All patterns in ( $sb* ) must match.
- At least 1 patterns in ( $x* ) must match.
- At least 1 patterns in ( $sa* ) must match.
- At least 4 patterns in ( $sb* ) 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).
- 364275326bbfc4a3b89233dabdaf3230a3d149ab774678342a40644ad9f8d614
Licence & attribution
Author: X__Junior, Jonathan Peters
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: b6a3efff-2abf-5ac1-9a2b-c7b30b51f92c
Tags:FILE