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

15 Dec 2025 17:42

PyStoreRAT: Шкідливе ПЗ з використанням штучного інтелекту, спрямоване на фахівців з IT та OSINT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
PyStoreRAT: Шкідливе ПЗ з використанням штучного інтелекту, спрямоване на фахівців з IT та OSINT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Morphisec виявила скоординовану операцію з поширення шкідливого ПЗ, яка використовує неактивні облікові записи GitHub для розміщення репозиторіїв, згенерованих штучним інтелектом, які в кінцевому підсумку доставляють JavaScript/HTA бекдор з назвою PyStoreRAT. Завантажувач визначає профіль хоста, розгортає кілька корисних навантажень, включаючи викрадач Rhadamanthys, і динамічно коригує свою поведінку при виявленні специфічних антивірусних рішень. Він може поширюватися через знімні носії і покладається на ротаційну інфраструктуру C2 для оновлення своїх модулів. Кампанія націлена на IT-адміністраторів, аналітиків безпеки та професіоналів OSINT по всьому світу.

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

Дослідники вивчили зловмисні проекти GitHub, ізолювали компоненти бекдору та задокументували повний ланцюжок виконання, включаючи профілювання системи, багатоступеневу доставку корисного навантаження, уникнення виявлення антивірусами, поширення через знімні накопичувачі та завантаження модулів за запитом. Звіт додатково описує кругову архітектуру вузлів C2, яка підвищує стійкість, а також використання рядків російською мовою для перевірки місцезнаходження цілі. Аналіз пов’язує завантажувач з викрадачем Rhadamanthys та підкреслює його здатність змінювати шляхи запуску.

Пом’якшення

Morphisec рекомендує використовувати Автоматизований Захист Рухомої Цілі для дестабілізації середовища виконання завантажувача, блокування ненадійних маршрутів виконання і зупинки розгортання корисного навантаження. Оскільки традиційні засоби управління на базі підписів є неефективними, захисникам слід покладатися на захист, що заснований на поведінковому аналізі та віртуалізації. Рекомендується обмежити виконання скриптів із ненадійних джерел і уважно стежити за активністю на знімних накопичувачах.

Відповідь

При виявленні активності PyStoreRAT негайно ізолюйте уражену кінцеву точку, зупиніть процес бекдору та видаліть будь-які стійкі модулі. Проведіть судово-медичний аналіз для збору IOCs, включаючи домени C2, контрольні суми файлів та заплановані завдання. Виправте вразливі програми, застосуйте суворі політики виконання з найменшим набором прав та постійно стежте за підозрілою активністю в репозиторіях GitHub.

“graph TB %% Class Definitions classDef technique fill:#99ccff %% Node definitions technique_supply_chain[“<b>Техніка</b> – <b>T1195.002 Компрометація Ланцюга Поставок</b><br /><b>Опис</b>: Компрометація загальнодоступного репозиторію GitHub для впровадження шкідливого коду в проекти, які клонує жертва.<br /><b>Підтехніка</b>: Шкідливі репозиторії GitHub”] class technique_supply_chain technique technique_user_exec[“<b>Техніка</b> – <b>T1204 Виконання Користувачем</b><br /><b>Опис</b>: Жертва запускає проект, згенерований штучним інтелектом, який містить шкідливе навантаження”] class technique_user_exec technique technique_obfuscation[“<b>Техніка</b> – <b>T1027 Обфускація Файлів або Інформації</b><br /><b>Підтехніка</b>: T1027.009 Вбудовані Навантаження<br /><b>Опис</b>: Навантаження приховане всередині легітимних файлів, щоб уникнути виявлення”] class technique_obfuscation technique technique_system_info[“<b>Техніка</b> – <b>T1082 Виявлення Інформації Про Систему</b><br /><b>Опис</b>: Збір інформації про версію операційної системи, деталі обладнання та іншу інформацію про хоста”] class technique_system_info technique technique_software_disc[“<b>Техніка</b> – <b>T1518 Виявлення ПЗ</b><br /><b>Опис</b>: Перелік встановлених додатків та версій програмного забезпечення”] class technique_software_disc technique technique_c2_https[“<b>Техніка</b> – <b>T1071.001 Веб-протоколи</b><br /><b>Опис</b>: Установлення командо-контрольних комунікацій через HTTPS”] class technique_c2_https technique technique_removable_media[“<b>Техніка</b> – <b>T1092 Комунікація Через Знімні Носії</b><br /><b>Опис</b>: Поширення шкідливого навантаження на додаткові системи через USB-накопичувачі”] class technique_removable_media technique %% Connections technique_supply_chain u002du002d>|веде до| technique_user_exec technique_user_exec u002du002d>|веде до| technique_obfuscation technique_obfuscation u002du002d>|веде до| technique_system_info technique_system_info u002du002d>|веде до| technique_software_disc technique_software_disc u002du002d>|веде до| technique_c2_https technique_c2_https u002du002d>|веде до| technique_removable_media “

Потік Атаки

Виявлення

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

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

  • Сценарій Атаки та Команди:

    1. Повторно активувати неактивний обліковий запис – супротивник використовує інтерфейс користувача або API GitHub для зміни статусу облікового запису з “неактивного” на “активний”.
    2. Опублікувати згенерований штучним інтелектом зловмисний репозиторій – відразу після повторної активації створюється новий репозиторій з назвою ai‑osint‑toolkit із README, в якому рекламуються “проекти, згенеровані штучним інтелектом”.
    3. Додати коміт “обслуговування” який вбудовує бекдор PyStoreRAT; повідомлення коміту навмисно включає слово “обслуговування”, щоб задовольнити правило виявлення.
    4. Записати зловмисний код – запис генерує подію аудиту "запису", але правило, яке ми тестуємо, відслідковує лише вхід у журнал “повторна активація облікового запису”, тому основним тригером є запис у журналі з описом. вхід у журнал повторної активації облікового запису вхід до журналу повторної активації облікового запису з позначеним описом.
  • Сценарій регресійного тесту: (Bash з використанням GitHub CLI gh – передбачається, що атакуючий актор має особистий токен доступу з admin:org обсягом)

     # simulate_attack.sh
      # Передумови: gh CLI встановлено та аутентифіковано як нападник
    
      # 1. Повторно активувати неактивний обліковий запис (змодельовано шляхом оновлення поля користувача)
      gh api -X PATCH /admin/users/attacker_user 
          -f state=active 
          -f note="reactivation: AI-generated projects; maintenance commits scheduled"
    
      # 2. Створити зловмисний репозиторій
      gh repo create attacker_user/ai-osint-toolkit --public --description "AI‑generated OSINT tools"
    
      # 3. Додати зловмисний файл (PyStoreRAT) і виконати коміт
      cd ai-osint-toolkit
      echo "# PyStoreRAT backdoor" > pystorerat.py
      git add pystorerat.py
      git commit -m "Initial commit - maintenance commits: embed backdoor"
      git push origin main
    
      # 4. За бажанням: створити другий коміт обслуговування, щоб імітувати активність у реальному світі
      echo "# Оновити README" >> README.md
      git add README.md
      git commit -m "maintenance commit: update documentation"
      git push origin main
  • Команди очищення:

     # cleanup_attack.sh
      # Видалити зловмисний репозиторій
      gh repo delete attacker_user/ai-osint-toolkit -y
    
      # За бажання, встановіть обліковий запис нападника знову як неактивний (якщо API дозволяє)
      gh api -X PATCH /admin/users/attacker_user -f state=dormant