Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_LNX_Camarodragon_Horseshell_Oct23

Detects CamaroDragon's HorseShell implant for routers

MalwareSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X
Autor
Florian Roth
Fecha
2023-10-06
Modificada
2023-12-05
Puntuación / Calidad
85 / 85

Qué detecta esta regla

Detects CamaroDragon's HorseShell implant for routers

Define 10 patrones (8 de texto, 2 hex, 0 regex).

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

Código de la regla

mal-lnx-camarodragon-horseshell-oct23.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MAL_LNX_Camarodragon_Horseshell_Oct23 : FILE
{
	meta:
		description = "Detects CamaroDragon's HorseShell implant for routers"
		author = "Florian Roth"
		id = "9e54745f-146f-50a6-b30f-53aaaa6907b5"
		date = "2023-10-06"
		modified = "2023-12-05"
		reference = "https://research.checkpoint.com/2023/the-dragon-who-sold-his-camaro-analyzing-custom-router-implant/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_camaro_dragon_oct23.yar#L27-L56"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "998788472cb1502c03675a15a9f09b12f3877a5aeb687f891458a414b8e0d66c"
		logic_hash = "73adaa286b345cffd35e6ba017b3204d8818dcaeea8a48ca93959566461ac3ca"
		score = 85
		quality = 85
		tags = "FILE"

	strings:
		$x1 = "echo \"start shell '%s' failed!\" > .remote_shell.log" ascii fullword
		$x2 = "*****recv NET_REQ_HORSE_SHELL REQ_CONNECT_PORT*****" ascii fullword
		$s1 = "m.cremessage.com" ascii fullword
		$s2 = "POST http://%s/index.php HTTP/1.1" ascii fullword
		$s3 = "wzsw_encrypt_buf" ascii fullword
		$s4 = "body:%d-%s" ascii fullword
		$s5 = "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident" ascii fullword
		$s6 = "process_http_read_events" ascii fullword
		$op1 = { c4 34 42 00 02 30 63 00 40 10 60 00 09 ae 62 00 48 8e 62 00 cc }
		$op2 = { 27 f4 8c 46 27 f0 03 20 f8 09 00 60 28 21 }

	condition:
		uint16( 0 ) == 0x457f and filesize < 600KB and ( 1 of ( $x* ) or 3 of them ) or 5 of them
}

Cadenas (10 patrones)

IdentificadorTipoValorModificadores
$x1texto"echo \"start shell '%s' failed!\" > .remote_shell.log"ascii fullword
$x2texto"*****recv NET_REQ_HORSE_SHELL REQ_CONNECT_PORT*****"ascii fullword
$s1texto"m.cremessage.com"ascii fullword
$s2texto"POST http://%s/index.php HTTP/1.1"ascii fullword
$s3texto"wzsw_encrypt_buf"ascii fullword
$s4texto"body:%d-%s"ascii fullword
$s5texto"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident"ascii fullword
$s6texto"process_http_read_events"ascii fullword
$op1hex{ c4 34 42 00 02 30 63 00 40 10 60 00 09 ae 62 00 48 8e 62 00 cc }
$op2hex{ 27 f4 8c 46 27 f0 03 20 f8 09 00 60 28 21 }

Condición

uint16( 0 ) == 0x457f and filesize < 600KB and ( 1 of ( $x* ) or 3 of them ) or 5 of them

En palabras sencillas (Heurística)

  • El archivo debe ocupar menos de 600KB (un límite barato que descarta archivos grandes).
  • Deben coincidir al menos 1 patrones de ( $x* ).
  • Deben coincidir al menos 3 patrones de la regla.
  • Deben coincidir al menos 5 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).

  • 998788472cb1502c03675a15a9f09b12f3877a5aeb687f891458a414b8e0d66c

Licencia y atribución

Autor: Florian Roth

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: 9e54745f-146f-50a6-b30f-53aaaa6907b5

Etiquetas:FILE