Saltar al contenido

YARA · ditekSHen detection

DITEKSHEN_MALWARE_Win_Turian

Hunt for Turian / Qurian

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

Qué detecta esta regla

Hunt for Turian / Qurian

Familia de malware asociada: Turian.

Objetivos: PE de Windows.

Define 18 patrones (18 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

malware-win-turian.yarBSD 2-Clause License
rule DITEKSHEN_MALWARE_Win_Turian : FILE
{
	meta:
		description = "Hunt for Turian / Qurian"
		author = "ditekSHen"
		id = "eafa9442-a01b-5044-bc47-634297a3efcc"
		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#L6315-L6343"
		license_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
		hash = "d1218ab9d608ee0212e880204e4d7d75f29f03b77248bca7648d111d67405759"
		logic_hash = "87f4263381c5e93fcba0873aa3bb9a1db4b21225141cd7f06be30f5777a47806"
		score = 75
		quality = 75
		tags = "FILE"
		cnc_domain = "windowsupdate[.]dyndns[.]info"
		cnc_ip = "58[.]158[.]177[.]102"

	strings:
		$s1 = "%s a -m5 -hp1qaz@WSX3edc -r %s %s\\*.*" ascii wide
		$s2 = "%s a -m5 -hpMyHost-1 -r %s %s\\*.*" ascii wide
		$s3 = "%s a -m5 -hp1qaz@WSX3edc -ta%04d%02d%02d000000 -r %s c:" ascii wide
		$s4 = "%s a -m5 -hpMyHost-1 -ta%04d%02d%02d000000 -r %s c:"
		$s5 = "cmd /c dir /s /O:D %s>>\"%s\"" ascii wide
		$s6 = "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v %s /t REG_SZ /d \"%s\" /f" fullword ascii
		$s7 = "Not Connect!" fullword ascii
		$p1 = "RECYCLER\\S-1-3-33-854245398-2067806209-0000980848-2003\\" ascii wide
		$p2 = "%sRECYCLER.{S-1-3-33-854245398-2067806209-0000980848-2003}\\" ascii wide
		$p3 = "\\RECYCLER.{S-1-3-33-854245398-2067806209-0000980848-2003}\\" ascii wide
		$p4 = "\\RECYCLER.{645ff040-5081-101b-9f08-00aa002f954e}\\" ascii wide
		$p5 = "%sRECYCLER.{645ff040-5081-101b-9f08-00aa002f954e}\\" ascii wide
		$c1 = "CONNECT %s:%u HTTP/1." ascii wide
		$c2 = "User-Agent: Mozilla/4.0" ascii wide
		$m1 = "winsupdatetw" fullword ascii wide
		$m2 = "clientsix" fullword ascii wide
		$m3 = "updatethres" fullword ascii wide
		$m4 = "uwatchdaemon" fullword ascii wide

	condition:
		uint16( 0 ) == 0x5a4d and ( 3 of ( $s* ) or ( all of ( $c* ) and ( 2 of ( $s* ) or 1 of ( $m* ) or 1 of ( $p* ) ) ) or ( 1 of ( $m* ) and 1 of ( $s* ) and ( 1 of ( $c* ) or 1 of ( $p* ) ) ) )
}

Cadenas (18 patrones)

IdentificadorTipoValorModificadores
$s1texto"%s a -m5 -hp1qaz@WSX3edc -r %s %s\\*.*"ascii wide
$s2texto"%s a -m5 -hpMyHost-1 -r %s %s\\*.*"ascii wide
$s3texto"%s a -m5 -hp1qaz@WSX3edc -ta%04d%02d%02d000000 -r %s c:"ascii wide
$s4texto"%s a -m5 -hpMyHost-1 -ta%04d%02d%02d000000 -r %s c:"
$s5texto"cmd /c dir /s /O:D %s>>\"%s\""ascii wide
$s6texto"\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v %s /t REG_SZ /d \"%s\" /f"fullword ascii
$s7texto"Not Connect!"fullword ascii
$p1texto"RECYCLER\\S-1-3-33-854245398-2067806209-0000980848-2003\\"ascii wide
$p2texto"%sRECYCLER.{S-1-3-33-854245398-2067806209-0000980848-2003}\\"ascii wide
$p3texto"\\RECYCLER.{S-1-3-33-854245398-2067806209-0000980848-2003}\\"ascii wide
$p4texto"\\RECYCLER.{645ff040-5081-101b-9f08-00aa002f954e}\\"ascii wide
$p5texto"%sRECYCLER.{645ff040-5081-101b-9f08-00aa002f954e}\\"ascii wide
$c1texto"CONNECT %s:%u HTTP/1."ascii wide
$c2texto"User-Agent: Mozilla/4.0"ascii wide
$m1texto"winsupdatetw"fullword ascii wide
$m2texto"clientsix"fullword ascii wide
$m3texto"updatethres"fullword ascii wide
$m4texto"uwatchdaemon"fullword ascii wide

Condición

uint16( 0 ) == 0x5a4d and ( 3 of ( $s* ) or ( all of ( $c* ) and ( 2 of ( $s* ) or 1 of ( $m* ) or 1 of ( $p* ) ) ) or ( 1 of ( $m* ) and 1 of ( $s* ) and ( 1 of ( $c* ) or 1 of ( $p* ) ) ) )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • Deben coincidir todos los patrones de ( $c* ).
  • Deben coincidir al menos 3 patrones de ( $s* ).
  • Deben coincidir al menos 2 patrones de ( $s* ).
  • Deben coincidir al menos 1 patrones de ( $m* ).
  • Deben coincidir al menos 1 patrones de ( $p* ).
  • Deben coincidir al menos 1 patrones de ( $s* ).
  • Deben coincidir al menos 1 patrones de ( $c* ).

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

  • d1218ab9d608ee0212e880204e4d7d75f29f03b77248bca7648d111d67405759

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: eafa9442-a01b-5044-bc47-634297a3efcc

Metadatos

cnc_domainwindowsupdate[.]dyndns[.]info
cnc_ip58[.]158[.]177[.]102

Etiquetas:FILE