YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_MAL_3Cxdesktopapp_Macos_Backdoor_Mar23
Detects 3CXDesktopApp MacOS Backdoor component
- Author
- X__Junior (Nextron Systems)
- Date
- 2023-03-30
- Modified
- 2023-12-05
- Score / Quality
- 80 / 85
What this rule detects
Detects 3CXDesktopApp MacOS Backdoor component
It defines 4 patterns (2 text, 2 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_MAL_3Cxdesktopapp_Macos_Backdoor_Mar23 : FILE
{
meta:
= "Detects 3CXDesktopApp MacOS Backdoor component"
= "X__Junior (Nextron Systems)"
= "80046c8e-0c2a-5885-b140-a6084f48160d"
= "2023-03-30"
= "2023-12-05"
= "https://www.volexity.com/blog/2023/03/30/3cx-supply-chain-compromise-leads-to-iconic-incident/"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_mal_3cx_compromise_mar23.yar#L251-L275"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "a64fa9f1c76457ecc58402142a8728ce34ccba378c17318b3340083eeb7acc67"
= "777a0a29c376f3697021dd627e716c31bda7933c5f40a8fe79b80e3cea46ce43"
= 80
= 85
= "FILE"
strings:
$sa1 = "%s/.main_storage" ascii fullword
$sa2 = "%s/UpdateAgent" ascii fullword
$op1 = { 31 C0 41 80 34 06 ?? 48 FF C0 48 83 F8 ?? 75 ?? BE ?? ?? ?? ?? BA ?? ?? ?? ?? 4C 89 F7 48 89 D9 E8 ?? ?? ?? ?? 48 89 DF E8 ?? ?? ?? ?? 48 89 DF E8 ?? ?? ?? ?? 4C 89 F7 5B 41 5E 41 5F E9 ?? ?? ?? ?? 5B 41 5E 41 5F C3}
$op2 = { 0F 11 84 24 ?? ?? ?? ?? 0F 28 05 ?? ?? ?? ?? 0F 29 84 24 ?? ?? ?? ?? 0F 28 05 ?? ?? ?? ?? 0F 29 84 24 ?? ?? ?? ?? 31 C0 80 B4 04 ?? ?? ?? ?? ?? 48 FF C0}
condition:
(( uint16( 0 ) == 0xfeca or uint16( 0 ) == 0xfacf or uint32( 0 ) == 0xbebafeca ) and filesize < 6MB and ( ( 1 of ( $sa* ) and 1 of ( $op* ) ) or all of ( $sa* ) ) ) or ( all of ( $op* ) )
}
Strings (4 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $sa1 | text | "%s/.main_storage" | ascii fullword |
| $sa2 | text | "%s/UpdateAgent" | ascii fullword |
| $op1 | hex | { 31 C0 41 80 34 06 ?? 48 FF C0 48 83 F8 ?? 75 ?? BE ?? ?? ?? ?? BA ?? ?? ?? ?? 4C 89 F7 48 89 D9 E8 ?? ?? ?? ?? 48 89 DF E8 ?? ?? ?? ?? 48 89 DF E8 ?? ?? ?? ?? … | |
| $op2 | hex | { 0F 11 84 24 ?? ?? ?? ?? 0F 28 05 ?? ?? ?? ?? 0F 29 84 24 ?? ?? ?? ?? 0F 28 05 ?? ?? ?? ?? 0F 29 84 24 ?? ?? ?? ?? 31 C0 80 B4 04 ?? ?? ?? ?? ?? 48 FF C0} |
Condition
(( uint16( 0 ) == 0xfeca or uint16( 0 ) == 0xfacf or uint32( 0 ) == 0xbebafeca ) and filesize < 6MB and ( ( 1 of ( $sa* ) and 1 of ( $op* ) ) or all of ( $sa* ) ) ) or ( all of ( $op* ) )In plain words (Heuristic)
- The file must be smaller than 6MB (a cheap guard that skips large files).
- All patterns in ( $sa* ) must match.
- All patterns in ( $op* ) must match.
- At least 1 patterns in ( $sa* ) must match.
- At least 1 patterns in ( $op* ) 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.
References
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- a64fa9f1c76457ecc58402142a8728ce34ccba378c17318b3340083eeb7acc67
Licence & attribution
Author: X__Junior (Nextron Systems)
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: 80046c8e-0c2a-5885-b140-a6084f48160d
Tags:FILE
Related rules
- MalwareSignature Base (Florian Roth / Nextron)· X__Junior (Nextron Systems)· 2023-04-03
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· X__Junior (Nextron Systems)· 2023-05-12
- APT / threat actorSignature Base (Florian Roth / Nextron)· X__Junior (Nextron Systems)· 2023-02-24