YARA · ditekSHen detection
DITEKSHEN_MALWARE_Win_Windealer
Detects WinDealer
- Autor
- ditekSHen
- Fecha
- 2020-11-06
- Modificada
- 2024-11-01
- Puntuación / Calidad
- 75 / 73
Qué detecta esta regla
Detects WinDealer
Familia de malware asociada: Windealer.
Objetivos: PE de Windows.
Define 23 patrones (23 de texto, 0 hex, 0 regex). Módulos YARA usados: pe.
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
Incluye los imports necesarios para compilarla por sí sola.
import "pe"
rule DITEKSHEN_MALWARE_Win_Windealer : FILE
{
meta:
= "Detects WinDealer"
= "ditekSHen"
= "d4f3b0cc-121e-5032-9721-1e2a86842fa5"
= "2020-11-06"
= "2024-11-01"
= "https://github.com/ditekshen/detection"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/malware.yar#L8270-L8301"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
= "eabc41ea69f142ee7c243cbc75ceda909a722be382ad91a01c805aef637be915"
= 75
= 73
= "FILE"
= "920264"
strings:
$d1 = "downfile" fullword ascii
$d2 = "getmypath" fullword ascii
$d3 = "content-type: monitor" fullword ascii
$d4 = "content-type: UsedType" fullword ascii
$d5 = "write command error" fullword ascii
$d6 = "C:\\WINDOWS\\system32\\kernel32.dll" fullword ascii
$l1 = "currentconfig" fullword ascii
$l2 = "remotedomain" fullword ascii
$l3 = "reserveip" fullword ascii
$l4 = "otherinfo" fullword ascii
$l5 = "filelen" fullword ascii
$l6 = "%s%s.bak" fullword wide
$l7 = "localmachine" fullword ascii
$l8 = "remoteip" fullword ascii
$l9 = "datastate" fullword ascii
$l10 = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\%s\\Connection" fullword ascii
$s1 = "%s\\%s\\V5_History.dat" fullword wide
$s2 = "%s\\%s\\history2.dat" fullword wide
$s3 = "%s\\%s\\history.imw" fullword wide
$s4 = "%s\\%s\\main.imw" fullword wide
$s5 = "%s%d.%d.%d.%dWindows/%u" fullword ascii
$s6 = "%s\\%c_%s_tmp" fullword wide
$s7 = "%s\\%s\\main.db" fullword wide
condition:
uint16( 0 ) == 0x5a4d and ( ( 4 of ( $d* ) and 1 of ( $s* ) ) or ( 5 of ( $s* ) and 1 of ( $d* ) ) or 6 of ( $l* ) or ( pe.exports ( "DealC" ) and pe.exports ( "DealR" ) and pe.exports ( "DealS" ) and 1 of them ) )
}
Cadenas (23 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $d1 | texto | "downfile" | fullword ascii |
| $d2 | texto | "getmypath" | fullword ascii |
| $d3 | texto | "content-type: monitor" | fullword ascii |
| $d4 | texto | "content-type: UsedType" | fullword ascii |
| $d5 | texto | "write command error" | fullword ascii |
| $d6 | texto | "C:\\WINDOWS\\system32\\kernel32.dll" | fullword ascii |
| $l1 | texto | "currentconfig" | fullword ascii |
| $l2 | texto | "remotedomain" | fullword ascii |
| $l3 | texto | "reserveip" | fullword ascii |
| $l4 | texto | "otherinfo" | fullword ascii |
| $l5 | texto | "filelen" | fullword ascii |
| $l6 | texto | "%s%s.bak" | fullword wide |
| $l7 | texto | "localmachine" | fullword ascii |
| $l8 | texto | "remoteip" | fullword ascii |
| $l9 | texto | "datastate" | fullword ascii |
| $l10 | texto | "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\%s\\Connection" | fullword ascii |
| $s1 | texto | "%s\\%s\\V5_History.dat" | fullword wide |
| $s2 | texto | "%s\\%s\\history2.dat" | fullword wide |
| $s3 | texto | "%s\\%s\\history.imw" | fullword wide |
| $s4 | texto | "%s\\%s\\main.imw" | fullword wide |
| $s5 | texto | "%s%d.%d.%d.%dWindows/%u" | fullword ascii |
| $s6 | texto | "%s\\%c_%s_tmp" | fullword wide |
| $s7 | texto | "%s\\%s\\main.db" | fullword wide |
Condición
uint16( 0 ) == 0x5a4d and ( ( 4 of ( $d* ) and 1 of ( $s* ) ) or ( 5 of ( $s* ) and 1 of ( $d* ) ) or 6 of ( $l* ) or ( pe.exports ( "DealC" ) and pe.exports ( "DealR" ) and pe.exports ( "DealS" ) and 1 of them ) )En palabras sencillas (Heurística)
- El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
- Deben coincidir al menos 4 patrones de ( $d* ).
- Deben coincidir al menos 1 patrones de ( $s* ).
- Deben coincidir al menos 5 patrones de ( $s* ).
- Deben coincidir al menos 1 patrones de ( $d* ).
- Deben coincidir al menos 6 patrones de ( $l* ).
- Deben coincidir al menos 1 patrones de la regla.
- Usa el módulo pe.
- Comprueba funciones exportadas o el nombre de la DLL.
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: d4f3b0cc-121e-5032-9721-1e2a86842fa5
Metadatos
| snort_sid | 920264 |
|---|
Etiquetas:FILE
Reglas relacionadas
- MalwareBlackBerry Research & Intelligence (via Open-Source-YARA-rules)· BlackBerry Threat Research Team· 2022-06-14
- MalwareBlackBerry Research & Intelligence (via Open-Source-YARA-rules)· BlackBerry Threat Research Team· 2022-06-14
- MalwareMalpedia signator rules· Felix Bilstein - yara-signator at cocacoding dot com· 2026-05-04
- ARKBIRD_SOLG_MAL_Windealer_Oct_2021_2Solo metadatosMalwareArkbird SOLG (DailyIOC)· Arkbird_SOLG· 2021-10-30
- ARKBIRD_SOLG_MAL_Windealer_Oct_2021_1Solo metadatosMalwareArkbird SOLG (DailyIOC)· Arkbird_SOLG· 2021-10-30
- MalwareditekSHen detection· ditekSHen· 2034-02-17
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06