YARA · ditekSHen detection
DITEKSHEN_MALWARE_Win_Thanos
Detects Thanos / Prometheus / Spook ransomware
- Autor
- ditekSHen
- Fecha
- 2020-11-06
- Modificada
- 2024-11-01
- Puntuación / Calidad
- 75 / 73
Qué detecta esta regla
Detects Thanos / Prometheus / Spook ransomware
Familia de malware asociada: Thanos.
Objetivos: PE de Windows.
Define 25 patrones (25 de texto, 0 hex, 0 regex).
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
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 )
}
Cadenas (25 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $f1 | texto | "<WorkerCrypter2>b__" | ascii |
| $f2 | texto | "<Encrypt2>b__" | ascii |
| $f3 | texto | "<Killproc>b__" | ascii |
| $f4 | texto | "<GetIPInfo>b__" | ascii |
| $f5 | texto | "<MacAddress>k__" | ascii |
| $f6 | texto | "<IPAddress>k__" | ascii |
| $f7 | texto | "<Crypt>b__" | ascii |
| $s1 | texto | "Aditional KeyId:" | wide |
| $s2 | texto | "process call create cmd.exe /c \\\\" | wide |
| $s3 | texto | "/c rd /s /q %SYSTEMDRIVE%\\$Recycle.bin" | wide |
| $s4 | texto | "\\HOW_TO_DECYPHER_FILES." | wide |
| $s5 | texto | "Client Unique Identifier Key:" | wide |
| $s6 | texto | "/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 | texto | "NtOpenProcess" | fullword wide |
| $s8 | texto | "Builder_Log" | fullword wide |
| $s9 | texto | "> Nul & fsutil file setZeroData offset=0 length=" | wide |
| $s10 | texto | "3747bdbf-0ef0-42d8-9234-70d68801f407" | wide |
| $s11 | texto | "4b195894-0f06-4fdd-afb4-b17fb9246a59" | wide |
| $s12 | texto | "cec564ff-2433-4771-b918-15f58ef6e26c" | wide |
| $s13 | texto | "56258a19-7489-468b-86ee-e7899203d67c" | wide |
| $s14 | texto | "WalkDirectoryTree" | fullword ascii |
| $s15 | texto | "hashtableLock" | fullword ascii |
| $s16 | texto | "get_ParentFrn" | fullword ascii |
| $m1 | texto | "SW5mb3JtYXRpb24uLi" | wide |
| $m2 | texto | "QWxsIHlvdXIgZmlsZXMgd2VyZSBlbmNyeXB0" | wide |
Condición
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 palabras sencillas (Heurística)
- El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
- Deben coincidir todos los patrones de ( $m* ).
- Deben coincidir al menos 5 patrones de ( $f* ).
- Deben coincidir al menos 5 patrones de ( $s* ).
- Deben coincidir al menos 4 patrones de ( $f* ).
- Deben coincidir al menos 2 patrones de ( $s* ).
- Deben coincidir al menos 3 patrones de la regla.
- Deben coincidir al menos 8 patrones de la regla.
Prueba esta regla en tu navegador
Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.
Referencias
Licencia y atribución
Autor: ditekSHen
Repositorio de origen: ditekSHen detection @ e76c93dcde
Licencia: BSD 2-Clause License (licencia del repositorio)
Aviso de copyright: Copyright 2021 by ditekSHen (https://github.com/ditekshen/detection).
Obtenida a través de YARA Forge 20260927, que añade a los nombres el prefijo de la fuente y campos meta normalizados.
Id de la regla: f523906e-ef5e-57be-82ed-06e75c393f42
Etiquetas:FILE
Reglas relacionadas
- Sospechoso / huntingditekSHen 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