Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_HKTL_Cobaltstrike_Beacon_XOR_Strings

Identifies XOR'd strings used in Cobalt Strike Beacon DLL

Herramienta ofensivaCobalt StrikeSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X
Autor
Elastic
Fecha
2021-03-16
Modificada
2026-05-26
Puntuación / Calidad
75 / 85

Qué detecta esta regla

Identifies XOR'd strings used in Cobalt Strike Beacon DLL

Familia de malware asociada: Cobalt Strike.

Define 5 patrones (5 de texto, 0 hex, 0 regex).

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

Código de la regla

hktl-cobaltstrike-beacon-xor-strings.yarDetection Rule License 1.1
rule SIGNATURE_BASE_HKTL_Cobaltstrike_Beacon_XOR_Strings
{
	meta:
		description = "Identifies XOR'd strings used in Cobalt Strike Beacon DLL"
		author = "Elastic"
		id = "359160a8-cf1c-58a8-bf7f-c09a8d661308"
		date = "2021-03-16"
		modified = "2026-05-26"
		reference = "https://www.elastic.co/blog/detecting-cobalt-strike-with-memory-signatures"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_cobaltstrike.yar#L69-L90"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "214f0400863783ab4294d8acc820cf00ab9941d193b2b843f877207b9912d799"
		score = 75
		quality = 85
		tags = ""
		xor_s1 = "%02d/%02d/%02d %02d:%02d:%02d"
		xor_s2 = "Started service %s on %s"
		xor_s3 = "%s as %s\\%s: %d"

	strings:
		$s1 = "%02d/%02d/%02d %02d:%02d:%02d" xor(0x01-0xff)
		$s2 = "Started service %s on %s" xor(0x01-0xff)
		$s3 = "%s as %s\\%s: %d" xor(0x01-0xff)
		$fp1 = "MalwareRemovalTool" ascii wide
		$fp2 = "advanced malware removal tool" ascii wide

	condition:
		2 of ( $s* ) and not 1 of ( $fp* )
}

Cadenas (5 patrones)

IdentificadorTipoValorModificadores
$s1texto"%02d/%02d/%02d %02d:%02d:%02d"xor(0x01-0xff)
$s2texto"Started service %s on %s"xor(0x01-0xff)
$s3texto"%s as %s\\%s: %d"xor(0x01-0xff)
$fp1texto"MalwareRemovalTool"ascii wide
$fp2texto"advanced malware removal tool"ascii wide

Condición

2 of ( $s* ) and not 1 of ( $fp* )

En palabras sencillas (Heurística)

  • Deben coincidir al menos 2 patrones de ( $s* ).
  • Deben coincidir al menos 1 patrones de ( $fp* ).

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

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: 359160a8-cf1c-58a8-bf7f-c09a8d661308

Metadatos

xor_s1%02d/%02d/%02d %02d:%02d:%02d
xor_s2Started service %s on %s
xor_s3%s as %s\%s: %d

Más reglas de Cobalt Strike