
Malware is malicious software designed to harm, spy on, or gain unauthorized access to computer systems.
| Method | How It Works | Weakness |
|---|---|---|
| Signature-based | Matches known file hashes or strings | Misses new variants with different hashes |
| Behavioral | Looks at what the software does | More complex, requires deeper analysis |
A malware variant can share the same behaviors as a known threat but have completely different file hashes and strings — making it invisible to signature scanners.
This is exactly what happened here: the sample had different indicators but identical behaviors to a known malware family.
These two terms are central to the entire article.
Known LOTUSLITE sample:
IOCs: hash = ABC123, path = C:\ProgramData\Technology360NB\
TTPs: DLL sideloading, HTTPS C2, registry persistence
New sample (this article):
IOCs: hash = 47e51e82... (DIFFERENT — not on any list)
TTPs: DLL sideloading, HTTPS C2, registry persistence (SAME)
The sample evaded detection because defenders were checking IOCs, not TTPs.
A DLL (Dynamic Link Library) is a file containing code that other programs can load and use. Windows programs routinely load DLLs to access shared functionality.
A backdoor is malware that gives an attacker secret, persistent access to a system — like a hidden door into a building.
This is a clever technique that abuses how Windows loads DLLs.
Normal behavior:
Legitimate App (e.g., KuGou music player)
→ loads legitimate helper.dll
→ runs normally
Sideloading attack:
Legitimate App (renamed, trusted)
→ loads MALICIOUS.dll (placed in same folder)
→ malicious code runs under trusted process
Why it works:
SmartPrintScreen.exe (legitimate-looking loader)
→ sideloads AMPV.dll (the malicious backdoor)
→ AMPV.dll contains all the malicious functionality
When a computer restarts, running programs stop. Malware needs a way to automatically restart without the user noticing.
Windows has a special registry location that automatically launches programs at login:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Any program listed here runs automatically when the user logs in.
Step 1: AMPV.dll copies files to C:\ProgramData\SmartPrint\
- SmartPrintScreen.exe (the loader)
- AMPV.dll (itself)
Step 2: Writes registry Run key:
"DadaBank" = C:\ProgramData\SmartPrint\SmartPrintScreen.exe --DaDaBar
Step 3: On next login:
Windows reads Run key → launches SmartPrintScreen.exe
SmartPrintScreen.exe → sideloads AMPV.dll
Malware is running again
| Detail | Acronis Sample | This Sample |
|---|---|---|
| Install path | C:\ProgramData\Technology360NB\ | C:\ProgramData\SmartPrint\ |
| Run key name | Lite360 | DadaBank |
| Launch argument | --DATA | --DaDaBar |
Different IOCs, identical mechanism — this is the TTP match in action.
Command and Control (C2) is the communication channel between malware on a victim's machine and the attacker's server. Through C2, attackers can:
Traffic camouflage: The malware disguises its network traffic to look like normal communication with Google and Microsoft services — making it blend into legitimate network traffic.
A DWORD is a 4-byte (32-bit) value. Malware families often use a specific "magic" value at the start of their custom network packets — like a secret handshake.
Acronis sample magic value: 0x8899AABB
This sample's magic value: 0xB2EBCFDF
Both use the same structure (custom binary protocol over HTTPS) but with different magic values — again, same TTP, different IOC.
The article mentions several capabilities identified through analysis:
Obfuscation means deliberately making code confusing or misleading to slow down analysis.
A DLL's export table lists functions that other programs can call. This malware exports a long list of banking and QR-code themed function names:
Query_Bank
BankSepah_Iran
BankToman_BMI
BankofChina
qrBankInit
JpgSymbolToBMP
... and others
The trick: Most of these functions do nothing useful — they just show a message box or exit. They exist to make the DLL look like a legitimate banking/QR SDK.
The real purpose: The loader calls one of these exports via GetProcAddress, which eventually reaches the actual malicious entry point.
Loader calls: GetProcAddress(dll, "BankofChina")
Appears to be: legitimate banking SDK function
Actually does: launches LOTUSLITE backdoor functionality
This is like a building with 50 labeled doors, but only one actually opens — and it leads somewhere dangerous.
Human malware analysts:
This is slow, expensive, and doesn't scale to the volume of new malware variants.
Project Ire is Microsoft's autonomous malware-classification agent — an AI system that performs this analysis automatically.
| Property | Meaning |
|---|---|
| Autonomous | No human interaction required |
| Blind | No prior context, metadata, or analyst hints |
| Tool-using | Invokes decompilers and binary analysis tools |
| Auditable | Builds a chain of evidence, not just a verdict |
| Behavioral | Analyzes what code does, not just what it looks like |
An agent in AI is a system that:
Ire is not just running a script — it's making decisions about how to investigate, similar to how a human analyst would.
From a single tool call (one decompiler run), Ire produced:
Reverse engineering means taking a compiled binary (machine code) and working backwards to understand what it does — without having the original source code.
Source code (human-readable)
→ [compiler] →
Binary/machine code (what runs on CPU)
→ [decompiler] →
Pseudo-code (approximate human-readable reconstruction)
A decompiler attempts to reconstruct something resembling the original source code from the compiled binary.
Malware authors don't share their source code. Analysts must:
.dll or .exeIre automates this entire process using LLM (Large Language Model) reasoning over decompiled output.
LLMs (like the one powering Ire) can be misled by suggestive names in code — just like a human analyst might be.
The malware contained a function referencing:
nfapi::nf_unRegisterDriver
NetFilter
What these names suggest: Kernel-level network driver operations — very serious, sophisticated capability.
What the function actually does: Writes a registry Run key — basic persistence, nothing to do with network drivers.
A poorly calibrated agent might:
See: nf_unRegisterDriver
Conclude: "This malware intercepts network packets at kernel level"
Result: Defenders build detection rules for kernel driver activity
→ Chasing a phantom that doesn't exist
Ire:
This demonstrates the difference between string matching (naive) and behavioral analysis (robust).
This also applies to the string "BelievemeIamMustang-Panda" found in the binary:
Attribution means identifying who created or deployed a piece of malware — typically a nation-state, criminal group, or specific threat actor.
Strong evidence:
✓ Infrastructure overlap (same servers, IPs)
✓ Code reuse across confirmed samples
✓ Operational patterns over time
✓ Human intelligence
Weak evidence:
✗ A string in the binary saying who wrote it
✗ Similar techniques (many groups copy each other)
Acronis's attribution: Based on infrastructure overlap and TTP analysis → moderate confidence → Mustang Panda
This sample's "evidence": Contains the literal string BelievemeIamMustang-Panda
| Possibility | Explanation |
|---|---|
| Developer artifact | A programmer left a debug string |
| Trophy | Attacker bragging internally |
| False flag | Deliberately planted to mislead attribution |
| Adversarial input | Designed to bias AI analysis tools |
The article explicitly does not make an attribution call — it notes the string exists and leaves the question open.
Timeline of this sample:
May 28: Discovered on VirusTotal
→ 1 of 72 vendors detect it
June 4: One week later
→ 7 of 70 vendors detect it
→ CrowdStrike, SentinelOne, Sophos, Trellix,
Palo Alto, ESET still miss it
During that gap — and potentially for much longer — this malware could operate undetected on systems protected by major security products.
Signature approach:
"Does this file match known bad files?" → NO → passes through
Behavioral approach:
"Does this file behave like malware?" → YES → flagged
Ire never knew it was looking at LOTUSLITE. It:
The family mapping (connecting it to LOTUSLITE) was done afterward by humans comparing Ire's report to Acronis's report.
This means Ire can catch unknown variants of known families and potentially entirely novel malware — because it reasons about behavior, not identity.
PROBLEM: New malware variant
↓
Different IOCs (hash, paths, keys) → evades signatures
Same TTPs (install, C2, persistence) → behavioral match
SOLUTION: Project Ire
↓
Decompiles binary (reverse engineering)
Analyzes function behaviors (not strings)
Builds evidence chain (auditable)
Avoids misleading strings (calibration)
Declines false attribution (rigor)
Produces verdict: MALICIOUS
RESULT: Caught what 65+ security vendors missed
Described behavior precisely enough to map to LOTUSLITE
Without ever being told what to look for
The article demonstrates that agentic, behavioral analysis represents a meaningful advance over signature-based detection — particularly for the hardest case: variants that share methods but not markers.