Saltar al contenido

YARA · ditekSHen detection

DITEKSHEN_MALWARE_Win_Vanillarat

Detects VanillaRAT

MalwareVanillaratditekSHen detectionBSD 2-Clause LicenseCompila con YARA-X (con avisos)
Autor
ditekSHen
Fecha
2020-11-06
Modificada
2024-11-01
Puntuación / Calidad
75 / 75

Qué detecta esta regla

Detects VanillaRAT

Familia de malware asociada: Vanillarat.

Objetivos: PE de Windows.

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

YARA-X dice: warning[unintended_pattern_in_set]: pattern `$stub` may be unintendedly or redundantly included in pattern set `$s*`

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

Código de la regla

malware-win-vanillarat.yarBSD 2-Clause License
rule DITEKSHEN_MALWARE_Win_Vanillarat : FILE
{
	meta:
		description = "Detects VanillaRAT"
		author = "ditekSHen"
		id = "70c2cd1a-a6d4-562e-a6fc-c16a9e87c6b7"
		date = "2020-11-06"
		modified = "2024-11-01"
		reference = "https://github.com/ditekshen/detection"
		source_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/malware.yar#L7882-L7902"
		license_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
		logic_hash = "d7b90ac88a50693ec4bb0676c04f5d161f04f67970ea60d80e79d774da75bfdc"
		score = 75
		quality = 75
		tags = "FILE"

	strings:
		$stub = "VanillaStub." ascii wide
		$s1 = "Client.Send: " wide
		$s2 = "Connected to chat" fullword wide
		$s3 = "GetStoredPasswords" fullword wide
		$s4 = "Started screen locker." fullword wide
		$s5 = "[<\\MOUSE>]" fullword wide
		$s6 = "YOUR SCREEN HAS BEEN LOCKED!" fullword wide
		$s7 = "record recsound" fullword wide
		$f1 = "<StartRemoteDestkop>d__" ascii
		$f2 = "<ConnectLoop>d__" ascii
		$f3 = "<Scan0>k__" ascii
		$f4 = "<RemoteShellActive>k__" ascii
		$f5 = "KillClient" fullword ascii

	condition:
		uint16( 0 ) == 0x5a4d and ( ( $stub and ( 2 of ( $s* ) or 2 of ( $f* ) ) ) or 6 of ( $s* ) or all of ( $f* ) )
}

Cadenas (13 patrones)

IdentificadorTipoValorModificadores
$stubtexto"VanillaStub."ascii wide
$s1texto"Client.Send: "wide
$s2texto"Connected to chat"fullword wide
$s3texto"GetStoredPasswords"fullword wide
$s4texto"Started screen locker."fullword wide
$s5texto"[<\\MOUSE>]"fullword wide
$s6texto"YOUR SCREEN HAS BEEN LOCKED!"fullword wide
$s7texto"record recsound"fullword wide
$f1texto"<StartRemoteDestkop>d__"ascii
$f2texto"<ConnectLoop>d__"ascii
$f3texto"<Scan0>k__"ascii
$f4texto"<RemoteShellActive>k__"ascii
$f5texto"KillClient"fullword ascii

Condición

uint16( 0 ) == 0x5a4d and ( ( $stub and ( 2 of ( $s* ) or 2 of ( $f* ) ) ) or 6 of ( $s* ) or all of ( $f* ) )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Deben coincidir todos los patrones de ( $f* ).
  • Deben coincidir al menos 2 patrones de ( $s* ).
  • Deben coincidir al menos 2 patrones de ( $f* ).
  • Deben coincidir al menos 6 patrones de ( $s* ).
  • El patrón $stub 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

Licencia y atribución

Autor: ditekSHen

Repositorio de origen: ditekSHen detection @ e76c93dcde

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

Aviso de copyright: Copyright 2021 by ditekSHen (https://github.com/ditekshen/detection).

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: 70c2cd1a-a6d4-562e-a6fc-c16a9e87c6b7

Etiquetas:FILE