YARA · ditekSHen detection
DITEKSHEN_MALWARE_Win_Thanos
Detects Thanos / Prometheus / Spook ransomware
- Auteur
- ditekSHen
- Date
- 2020-11-06
- Modifiée
- 2024-11-01
- Score / Qualité
- 75 / 73
Ce que détecte cette règle
Detects Thanos / Prometheus / Spook ransomware
Famille de malware associée : Thanos.
Cibles : PE Windows.
Elle définit 25 motifs (25 texte, 0 hex, 0 regex).
Résumé généré à partir des métadonnées et de la condition de la règle.
Source de la règle
rule DITEKSHEN_MALWARE_Win_Thanos : FILE
{
meta:
= "Detects Thanos / Prometheus / Spook ransomware"
= "ditekSHen"
= "f523906e-ef5e-57be-82ed-06e75c393f42"
= "2020-11-06"
= "2024-11-01"
= "https://github.com/ditekshen/detection"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/malware.yar#L4357-L4389"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
= "8ce7cdfe4bca31e21d6fa31a75c46737a41fae3b5b0fda818e3a4709ceaf9bf5"
= 75
= 73
= "FILE"
strings:
$f1 = "<WorkerCrypter2>b__" ascii
$f2 = "<Encrypt2>b__" ascii
$f3 = "<Killproc>b__" ascii
$f4 = "<GetIPInfo>b__" ascii
$f5 = "<MacAddress>k__" ascii
$f6 = "<IPAddress>k__" ascii
$f7 = "<Crypt>b__" ascii
$s1 = "Aditional KeyId:" wide
$s2 = "process call create cmd.exe /c \\\\" wide
$s3 = "/c rd /s /q %SYSTEMDRIVE%\\$Recycle.bin" wide
$s4 = "\\HOW_TO_DECYPHER_FILES." wide
$s5 = "Client Unique Identifier Key:" wide
$s6 = "/s /f /q c:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk" fullword wide
$s7 = "NtOpenProcess" fullword wide
$s8 = "Builder_Log" fullword wide
$s9 = "> Nul & fsutil file setZeroData offset=0 length=" wide
$s10 = "3747bdbf-0ef0-42d8-9234-70d68801f407" wide
$s11 = "4b195894-0f06-4fdd-afb4-b17fb9246a59" wide
$s12 = "cec564ff-2433-4771-b918-15f58ef6e26c" wide
$s13 = "56258a19-7489-468b-86ee-e7899203d67c" wide
$s14 = "WalkDirectoryTree" fullword ascii
$s15 = "hashtableLock" fullword ascii
$s16 = "get_ParentFrn" fullword ascii
$m1 = "SW5mb3JtYXRpb24uLi" wide
$m2 = "QWxsIHlvdXIgZmlsZXMgd2VyZSBlbmNyeXB0" wide
condition:
uint16( 0 ) == 0x5a4d and ( 5 of ( $f* ) or 5 of ( $s* ) or ( 4 of ( $f* ) and 2 of ( $s* ) or ( all of ( $m* ) and 3 of them ) ) or 8 of them )
}
Chaînes (25 motifs)
| Identifiant | Type | Valeur | Modificateurs |
|---|---|---|---|
| $f1 | texte | "<WorkerCrypter2>b__" | ascii |
| $f2 | texte | "<Encrypt2>b__" | ascii |
| $f3 | texte | "<Killproc>b__" | ascii |
| $f4 | texte | "<GetIPInfo>b__" | ascii |
| $f5 | texte | "<MacAddress>k__" | ascii |
| $f6 | texte | "<IPAddress>k__" | ascii |
| $f7 | texte | "<Crypt>b__" | ascii |
| $s1 | texte | "Aditional KeyId:" | wide |
| $s2 | texte | "process call create cmd.exe /c \\\\" | wide |
| $s3 | texte | "/c rd /s /q %SYSTEMDRIVE%\\$Recycle.bin" | wide |
| $s4 | texte | "\\HOW_TO_DECYPHER_FILES." | wide |
| $s5 | texte | "Client Unique Identifier Key:" | wide |
| $s6 | texte | "/s /f /q c:\\*.VHD c:\\*.bac c:\\*.bak c:\\*.wbcat c:\\*.bkf c:\\Backup*.* c:\\backup*.* c:\\*.set c:\\*.win c:\\*.dsk" | fullword wide |
| $s7 | texte | "NtOpenProcess" | fullword wide |
| $s8 | texte | "Builder_Log" | fullword wide |
| $s9 | texte | "> Nul & fsutil file setZeroData offset=0 length=" | wide |
| $s10 | texte | "3747bdbf-0ef0-42d8-9234-70d68801f407" | wide |
| $s11 | texte | "4b195894-0f06-4fdd-afb4-b17fb9246a59" | wide |
| $s12 | texte | "cec564ff-2433-4771-b918-15f58ef6e26c" | wide |
| $s13 | texte | "56258a19-7489-468b-86ee-e7899203d67c" | wide |
| $s14 | texte | "WalkDirectoryTree" | fullword ascii |
| $s15 | texte | "hashtableLock" | fullword ascii |
| $s16 | texte | "get_ParentFrn" | fullword ascii |
| $m1 | texte | "SW5mb3JtYXRpb24uLi" | wide |
| $m2 | texte | "QWxsIHlvdXIgZmlsZXMgd2VyZSBlbmNyeXB0" | wide |
Condition
uint16( 0 ) == 0x5a4d and ( 5 of ( $f* ) or 5 of ( $s* ) or ( 4 of ( $f* ) and 2 of ( $s* ) or ( all of ( $m* ) and 3 of them ) ) or 8 of them )En clair (Heuristique)
- Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
- Tous les motifs de ( $m* ) doivent être trouvés.
- Au moins 5 motifs de ( $f* ) doivent être trouvés.
- Au moins 5 motifs de ( $s* ) doivent être trouvés.
- Au moins 4 motifs de ( $f* ) doivent être trouvés.
- Au moins 2 motifs de ( $s* ) doivent être trouvés.
- Au moins 3 motifs de la règle doivent être trouvés.
- Au moins 8 motifs de la règle doivent être trouvés.
Tester cette règle dans votre navigateur
Déposez un fichier pour le scanner avec cette règle grâce à YARA-X compilé en WebAssembly. Rien n’est envoyé.
Références
Licence et attribution
Auteur : ditekSHen
Dépôt source : ditekSHen detection @ e76c93dcde
Licence : BSD 2-Clause License (licence du dépôt)
Mention de copyright : Copyright 2021 by ditekSHen (https://github.com/ditekshen/detection).
Reprise via YARA Forge 20260927, qui préfixe les noms de règles par la source et ajoute des champs meta normalisés.
Identifiant de règle: f523906e-ef5e-57be-82ed-06e75c393f42
Tags:FILE
Règles liées
- Suspect / chasseditekSHen detection· ditekShen· 2021-01-21
- MalwareditekSHen detection· ditekSHen· 2034-02-17
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06