YARA · SEKOIA.IO Community
SEKOIA_Wiper_Win_Isaacwiper
Detect the IsaacWiper using multiple methods + ReversingLab rule's condition
- Autor
- Sekoia.io
- Datum
- 2022-03-15
- Geändert
- 2024-12-19
- Score / Qualität
- 75 / 80
Was diese Regel erkennt
Detect the IsaacWiper using multiple methods + ReversingLab rule's condition
Zugehörige Malware-Familie: Isaacwiper.
Ziele: Windows-PE.
Sie definiert 13 Muster (13 Text, 0 Hex, 0 Regex). Verwendete YARA-Module: pe, hash.
YARA-X meldet: warning[deprecated_field]: field `number_of_sections` is deprecated
Zusammenfassung aus den Metadaten und der Bedingung der Regel erzeugt.
Regelquelltext
Enthält die Imports, die zum eigenständigen Kompilieren nötig sind.
import "pe"
import "hash"
rule SEKOIA_Wiper_Win_Isaacwiper
{
meta:
= "Detect the IsaacWiper using multiple methods + ReversingLab rule's condition"
= "Sekoia.io"
= "b081e3a3-612e-46ae-93af-82e7ee98fcf7"
= "2022-03-15"
= "2024-12-19"
= "https://github.com/SEKOIA-IO/Community"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/wiper_win_isaacwiper.yar#L4-L45"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
= "0338e11ece112b6f7d88db49cfc703a4431d7ee54f4b9ff0b9e2ea50d39cab4f"
= 75
= 80
= ""
= "1.0"
= "TLP:CLEAR"
strings:
$s1 = "getting drives..." wide
$s2 = "physical drives:" wide
$s3 = "-- system physical drive" wide
$s4 = "-- physical drive" wide
$s5 = "logical drives:" wide
$s6 = "-- system logical drive:" wide
$s7 = "-- logical drive:" wide
$s8 = "start erasing physical drives..." wide
$s9 = "-- FAILED" wide
$s10 = "-- start erasing logical drive" wide
$s11 = "start erasing system physical drive..." wide
$s12 = "system physical drive -- FAILED" wide
$s13 = "start erasing system logical drive" wide
condition:
pe.imphash( ) == "a4b162717c197e11b76a4d9bc58ea25d" or for any i in ( 0 .. pe.number_of_sections -1 ) : ( hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "06d63fddf89fae3948764028712c36d6" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "48f101db632bb445c21a10fd5501e343" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "5efc98798d0979e69e2a667fc20e3f24" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "9676f7c827fb9388358aaba3e4bd0cc6" ) or hash.md5 ( pe.rich_signature.clear_data ) == "ec862d3013903478c2ff8dce2792815f" or all of ( $s* )
}
Strings (13 Muster)
| Bezeichner | Typ | Wert | Modifikatoren |
|---|---|---|---|
| $s1 | Text | "getting drives..." | wide |
| $s2 | Text | "physical drives:" | wide |
| $s3 | Text | "-- system physical drive" | wide |
| $s4 | Text | "-- physical drive" | wide |
| $s5 | Text | "logical drives:" | wide |
| $s6 | Text | "-- system logical drive:" | wide |
| $s7 | Text | "-- logical drive:" | wide |
| $s8 | Text | "start erasing physical drives..." | wide |
| $s9 | Text | "-- FAILED" | wide |
| $s10 | Text | "-- start erasing logical drive" | wide |
| $s11 | Text | "start erasing system physical drive..." | wide |
| $s12 | Text | "system physical drive -- FAILED" | wide |
| $s13 | Text | "start erasing system logical drive" | wide |
Bedingung
pe.imphash( ) == "a4b162717c197e11b76a4d9bc58ea25d" or for any i in ( 0 .. pe.number_of_sections -1 ) : ( hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "06d63fddf89fae3948764028712c36d6" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "48f101db632bb445c21a10fd5501e343" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "5efc98798d0979e69e2a667fc20e3f24" or hash.md5 ( pe.sections [ i ] . raw_data_offset , pe.sections [ i ] . raw_data_size ) == "9676f7c827fb9388358aaba3e4bd0cc6" ) or hash.md5 ( pe.rich_signature.clear_data ) == "ec862d3013903478c2ff8dce2792815f" or all of ( $s* )In Worten (Heuristik)
- Alle Muster aus ( $s* ) müssen treffen.
- Eine for-Schleife prüft eine Eigenschaft über mehrere Treffer oder Elemente.
- Nutzt das Modul pe.
- Nutzt das Modul hash.
- Vergleicht einen Hash der Datei oder eines Teils davon.
- Prüft den PE-Import-Hash (imphash).
- Prüft PE-Sektionen (Namen, Anzahl oder Eigenschaften).
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
Lizenz & Namensnennung
Autor: Sekoia.io
Quell-Repository: SEKOIA.IO Community @ a438a5901a
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: b081e3a3-612e-46ae-93af-82e7ee98fcf7
Metadaten
| version | 1.0 |
|---|---|
| classification | TLP:CLEAR |
Verwandte Regeln
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth (Nextron Systems)· 2022-03-03
- MalwareMalpedia signator rules· Felix Bilstein - yara-signator at cocacoding dot com· 2026-05-04
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-07-16
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-08-23
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-04-22
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-07-23
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-10-20
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-03-20