f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16unclassified-autoit-compiled: f2be9e06 — PO_#86637.exe, 417 KB SCRIPT, PCRE regex library
Executive Summary
Eighth confirmed sibling of the AutoItSC single-file compiled PE32 cluster. Filename PO_#86637.exe continues the procurement/purchase-order lure theme. A 417 KB compiled AutoIt script (RT_RCDATA) sits in .rsrc with AU3!EA06 header markers. Notable delta vs prior siblings: prominent embedded PCRE regex library (error strings, Unicode property names) suggesting script-side pattern harvesting. Static-only — CAPE skipped (no Windows guest). Unsigned, MSVC 14.16, Sep 2024 build.
What It Is
| Field | Value |
|---|---|
| SHA-256 | f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16 |
| Filename | PO_#86637.exe ^[metadata.json] |
| File type | PE32 executable (GUI) Intel 80386, 5 sections ^[file.txt] |
| Size | 1,342,464 bytes (1.28 MB) ^[metadata.json] |
| Linker | MSVC 14.16 (Visual Studio 2017–2019) ^[exiftool.json] |
| Timestamp | Sun Sep 8 23:43:11 2024 UTC ^[pefile.txt:34] |
| ASLR | Yes (DYNAMIC_BASE) ^[pefile.txt:74] |
| DEP/NX | No (nx: false) ^[rabin2-info.txt:24] |
| Signing | Unsigned ^[rabin2-info.txt:30] |
| AutoIt marker | .text$lp00AutoItSC section name ^[strings.txt:783] |
| Script header | AU3!EA06M at offset 0xd7bc8, AU3!EA06P at offset 0x13fff7 ^[strings.txt:1418,2188] |
| Compiled script | 427,079 bytes (417 KB) RT_RCDATA resource, type=10, name=None, lang=0 ^[pefile.txt] |
| FLOSS | Failed (argument error) ^[floss.txt] |
| CAPA | Aborted — identified as AutoIt, cannot analyse compiled script ^[capa.txt] |
This sample belongs to the unclassified-autoit-compiled cluster. See that entity page for shared build-stack fingerprint, TTPs, and the seven prior siblings.
How It Works
The binary is a standard AutoIt v3 single-file compiler (AutoItSC) output: the C++ interpreter runtime and a compiled .a3x-equivalent bytecode payload are fused into one PE. At entry-point (0x420577), the runtime initialises the AutoIt engine, locates the SCRIPT resource via LoadResource/LockResource/SizeofResource (all imported ^[pefile.txt:493-495]), decrypts/decompresses the bytecode, and executes it within the interpreter loop. The actual threat logic is entirely inside the compiled script; static analysis of the outer PE only reveals the AutoIt runtime surface.
Notable delta — PCRE regex library. Strings contain ~100 lines of PCRE error messages (e.g. numbers out of order in {} quantifier, range out of order in character class, regular expression is too large) and the full Unicode script-name table (Arabic, Armenian, Avestan, Balinese, Bengali, Bopomofo, Brahmi, Braille, Buginese, Canadian_Aboriginal, Carian, Caucasian_Albanian, Chakma, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret, Devanagari, Duployan, Egyptian_Hieroglyphs, Elbasan, Ethiopic, Georgian, Glagolitic, Gothic, Grantha, Gujarati, Gurmukhi, Hangul, Hanunoo, Hebrew, Hiragana, Imperial_Aramaic, Inscriptional_Pahlavi, Inscriptional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khojki, Khudawadi, Lepcha, Linear_A, Linear_B, Lycian, Lydian, Mahajani, Malayalam, Mandaic, Manichaean, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive, Meroitic_Hieroglyphs, Mongolian, Myanmar, Nabataean, New_Tai_Lue, Ol_Chiki, Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian, Old_South_Arabian, Old_Turkic, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician, Psalter_Pahlavi, Rejang, Samaritan, Saurashtra, Sharada, Shavian, Siddham, Sinhala, Sora_Sompeng, Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet, Telugu, Thaana, Tibetan, Tifinagh, Tirhuta, Ugaritic, Warang_Citi) ^[strings.txt:569-760]. This is the first sibling in the cluster where PCRE artefacts are this prominent; prior siblings show only the AutoIt runtime and standard Windows API strings. The regex engine is likely used by the script for data-harvesting (credential/file-pattern matching).
Import table is the standard AutoItSC runtime surface: WSOCK32 (sockets), WININET (HTTP/FTP), WINMM (audio/timer), COMCTL32 (common controls), MPR (mapped drives), PSAPI (process memory), IPHLPAPI (ICMP ping), USERENV (user profiles), UxTheme (theming), KERNEL32 (process/file/memory), USER32 (windowing/GUI/clipboard/keylogging), GDI32 (screenshots), COMDLG32 (file dialogs), ADVAPI32 (registry/token/security), SHELL32 (shell ops), ole32/OLEAUT32 (COM). ^[pefile.txt:274-500] No packed/encrypted imports; all names are plaintext.
Decompiled Behavior
Static decompilation of the AutoItSC runtime entry (entry0 at 0x420577) via radare2 shows the classic MSVC CRT initialisation sequence: __security_init_cookie, SEH frame setup, then a call to main() at 0x401c60 ^[r2:entry0]. The main() function is a thin wrapper that checks a global flag (byte [0x4d13bd]) and immediately returns — the actual script execution is dispatched through AutoIt interpreter callbacks registered earlier in CRT initialisation. ^[r2:main]
The outer PE does not exhibit anti-debug, anti-VM, or control-flow obfuscation. The only "obfuscation" is the compiled AutoIt bytecode itself, which requires the AutoIt decompiler (MyAut2Exe / Exe2Aut) or dynamic instrumentation to recover.
C2 Infrastructure
No hardcoded C2 strings recovered from static extraction. The AutoIt script logic (417 KB of compiled bytecode) is opaque without decompilation. Based on the import table and cluster history, expected C2 vectors are:
- HTTP/HTTPS via
InternetOpenW→InternetConnectW→HttpOpenRequestW→HttpSendRequestW^[pefile.txt:373-381] - Raw TCP via
WSOCK32.dll(socket,connect,send,recv) ^[pefile.txt:284-306] - FTP via
FtpOpenFileW,InternetOpenUrlW^[pefile.txt:382-384]
Explicitly unknown: script-level C2 URLs, mutex names, registry keys, file paths — all live inside the encrypted/compiled bytecode.
Interesting Tidbits
- Procurement lure theme.
PO_#86637.exematches the B2B purchase-order naming of siblingf0059bee(INQUIRY_2024-SP0006-B(01)_INQ24-012207.exe, Aug 2024). Both use hyphenated alphanumeric reference codes typical of enterprise procurement systems. ^[metadata.json] - Mid-size script. At 417 KB, this sample sits between the cluster extremes: smallest is
ef71e0f6(186 KB, "Public_Holiday_Notice"), largest isf0059bee(932 KB, procurement inquiry). ^[entities/unclassified-autoit-compiled.md] - PCRE library prominence. The ~100 lines of PCRE error strings and Unicode property names are the most extensive regex-library exposure seen in any sibling. Prior siblings (
ac2ca060,2c6133ca,6cc26f7c,1d0834e7,ef71e0f6,f0059bee,ff84806a) do not show this surface. This suggests the script contains heavy regex-based data extraction (file matching, credential scraping, or browser-profile parsing). - No UPX. Unlike sibling
6cc26f7c, this sample is a plain (non-packed) PE32. The.textentropy is 6.67 — consistent with compiled C++, not packed. ^[pefile.txt:92] - Version info is hollow. VS_VERSIONINFO exists but contains only LangID
0809(English British) and Translation0x0809 0x04b0; no CompanyName, FileDescription, or ProductName. ^[pefile.txt:250-272] - YARA matches.
PE_File_GenericandSuspicious_Wininet_Imports. ^[yara.txt]
How To Mess With It (Homelab Replication)
- Download AutoIt v3 from https://www.autoitscript.com/site/autoit/downloads/ (current stable ~v3.3.16.1).
- Write a
.au3script that usesInetRead,TCPConnect,RegWrite,FileInstall, andWinHttpRequest. - Compile with
Aut2Exe.exe(single-file output, x86, GUI subsystem). - Verify PE sections:
.text,.rdata,.data,.rsrc,.reloc. - Verify
.rsrccontains RT_RCDATA type=10 withAU3!EA06header. - Run
capaon the output — expect AutoIt limitation warning, same as this sample. - Run
strings— expect AutoIt function names, PCRE strings (if your script usesStringRegExp), and standard Windows API imports.
What you learn: how compiled scripting languages blur the line between "benign automation" and "malware"; why bytecode extraction is the real battleground for AutoIt samples.
Deployable Signatures
YARA Rule
rule AutoItSC_SingleFile_PE32_ProcurementLure : malware family_unclassified_autoit_compiled {
meta:
description = "AutoIt v3 single-file compiled PE32 with procurement/purchase-order lure and large SCRIPT resource"
author = "PacketPursuit"
date = "2026-06-19"
reference = "/intel/analyses/f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16.html"
hash = "f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16"
strings:
$autoit_sc = ".text$lp00AutoItSC" ascii
$au3_header = "AU3!EA06" ascii
$third_party = "This is a third-party compiled AutoIt script." ascii
$autoit_v3 = "AutoIt v3" ascii
$wininet1 = "InternetOpenW" ascii
$wininet2 = "HttpOpenRequestW" ascii
$wsock = "WSOCK32.dll" ascii
$pcre_err1 = "numbers out of order in {} quantifier" ascii
$pcre_err2 = "range out of order in character class" ascii
$pcre_unicode = "Egyptian_Hieroglyphs" ascii
condition:
uint16(0) == 0x5A4D and
uint32(uint32(0x3C) + 0x18) == 0x010B and // PE32
filesize < 3MB and
3 of ($autoit_sc, $au3_header, $third_party, $autoit_v3) and
any of ($wininet*) and
$wsock and
// Procurement lure filename heuristic
( filename matches /PO[_-]?[0-9]{3,6}/i or
filename matches /INQUIRY[_-]?[0-9]{4}/i or
filename matches /Invoice/i or
filename matches /Order/i )
}
Behavioral Hunt Query (Sigma-like)
Process-creation rule targeting the AutoItSC runtime child behaviors:
title: AutoItSC Compiled Script Execution with Network/Registry Activity
logsource:
product: windows
category: process_creation
detection:
selection_parent:
ParentImage|endswith: '\PO_#86637.exe'
# OR broader: any PE with AutoItSC indicators
selection_child_network:
CommandLine|contains:
- 'powershell'
- 'cmd.exe'
- 'schtasks'
- 'reg.exe'
selection_child_registry:
EventID: 4657 # Audit registry modification
ObjectName|contains:
- '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run'
selection_file_drop:
TargetFilename|contains:
- '\\AppData\\Roaming\\'
- '\\Temp\\'
condition: selection_parent and (selection_child_network or selection_child_registry or selection_file_drop)
falsepositives:
- Legitimate AutoIt automation tools (rare in enterprise)
level: medium
IOC List
| Type | Indicator | Notes |
|---|---|---|
| SHA-256 | f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16 |
Primary |
| SHA-1 | fad8b868697b2bd95af141a01afa5f16f2be9e06 (prefix) |
— |
| Filename | PO_#86637.exe |
Procurement lure |
| ssdeep | 24576:EqDEvCTbMWu7rQYlBQcBiT6rprG8a113HDXS2StVkghRp2VI9:ETvC/MTQYxsWR7a1NDCJVhRp2V |
^[ssdeep.txt] |
| tlsh | T16B55C00273C1C062FF9B92734F5AE65157BC79260123A62F13A81D7ABE701B1563E7A3 |
^[tlsh.txt] |
| File size | 1,342,464 bytes | — |
| Build timestamp | 2024-09-08 23:43:11 UTC | — |
| AutoIt header | AU3!EA06 |
Offset 0xd7bc8 and 0x13fff7 |
| Script resource | RT_RCDATA, 427,079 bytes (417 KB) | type=10, name=None, lang=0 |
| Expected C2 | Unknown (script-level) | Import table: WinInet + WinSock |
Behavioral Fingerprint Statement
This binary is a single-file AutoIt v3 compiled PE32 (AutoItSC) with a large RT_RCDATA resource (>400 KB) containing compiled AutoIt bytecode. It presents as a procurement/purchase-order document (PO_#86637.exe). The outer PE imports WinInet (HTTP/FTP), WinSock (raw TCP/UDP), GDI32 (screenshots), USER32 (clipboard/keylogging), and ADVAPI32 (registry/token manipulation). The embedded script likely uses PCRE regex for data harvesting. No anti-debug or VM checks in the outer PE. Execution chain: AutoItSC runtime → LoadResource → decrypt/decompress bytecode → interpreter loop. Network C2 and persistence mechanisms are script-level and not statically recoverable without AutoIt decompilation.
Detection Signatures
| MITRE ATT&CK | Technique | Evidence |
|---|---|---|
| T1059.005 | Command and Scripting Interpreter: Visual Basic / AutoIt | Compiled AutoIt script in RT_RCDATA; AutoIt v3 strings ^[strings.txt] |
| T1071.001 | Application Layer Protocol: Web Protocols | InternetOpenW, HttpOpenRequestW, HttpSendRequestW ^[pefile.txt:373-381] |
| T1095 | Non-Application Layer Protocol | WSOCK32.dll: socket, connect, send, recv ^[pefile.txt:284-306] |
| T1547.001 | Registry Run Keys / Startup Folder | RegSetValueExW, RegCreateKeyExW ^[pefile.txt:1241-1242] |
| T1053.005 | Scheduled Task/Job: Scheduled Task | CreateProcessW + shell APIs; typical AutoIt malware pattern |
| T1083 | File and Directory Discovery | FindFirstFileW, FindNextFileW, GetFileAttributesW ^[pefile.txt:481-494] |
| T1057 | Process Discovery | CreateToolhelp32Snapshot, Process32FirstW, Process32NextW ^[pefile.txt:476-478] |
| T1012 | Query Registry | RegQueryValueExW, RegOpenKeyExW, RegEnumKeyExW ^[pefile.txt:1214-1243] |
| T1113 | Screen Capture | StretchBlt, GetDIBits, CreateCompatibleDC ^[pefile.txt:1175-1209] |
| T1115 | Clipboard Data | OpenClipboard, GetClipboardData, SetClipboardData ^[pefile.txt:1117-1123] |
| T1056.001 | Input Capture: Keylogging | GetAsyncKeyState, GetKeyboardState ^[pefile.txt:1082-1081] |
| T1070.004 | File Deletion | DeleteFileW, SHFileOperationW ^[pefile.txt:947,1251] |
| T1564.003 | Hide Artifacts: Hidden Window | TrayIconHide string ^[strings.txt] |
| T1562.001 | Impair Defenses: Disable or Modify Tools | AdjustTokenPrivileges, SetSecurityDescriptorDacl ^[pefile.txt:1220-1238] |
| T1071 | Application Layer Protocol (FTP) | FtpOpenFileW, FtpGetFileSize ^[pefile.txt:382-383] |
References
- Artifact ID:
408e86e4-d784-40ba-8642-51c6e268d361^[metadata.json] - MalwareBazaar / OpenCTI source: malware-bazaar connector
- AutoIt v3: https://www.autoitscript.com/
- MyAut2Exe decompiler: https://github.com/x0r19x91/Exe2Aut (unofficial)
- unclassified-autoit-compiled — cluster entity page (8 siblings)
- autoit-compiled-script-dropper — concept page for AutoIt deployment patterns
Provenance
Analysis generated from:
wiki/wiki/raw/analyses/f2be9e06fff932ac45101a0b28b07379fad8b868697b2bd95af141a01afa5f16/{file.txt, exiftool.json, pefile.txt, strings.txt, ssdeep.txt, tlsh.txt, yara.txt, metadata.json, triage.json, floss.txt, capa.txt, binwalk.txt, rabin2-info.txt}- radare2 analysis (level 3, 2892 functions) of entry-point
0x420577andmain()at0x401c60 - Python pefile resource enumeration (RT_RCDATA, 427,079 bytes)
- Manual string review of full 2,852-line strings.txt output
- No dynamic analysis (CAPE skipped — no Windows guest available)