Aller au contenu

YARA · ditekSHen detection

DITEKSHEN_MALWARE_Win_R77

Detects r77 rootkit

MalwareR77ditekSHen detectionBSD 2-Clause LicenseCompile avec YARA-X (avertissements)
Auteur
ditekSHen
Date
2020-11-06
Modifiée
2024-11-01
Score / Qualité
75 / 75

Ce que détecte cette règle

Detects r77 rootkit

Famille de malware associée : R77.

Cibles : PE Windows.

Elle définit 8 motifs (8 texte, 0 hex, 0 regex). Modules YARA utilisés : pe.

YARA-X indique : warning[deprecated_field]: field `number_of_sections` is deprecated

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.

malware-win-r77.yarBSD 2-Clause License
import "pe"

rule DITEKSHEN_MALWARE_Win_R77 : FILE
{
	meta:
		description = "Detects r77 rootkit"
		author = "ditekSHen"
		id = "813d207e-c6d9-5fea-8387-19da33bc3317"
		date = "2020-11-06"
		modified = "2024-11-01"
		reference = "https://github.com/ditekshen/detection"
		source_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/malware.yar#L11192-L11217"
		license_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
		logic_hash = "e3ec6e88a3a77b7dc69eb51a528e6417f6b8695c7cb01d699cf248cebd9b84e2"
		score = 75
		quality = 75
		tags = "FILE"

	strings:
		$s1 = "startup" fullword wide
		$s2 = "process_names" fullword wide
		$s3 = "paths" fullword wide
		$s4 = "service_names" fullword wide
		$s5 = "tcp_local" fullword wide
		$s6 = "tcp_remote" fullword wide
		$s7 = "\\\\.\\pipe\\" wide
		$s8 = "SOFTWARE\\" wide

	condition:
		uint16( 0 ) == 0x5a4d and ( all of ( $s* ) or ( 5 of them and pe.exports ( "ReflectiveDllMain" ) ) or ( 5 of them and for any i in ( 0 .. pe.number_of_sections ) : ( ( pe.sections [ i ] . name == ".detourd" ) ) ) )
}

Chaînes (8 motifs)

IdentifiantTypeValeurModificateurs
$s1texte"startup"fullword wide
$s2texte"process_names"fullword wide
$s3texte"paths"fullword wide
$s4texte"service_names"fullword wide
$s5texte"tcp_local"fullword wide
$s6texte"tcp_remote"fullword wide
$s7texte"\\\\.\\pipe\\"wide
$s8texte"SOFTWARE\\"wide

Condition

uint16( 0 ) == 0x5a4d and ( all of ( $s* ) or ( 5 of them and pe.exports ( "ReflectiveDllMain" ) ) or ( 5 of them and for any i in ( 0 .. pe.number_of_sections ) : ( ( pe.sections [ i ] . name == ".detourd" ) ) ) )

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Tous les motifs de ( $s* ) doivent être trouvés.
  • Au moins 5 motifs de la règle doivent être trouvés.
  • Une boucle for vérifie une propriété sur plusieurs occurrences ou éléments.
  • Utilise le module pe.
  • Vérifie des fonctions exportées ou le nom de la DLL.
  • Vérifie les sections PE (noms, nombre ou propriété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é.

Déposez un fichier ici ou cliquez pour choisirScanné localement avec YARA-X. Fichiers jusqu’à 200 Mo.

Ouvrir dans l’éditeur

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).

Règle d’origine

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: 813d207e-c6d9-5fea-8387-19da33bc3317

Tags:FILE