Saltar al contenido

YARA · Mandiant red team tool countermeasures

FIREEYE_RT_Hacktool_MSIL_Puppyhound_1

This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound.

Herramienta ofensivaMandiant red team tool countermeasuresBSD 2-Clause LicenseCompila con YARA-X
Autor
FireEye
Fecha
2020-12-08
Modificada
2020-12-09
Puntuación / Calidad
75 / 75

Qué detecta esta regla

This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound.

Objetivos: PE de Windows.

Define 5 patrones (3 de texto, 1 hex, 1 regex).

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

Código de la regla

hacktool-msil-puppyhound-1.yarBSD 2-Clause License
rule FIREEYE_RT_Hacktool_MSIL_Puppyhound_1 : FILE
{
	meta:
		description = "This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound."
		author = "FireEye"
		id = "1155f959-c8bc-597a-8a80-abee8d95b6ec"
		date = "2020-12-08"
		modified = "2020-12-09"
		reference = "https://github.com/mandiant/red_team_tool_countermeasures/"
		source_url = "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/rules/PUPPYHOUND/production/yara/HackTool_MSIL_PuppyHound_1.yar#L4-L19"
		license_url = "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/LICENSE.txt"
		hash = "eeedc09570324767a3de8205f66a5295"
		logic_hash = "39073bbfef15ecd28c1772e5d01e54c3d5774ecb4c90f0076bda5dc400abacba"
		score = 75
		quality = 75
		tags = "FILE"
		rev = 6

	strings:
		$1 = "PuppyHound"
		$2 = "UserDomainKey"
		$3 = "LdapBuilder"
		$init = { 28 [2] 00 0A 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 28 [2] 00 0A 0B 1F 2D }
		$msil = /\x00_Cor(Exe|Dll)Main\x00/

	condition:
		( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and all of them
}

Cadenas (5 patrones)

IdentificadorTipoValorModificadores
$1texto"PuppyHound"
$2texto"UserDomainKey"
$3texto"LdapBuilder"
$inithex{ 28 [2] 00 0A 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 28 [2] 00 0A 0B 1F 2D }
$msilregex/\x00_Cor(Exe|Dll)Main\x00/

Condición

( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and all of them

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Deben coincidir todos los patrones de la regla.

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

  • eeedc09570324767a3de8205f66a5295

Licencia y atribución

Autor: FireEye

Repositorio de origen: Mandiant red team tool countermeasures @ 3561b71724

Licencia: BSD 2-Clause License (licencia del repositorio)

Aviso de copyright: Copyright (c) 2023, MANDIANT

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: 1155f959-c8bc-597a-8a80-abee8d95b6ec

Metadatos

rev6

Etiquetas:FILE