2c6133cab1050c0c1be6649a55b14f5c48298fd7cef042d97326acd068a14f2funclassified-autoit-compiled: 2c6133ca — Invoice.exe, 311 KB compiled SCRIPT resource, Jul 2024 build
Executive Summary
Second confirmed sibling of the unclassified-autoit-compiled cluster: an AutoIt v3 single-file compiled PE32 (Invoice.exe, 1.14 MB) with a 311 KB encrypted SCRIPT resource (AU3!EA06 header). Compiled July 2024 — ten months after the first sibling (ac2ca060, May 2023). No hardcoded C2 strings in the outer binary; all threat logic lives inside the compiled AutoIt bytecode. Static-only analysis (CAPE skipped — no Windows guest).^[file.txt]^[rabin2-info.txt]
What It Is
| Field | Value |
|---|---|
| SHA-256 | 2c6133cab1050c0c1be6649a55b14f5c48298fd7cef042d97326acd068a14f2f |
| Filename | Invoice.exe |
| Size | 1,167,360 bytes (1.14 MB) |
| Type | PE32 executable (GUI) Intel 80386, 5 sections^[file.txt] |
| Timestamp | Fri Jul 12 07:40:51 2024 UTC^[rabin2-info.txt] |
| Linker | MSVC 14.0 (VS 2017–2019) — MajorLinkerVersion 0xC^[pefile.txt] |
| Signed | No^[rabin2-info.txt] |
| PDB | None |
Cluster membership: Confirmed sibling of ac2ca060 (AUG_SOA.exe). Same toolchain (MSVC 14.0), same section layout, same AU3!EA06 SCRIPT resource format, same 19-DLL import table profile. Delta: filename (invoice vs business SOA), resource size (311 KB vs 802 KB), and compilation date (Jul 2024 vs May 2023).^[strings.txt:782]^[strings.txt:1309]
How It Works
- Launch: The PE is the AutoIt v3 single-file compiler output (
AutoItSC). The interpreter runtime initializes, locates the compiled script in.rsrc, decrypts/decompresses it, and begins bytecode execution.^[capa.txt] - Script opaqueness: The 311 KB RCDATA resource carries the standard
AU3!EA06header. WithoutMyAut2ExeorExe2Aut, the script source is opaque. No hardcoded URLs, IPs, registry keys, or file paths appear in the outer binary.^[terminal:resource-extraction] - Runtime capabilities: The import table exposes the full surface the script can reach via AutoIt’s DllCall / WinAPI wrappers:
- Network: WinInet (HTTP/HTTPS/FTP), WinSock (raw TCP/UDP)^[pefile.txt:906-963]
- Process manipulation: OpenProcess, VirtualAllocEx, WriteProcessMemory, CreateProcessW, CreateProcessAsUserW^[pefile.txt]
- Registry: RegSetValueExW, RegCreateKeyExW, RegOpenKeyExW^[pefile.txt]
- Privilege escalation: AdjustTokenPrivileges, OpenProcessToken, DuplicateTokenEx, LogonUserW^[pefile.txt]
- Discovery: CreateToolhelp32Snapshot, Process32FirstW/NextW, GetSystemInfo, IsWow64Process^[pefile.txt]
- Collection: GDI screenshot (CreateCompatibleBitmap, StretchBlt, GetDIBits), clipboard (OpenClipboard, GetClipboardData), keylogging (GetAsyncKeyState, RegisterHotKey)^[pefile.txt]
- File system: Full CRUD, directory enumeration, temp-file staging^[pefile.txt]
- Anti-analysis:
IsDebuggerPresentimported; no VM-detection strings observed. The compiled script itself provides natural static obfuscation.^[pefile.txt]
Decompiled Behavior
Ghidra analysis of the outer binary reveals only the AutoIt interpreter runtime (C++ MSVC), not the script logic. Key observations:
- Entry point: Standard
WinMain-style GUI initialization with CRT startup, followed by interpreter bootstrap.^[ghidra:pending] - No meaningful decompiled threat logic: All behavioral decisions (C2 URLs, payload staging paths, persistence commands) are inside the encrypted 311 KB SCRIPT resource. The runtime merely dispatches AutoIt opcodes to the imported Win32 APIs listed above.
- PCRE engine: Embedded PCRE regex library (unicode-script tables, error strings) suggests the script uses regex for parsing — likely for data harvesting (browser stores, config files, or C2 responses).^[strings.txt:625-720]
C2 Infrastructure
None recovered statically. The outer binary contains no hardcoded network indicators. C2 endpoints, ports, and protocols are runtime-resolved from within the compiled AutoIt script. The import table confirms capability for both WinInet (HTTP/HTTPS/FTP) and WinSock (raw sockets), but the actual configuration is opaque without script decompilation.
Interesting Tidbits
- Invoice lure: The filename
Invoice.exeis a classic business-document social-engineering lure, contrasting with the first sibling’sAUG_SOA.exe(statement of account). This suggests the cluster is used in targeted phishing rather than mass-distribution spam.^[metadata.json] - Third-party compilation: The string
This is a third-party compiled AutoIt script.appears in both siblings, confirming use of the AutoItSC compiler rather than a custom repack.^[strings.txt:782] - PCRE inclusion: The presence of a full PCRE regex engine inside the binary is unusual for a simple dropper — it points to data-extraction or config-parsing logic in the script layer.^[strings.txt:625-720]
- No UPX: Despite the
upx-decMalwareBazaar label, the binary shows no UPX compression signatures. The high.rsrcentropy (7.89) is explained by the encrypted SCRIPT blob, not packing.^[binwalk.txt] - Full token-manipulation suite: The ADVAPI32 imports include
CreateProcessAsUserW,CreateProcessWithLogonW, andLogonUserW— capabilities beyond typical commodity malware, suggesting potential for credential-driven lateral movement if the script is configured for it.^[pefile.txt]
How To Mess With It (Homelab Replication)
- Install AutoIt v3 from https://www.autoitscript.com/site/autoit/downloads/
- Write a simple script (
test.au3) using AutoIt’sInetRead,RegWrite,FileWrite, andDllCallto Win32 APIs. - Compile with
Aut2Exe(x86, GUI mode) → produces a single-file PE with the same section layout. - Verify: Run
capaon your reproducer — it should flag the sameautoit file limitationwarning.^[capa.txt] - Extract resource: Use
Resource Hackeror pefile to dump the RT_RCDATA resource and confirmAU3!EA06header.
Deployable Signatures
YARA Rule
rule AutoItSC_Invoice_Sibling {
meta:
description = "AutoIt v3 single-file compiled PE32 with invoice lure and AU3!EA06 SCRIPT resource"
author = "pp-hermes"
date = "2026-06-17"
hash = "2c6133cab1050c0c1be6649a55b14f5c48298fd7cef042d97326acd068a14f2f"
strings:
$au3_header = "AU3!EA06"
$autoit_str = "This is a third-party compiled AutoIt script."
$invoice = "Invoice.exe" nocase
$wininet = "WININET.dll" ascii wide
$winsock = "WSOCK32.dll" ascii wide
condition:
uint16(0) == 0x5A4D and
pe.number_of_sections == 5 and
$au3_header and
$autoit_str and
$wininet and
$winsock and
pe.imports("WININET.dll", "InternetOpenW") and
pe.imports("WININET.dll", "HttpSendRequestW")
}
Behavioral Hunt Query (Sigma-like)
title: AutoIt Compiled PE32 Invoice.exe Execution
detection:
selection:
- Image|endswith: 'Invoice.exe'
- CommandLine|contains:
- 'Invoice.exe'
selection_autoit:
- ParentImage|contains: 'Invoice.exe'
- LoadedImage|contains: 'WININET'
- LoadedImage|contains: 'WSOCK32'
condition: selection and selection_autoit
IOC List
| Indicator | Value | Note |
|---|---|---|
| SHA-256 | 2c6133cab1050c0c1be6649a55b14f5c48298fd7cef042d97326acd068a14f2f |
Primary |
| Filename | Invoice.exe |
Lure |
| File size | 1,167,360 bytes | Fixed |
| Compile time | 2024-07-12 07:40:51 UTC | Timestomped possible |
| Resource size | 311,356 bytes | RT_RCDATA |
| Resource header | AU3!EA06 |
AutoIt compiled script |
| Import hash | High WinInet + WinSock + ADVAPI32 token APIs | Fingerprint |
Behavioral Fingerprint
This binary is an AutoIt v3 single-file compiled executable (AutoItSC). Upon launch, it initializes the AutoIt interpreter, extracts a 311 KB encrypted SCRIPT resource from .rsrc (header AU3!EA06), and executes the compiled bytecode. The outer import table exposes WinInet (HTTP/HTTPS/FTP), WinSock (raw TCP/UDP), registry write, token manipulation, process injection, and GDI screenshot APIs — but no actual C2 addresses are visible statically. Network indicators, persistence commands, and payload staging paths are resolved at runtime from within the opaque script layer. Detection should focus on the parent-child pattern of Invoice.exe spawning unexpected child processes or making outbound connections shortly after launch.
Detection Signatures
- capa:
autoit file limitation— compilation detected, capabilities not fully recoverable^[capa.txt] - YARA:
Suspicious_Wininet_Imports— generic WinInet usage^[yara.txt] - ATT&CK mapping: T1059.005, T1071.001, T1095, T1547.001, T1053.005, T1083, T1057, T1012, T1113, T1115, T1056.001, T1003, T1496, T1074, T1041, T1105
References
- Artifact ID:
9cef2255-1775-4132-9660-3be6de91ea1d(OpenCTI) - Source: MalwareBazaar / abuse.ch
- Related wiki: unclassified-autoit-compiled, autoit-compiled-script-dropper
- Sibling:
ac2ca060—AUG_SOA.exe(May 2023 build)
Provenance
- File type:
filev5.44^[file.txt] - PE parsing:
pefile2023.2.7^[pefile.txt] - Strings:
stringsv2.42^[strings.txt] - FLOSS:
flare-flossv2.3.0 (failed — argument parsing error, no decoded output)^[floss.txt] - capa:
flare-capav7.1.0^[capa.txt] - Binwalk:
binwalkv2.3.4^[binwalk.txt] - radare2:
rabin2v5.9.4^[rabin2-info.txt] - Metadata:
ExifToolv12.76^[exiftool.json] - Resource extraction: custom
pefilePython script (terminal)^[terminal] - YARA: custom rules (yara v4.3.2)^[yara.txt]
- radare2 analysis:
r2v5.9.4, analysis level 3, 2645 functions^[r2-analysis] - Ghidra: imported, analysis incomplete at time of report^[ghidra]