Saltar al contenido

YARA · CAPE Sandbox (CAPEv2)

CAPE_Qakbotloader

QakBot Export Selection

MalwareQakbotCAPE Sandbox (CAPEv2)GNU General Public License v3.0Compila con YARA-X
Autor
kevoreilly
Fecha
2022-03-16
Modificada
2024-02-16
Puntuación / Calidad
75 / 70

Qué detecta esta regla

QakBot Export Selection

Familia de malware asociada: Qakbot.

Objetivos: PE de Windows.

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

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

Código de la regla

qakbotloader.yarGNU General Public License v3.0
rule CAPE_Qakbotloader : FILE
{
	meta:
		description = "QakBot Export Selection"
		author = "kevoreilly"
		id = "b2d5ef1c-0651-5249-9c4b-7e83235d4a30"
		date = "2022-03-16"
		modified = "2024-02-16"
		reference = "https://github.com/kevoreilly/CAPEv2"
		source_url = "https://github.com/kevoreilly/CAPEv2/blob/6b15e76f28cd83fd1187da6c9aaaad2174255356/analyzer/windows/data/yara/QakBot.yar#L31-L46"
		license_url = "https://github.com/kevoreilly/CAPEv2/blob/6b15e76f28cd83fd1187da6c9aaaad2174255356/LICENSE"
		hash = "6f99171c95a8ed5d056eeb9234dbbee123a6f95f481ad0e0a966abd2844f0e1a"
		logic_hash = "00869c0a9bf62cde3f46ca915b0ef689557b09dc58d6de34609e3998abfa7e98"
		score = 75
		quality = 70
		tags = "FILE"
		cape_options = "export=$export1,export=$export2,export=$export3"

	strings:
		$export1 = {55 8B EC 83 EC 50 (3A|66 3B) ?? 74}
		$export2 = {55 8B EC 3A ?? 74 [8-16] 74 [6-16] EB}
		$export3 = {55 8B EC 66 3B ?? 74 [3-5] 74}
		$wind = {(66 3B|3A) ?? 74 [1-14] BB 69 04 00 00 53 E? [5-20] 74}
		$getteb = {EB 00 55 8B EC 66 3B E4 74 ?? [1-5] 64 A1 18 00 00 00 5D EB}

	condition:
		uint16( 0 ) == 0x5A4D and ( any of ( $export* ) ) and ( $wind or $getteb )
}

Cadenas (5 patrones)

IdentificadorTipoValorModificadores
$export1hex{55 8B EC 83 EC 50 (3A|66 3B) ?? 74}
$export2hex{55 8B EC 3A ?? 74 [8-16] 74 [6-16] EB}
$export3hex{55 8B EC 66 3B ?? 74 [3-5] 74}
$windhex{(66 3B|3A) ?? 74 [1-14] BB 69 04 00 00 53 E? [5-20] 74}
$gettebhex{EB 00 55 8B EC 66 3B E4 74 ?? [1-5] 64 A1 18 00 00 00 5D EB}

Condición

uint16( 0 ) == 0x5A4D and ( any of ( $export* ) ) and ( $wind or $getteb )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Debe coincidir al menos un patrón de ( $export* ).
  • El patrón $wind debe estar presente.
  • El patrón $getteb debe estar presente.

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

  • 6f99171c95a8ed5d056eeb9234dbbee123a6f95f481ad0e0a966abd2844f0e1a

Licencia y atribución

Autor: kevoreilly

Repositorio de origen: CAPE Sandbox (CAPEv2) @ 6b15e76f28

Licencia: GNU General Public License v3.0 (licencia del repositorio)

Aviso de copyright: Cuckoo Sandbox is copyrighted by the Cuckoo Foundation.

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: b2d5ef1c-0651-5249-9c4b-7e83235d4a30

Metadatos

cape_optionsexport=$export1,export=$export2,export=$export3

Etiquetas:FILE

Más reglas de Qakbot