Static malware analysis is typically the first line of investigation when dealing with a suspicious executable. Before a sample ever touches a sandbox, analysts can extract meaningful intelligence by examining its structure, metadata, embedded strings, imported APIs, and behavioral indicators — all without running a single line of code.
Press enter or click to view image in full size
In this investigation, I conducted a comprehensive static analysis of multiple suspicious Windows Portable Executable (PE) samples using a dedicated malware analysis lab built on REMnux and FLARE-VM. The goal was to identify Indicators of Compromise (IOCs), uncover malicious capabilities, and map observed behaviors to the MITRE ATT&CK framework, entirely through static means.
The complete project, screenshots, and supporting documentation are available on GitHub.
Suspicious PE Sample
↓
Hash Analysis
↓
Metadata Analysis
↓
Strings & FLOSS
↓
PEStudio
↓
PEview / DIE
↓
CAPA
↓
IOC Extraction
↓
MITRE ATT&CK Mapping
Static analysis gives defenders a way to examine malware safely, without putting production systems at risk.
Where dynamic analysis watches malware in action, static analysis focuses on the executable itself — before execution ever occurs. This approach allows analysts to:
For SOC analysts and incident responders, these artifacts often form the foundation of threat hunting queries, SIEM detections, and incident investigations.
All analysis was conducted inside isolated virtual machines to maintain a fully controlled environment.
REMnux served as the Linux-based triage environment, providing command-line tools including file, sha256sum, strings, grep, ExifTool, and FLOSS.
FLARE-VM provided the Windows-based analysis platform, with access to specialized malware analysis utilities including PEStudio, Detect It Easy (DIE), PEview, CAPA, and VirusTotal.
Together, these environments enabled both low-level executable inspection and higher-level behavioral analysis.
Rather than relying on any single tool, the analysis followed a layered methodology.
The first task was confirming the file type. Despite the samples carrying modified extensions, Linux file identification utilities immediately confirmed them as legitimate Windows PE files. SHA-256 hashes were then generated for threat intelligence lookups.
Screenshot:
Press enter or click to view image in full size
Hashes were submitted to VirusTotal, where multiple antivirus engines flagged the samples as malicious. Community intelligence also pointed to similarities with AsyncRAT. While reputation alone is never sufficient for definitive classification, external intelligence significantly strengthened confidence in subsequent findings.
Screenshots:
Press enter or click to view image in full size
Press enter or click to view image in full size
ExifTool revealed references to RuntimeBroker.exe within the executable metadata. RuntimeBroker is a legitimate Windows process frequently abused by malware to blend malicious activity into normal operating system behavior. While metadata cannot confirm process injection occurred, it provides valuable investigative leads worth pursuing.
Join Medium for free to get updates from this writer.
Screenshot:
Press enter or click to view image in full size
String extraction produced a considerably richer picture. Among the recovered artifacts were registry autorun keys, Windows API references, embedded domains, command interpreter references, and Base64-encoded content. Notably, the presence of the CurrentVersion\Run registry path — a well-known persistence mechanism that triggers execution at user logon, stood out as a significant finding.
Press enter or click to view image in full size
Several observations during the investigation pointed clearly to malicious intent.
Registry Persistence
Registry autorun locations strongly suggested the malware was capable of establishing persistence across reboots — a technique commonly used by Remote Access Trojans (RATs) to maintain long-term access.
Process Injection
Windows APIs including VirtualAlloc, WriteProcessMemory, and CreateRemoteThread were identified within the executable. While static analysis cannot confirm these were called at runtime, their presence is strongly associated with process injection techniques used to execute malicious code inside legitimate Windows processes.
Command and Control Indicators
Embedded domains and network-related strings suggested the malware was designed to communicate with external infrastructure. These artifacts are valuable candidates for DNS monitoring, firewall blocklisting, SIEM alerting, and threat intelligence enrichment.
Obfuscation Techniques
FLOSS recovered numerous decoded strings that were completely absent during standard string extraction — highlighting the malware’s use of obfuscation to hinder conventional analysis. Recovering these hidden artifacts significantly improved visibility into the sample’s intended functionality.
Analysis using PEview and Detect It Easy examined the DOS header, NT headers, Import Address Table, section headers, entropy, and compilation timestamps. Entropy values remained within a moderate range, suggesting the sample was not heavily packed.
Press enter or click to view image in full size
This highlights an important point: not all malware relies on packing. Some families remain relatively transparent in structure while depending instead on process injection, persistence mechanisms, and string obfuscation to evade detection.
CAPA provided one of the most valuable stages of the investigation. Rather than simply enumerating imported APIs, CAPA identifies behaviors that the executable is capable of performing. Detected capabilities included process injection, memory allocation, registry persistence, network communication, encryption, and defense evasion.
Press enter or click to view image in full size
CAPA also mapped these capabilities directly to the MITRE ATT&CK framework, translating technical observations into recognized adversary techniques that security teams can act on immediately.
The investigation revealed multiple indicators consistent with modern Windows Remote Access Trojans, including registry persistence mechanisms, process injection APIs, embedded network indicators, encoded configuration data, suspicious API imports, memory manipulation capabilities, and MITRE ATT&CK, MAEC, and MBC mappings. Taken together, these observations point strongly to behavior associated with malware families similar to AsyncRAT.
Press enter or click to view image in full size
This investigation reinforced several core principles of malware analysis. Meaningful intelligence can be extracted without ever executing a sample. No single tool tells the complete story — combining FLOSS, PEStudio, CAPA, PEview, DIE, VirusTotal, and traditional Linux utilities produced a far richer picture than any one tool could provide alone. And mapping technical findings to frameworks like MITRE ATT&CK transforms raw observations into actionable intelligence that SOC teams can immediately apply to threat hunting and detection engineering.
Malware analysis only delivers value when it improves detection capabilities. The IOCs identified during this investigation can be fed directly into SIEM detection rules, EDR hunting queries, threat intelligence platforms, IOC repositories, detection engineering workflows, and incident response playbooks. Understanding how malware behaves before an intrusion escalates is what separates proactive defense from reactive firefighting.
Static malware analysis remains one of the most valuable skills a SOC analyst, DFIR practitioner, or threat hunter can develop. While dynamic analysis provides runtime evidence, static analysis offers a safe and efficient path to understanding suspicious binaries, generating actionable intelligence, and developing effective detections — all before malware is ever executed.
This project demonstrates a practical, reproducible workflow for analyzing Windows PE malware using freely available, industry-standard tools and established threat intelligence frameworks. If you are building your own Blue Team portfolio, I encourage you to work through analyses like this yourself. The hands-on experience translates directly into stronger detection, investigation, and incident response capability.
The complete project, screenshots, MITRE mappings, and supporting documentation are available on GitHub. If you found this investigation useful, I would love to hear your thoughts or discuss alternative approaches to static malware analysis.
Contact: Portfolio