Aller au contenu

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MSIL_SUSP_OBFUSC_Xorstringsnet

Detects XorStringsNET string encryption, and other obfuscators derived from it

Suspect / chasseSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compile avec YARA-X
Auteur
dr4k0nia
Date
2023-03-26
Modifiée
2023-12-05
Score / Qualité
75 / 85

Ce que détecte cette règle

Detects XorStringsNET string encryption, and other obfuscators derived from it

Cibles : PE Windows.

Elle définit 8 motifs (7 texte, 1 hex, 0 regex).

Résumé généré à partir des métadonnées et de la condition de la règle.

Source de la règle

msil-susp-obfusc-xorstringsnet.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MSIL_SUSP_OBFUSC_Xorstringsnet : FILE
{
	meta:
		description = "Detects XorStringsNET string encryption, and other obfuscators derived from it"
		author = "dr4k0nia"
		id = "f0724ca6-4bfe-5b88-9396-a58aa7461fd6"
		date = "2023-03-26"
		modified = "2023-12-05"
		reference = "https://github.com/dr4k0nia/yara-rules"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_net_xorstrings.yar#L2-L27"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "6d023a80bd8f5709721c3ace8a7230b847ca4bd2a1aff502a25333ffc8bf75ca"
		score = 75
		quality = 85
		tags = "FILE"
		version = "1.0"

	strings:
		$pattern = { 06 1E 58 07 8E 69 FE 17 }
		$a1 = "_CorDllMain" ascii
		$a2 = "_CorExeMain" ascii
		$a3 = "mscorlib" ascii fullword
		$a4 = ".cctor" ascii fullword
		$a5 = "System.Private.Corlib" ascii
		$a6 = "<Module>" ascii fullword
		$a7 = "<PrivateImplementationsDetails{" ascii

	condition:
		uint16( 0 ) == 0x5a4d and filesize < 25MB and $pattern and 2 of ( $a* )
}

Chaînes (8 motifs)

IdentifiantTypeValeurModificateurs
$patternhex{ 06 1E 58 07 8E 69 FE 17 }
$a1texte"_CorDllMain"ascii
$a2texte"_CorExeMain"ascii
$a3texte"mscorlib"ascii fullword
$a4texte".cctor"ascii fullword
$a5texte"System.Private.Corlib"ascii
$a6texte"<Module>"ascii fullword
$a7texte"<PrivateImplementationsDetails{"ascii

Condition

uint16( 0 ) == 0x5a4d and filesize < 25MB and $pattern and 2 of ( $a* )

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Le fichier doit faire moins de 25MB (garde-fou peu coûteux qui écarte les gros fichiers).
  • Au moins 2 motifs de ( $a* ) doivent être trouvés.
  • Le motif $pattern doit être présent.

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 : dr4k0nia

Dépôt source : Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence : Detection Rule License 1.1 (licence du dépôt)

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: f0724ca6-4bfe-5b88-9396-a58aa7461fd6

Métadonnées

version1.0

Tags:FILE