46c14f54405d6c75a0ba41465e754314f586546d12135ef3d584b79fa75dc698unclassified-dotnet: 46c14f54 — OOP inheritance coursework app with purchase-order lure
Executive Summary
A .NET Framework 4.0 WinForms educational application demonstrating object-oriented inheritance (Vehicle → Car / SUV / Truck) distributed as PO45120992.exe. The binary is entirely benign — no network APIs, no crypto, no persistence, no anti-analysis — and its sole threat vector is social-engineering masquerade. It shares the Trif32 Caesar-shift-23 decoder with the PrimeraVentana / GoldenCity / MyPaint.Editor / Ivanov_WF_Paint / AdvWinProgHW2 / Pizzaria / Checkers / Hadouken / Paint clusters. Capa T1620 and B0013.001 are confirmed false positives from Debug-build compiler-generated attributes, consistent with 20+ prior siblings in this corpus. Static-only analysis (CAPE skipped — no Windows guest).
What It Is
| Field | Value |
|---|---|
| SHA-256 | 46c14f54405d6c75a0ba41465e754314f586546d12135ef3d584b79fa75dc698 |
| Size | 616 KB (615 936 bytes) |
| Type | PE32 executable (GUI) Intel 80386 Mono/.Net assembly ^[file.txt] |
| .NET Runtime | .NET Framework v4.0.30319, linker v48.0 ^[strings.txt:221] |
| Compiled | Thu 18 Jul 2024 02:28:48 UTC ^[pefile.txt:34] ^[rabin2-info.txt:11] |
| Internal name | eWfe.exe ^[exiftool.json:38] |
| Product name | Inheritance ^[exiftool.json:42] |
| Copyright | Practi-Plan Mapping 2024 ^[exiftool.json:39] |
| Distribution filename | PO45120992.exe (purchase-order lure) ^[triage.json:5] |
| Signed | No ^[rabin2-info.txt:27] |
| Packing | None |
| Obfuscation | None |
Namespace / class surface (all benign educational OOP patterns):
Inheritanceroot namespace withProperties.Resources- Forms:
CarForm,SUVForm,TruckForm,DisplayForm,Main,displaySUVs,displayTrucks,displayCars - Domain classes:
MakeSound,StartEngine,ShowInfowith getters/setters for_price,_mileage,_make,_modelYear,_passengers,_doors,_wheelDrive - UI controls:
button1–button4,btnAddSUV,btnAddCar,btnAddTruck,btnDone,lstSUV,txtPrice, etc. - Standard WinForms event handlers:
button1_Click,btnAddSUV_Click,CarForm_Load, etc. ^[strings.txt:1–200]
How It Works
This is a straightforward .NET Framework WinForms application that demonstrates class inheritance in C#. The user can add cars, SUVs, and trucks via dedicated forms, then view aggregated lists in display forms. No runtime decryption, no reflective loading of external assemblies, no network communication, and no registry or filesystem persistence.
The Trif32 decoder present in the #Strings metadata (line 9) is the same benign Caesar-shift-23 utility class observed across the PrimeraVentana/GoldenCity/MyPaint.Editor/Ivanov_WF_Paint/AdvWinProgHW2/Pizzaria/Checkers/Hadouken/Paint clusters. It is a student programming exercise, not a payload decoder. ^[strings.txt:9] ^[entities/unclassified-dotnet.md]
The capa capability Reflective Code Loading [T1620] and Analysis Tool Discovery::Process detection [B0013.001] are false positives caused by DebuggerNonUserCodeAttribute, DebuggableAttribute, and DebuggingModes compiler-generated metadata in a Debug-configuration build. This pattern has been confirmed in 20+ prior siblings and is documented at debug-build-capa-false-positives. ^[capa.txt:15–22] ^[strings.txt:63–70]
Decompiled Behavior
Ghidra import succeeded (46c14f54405d...-a423ff) but auto-analysis was not required — the binary's behavior is fully recoverable from CLR metadata and strings. 80 functions and 157 symbols were discovered, all mapping to standard WinForms event handlers and property accessors. No native API P/Invoke, no Assembly.Load, no MethodBase.Invoke, no Process.Start. ^[ghidra:metadata]
C2 Infrastructure
None. No hardcoded IPs, domains, URLs, mutexes, named pipes, or registry keys. No System.Net, System.Security, System.Diagnostics.Process, or Microsoft.Win32.Registry references in the import surface. ^[strings.txt]
Interesting Tidbits
- "Practi-Plan Mapping 2024" copyright — a fabricated publisher string with no web presence, suggesting the repackager invented it on the spot. ^[exiftool.json:39]
eWfe.exeinternal name — a nonsense four-character string (eWfe), consistent with the auto-generated internal-name pattern seen in other repackaged educational apps (e.g.,NZiU,Zfio,Djxu,TZic,wHVe,kUEo,pKDK,HbxE,hovF,VvDt,DzAz,Yhdk,falD,iAQe,wvIf,srza,daQK,zzCV,hDQd). ^[exiftool.json:38] ^[entities/unclassified-dotnet.md]- Future-dated timestamp — compiled July 2024, which is in the past from our July 2026 perspective, but the VS_VERSIONINFO and .NET assembly metadata show no timestamp tampering. The PE timestamp matches the build date.
- Ten
.resourcesfiles —Inheritance.SUVForm.resources,Inheritance.TruckForm.resources,Inheritance.CarForm.resources,Inheritance.DisplayForm.resources,Inheritance.Main.resources,Inheritance.displaySUVs.resources,Inheritance.displayTrucks.resources,Inheritance.displayCars.resources,Inheritance.Properties.Resources.resources. Standard WinForms designer output. ^[strings.txt:161–169] - Embedded PNG icons — binwalk found four PNG images: two 256×256, one 481×481, and one 256×256 in the
.rsrcsection. These are application icons and splash images, not steganographic carriers. ^[binwalk.txt:6–10] - No Assembly.Load or reflection-based execution — while
InvokeMemberandGetExportedTypesstrings are present (standard .NET reflection APIs), there is no evidence of runtime assembly loading or delegate-chain execution. The capa T1620 flag is a false positive.
How To Mess With It (Homelab Replication)
Toolchain: Visual Studio 2019/2022, .NET Framework 4.0 targeting pack, C# WinForms App (.NET Framework) template.
Steps:
- Create a new WinForms project targeting .NET Framework 4.0.
- Define a base
Vehicleclass with properties:Make,ModelYear,Price,Mileage. - Derive
Car(addPassengers,Doors),SUV(addWheelDrive), andTruckclasses. - Create separate forms for adding each vehicle type and a display form with
ListBoxcontrols. - Add a
Trif32utility class with a Caesar-shift-23 decoder (shift each character back by 23, wrapping around the alphabet). - Build in Debug configuration.
- Observe that
DebuggerNonUserCodeAttribute,DebuggableAttribute, andDebuggingModesappear in the compiled assembly metadata. - Run
capaagainst the output EXE and confirm T1620 / B0013.001 false-positive matches.
What you'll learn: How benign Debug-build .NET metadata triggers capa reflective-loading and anti-analysis signatures, and why manual string review is required before treating capa ATT&CK mappings as ground truth.
Deployable Signatures
YARA Rule
rule UnclassifiedDotNet_OOPInheritance_Lure
{
meta:
description = "Detects .NET Framework educational OOP inheritance app repackaged with social-engineering lure"
author = "PacketPursuit"
date = "2026-07-14"
sha256 = "46c14f54405d6c75a0ba41465e754314f586546d12135ef3d584b79fa75dc698"
family = "unclassified-dotnet"
strings:
$ns1 = "Inheritance" ascii wide
$cls1 = "CarForm" ascii wide
$cls2 = "SUVForm" ascii wide
$cls3 = "TruckForm" ascii wide
$cls4 = "DisplayForm" ascii wide
$dec = "Trif32" ascii wide
$ui1 = "btnAddSUV" ascii wide
$ui2 = "txtPrice" ascii wide
$ui3 = "txtWheelDrive" ascii wide
$copy = "Practi-Plan Mapping 2024" ascii wide
$intname = "eWfe.exe" ascii wide
condition:
uint16(0) == 0x5A4D and
uint32(uint32(0x3C)) == 0x00004550 and
($dec and $ns1 and 3 of ($cls*)) or
($copy and $intname)
}
Behavioral Hunt Query (Sigma-like)
title: .NET WinForms OOP Inheritance App Social-Engineering Lure
logsource:
product: windows
category: file_event
detection:
selection:
TargetFilename|contains:
- 'PO'
- 'Purchase'
- 'Order'
TargetFilename|endswith: '.exe'
- PEImphash: 'f34d5f2d4577ed6d9ceec516c1f5a744'
condition: selection
Note: The above is illustrative. In practice, hunt on the combination of .NET Framework PE + Inheritance namespace strings + purchase-order filename + absence of System.Net references. The PE's only import is mscoree.dll._CorExeMain and it carries no Authenticode signature.
IOC List
| Type | Value | Note |
|---|---|---|
| SHA-256 | 46c14f54405d6c75a0ba41465e754314f586546d12135ef3d584b79fa75dc698 |
Canonical hash |
| SHA-1 | a423ffdb66d51740911a95e0e8a7c6865868e47c |
^[capa.txt:4] |
| MD5 | 90bcd6fd70164646e7c97b391dbd1b3a |
^[capa.txt:3] |
| ssdeep | 12288:3iuaKWgPgvpBMBRCSHFwaeAFVTF+lovIiAZAcXDrXiZP8d:CngoB6KWFwZg7mMIiSAcXDrG |
^[ssdeep.txt:2] |
| TLSH | 7ED42335EBA59360CD7C9FF200166D6E5BBD12BB1414E95E2FC3B0C5CA67B0C4892A87 |
^[tlsh.txt:1] |
| Filename | PO45120992.exe |
Purchase-order lure ^[triage.json:5] |
| Internal name | eWfe.exe |
Nonsense auto-generated internal name ^[exiftool.json:38] |
| Copyright | Practi-Plan Mapping 2024 |
Fabricated publisher ^[exiftool.json:39] |
| Product name | Inheritance |
^[exiftool.json:42] |
| Namespace | Inheritance |
Root namespace ^[strings.txt:217] |
| Class | Trif32 |
Benign Caesar-shift-23 decoder ^[strings.txt:9] |
Behavioral Fingerprint
This .NET Framework 4.0 WinForms PE32 executable has a single import (mscoree.dll._CorExeMain), no Authenticode signature, and no network, cryptography, process-management, or registry APIs. Its CLR metadata contains an Inheritance namespace with vehicle-related forms (CarForm, SUVForm, TruckForm, DisplayForm) and a Trif32 utility class. The binary was distributed with a purchase-order-themed filename (PO45120992.exe) but executes only a benign GUI for managing OOP inheritance hierarchies. Capa flags T1620 and B0013.001 are false positives from Debug-build compiler-generated attributes.
Detection Signatures
| Capa Capability | ATT&CK / MBC | Assessment |
|---|---|---|
reference analysis tools strings |
— | False positive from DebuggerNonUserCodeAttribute / DebuggableAttribute in Debug build |
invoke .NET assembly method |
T1620 | False positive — no Assembly.Load or reflective execution observed |
access .NET resource |
— | Benign — standard WinForms .resources files |
compiled to the .NET platform |
— | Accurate |
Analysis Tool Discovery::Process detection [B0013.001] |
B0013.001 | False positive from Debug-build metadata |
References
- unclassified-dotnet — umbrella entity for this cluster
- debug-build-capa-false-positives — documented false-positive pattern
- trif32-caesar-shift-23-decoder — benign decoder shared across clusters
- social-engineering-filename-lure — cross-family concept
Provenance
file.txt,exiftool.json,pefile.txt,strings.txt,ssdeep.txt,tlsh.txt,yara.txt,metadata.json,triage.json,capa.txt,binwalk.txt,rabin2-info.txt— generated by triage-fast pipeline on 2026-05-26.floss.txt— flare-floss invocation failed due to argument parsing error; no decoded strings obtained.- Ghidra 12.1 import queued (
46c14f54405d...-a423ff) but auto-analysis not required; behavior fully recoverable from CLR metadata and strings. - No CAPE detonation — Windows guest unavailable.