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.
- Author
- ditekSHen
- Date
- 2020-11-06
- Modified
- 2024-09-25
- Score / Quality
- 75 / 75
What this rule detects
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.
Associated malware family: Azorult.
Targets: Windows PE.
It defines 18 patterns (16 text, 0 hex, 2 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule DITEKSHEN_INDICATOR_TOOL_Avbypass_Aviator : FILE
{
meta:
= "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."
= "ditekSHen"
= "2bddd64e-baca-58cb-ba52-27487cc4ded5"
= "2020-11-06"
= "2024-09-25"
= "https://github.com/ditekshen/detection"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/indicator_tools.yar#L214-L240"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
= "1fb497eec2b0cd4051b5ddd53463f1da511c0a7b72d54a0bc68736a99fdc6143"
= 75
= 75
= "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* ) )
}
Strings (18 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "msfvenom -p windows/meterpreter" | ascii wide |
| $s2 | text | "payloadBox.Text" | ascii wide |
| $s3 | text | "APCInjectionCheckBox" | ascii wide |
| $s4 | text | "Thread Hijacking (Shellcode Arch: x86, OS Arch: x86)" | ascii wide |
| $s5 | text | "injectExistingApp.Text" | ascii wide |
| $s6 | text | "Stable execution but can be traced by most AVs" | ascii wide |
| $s7 | text | "AV/\\tor" | ascii wide |
| $s8 | text | "AvIator.Properties.Resources" | ascii wide |
| $s9 | text | "Select injection technique" | ascii wide |
| $s10 | text | "threadHijacking_option" | ascii wide |
| $pwsh1 | text | "Convert.ToByte(Payload_Encrypted_Without_delimiterChar[" | ascii wide |
| $pwsh2 | text | "[DllImport(\"kernel32.dll\", SetLastError = true)]" | ascii wide |
| $pwsh3 | text | "IntPtr RtlAdjustPrivilege(" | ascii wide |
| $pwsh4 | regex | /InjectShellcode\.(THREADENTRY32|CONTEXT64|WriteProcessMemory\(|CloseHandle\(|CONTEXT_FLAGS|CONTEXT\(\);|Thread32Next\()/ | ascii wide |
| $pwsh5 | text | "= Payload_Encrypted.Split(',');" | ascii wide |
| $pwsh6 | text | "namespace NativePayload_Reverse_tcp" | ascii wide |
| $pwsh7 | text | "byte[] Finall_Payload = Decrypt(KEY, _X_to_Bytes);" | ascii wide |
| $pwsh8 | regex | /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* ) )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- At least 3 patterns in ( $s* ) must match.
- At least 2 patterns in ( $pwsh* ) must match.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
References
Licence & attribution
Author: ditekSHen
Source repository: ditekSHen detection @ e76c93dcde
Licence: BSD 2-Clause License (repository licence)
Copyright notice: Copyright 2021 by ditekSHen (https://github.com/ditekshen/detection).
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 2bddd64e-baca-58cb-ba52-27487cc4ded5
Tags:FILE
Related rules
- MalwareMalpedia signator rules· Felix Bilstein - yara-signator at cocacoding dot com· 2026-05-04
- Suspicious / huntingditekSHen detection· ditekSHen· 2023-08-22
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21
- Suspicious / huntingditekSHen detection· ditekSHen· 2021-01-21