cca7d56dffd819b96dcc149a4cd08308aa40035b73930e409d83e6434932b68eunclassified-autoit-compiled: cca7d56d — banking-details lure, 183 KB SCRIPT resource
Executive Summary
PE32 AutoItSC single-file executable compiled Sep 2024 with a banking-details filename lure (BANK_DETAILS_RO83728274746272627362.exe). Seventeenth confirmed sibling in the unclassified-autoit-compiled cluster. The compiled AutoIt script (183 KB) lives inside .rsrc as an RT_RCDATA named SCRIPT. Standard AutoIt runtime import surface covers HTTP/FTP C2, raw sockets, registry persistence, token impersonation, and process injection primitives. No C2 strings recovered statically; all threat logic is inside the encrypted compiled bytecode. Static-only analysis — no CAPE detonation.
What It Is
| Field | Value |
|---|---|
| SHA-256 | cca7d56dffd819b96dcc149a4cd08308aa40035b73930e409d83e6434932b68e |
| Filename | BANK_DETAILS_RO83728274746272627362.exe |
| Size | 1,049,600 bytes (1.05 MB) |
| File type | PE32 executable (GUI) Intel 80386, 5 sections ^[file.txt] |
| Compile timestamp | Tue Sep 3 06:33:39 2024 UTC ^[pefile.txt:34] |
| Linker | Microsoft linker 12.0 (VS 2013) ^[exiftool.json:18] |
| Signed | No ^[rabin2-info.txt:30] |
| PDB | None |
| Packing | None (overlay false) ^[rabin2-info.txt:26] |
| Family | unclassified-autoit-compiled — 17th confirmed sibling |
AutoItSC fingerprint:
AU3!EA06header fragments in strings ^[strings.txt:20], ^[strings.txt:1381], ^[strings.txt:1746]This is a third-party compiled AutoIt script.^[strings.txt:782]- Full PCRE regex runtime error-message table present ^[strings.txt:625–661]
- Capa identifies
compiled with AutoItand refuses further analysis ^[capa.txt:5]
SCRIPT resource:
- Type
10(RT_RCDATA), NameSCRIPT^[pefile.txt:1486–1497] - Size:
0x2CFAC(~183 KB) at offset0xD07B8^[pefile.txt:1513–1514] - Standard AutoIt compiled-bytecat placement (not overlay)
Version info: Empty VS_VERSIONINFO — FileVersionMS/LS and ProductVersionMS/LS all zero, no StringFileInfo strings populated ^[pefile.txt:229–256]. This is consistent with the cluster fingerprint.
How It Works
At launch the AutoItSC runtime:
- Loads its own PE resources, locates the
SCRIPTRT_RCDATA blob in.rsrc - Decrypts/decompresses the compiled AutoIt bytecode (183 KB)
- Executes the script inside the embedded interpreter
The actual malicious behavior is entirely inside the compiled script and not visible to static string extraction. What we can infer comes from the runtime import table the script will call into.
Network capability: Full WinInet surface (HTTP/FTP client) plus WinSock32 raw TCP/UDP socket API ^[pefile.txt:284–306], ^[pefile.txt:373–386]. Script can fetch payloads, beacon, or open reverse shells over either protocol.
Persistence: ADVAPI32 imports include RegSetValueExW, RegCreateKeyExW, RegOpenKeyExW ^[pefile.txt:838–862]. Standard AutoIt malware pattern is HKCU/HKLM \Software\Microsoft\Windows\CurrentVersion\Run.
Privilege escalation / token abuse: OpenProcessToken, AdjustTokenPrivileges, LookupPrivilegeValueW, DuplicateTokenEx, CreateProcessAsUserW, CreateProcessWithLogonW, LogonUserW ^[pefile.txt:848–859]. Script can escalate to SYSTEM or spawn processes under alternate credentials.
Process manipulation: CreateToolhelp32Snapshot, Process32FirstW, Process32NextW for enumeration; VirtualAllocEx, WriteProcessMemory, ReadProcessMemory for injection primitives ^[pefile.txt:476–478], ^[pefile.txt:464–468].
File system / staging: Full KERNEL32 file API including GetTempPathW, GetTempFileNameW, CreateDirectoryW, CopyFileExW, MoveFileW, DeleteFileW ^[pefile.txt:469–491]. Common AutoIt pattern: stage payloads to %TEMP% or %APPDATA%.
Screen capture / clipboard: GDI32 (BitBlt, CreateCompatibleBitmap, etc.) and USER32 (GetClipboardData, SetClipboardData) present ^[pefile.txt:783–816]. Combined with GetAsyncKeyState ^[pefile.txt:1000–1005] for keylogging.
UI masquerade: COMCTL32 ImageList and drag APIs, plus UxTheme IsThemeActive ^[pefile.txt:340–350], suggest the script may render fake UI windows or dialog boxes as part of social engineering.
Decompiled Behavior
Ghidra was queued for this sample but analysis was not complete at report time. The binary is a standard AutoItSC runtime — decompilation of the C++ runtime would reveal the interpreter loop and resource-loading stub, not the actual malicious logic. The meaningful code is inside the 183 KB compiled script resource. For reverse engineering the payload, extract the SCRIPT blob and run through MyAut2Exe or Exe2Aut to recover AutoIt source.
C2 Infrastructure
No C2 strings recovered statically. No URLs, domains, IP addresses, mutex names, or named pipes found in the PE strings ^[strings.txt]. All C2 configuration is expected to be inside the compiled AutoIt script. The runtime surface supports:
- HTTP/HTTPS via WinInet (
InternetOpenW,InternetConnectW,HttpOpenRequestW,HttpSendRequestW) - FTP via WinInet (
FtpOpenFileW) - Raw TCP/UDP via WinSock32 (
socket,connect,send,recv)
Interesting Tidbits
- Banking lure theme: Filename masquerades as a bank-details document with a long numeric suffix (
RO83728274746272627362) — a new lure theme for this cluster, which previously favoured invoices, purchase orders, DHL airway bills, and procurement quotations. ^[triage.json:5] - Smaller script size: At 183 KB this is one of the smaller SCRIPT payloads in the cluster (range 186 KB–932 KB). May indicate a stripped-down payload or a different builder config.
- No UPX packing: Unlike siblings
c80ef443and6cc26f7c, this sample is plain PE32 (non-UPX). Matches the2c6133ca,1d0834e7,f618a861plain variants. - VS 2013 linker: MSVC 12.0 linker is older than the VS 2017–2019 (14.x) seen in most Jul–Sep 2024 siblings. Suggests the AutoItSC build environment may be a legacy install.
- Full PCRE runtime present: The embedded PCRE regex library (with its complete error-message table) is a cluster-wide trait. It enables the script to perform complex pattern matching — often used for harvesting credentials from browser data or parsing C2 responses.
How To Mess With It (Homelab Replication)
Toolchain: AutoIt v3.3.16.1 (or latest 3.x) + SciTE4AutoIt3 on Windows 10/11.
Build recipe:
- Write a minimal AutoIt script that uses
InetRead()orHttpSetRequest()to fetch a remote payload, thenFileWrite()to stage it in@TempDir, andRegWrite()to add a Run key. - Compile with AutoItSC:
Aut2Exe.exe /in script.au3 /out test.exe /icon bank.ico - The output will be a single PE32 with the script embedded as RT_RCDATA named
SCRIPT.
Verification:
- Run
capa test.exe— should hit the sameautoit file limitationwarning ^[capa.txt]. - Run
strings test.exe | grep -i autoit— should seeThis is a third-party compiled AutoIt script.and PCRE error messages. - Inspect
.rsrcwithpefile.pyor Resource Hacker — confirmSCRIPTresource exists.
What you'll learn: How compiled AutoIt scripts hide their logic inside PE resources, why static analysis of the outer binary is insufficient, and how the runtime import table becomes the primary static indicator.
Deployable Signatures
YARA rule
rule AutoItSC_Banking_Lure_Cluster
{
meta:
description = "AutoItSC single-file PE32 with banking lure filename pattern"
author = "PacketPursuit"
date = "2026-06-24"
hash = "cca7d56dffd819b96dcc149a4cd08308aa40035b73930e409d83e6434932b68e"
strings:
$au3_header = { 41 55 33 21 45 41 30 36 } // "AU3!EA06"
$autoit_msg = "This is a third-party compiled AutoIt script."
$pcre_err1 = "this version of PCRE is compiled without UTF support"
$pcre_err2 = "support for \\P, \\p, and \\X has not been compiled"
$bank_lure1 = /BANK_DETAILS_[A-Z0-9]{10,30}\.exe/i
$bank_lure2 = /BANK_STATEMENT_[A-Z0-9]{10,30}\.exe/i
$bank_lure3 = /PAYMENT_ADVICE_[A-Z0-9]{10,30}\.exe/i
condition:
uint16(0) == 0x5A4D and
pe.number_of_sections == 5 and
pe.linker_version.major == 12 and
pe.timestamp >= 1700000000 and
$autoit_msg and
($pcre_err1 or $pcre_err2) and
any of ($bank_lure*)
}
Behavioral hunt query (Sigma)
title: AutoItSC Banking Lure Execution
status: experimental
description: Detects execution of AutoItSC PE32 with banking lure filename pattern
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'BANK_DETAILS_'
- 'BANK_STATEMENT_'
- 'PAYMENT_ADVICE_'
Image|endswith: '.exe'
condition: selection
falsepositives:
- Unknown
level: high
IOC list
| Indicator | Value | Type |
|---|---|---|
| SHA-256 | cca7d56dffd819b96dcc149a4cd08308aa40035b73930e409d83e6434932b68e |
Hash |
| Filename | BANK_DETAILS_RO83728274746272627362.exe |
Filename |
| Compile timestamp | 2024-09-03 06:33:39 UTC |
Build artifact |
| Linker | Microsoft linker 12.0 | Toolchain |
| Script resource size | 183 KB (0x2CFAC) | Resource |
| Script resource offset | 0xD07B8 | Resource |
| Family label | unclassified-autoit-compiled |
Cluster |
Behavioral fingerprint
This binary is a single-file AutoItSC PE32 x86 GUI executable with an empty VS_VERSIONINFO, Microsoft linker 12.0, and a compiled AutoIt script (~180–900 KB) stored as RT_RCDATA named SCRIPT in .rsrc. On execution it loads the script into the embedded interpreter and runs it. The script has access to the full WinInet HTTP/FTP client surface, WinSock32 raw TCP/UDP sockets, ADVAPI32 registry read/write (including Run-key persistence), token impersonation (OpenProcessToken / AdjustTokenPrivileges), process enumeration and injection primitives (VirtualAllocEx / WriteProcessMemory), and GDI/USER32 screen capture and clipboard APIs. Network indicators are not present in the outer PE; C2 configuration is inside the compiled script and requires AutoIt decompilation to recover.
Detection Signatures
| ATT&CK ID | Technique | Evidence |
|---|---|---|
| T1059.005 | Command and Scripting Interpreter: Visual Basic / AutoIt | AutoItSC runtime with compiled SCRIPT resource ^[capa.txt] |
| T1071.001 | Application Layer Protocol: Web Protocols | WinInet HTTP/FTP imports (InternetOpenW, HttpSendRequestW, FtpOpenFileW) ^[pefile.txt:373–386] |
| T1095 | Non-Application Layer Protocol | WinSock32 socket/connect/send/recv imports ^[pefile.txt:284–306] |
| T1547.001 | Registry Run Keys | RegSetValueExW, RegCreateKeyExW, RegOpenKeyExW ^[pefile.txt:838–862] |
| T1134.001 | Token Impersonation/Theft | OpenProcessToken, AdjustTokenPrivileges, DuplicateTokenEx ^[pefile.txt:848–855] |
| T1134.002 | Create Process with Token | CreateProcessAsUserW, CreateProcessWithLogonW ^[pefile.txt:855–856] |
| T1057 | Process Discovery | CreateToolhelp32Snapshot, Process32FirstW, Process32NextW ^[pefile.txt:476–478] |
| T1083 | File and Directory Discovery | FindFirstFileW, FindNextFileW ^[pefile.txt:481–482] |
| T1113 | Screen Capture | GDI32 BitBlt/CreateCompatibleBitmap, USER32 GetDC ^[pefile.txt:783–816] |
| T1056.001 | Input Capture: Keylogging | GetAsyncKeyState ^[pefile.txt:1000–1005] |
| T1078.003 | Valid Accounts: Local Accounts | LogonUserW ^[pefile.txt:859] |
References
- Artifact ID:
3b06e2a9-da8e-46b3-9945-12089b7e524d(OpenCTI) - Source: MalwareBazaar / OpenCTI ingestion
- Related entity: unclassified-autoit-compiled — cluster overview and 16 prior siblings
- Related concept: autoit-compiled-script-dropper — deployment pattern documentation
Provenance
Analysis produced from triage.json, metadata.json, file.txt, pefile.txt, strings.txt, capa.txt, exiftool.json, rabin2-info.txt, ssdeep.txt, tlsh.txt, and yara.txt in the sample directory. capa v8.0.0 identified AutoIt compilation and halted further capability extraction. floss.py failed with argument-parsing error; no decoded strings available. No dynamic analysis — CAPE skipped due to no Windows guest. Static-only inference throughout.