YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_MAL_LNX_Perfctl_Oct24
Detects Perfctl malware samples
- Author
- Florian Roth
- Date
- 2024-10-09
- Modified
- 2024-12-12
- Score / Quality
- 75 / 85
What this rule detects
Detects Perfctl malware samples
It defines 4 patterns (0 text, 4 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
mal-lnx-perfctl-oct24.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MAL_LNX_Perfctl_Oct24 : FILE
{
meta:
= "Detects Perfctl malware samples"
= "Florian Roth"
= "391513ae-3348-5297-a22a-6f06e50f06d2"
= "2024-10-09"
= "2024-12-12"
= "https://www.aquasec.com/blog/perfctl-a-stealthy-malware-targeting-millions-of-linux-servers/"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/mal_perfctl_oct24.yar#L23-L42"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "a6d3c6b6359ae660d855f978057aab1115b418ed277bb9047cd488f9c7850747"
= "ca3f246d635bfa560f6c839111be554a14735513e90b3e6784bedfe1930bdfd6"
= "d47df34240f59124542acc41484e8935327490c04c4e15a558b2ffc6f9c52ea8"
= 75
= 85
= "FILE"
strings:
$op1 = { 83 45 f8 01 8b 45 f8 48 3b 45 98 0f 82 1b ff ff ff 90 c9 c3 55 }
$op2 = { 48 8b 55 a0 48 01 ca 0f b6 0a 48 8b 55 a8 89 c0 88 4c 02 18 8b 45 fc 83 e0 3f }
$op3 = { 88 4c 10 58 83 45 f8 01 83 7d f8 03 0f 86 68 ff ff ff 90 c9 c3 55 }
$op4 = { 48 83 ec 68 48 89 7d a8 48 89 75 a0 48 89 55 98 48 8b 45 a8 48 8b 00 83 e0 3f 89 45 fc }
condition:
uint16( 0 ) == 0x457f and filesize < 300KB and 2 of them
}
Strings (4 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $op1 | hex | { 83 45 f8 01 8b 45 f8 48 3b 45 98 0f 82 1b ff ff ff 90 c9 c3 55 } | |
| $op2 | hex | { 48 8b 55 a0 48 01 ca 0f b6 0a 48 8b 55 a8 89 c0 88 4c 02 18 8b 45 fc 83 e0 3f } | |
| $op3 | hex | { 88 4c 10 58 83 45 f8 01 83 7d f8 03 0f 86 68 ff ff ff 90 c9 c3 55 } | |
| $op4 | hex | { 48 83 ec 68 48 89 7d a8 48 89 75 a0 48 89 55 98 48 8b 45 a8 48 8b 00 83 e0 3f 89 45 fc } |
Condition
uint16( 0 ) == 0x457f and filesize < 300KB and 2 of themIn plain words (Heuristic)
- The file must be smaller than 300KB (a cheap guard that skips large files).
- At least 2 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.
Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.
References
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- a6d3c6b6359ae660d855f978057aab1115b418ed277bb9047cd488f9c7850747
- ca3f246d635bfa560f6c839111be554a14735513e90b3e6784bedfe1930bdfd6
Licence & attribution
Author: Florian Roth
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: 391513ae-3348-5297-a22a-6f06e50f06d2
Tags:FILE
Related rules
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-04-15
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-02-23
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-02-23
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-02-13
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-02-13
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-04-17
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-04-17
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-11-01