Saltar al contenido

YARA · Cod3nym detection-rules

COD3NYM_MAL_NET_Niximports_Loader_Jan24

Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection

MalwareCod3nym detection-rulesDetection Rule License 1.1Compila con YARA-X
Autor
Jonathan Peters
Fecha
2024-01-12
Puntuación / Calidad
80 / 80

Qué detecta esta regla

Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection

Objetivos: PE de Windows.

Define 7 patrones (3 de texto, 4 hex, 0 regex).

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

Código de la regla

mal-net-niximports-loader-jan24.yarDetection Rule License 1.1
rule COD3NYM_MAL_NET_Niximports_Loader_Jan24 : FILE
{
	meta:
		description = "Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection"
		author = "Jonathan Peters"
		id = "f36ad127-4c4b-5b7e-a13c-bfb9d222a438"
		date = "2024-01-12"
		modified = "2024-01-12"
		reference = "https://github.com/dr4k0nia/NixImports/tree/master"
		source_url = "https://github.com/cod3nym/detection-rules//blob/86a04c4594cb48895192aad4af164f21f568c136/yara/dotnet/mal/mal_net_niximports_loader.yar#L1-L22"
		license_url = "https://github.com/cod3nym/detection-rules//blob/86a04c4594cb48895192aad4af164f21f568c136/LICENSE.md"
		hash = "dd3f22871879b0bc4990c96d1de957848c7ed0714635bb036c73d8a989fb0b39"
		logic_hash = "e41d7f4cb46aa0baa87d3024e0550efe5058ca49d908bbd34197431c7c054e58"
		score = 80
		quality = 80
		tags = "FILE"

	strings:
		$op1 = { 1F 0A 64 06 1F 11 62 60 }
		$op2 = { 03 20 4D 5A 90 00 94 4B 2A }
		$op3 = { 20 DE 7A 1F F3 20 F7 1B 18 BC }
		$op4 = { 20 CE 1F BE 70 20 DF 1F 3E F8 14 }
		$sa1 = "OffsetToStringData" ascii
		$sa2 = "GetRuntimeMethods" ascii
		$sa3 = "netstandard" ascii

	condition:
		uint16( 0 ) == 0x5a4d and all of ( $sa* ) and 2 of ( $op* )
}

Cadenas (7 patrones)

IdentificadorTipoValorModificadores
$op1hex{ 1F 0A 64 06 1F 11 62 60 }
$op2hex{ 03 20 4D 5A 90 00 94 4B 2A }
$op3hex{ 20 DE 7A 1F F3 20 F7 1B 18 BC }
$op4hex{ 20 CE 1F BE 70 20 DF 1F 3E F8 14 }
$sa1texto"OffsetToStringData"ascii
$sa2texto"GetRuntimeMethods"ascii
$sa3texto"netstandard"ascii

Condición

uint16( 0 ) == 0x5a4d and all of ( $sa* ) and 2 of ( $op* )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Deben coincidir todos los patrones de ( $sa* ).
  • Deben coincidir al menos 2 patrones de ( $op* ).

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

Hashes de muestras

Hashes de las muestras que el autor lista en los metadatos de la regla (búscalos en tu plataforma de threat intelligence).

  • dd3f22871879b0bc4990c96d1de957848c7ed0714635bb036c73d8a989fb0b39

Licencia y atribución

Autor: Jonathan Peters

Repositorio de origen: Cod3nym detection-rules @ 86a04c4594

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: f36ad127-4c4b-5b7e-a13c-bfb9d222a438

Etiquetas:FILE