c59a535b1a8525c8f5714034085bfa0008e5c4bb55f0c39183c07ac3828a7cddunclassified-dotnet-minesweeper-masquerade: c59a535b — .NET Framework Minesweeper game with Microsoft-themed version-info masquerade
Executive Summary
A PE32 .NET Framework 4.0 WinForms executable distributed as AWB_411744484099.exe (airway-bill social-engineering lure). Static analysis reveals a fully functional Minesweeper game with no observable malicious payload: no network APIs, no persistence, no process injection, no reflective loading. OpenCTI's remcosrat label is a false positive; the binary shares zero build artefacts or TTPs with the Remcos RAT family. Threat is purely social-engineering masquerade. ^[file.txt] ^[pefile.txt]
What It Is
| Field | Value |
|---|---|
| SHA-256 | c59a535b1a8525c8f5714034085bfa0008e5c4bb55f0c39183c07ac3828a7cdd |
| Filename | AWB_411744484099.exe |
| Size | 1,022 KB (1,047,040 bytes) ^[triage.json] |
| Type | PE32 executable (GUI) Intel 80386 Mono/.Net assembly, 3 sections ^[file.txt] |
| .NET runtime | v4.0.30319 (CLR 4.0) |
| Timestamp | Thu Dec 6 01:43:10 2074 UTC (fabricated / future-dated) ^[pefile.txt:34] |
| PDB | SpQF.pdb ^[pefile.txt:353] |
| Version info | Microsoft Corporation. / Primitive Queue / SpQF.exe / v1.0.0.0 ^[pefile.txt:233-243] |
| Signed | No ^[rabin2-info.txt:29] |
| Family (OpenCTI) | remcosrat — false positive |
| Family (revised) | unclassified-dotnet-minesweeper-masquerade |
Build / RE
Toolchain
- Language: C# targeting .NET Framework 4.0 (CLR v4.0.30319) ^[dotnet-metadata:dump_dotnet.py]
- Compiler: Microsoft C# compiler (csc.exe / MSBuild), standard WinForms designer-generated code
- Linker version: 48.0 (Visual Studio 2010-era toolchain) ^[pefile.txt:45-46]
- Sections:
.text(code, entropy 7.76),.rsrc(manifest + version info, entropy 3.47),.reloc(base relocations) ^[pefile.txt:79-136]
Packing / Obfuscation
- None. No packer, no obfuscator, no anti-debug, no VM detection. Entropy on
.textis high (7.76) because the section contains the entire .NET IL bytecode + metadata, not because of encryption. ^[pefile.txt:92]
Anti-Analysis
- Capa flags
T1620(Reflective Code Loading) andB0013.001(Analysis Tool Discovery) — these are benign .NET runtime artefacts (JIT compilation,DebuggerNonUserCodeAttribute) and should be treated as false positives in this context. ^[capa.txt] - No sandbox evasion, no timing checks, no process enumeration for analysis tools.
Embedded Resources
- RT_VERSION: Fabricated
Microsoft Corporation.identity with product namePrimitive Queue. ^[pefile.txt:190-244] - RT_MANIFEST: Standard Windows Vista-compatible execution-level
asInvokermanifest. ^[binwalk.txt:11] - Bitmap/PNG assets: A 121×121×32 PC bitmap at RVA
0x28E4Cand a 584×584 RGBA PNG at RVA0x373E9— game board and UI graphics. ^[binwalk.txt:7-8] - No RT_RCDATA payload. No encrypted config blob, no second-stage PE, no shellcode.
Notable .NET Metadata
- Namespace
ADWRBWWQNJwith aDataSet-derived class containing 16 nestedDataTabletypes namedDataTable1,DataTable11,DataTable111, …DataTable11111. These are auto-generated TypedDataSet classes produced by Visual Studio's dataset designer. ^[dotnet-metadata:#Strings] - Form classes:
MainForm,Form2,customForm— standard WinForms event handlers (Form2_Load,MainForm_Load,timer1_Tick,button1_Click, etc.). ^[strings.txt:112-128] - Game logic strings:
IsMine,GetSafeIsland,GetNeighbors,CountMines,mineBox,colBox,rowBox,first_click_x,first_click_y. ^[strings.txt:520-752] - UI strings from
#USheap:"Congratulations {0}! You discovered all safe squares in {1} seconds!","Game Over! You clicked on a mine!", difficulty levels"Easy","Medium","Expert","Extreme". ^[dotnet-metadata:dump_us.py]
Deploy / ATT&CK
Static-only inference (no CAPE detonation available).
No MITRE ATT&CK techniques apply. The binary contains:
- No
System.Net.Sockets,System.Net.WebClient,HttpWebRequest, or mail APIs - No
Process.Start,Registrywrites,TaskScheduler, or WMI calls - No
Assembly.Load,InvokeMember, or reflective execution with non-system assemblies - No cryptographic APIs beyond what the .NET runtime itself imports
Why This Is NOT RemcosRAT
Remcos fingerprint (from entities/remcos.md) |
This sample |
|---|---|
| C++ / MSVCP60, PE32 with 4 sections | C# / .NET, PE32 with 3 sections |
Raw TCP C2, InternetOpenUrlA, URLDownloadToFileA |
No network APIs at all |
RCData resource SETTINGS (245–803 bytes encrypted) |
No RCData payload; only RT_VERSION and RT_MANIFEST |
Keylogger (SetWindowsHookExA), screenshot, webcam, mic |
No such APIs; only GDI+ for game board rendering |
| Registry Run / Winlogon Userinit / eventvwr UAC bypass | No registry or UAC APIs |
Strings: Remcos, Breaking-Security, DataStart framing |
Zero Remcos-specific strings |
| Unsigned, no packer | Unsigned, no packer (only similarity) |
The remcosrat label is a textbook false positive from OpenCTI's automated tagging pipeline, likely triggered by the exe + malware-bazaar tags without static family confirmation.
C2 Infrastructure
None. No hardcoded IPs, domains, URLs, mutexes, named pipes, or registry keys. All network-related strings are absent from both #Strings and #US metadata heaps.
Interesting Tidbits
- Filename social engineering:
AWB_prefix = Air Way Bill, a common logistics/shipping phishing lure. The numeric suffix (411744484099) mimics a real tracking number format. - Version-info masquerade: Claims
Microsoft Corporation.copyright and product namePrimitive Queuewith internal nameSpQF.exe. The.pdbpathSpQF.pdbconfirms the developer's original project name wasSpQF(possibly "Single-Player Queue Framework" or similar). ^[pefile.txt:353] - Caesar-shift red herring: The string
FuhdwhLqvwdqfhin the#USheap decodes with Caesar+3 toCreateInstance. This is not obfuscation — it's a leftover from the dataset designer or a developer's test string. No other encoded strings follow this pattern. - TypedDataSet bloat: The 16 auto-generated
DataTableclasses inflate the binary size. This is typical of Visual Studio's "Add New Data Source" wizard, not a malicious technique. - Future-dated PE timestamp:
2074-12-06is almost certainly a linker default or intentional fabrication; it does not correlate with any known campaign.
How To Mess With It (Homelab Replication)
Build a comparable .NET game masquerade:
- Open Visual Studio 2010+ → New Project → Windows Forms Application (.NET Framework 4.0).
- Add a DataSet via Project → Add New Item → DataSet. Name it
ADWRBWWQNJ(or anything). - Add
DataTableobjects via the designer. Visual Studio auto-generatesDataTable1,DataTable11, etc. - Implement a simple Minesweeper grid using
Button[,]orPictureBoxcontrols. - In
AssemblyInfo.cs, set:[assembly: AssemblyCompany("Microsoft Corporation.")] [assembly: AssemblyProduct("Primitive Queue")] [assembly: AssemblyFileVersion("1.0.0.0")] - Build Release. Observe the resulting PE has the same 3-section layout, similar entropy, and comparable capa fingerprint (false-positive
T1620from JIT loading).
Verification: Run capa <your.exe> — expect compiled to the .NET platform, access .NET resource, display service notification message box. No network or persistence capabilities should surface.
Deployable Signatures
YARA Rule
rule dotnet_minesweeper_masquerade
{
meta:
description = "Detects .NET Minesweeper game binaries masquerading as business documents"
author = "PacketPursuit SOC"
date = "2026-06-22"
reference = "/intel/analyses/c59a535b1a8525c8f5714034085bfa0008e5c4bb55f0c39183c07ac3828a7cdd.html"
strings:
$dt1 = "DataTable1" ascii wide
$dt11 = "DataTable11" ascii wide
$dt111 = "DataTable111" ascii wide
$dt1111 = "DataTable1111" ascii wide
$dt11111 = "DataTable11111" ascii wide
$adw = "ADWRBWWQNJ" ascii wide
$mine = "IsMine" ascii wide
$safe = "GetSafeIsland" ascii wide
$form2 = "Form2_Load" ascii wide
$main = "MainForm_Load" ascii wide
$congrats = "Congratulations {0}! You discovered all safe squares in {1} seconds!" ascii wide
$gameover = "Game Over! You clicked on a mine!" ascii wide
condition:
uint16(0) == 0x5A4D and
(uint32(uint32(0x3C) + 0x14) & 0x2000) == 0 and // PE32 (not PE32+)
dotnet.is_dotnet and
5 of ($dt*) and
$adw and
any of ($mine, $safe) and
any of ($form2, $main)
}
Behavioral Fingerprint
PE32 .NET Framework 4.0 WinForms executable presenting a functional Minesweeper game. Contains auto-generated TypedDataSet classes (
DataTable1throughDataTable11111) under namespaceADWRBWWQNJ. NoSystem.Netsocket or HTTP APIs are imported. Version info claimsMicrosoft Corporation./Primitive Queue/SpQF.exe. High.textsection entropy (~7.76) is due to IL bytecode density, not packing. Capa'sT1620andB0013.001hits are benign .NET runtime artefacts. No persistence, no C2, no payload staging.
IOC List
| Type | Value | Notes |
|---|---|---|
| SHA-256 | c59a535b1a8525c8f5714034085bfa0008e5c4bb55f0c39183c07ac3828a7cdd |
|
| SHA-1 | 39340638d3456a18bc19241e722939fc5bb2a5a0 |
|
| MD5 | 86c29e123adc15e5a8b5ac98386381ea |
|
| ssdeep | 24576:Re8uGkiCALtUekNLXUd3BPJLs+28Q8hSF:RLpCgUewLXw3Ba+28Q8hS |
|
| Filename | AWB_411744484099.exe |
Airway-bill lure |
| Internal name | SpQF.exe |
|
| Product name | Primitive Queue |
Masquerade |
| Company | Microsoft Corporation. |
Masquerade |
| .NET namespace | ADWRBWWQNJ |
Dataset namespace |
Detection Signatures
Capa static analysis results (all benign in this context):
| Capability | Namespace | Assessment |
|---|---|---|
| reference analysis tools strings | anti-analysis | False positive — DebuggerNonUserCodeAttribute |
| generate random numbers in .NET | data-manipulation/prng | Benign — Random for mine placement |
| access .NET resource | executable/resource | Benign — manifest resource |
| display service notification message box | host-interaction/gui | Benign — MessageBox for game over |
| invoke .NET assembly method | load-code/dotnet | False positive — standard IL call |
| load .NET assembly | load-code/dotnet | False positive — CLR startup |
| compiled to the .NET platform | runtime/dotnet | Correct — .NET Framework 4.0 |
ATT&CK mapping from capa (static-only, not confirmed dynamically):
T1620— Reflective Code Loading (benign .NET JIT)
References
- Artifact ID:
dd8d0962-48a8-4905-8954-7997b9afa9d1 - Source: OpenCTI / MalwareBazaar
- Related entity: unclassified-dotnet-game — umbrella for .NET game masquerades (AvalancheRunner sibling)
- Related concept: version-info-masquerade
- Related concept: social-engineering-filename-lure
Provenance
Analysis based on static artefacts in raw/analyses/c59a535b.../: file.txt, pefile.txt, strings.txt, capa.txt, binwalk.txt, rabin2-info.txt, metadata.json, triage.json. .NET metadata extracted via custom Python parser (dump_dotnet.py, dump_tables.py, dump_us.py) reading the PE CLR header, #~, #Strings, and #US streams directly. No CAPE detonation available (no Windows guest). No decompiler (dnSpy/ILSpy) installed on analysis host.