Saltar al contenido

YARA · ditekSHen detection

DITEKSHEN_INDICATOR_TOOL_Avbypass_Aviator

Detects AVIator, which is a backdoor generator utility, which uses cryptographic and injection techniques in order to bypass AV detection. This was observed to bypass Win.Trojan.AZorult. This rule works for binaries and memory.

Sospechoso / huntingAzorultditekSHen detectionBSD 2-Clause LicenseCompila con YARA-X
Autor
ditekSHen
Fecha
2020-11-06
Modificada
2024-09-25
Puntuación / Calidad
75 / 75

Qué detecta esta regla

Detects AVIator, which is a backdoor generator utility, which uses cryptographic and injection techniques in order to bypass AV detection. This was observed to bypass Win.Trojan.AZorult. This rule works for binaries and memory.

Familia de malware asociada: Azorult.

Objetivos: PE de Windows.

Define 18 patrones (16 de texto, 0 hex, 2 regex).

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

Código de la regla

indicator-tool-avbypass-aviator.yarBSD 2-Clause License
rule DITEKSHEN_INDICATOR_TOOL_Avbypass_Aviator : FILE
{
	meta:
		description = "Detects AVIator, which is a backdoor generator utility, which uses cryptographic and injection techniques in order to bypass AV detection. This was observed to bypass Win.Trojan.AZorult. This rule works for binaries and memory."
		author = "ditekSHen"
		id = "2bddd64e-baca-58cb-ba52-27487cc4ded5"
		date = "2020-11-06"
		modified = "2024-09-25"
		reference = "https://github.com/ditekshen/detection"
		source_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/indicator_tools.yar#L214-L240"
		license_url = "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
		logic_hash = "1fb497eec2b0cd4051b5ddd53463f1da511c0a7b72d54a0bc68736a99fdc6143"
		score = 75
		quality = 75
		tags = "FILE"

	strings:
		$s1 = "msfvenom -p windows/meterpreter" ascii wide
		$s2 = "payloadBox.Text" ascii wide
		$s3 = "APCInjectionCheckBox" ascii wide
		$s4 = "Thread Hijacking (Shellcode Arch: x86, OS Arch: x86)" ascii wide
		$s5 = "injectExistingApp.Text" ascii wide
		$s6 = "Stable execution but can be traced by most AVs" ascii wide
		$s7 = "AV/\\tor" ascii wide
		$s8 = "AvIator.Properties.Resources" ascii wide
		$s9 = "Select injection technique" ascii wide
		$s10 = "threadHijacking_option" ascii wide
		$pwsh1 = "Convert.ToByte(Payload_Encrypted_Without_delimiterChar[" ascii wide
		$pwsh2 = "[DllImport(\"kernel32.dll\", SetLastError = true)]" ascii wide
		$pwsh3 = "IntPtr RtlAdjustPrivilege(" ascii wide
		$pwsh4 = /InjectShellcode\.(THREADENTRY32|CONTEXT64|WriteProcessMemory\(|CloseHandle\(|CONTEXT_FLAGS|CONTEXT\(\);|Thread32Next\()/ ascii wide
		$pwsh5 = "= Payload_Encrypted.Split(',');" ascii wide
		$pwsh6 = "namespace NativePayload_Reverse_tcp" ascii wide
		$pwsh7 = "byte[] Finall_Payload = Decrypt(KEY, _X_to_Bytes);" ascii wide
		$pwsh8 = /ConstantsAndExtCalls\.(WriteProcessMemory\(|CreateRemoteThread\()/ ascii wide

	condition:
		( uint16( 0 ) == 0x5a4d and ( 3 of ( $s* ) or 2 of ( $pwsh* ) ) ) or ( 3 of ( $s* ) or 2 of ( $pwsh* ) )
}

Cadenas (18 patrones)

IdentificadorTipoValorModificadores
$s1texto"msfvenom -p windows/meterpreter"ascii wide
$s2texto"payloadBox.Text"ascii wide
$s3texto"APCInjectionCheckBox"ascii wide
$s4texto"Thread Hijacking (Shellcode Arch: x86, OS Arch: x86)"ascii wide
$s5texto"injectExistingApp.Text"ascii wide
$s6texto"Stable execution but can be traced by most AVs"ascii wide
$s7texto"AV/\\tor"ascii wide
$s8texto"AvIator.Properties.Resources"ascii wide
$s9texto"Select injection technique"ascii wide
$s10texto"threadHijacking_option"ascii wide
$pwsh1texto"Convert.ToByte(Payload_Encrypted_Without_delimiterChar["ascii wide
$pwsh2texto"[DllImport(\"kernel32.dll\", SetLastError = true)]"ascii wide
$pwsh3texto"IntPtr RtlAdjustPrivilege("ascii wide
$pwsh4regex/InjectShellcode\.(THREADENTRY32|CONTEXT64|WriteProcessMemory\(|CloseHandle\(|CONTEXT_FLAGS|CONTEXT\(\);|Thread32Next\()/ascii wide
$pwsh5texto"= Payload_Encrypted.Split(',');"ascii wide
$pwsh6texto"namespace NativePayload_Reverse_tcp"ascii wide
$pwsh7texto"byte[] Finall_Payload = Decrypt(KEY, _X_to_Bytes);"ascii wide
$pwsh8regex/ConstantsAndExtCalls\.(WriteProcessMemory\(|CreateRemoteThread\()/ascii wide

Condición

( uint16( 0 ) == 0x5a4d and ( 3 of ( $s* ) or 2 of ( $pwsh* ) ) ) or ( 3 of ( $s* ) or 2 of ( $pwsh* ) )

En palabras sencillas (Heurística)

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

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: 2bddd64e-baca-58cb-ba52-27487cc4ded5

Etiquetas:FILE