9a40908c3212dd34fd907ff66893537537adce8f136379baf98269158948a2e9unclassified-dotnet: 9a40908c — FSC UI WinForms library second sibling (Zfio build), CV.pdf.exe lure
Executive Summary
Second confirmed sibling of the .NET Framework 4.0 WinForms UI library FSC UI by Fabian Schlüter. Distributed as CV.pdf.exe (curriculum-vitae / resume lure via double-extension masquerade). Compared to the first sibling (e04d46ff / NZiU.exe), this build uses the internal name Zfio.exe, is 76 KB larger (671 KB vs 595 KB), carries more embedded PNG icons, and shares the same hardcoded SHA256 integrity hash. No packing, no obfuscation, no network APIs, no persistence. Threat is purely social-engineering masquerade. See the unclassified-dotnet entity page and the sibling report e04d46ff for full cluster analysis. ^[/intel/analyses/e04d46ff3726afd45a2181347c64b088f9500d242eda127959a1462daa4db84e.html]
What It Is
| Field | Value |
|---|---|
| SHA-256 | 9a40908c3212dd34fd907ff66893537537adce8f136379baf98269158948a2e9 ^[file.txt] |
| Filename | CV.pdf.exe ^[triage.json:5] |
| File type | PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows, 3 sections ^[file.txt] |
| Size | 671 232 bytes (655 KB) ^[triage.json:12] |
| Internal name | Zfio.exe ^[pefile.txt:238] |
| PDB | Zfio.pdb ^[rabin2-info.txt:13] |
| Company | Fabian Schlüter ^[pefile.txt:235] |
| Product | FSC UI ^[pefile.txt:242] |
| Version | 1.0.0.0 ^[pefile.txt:233] |
| .NET runtime | .NET Framework v4.0.30319 ^[rabin2-info.txt:34] |
| Compiler / linker | .NET Framework 4.0 C# compiler (csc) + standard PE linker; MajorLinkerVersion 0x30 (48.0) ^[pefile.txt:45] |
| Timestamp | 0xEF954143 → Thu May 16 09:49:55 2097 UTC (fabricated / invalid) ^[pefile.txt:34] |
| Signed | No ^[rabin2-info.txt:29] |
| Packing | None ^[file.txt] |
| Obfuscation | None (unobfuscated CIL) ^[strings.txt] |
Family ascription: unclassified-dotnet — benign developer library repackaged with social-engineering filename. Second confirmed FSC UI sibling.
How It Works
This binary is functionally identical to the first FSC UI sibling (e04d46ff). It is a .NET Framework 4.0 WinForms GUI application built around the custom themable control library (FSC_UI namespace). For a complete component list (custom controls, theming engine, MDI shell, resource files), see the sibling report. ^[/intel/analyses/e04d46ff3726afd45a2181347c64b088f9500d242eda127959a1462daa4db84e.html]
Per-sample deltas:
- Internal name changed:
Zfio.exe/Zfio.pdbvsNZiU.exe/NZiU.pdb. Both are nonsense strings — likely auto-generated by a build script or obfuscator during repackaging. ^[pefile.txt:238] ^[rabin2-info.txt:13] - File size increased: 671 232 bytes vs 595 456 bytes (+76 KB). The delta is in the
.textsection (0xA3400 raw vs ~0x91800 in the first sibling) and the.rsrcsection, which carries more embedded PNG icons. ^[pefile.txt:84] ^[triage.json:12] - More embedded PNGs: Binwalk recovered 18 small 16×16 PNG icons and one large 508×508 PNG, compared to ~18 small icons and one 481×481 PNG in the first sibling. These are UI glyphs for the themed control set. No steganography indicated. ^[binwalk.txt]
- Same hardcoded SHA256: The 64-character uppercase hex string
7D037A876D9C65AD35B2C7802BEE3402CE7A4D85F98B8B63413AA8E184010DC3is present at the same relative offset in#Strings. It does not match the sample's own SHA256. Purpose remains unconfirmed. ^[strings.txt:15] - Social-engineering lure changed:
CV.pdf.exe(curriculum vitae / resume lure, double-extension masquerade) vsQUOTE-2K240726-A-CCC.exe(business-quote lure). Both prey on HR/procurement employees. ^[triage.json:5] - Timestamp fabrication: 2097 vs 2101. Both are impossible future dates confirming post-build tampering or linker override during repackaging. ^[pefile.txt:34]
Capa false-positive explanation: Identical to the first sibling — T1620 from Activator / Assembly.Load (standard .NET reflection) and T1497.001 from DebuggerBrowsableState / DebuggableAttribute (Debug-build compiler decorations). See sibling report for full mapping. ^[capa.txt]
Decompiled Behavior
Ghidra import succeeded but analysis remained incomplete at time of report generation (analysis_complete: false, code_indexed: false). Radare2 CIL analysis (level 3) found 417 functions, all standard .NET method stubs. Entry point is _CorExeMain via mscoree.dll. No native-code functions, P/Invoke, or unmanaged call sites recovered. ^[rabin2-info.txt]
Because the binary is pure unobfuscated CIL, dnSpy or ILSpy would provide the most readable decompilation. Neither tool is installed on this station.
C2 Infrastructure
None observable statically. No network-related imports, strings, or resource artifacts.
Interesting Tidbits
- Double-extension masquerade:
.pdf.exeis the classic Windows "Hide extensions" bypass. The icon will render as the default PDF icon if the attacker sets it, while the true.exeextension executes. ^[triage.json:5] - CV-themed lure: Resume/CV filenames are a known attack vector targeting HR departments and hiring managers who expect unsolicited attachments. This shifts the target from finance/procurement (QUOTE lure) to HR/recruitment. ^[triage.json:5]
- GitHub repository confirmed: The FSC UI library is published by user
Fabian2000on GitHub asFSC-UI— a "Custom modern UI Library for Windows Forms Applications". The original source is likely legitimate and was simply repackaged by a threat actor. ^[github search result] - Debug build: Presence of
DebuggableAttributeandDebuggerBrowsableStateconfirms Debug configuration. A Release build would strip these and reduce binary size. ^[strings.txt:137,150,152] - Resource entropy:
.rsrcsection entropy is 4.15 — well below the 7.0+ threshold for encrypted payload hiding. The content is legitimate UI bitmaps and the UAC manifest. ^[pefile.txt:112]
How To Mess With It (Homelab Replication)
See the sibling report e04d46ff for full replication notes. The additional value of this sample is in recognizing that the same benign library is being repackaged with multiple lure themes (QUOTE and CV) and multiple internal names (NZiU and Zfio), suggesting a distributor with a script-driven repackaging pipeline rather than manual one-off edits.
Deployable Signatures
YARA Rule (Updated — catches both NZiU and Zfio variants)
rule FSC_UI_Repackaged_Family {
meta:
description = "Detects FSC UI .NET WinForms library repackaged with social-engineering filenames (NZiU and Zfio variants)"
author = "PacketPursuit"
date = "2026-07-01"
sha256_1 = "e04d46ff3726afd45a2181347c64b088f9500d242eda127959a1462daa4db84e"
sha256_2 = "9a40908c3212dd34fd907ff66893537537adce8f136379baf98269158948a2e9"
strings:
$fsc_ui = "FSC UI" wide ascii
$fsc_ns = "FSC_UI" wide ascii
$nziu = "NZiU.exe" wide ascii
$nziu_pdb = "NZiU.pdb" ascii
$zfio = "Zfio.exe" wide ascii
$zfio_pdb = "Zfio.pdb" ascii
$theme1 = "LoadDefaultDarkTheme" wide ascii
$theme2 = "LoadDefaultLightTheme" wide ascii
$theme3 = "ThemeLoader" wide ascii
$theme4 = "ThemeBuilder" wide ascii
$hash = "7D037A876D9C65AD35B2C7802BEE3402CE7A4D85F98B8B63413AA8E184010DC3" ascii
$dotnet = ".NETFramework,Version=v4.0" wide ascii
condition:
uint16(0) == 0x5A4D and
$dotnet and
$fsc_ui and
($nziu or $nziu_pdb or $zfio or $zfio_pdb) and
2 of ($theme1, $theme2, $theme3, $theme4) and
filesize < 1MB
}
IOC List
| Type | Value | Note |
|---|---|---|
| SHA-256 | 9a40908c3212dd34fd907ff66893537537adce8f136379baf98269158948a2e9 |
This sample |
| SHA-256 (sibling) | e04d46ff3726afd45a2181347c64b088f9500d242eda127959a1462daa4db84e |
First FSC UI sibling |
| SHA-256 (embedded) | 7d037a876d9c65ad35b2c7802bee3402ce7a4d85f98b8b63413aa8e184010dc3 |
Hardcoded hash string; shared across siblings |
| Internal name | Zfio.exe |
This build |
| Internal name (sibling) | NZiU.exe |
First sibling build |
| PDB | Zfio.pdb |
Build artifact |
| Product | FSC UI |
UI library product name |
| Company | Fabian Schlüter |
Developer name |
| Filename lure | CV.pdf.exe |
Observed: CV/Resume double-extension masquerade |
| Filename lure (sibling) | QUOTE-*.exe |
Observed: business-quote masquerade |
| .NET namespace | FSC_UI |
Custom control library |
Behavioral Fingerprint Statement
This binary is a .NET Framework 4.0 WinForms GUI application with no network, persistence, injection, or crypto APIs. It loads mscoree.dll via standard .NET PE bootstrap, initializes custom-themed UI controls (FSCButton, FSCToggle, FSCPanel, FSCMessageBox), and presents an MDI parent shell with menu-strip and tool-strip surfaces. Capa may flag T1620 (reflective code loading) and T1497.001 (VM detection) due to compiler-generated DebuggerBrowsableState and Activator references — these are false positives. The only anomalous static artifact is a hardcoded 64-character SHA256 hex string in the #Strings metadata stream, shared with at least one confirmed sibling. The threat is social-engineering masquerade: the binary is benign but distributed under a deceptive filename (CV.pdf.exe) to trick HR/recruitment staff into executing it.
Detection Signatures
| Capa Capability | ATT&CK / MBC | Assessment |
|---|---|---|
| reference analysis tools strings | MBC B0013.001 | False positive — DebuggerBrowsableState is compiler-generated in Debug builds |
| find data using regex in .NET | — | False positive — RegexPattern property is part of a generic text-control |
| invoke .NET assembly method | T1620 | False positive — standard internal type resolution / theming callback |
| access .NET resource | — | Legitimate — WinForms .resources files for UI bitmaps and strings |
| get common file path | T1083 | Legitimate — GetFolderPath / SpecialFolder for theme/config directory |
| read file in .NET | — | Legitimate — theme loader reads settings / resource files |
| write file in .NET | — | Legitimate — theme saver writes settings |
| unmanaged call | — | False positive — generic .NET runtime flag; no P/Invoke recovered |
| compiled to the .NET platform | — | Legitimate — format identification |
References
- unclassified-dotnet — Umbrella entity for unattributed .NET Framework PE32/PE32+ binaries; contains first FSC UI sibling analysis
- social-engineering-filename-lure — Concept: professional-context filename themes to exploit urgency
- version-info-masquerade — Concept: falsified VS_VERSIONINFO for benign appearance
- Sibling report:
/intel/analyses/e04d46ff3726afd45a2181347c64b088f9500d242eda127959a1462daa4db84e.html - Artifact ID:
b0766f20-ca5b-441e-8d99-2d9ba4549de2 - Source: MalwareBazaar (abuse.ch) via OpenCTI
urlhaus-recent-payloadsconnector
Provenance
Static analysis performed 2026-07-01 on pp-hermes (Lab1BU). Tools: file (5.45), exiftool (12.76), pefile (Python module), radare2 (cil backend, analysis level 3), capa (static analysis mode), strings (GNU binutils), binwalk (2.3.4), floss (failed — CLI argument parsing error). Ghidra import queued but analysis incomplete at report time. No dynamic execution available (CAPE skipped: no Windows guest). Report authored by Demetrian Titus.