Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_APT41_CN_ELF_Speculoos_Backdoor

Detects Speculoos Backdoor used by APT41

APT / actorSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X
Autor
Florian Roth (Nextron Systems)
Fecha
2020-04-14
Modificada
2023-12-05
Puntuación / Calidad
90 / 85

Qué detecta esta regla

Detects Speculoos Backdoor used by APT41

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

apt-apt41-cn-elf-speculoos-backdoor.yarDetection Rule License 1.1
rule SIGNATURE_BASE_APT_APT41_CN_ELF_Speculoos_Backdoor : FILE
{
	meta:
		description = "Detects Speculoos Backdoor used by APT41"
		author = "Florian Roth (Nextron Systems)"
		id = "efe2b368-33af-5382-a5f0-0e7dd7f4dea4"
		date = "2020-04-14"
		modified = "2023-12-05"
		reference = "https://unit42.paloaltonetworks.com/apt41-using-new-speculoos-backdoor-to-target-organizations-globally/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_apt41.yar#L233-L267"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "6943fbb194317d344ca9911b7abb11b684d3dca4c29adcbcff39291822902167"
		hash = "99c5dbeb545af3ef1f0f9643449015988c4e02bf8a7164b5d6c86f67e6dc2d28"
		logic_hash = "ee4cbbc5fc51fb24cbf6017dfb4763ac72a0b23a3b6e794b909e678ebfbabc03"
		score = 90
		quality = 85
		tags = "FILE"

	strings:
		$xc1 = { 2F 70 72 69 76 61 74 65 2F 76 61 72 00 68 77 2E
               70 68 79 73 6D 65 6D 00 68 77 2E 75 73 65 72 6D
               65 6D 00 4E 41 2D 4E 41 2D 4E 41 2D 4E 41 2D 4E
               41 2D 4E 41 00 6C 6F 30 00 00 00 00 25 30 32 78
               2D 25 30 32 78 2D 25 30 32 78 2D 25 30 32 78 2D
               25 30 32 78 2D 25 30 32 78 0A 00 72 00 4E 41 00
               75 6E 61 6D 65 20 2D 76 }
		$s1 = "badshell" ascii fullword
		$s2 = "hw.physmem" ascii fullword
		$s3 = "uname -v" ascii fullword
		$s4 = "uname -s" ascii fullword
		$s5 = "machdep.tsc_freq" ascii fullword
		$s6 = "/usr/sbin/config.bak" ascii fullword
		$s7 = "enter MessageLoop..." ascii fullword
		$s8 = "exit StartCBProcess..." ascii fullword
		$sc1 = { 72 6D 20 2D 72 66 20 22 25 73 22 00 2F 70 72 6F
               63 2F }

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

Cadenas (10 patrones)

IdentificadorTipoValorModificadores
$xc1hex{ 2F 70 72 69 76 61 74 65 2F 76 61 72 00 68 77 2E 70 68 79 73 6D 65 6D 00 68 77 2E 75 73 65 72 6D 65 6D 00 4E 41 2D 4E 41 2D 4E 41 …
$s1texto"badshell"ascii fullword
$s2texto"hw.physmem"ascii fullword
$s3texto"uname -v"ascii fullword
$s4texto"uname -s"ascii fullword
$s5texto"machdep.tsc_freq"ascii fullword
$s6texto"/usr/sbin/config.bak"ascii fullword
$s7texto"enter MessageLoop..."ascii fullword
$s8texto"exit StartCBProcess..."ascii fullword
$sc1hex{ 72 6D 20 2D 72 66 20 22 25 73 22 00 2F 70 72 6F 63 2F }

Condición

uint16( 0 ) == 0x457f and filesize < 600KB and 1 of ( $x* ) or 4 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 4 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).

  • 6943fbb194317d344ca9911b7abb11b684d3dca4c29adcbcff39291822902167
  • 99c5dbeb545af3ef1f0f9643449015988c4e02bf8a7164b5d6c86f67e6dc2d28

Licencia y atribución

Autor: Florian Roth (Nextron Systems)

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: efe2b368-33af-5382-a5f0-0e7dd7f4dea4

Etiquetas:FILE