YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_M_Hunting_Backdoor_ZIPLINE_1
This rule detects unique strings in ZIPLINE, a passive ELF backdoor that waits for incoming TCP connections to receive commands from the threat actor.
- Author
- Mandiant
- Date
- 2024-01-11
- Modified
- 2024-04-24
- Score / Quality
- 75 / 85
What this rule detects
This rule detects unique strings in ZIPLINE, a passive ELF backdoor that waits for incoming TCP connections to receive commands from the threat actor.
Targets: Linux ELF.
It defines 6 patterns (6 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_M_Hunting_Backdoor_ZIPLINE_1 : FILE
{
meta:
= "This rule detects unique strings in ZIPLINE, a passive ELF backdoor that waits for incoming TCP connections to receive commands from the threat actor."
= "Mandiant"
= "753884d6-d4c1-5e94-9d2c-f6ebb7bfaf85"
= "2024-01-11"
= "2024-04-24"
= "https://www.mandiant.com/resources/blog/suspected-apt-targets-ivanti-zero-day"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_report_ivanti_mandiant_jan24.yar#L18-L38"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "41857ba465dd1f2e1aa8c1eed36b73606385eeedf233fd480bb8a4ef15499174"
= 75
= 85
= "FILE"
strings:
$s1 = "SSH-2.0-OpenSSH_0.3xx" ascii
$s2 = "$(exec $installer $@)" ascii
$t1 = "./installer/do-install" ascii
$t2 = "./installer/bom_files/" ascii
$t3 = "/tmp/data/root/etc/ld.so.preload" ascii
$t4 = "/tmp/data/root/home/etc/manifest/exclusion_list" ascii
condition:
uint32( 0 ) == 0x464c457f and filesize < 5MB and ( ( 1 of ( $s* ) ) or ( 3 of ( $t* ) ) )
}
Strings (6 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "SSH-2.0-OpenSSH_0.3xx" | ascii |
| $s2 | text | "$(exec $installer $@)" | ascii |
| $t1 | text | "./installer/do-install" | ascii |
| $t2 | text | "./installer/bom_files/" | ascii |
| $t3 | text | "/tmp/data/root/etc/ld.so.preload" | ascii |
| $t4 | text | "/tmp/data/root/home/etc/manifest/exclusion_list" | ascii |
Condition
uint32( 0 ) == 0x464c457f and filesize < 5MB and ( ( 1 of ( $s* ) ) or ( 3 of ( $t* ) ) )In plain words (Heuristic)
- The file must start with the ELF header — a Linux/Unix executable.
- The file must be smaller than 5MB (a cheap guard that skips large files).
- At least 1 patterns in ( $s* ) must match.
- At least 3 patterns in ( $t* ) 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.
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: 753884d6-d4c1-5e94-9d2c-f6ebb7bfaf85
Tags:FILE
Related rules
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2022-04-28
- 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