YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_HKTL_Khepri_Beacon_Sep21_1
Detects Khepri C2 framework beacons
- Autor
- Florian Roth (Nextron Systems)
- Datum
- 2021-09-08
- Geändert
- 2023-12-05
- Score / Qualität
- 90 / 85
Was diese Regel erkennt
Detects Khepri C2 framework beacons
Ziele: Windows-PE, Linux-ELF.
Sie definiert 15 Muster (11 Text, 4 Hex, 0 Regex).
Zusammenfassung aus den Metadaten und der Bedingung der Regel erzeugt.
Regelquelltext
rule SIGNATURE_BASE_HKTL_Khepri_Beacon_Sep21_1 : FILE
{
meta:
= "Detects Khepri C2 framework beacons"
= "Florian Roth (Nextron Systems)"
= "b2c8aaf7-7953-55a3-8499-565800fa01f1"
= "2021-09-08"
= "2023-12-05"
= "https://github.com/geemion/Khepri/"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_khepri.yar#L2-L44"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "86c48679db5f4c085fd741ebec5235bc6cf0cdf8ef2d98fd8a689ceb5088f431"
= "c688dbda6006ef28305285f6aeec24a23cbfe9174d09cf4e3586bd0cf7290e60"
= 90
= 85
= "FILE"
strings:
$x1 = "NT %d.%d Build %d ProductType:%s" ascii fullword
$xe1 = "YzIuQ01EUEFSQU0uY21k" ascii
$xe2 = "MyLkNNRFBBUkFNLmNtZ" ascii
$xe3 = "jMi5DTURQQVJBTS5jbW" ascii
$sx1 = "c2.ProcessItem.user" ascii fullword
$sx2 = "c2.CMDPARAM.cmd" ascii fullword
$sx3 = "c2.DownLoadFile.file_path" ascii fullword
$sa1 = "file size zero"
$sa2 = "cmd.exe /c "
$sa3 = "error parse param"
$sa4 = "innet_ip"
$op1 = { c3 b9 b4 98 49 00 87 01 5d c3 b8 b8 98 49 00 c3 8b ff }
$op2 = { 8b f1 80 3d 58 97 49 00 00 0f 85 96 00 00 00 33 c0 40 b9 50 97 49 00 87 01 33 db }
$op3 = { 90 d5 0c 43 00 34 0d 43 00 ea 0c 43 00 7e 0d 43 00 b6 0d 43 00 cc }
$op4 = { 69 c0 ff 00 00 00 8b 4d c0 23 88 40 7c 49 00 89 4d c0 8b 45 cc 0b 45 c0 89 45 cc 8b 45 d0 }
condition:
( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 ) and filesize < 2000KB and ( 1 of ( $x* ) or 2 of ( $sx* ) or all of ( $sa* ) or 3 of ( $op* ) ) or ( filesize < 10MB and 1 of ( $xe* ) ) or 5 of them
}
Strings (15 Muster)
| Bezeichner | Typ | Wert | Modifikatoren |
|---|---|---|---|
| $x1 | Text | "NT %d.%d Build %d ProductType:%s" | ascii fullword |
| $xe1 | Text | "YzIuQ01EUEFSQU0uY21k" | ascii |
| $xe2 | Text | "MyLkNNRFBBUkFNLmNtZ" | ascii |
| $xe3 | Text | "jMi5DTURQQVJBTS5jbW" | ascii |
| $sx1 | Text | "c2.ProcessItem.user" | ascii fullword |
| $sx2 | Text | "c2.CMDPARAM.cmd" | ascii fullword |
| $sx3 | Text | "c2.DownLoadFile.file_path" | ascii fullword |
| $sa1 | Text | "file size zero" | |
| $sa2 | Text | "cmd.exe /c " | |
| $sa3 | Text | "error parse param" | |
| $sa4 | Text | "innet_ip" | |
| $op1 | Hex | { c3 b9 b4 98 49 00 87 01 5d c3 b8 b8 98 49 00 c3 8b ff } | |
| $op2 | Hex | { 8b f1 80 3d 58 97 49 00 00 0f 85 96 00 00 00 33 c0 40 b9 50 97 49 00 87 01 33 db } | |
| $op3 | Hex | { 90 d5 0c 43 00 34 0d 43 00 ea 0c 43 00 7e 0d 43 00 b6 0d 43 00 cc } | |
| $op4 | Hex | { 69 c0 ff 00 00 00 8b 4d c0 23 88 40 7c 49 00 89 4d c0 8b 45 cc 0b 45 c0 89 45 cc 8b 45 d0 } |
Bedingung
( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 ) and filesize < 2000KB and ( 1 of ( $x* ) or 2 of ( $sx* ) or all of ( $sa* ) or 3 of ( $op* ) ) or ( filesize < 10MB and 1 of ( $xe* ) ) or 5 of themIn Worten (Heuristik)
- Die Datei muss mit „MZ“ beginnen — eine Windows-Programmdatei (PE).
- Die Datei muss mit dem ELF-Header beginnen — eine Linux/Unix-Programmdatei.
- Die Datei muss kleiner als 2000KB sein (eine günstige Grenze, die große Dateien ausschließt).
- Die Datei muss kleiner als 10MB sein (eine günstige Grenze, die große Dateien ausschließt).
- Alle Muster aus ( $sa* ) müssen treffen.
- Mindestens 1 Muster aus ( $x* ) müssen treffen.
- Mindestens 2 Muster aus ( $sx* ) müssen treffen.
- Mindestens 3 Muster aus ( $op* ) müssen treffen.
- Mindestens 1 Muster aus ( $xe* ) müssen treffen.
- Mindestens 5 Muster aus der Regel müssen treffen.
Diese Regel im Browser testen
Legen Sie eine Datei ab, um sie mit dieser Regel und YARA-X als WebAssembly zu scannen. Nichts wird hochgeladen.
Referenzen
Proben-Hashes
Hashes der Proben, die der Autor in den Metadaten der Regel nennt (in Ihrer Threat-Intelligence-Plattform nachschlagen).
- 86c48679db5f4c085fd741ebec5235bc6cf0cdf8ef2d98fd8a689ceb5088f431
Lizenz & Namensnennung
Autor: Florian Roth (Nextron Systems)
Quell-Repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Lizenz: Detection Rule License 1.1 (Repository-Lizenz)
Gespiegelt über YARA Forge 20260927, das Regelnamen mit der Quelle präfixiert und normalisierte Meta-Felder ergänzt.
Regel-ID: b2c8aaf7-7953-55a3-8499-565800fa01f1
Tags:FILE
Verwandte Regeln
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2020-08-09
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2022-12-27
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2022-09-15
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2021-03-03
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2021-03-02
- HacktoolSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2020-04-07
- APT / AkteurSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2022-01-16
- APT / AkteurSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2022-01-16