Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MSIL_SUSP_OBFUSC_Xorstringsnet

Detects XorStringsNET string encryption, and other obfuscators derived from it

Sospechoso / huntingSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X
Autor
dr4k0nia
Fecha
2023-03-26
Modificada
2023-12-05
Puntuación / Calidad
75 / 85

Qué detecta esta regla

Detects XorStringsNET string encryption, and other obfuscators derived from it

Objetivos: PE de Windows.

Define 8 patrones (7 de texto, 1 hex, 0 regex).

Resumen generado a partir de los metadatos y la condición de la regla.

Código de la regla

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* )
}

Cadenas (8 patrones)

IdentificadorTipoValorModificadores
$patternhex{ 06 1E 58 07 8E 69 FE 17 }
$a1texto"_CorDllMain"ascii
$a2texto"_CorExeMain"ascii
$a3texto"mscorlib"ascii fullword
$a4texto".cctor"ascii fullword
$a5texto"System.Private.Corlib"ascii
$a6texto"<Module>"ascii fullword
$a7texto"<PrivateImplementationsDetails{"ascii

Condición

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

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • El archivo debe ocupar menos de 25MB (un límite barato que descarta archivos grandes).
  • Deben coincidir al menos 2 patrones de ( $a* ).
  • El patrón $pattern debe estar presente.

Prueba esta regla en tu navegador

Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.

Arrastra un archivo aquí o haz clic para elegirSe escanea en local con YARA-X. Archivos de hasta 200 MB.

Abrir en el editor

Referencias

Licencia y atribución

Autor: dr4k0nia

Repositorio de origen: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licencia: Detection Rule License 1.1 (licencia del repositorio)

Regla original

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

Metadatos

version1.0

Etiquetas:FILE