YARA · ditekSHen detection
DITEKSHEN_MALWARE_Win_Windealer
Detects WinDealer
- Auteur
- ditekSHen
- Date
- 2020-11-06
- Modifiée
- 2024-11-01
- Score / Qualité
- 75 / 73
Ce que détecte cette règle
Detects WinDealer
Famille de malware associée : Windealer.
Cibles : PE Windows.
Elle définit 23 motifs (23 texte, 0 hex, 0 regex). Modules YARA utilisés : pe.
Résumé généré à partir des métadonnées et de la condition de la règle.
Source de la règle
Inclut les imports nécessaires pour la compiler seule.
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 ) )
}
Chaînes (23 motifs)
| Identifiant | Type | Valeur | Modificateurs |
|---|---|---|---|
| $d1 | texte | "downfile" | fullword ascii |
| $d2 | texte | "getmypath" | fullword ascii |
| $d3 | texte | "content-type: monitor" | fullword ascii |
| $d4 | texte | "content-type: UsedType" | fullword ascii |
| $d5 | texte | "write command error" | fullword ascii |
| $d6 | texte | "C:\\WINDOWS\\system32\\kernel32.dll" | fullword ascii |
| $l1 | texte | "currentconfig" | fullword ascii |
| $l2 | texte | "remotedomain" | fullword ascii |
| $l3 | texte | "reserveip" | fullword ascii |
| $l4 | texte | "otherinfo" | fullword ascii |
| $l5 | texte | "filelen" | fullword ascii |
| $l6 | texte | "%s%s.bak" | fullword wide |
| $l7 | texte | "localmachine" | fullword ascii |
| $l8 | texte | "remoteip" | fullword ascii |
| $l9 | texte | "datastate" | fullword ascii |
| $l10 | texte | "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\%s\\Connection" | fullword ascii |
| $s1 | texte | "%s\\%s\\V5_History.dat" | fullword wide |
| $s2 | texte | "%s\\%s\\history2.dat" | fullword wide |
| $s3 | texte | "%s\\%s\\history.imw" | fullword wide |
| $s4 | texte | "%s\\%s\\main.imw" | fullword wide |
| $s5 | texte | "%s%d.%d.%d.%dWindows/%u" | fullword ascii |
| $s6 | texte | "%s\\%c_%s_tmp" | fullword wide |
| $s7 | texte | "%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 ) )En clair (Heuristique)
- Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
- Au moins 4 motifs de ( $d* ) doivent être trouvés.
- Au moins 1 motifs de ( $s* ) doivent être trouvés.
- Au moins 5 motifs de ( $s* ) doivent être trouvés.
- Au moins 1 motifs de ( $d* ) doivent être trouvés.
- Au moins 6 motifs de ( $l* ) doivent être trouvés.
- Au moins 1 motifs de la règle doivent être trouvés.
- Utilise le module pe.
- Vérifie des fonctions exportées ou le nom de la DLL.
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: d4f3b0cc-121e-5032-9721-1e2a86842fa5
Métadonnées
| snort_sid | 920264 |
|---|
Tags:FILE
Règles liées
- 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_2Métadonnées seulesMalwareArkbird SOLG (DailyIOC)· Arkbird_SOLG· 2021-10-30
- ARKBIRD_SOLG_MAL_Windealer_Oct_2021_1Métadonnées seulesMalwareArkbird 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