Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_Devilstongue_Hijackdll

Detects SOURGUM's DevilsTongue hijack DLL

MalwareDevilstongueSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X (con avisos)
Autor
Microsoft Threat Intelligence Center (MSTIC)
Fecha
2021-07-15
Modificada
2023-12-05
Puntuación / Calidad
80 / 85

Qué detecta esta regla

Detects SOURGUM's DevilsTongue hijack DLL

Familia de malware asociada: Devilstongue.

Objetivos: PE de Windows.

Define 9 patrones (7 de texto, 2 hex, 0 regex). Módulos YARA usados: pe.

YARA-X dice: warning[non_bool_expr]: non-boolean expression used as boolean

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

Código de la regla

Incluye los imports necesarios para compilarla por sí sola.

mal-devilstongue-hijackdll.yarDetection Rule License 1.1
import "pe"

rule SIGNATURE_BASE_MAL_Devilstongue_Hijackdll : FILE
{
	meta:
		description = "Detects SOURGUM's DevilsTongue hijack DLL"
		author = "Microsoft Threat Intelligence Center (MSTIC)"
		id = "390b8b73-6740-513d-8c70-c9002be0ce69"
		date = "2021-07-15"
		modified = "2023-12-05"
		reference = "https://www.microsoft.com/security/blog/2021/07/15/protecting-customers-from-a-private-sector-offensive-actor-using-0-day-exploits-and-devilstongue-malware/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_candiru.yar#L3-L47"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "4ad58a77f9ab5fa078dc40f3ec1d0b0180f25ff3ea304a3c85889df29739e0f5"
		score = 80
		quality = 85
		tags = "FILE"

	strings:
		$str1 = "windows.old\\windows" wide
		$str2 = "NtQueryInformationThread"
		$str3 = "dbgHelp.dll" wide
		$str4 = "StackWalk64"
		$str5 = "ConvertSidToStringSidW"
		$str6 = "S-1-5-18" wide
		$str7 = "SMNew.dll"
		$code1 = { B8 FF 15 00 00 66 39 41 FA 74 06 80 79 FB E8 }
		$code2 = { 44 8B C0 B8 B5 81 4E 1B 41 F7 E8 C1 FA 05 8B CA C1 E9 1F 03 D1 69 CA 2C 01 00 00 44 2B C1 45 85 C0 7E 19 }

	condition:
		filesize < 800KB and uint16( 0 ) == 0x5A4D and ( pe.characteristics & pe.DLL ) and ( 4 of them or ( $code1 and $code2 ) or pe.imphash ( ) == "9a964e810949704ff7b4a393d9adda60" )
}

Cadenas (9 patrones)

IdentificadorTipoValorModificadores
$str1texto"windows.old\\windows"wide
$str2texto"NtQueryInformationThread"
$str3texto"dbgHelp.dll"wide
$str4texto"StackWalk64"
$str5texto"ConvertSidToStringSidW"
$str6texto"S-1-5-18"wide
$str7texto"SMNew.dll"
$code1hex{ B8 FF 15 00 00 66 39 41 FA 74 06 80 79 FB E8 }
$code2hex{ 44 8B C0 B8 B5 81 4E 1B 41 F7 E8 C1 FA 05 8B CA C1 E9 1F 03 D1 69 CA 2C 01 00 00 44 2B C1 45 85 C0 7E 19 }

Condición

filesize < 800KB and uint16( 0 ) == 0x5A4D and ( pe.characteristics & pe.DLL ) and ( 4 of them or ( $code1 and $code2 ) or pe.imphash ( ) == "9a964e810949704ff7b4a393d9adda60" )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • El archivo debe ocupar menos de 800KB (un límite barato que descarta archivos grandes).
  • Deben coincidir al menos 4 patrones de la regla.
  • Usa el módulo pe.
  • El patrón $code1 debe estar presente.
  • El patrón $code2 debe estar presente.
  • Comprueba el hash de importaciones PE (imphash).
  • Requiere una DLL.

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: Microsoft Threat Intelligence Center (MSTIC)

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: 390b8b73-6740-513d-8c70-c9002be0ce69

Etiquetas:FILE

Más reglas de Devilstongue