SmartLoader клонує MCP Oura Ring для проведення атаки на ланцюг поставок
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
SmartLoader використовував фальшиві облікові записи GitHub і клонований сервер Oura Ring MCP для зараження реєстрів MCP. Троянський сервер потім доставляв інфостілер StealC, призначений для крадіжки облікових даних розробників, даних кріптогаманця та інформації про здоров’я. Ця діяльність демонструє, як інтеграції здоров’я з підтримкою ІІ можуть стати точкою входу в ланцюг постачань.
Розслідування
Дослідники відобразили щонайменше п’ять вигаданих профілів GitHub, які створили відгалуження від реального репозиторію Oura MCP та опублікували їх. Підроблена версія була завантажена під новим обліковим записом і подана до реєстрів MCP. Динамічний аналіз виявив навантаження на основі LuaJIT, яке було розміщено в папці AppData користувача і забезпечувало персистентність через заплановані завдання, маскуючись під аудіодрайвери Realtek.
Послаблення
Аудитуйте інвентаризацію серверів MCP, проводьте перевірки походження перед встановленням і сповіщайте про заплановані завдання, що запускаються з AppData. Застосуйте контроль вихідного трафіку та заблокуйте трафік до відомих криптовалютних і C2 точок. Перевіряйте історію учасників GitHub та походження репозиторіїв під час затвердження.
Відповідь
При виявленні ізолюйте робочу станцію, завершите шкідливі завдання, видаліть несанкціоновані виконувані файли з AppData і змініть відкриті облікові дані та API ключі. Форенсично перевірте скомпрометований сервер MCP і посильте перевірку залежностей для запобігання повторного зараження.
“graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef process fill:#ff9999 classDef file fill:#cccccc classDef technique fill:#c0c0c0 %% Node definitions action_supply_chain[“<b>Дія</b> – <b>T1195.001 Компрометація ланцюга постачань</b><br /><b>Опис</b>: Противник компрометує програмний ланцюг постачань для розповсюдження шкідливого коду.”] class action_supply_chain action malware_trojanized_server[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: Троянський сервер Oura MCP<br /><b>Ціль</b>: Доставлено через скомпрометований пакет.”] class malware_trojanized_server malware action_developer_install[“<b>Дія</b> – <b>Встановлення пакету</b><br /><b>Опис</b>: Розробник встановлює скомпрометований пакет MCP.”] class action_developer_install action file_resource_txt[“<b>Файл</b> – <b>Назва</b>: resource.txt<br /><b>Техніки</b>: T1027 Обфусковані файли, T1059 Інтерпретатор команд і скриптів”] class file_resource_txt file malware_luajit_script[“<b>Шкідливе ПЗ</b> – <b>LuaJIT Скрипт</b><br /><b>Техніки</b>: T1027, T1059”] class malware_luajit_script malware process_odmw[“<b>Процес</b> – <b>Назва</b>: ODMw.exe (інтерпретатор LuaJIT)”] class process_odmw process process_odmy[“<b>Процес</b> – <b>Назва</b>: ODMy.exe (інтерпретатор LuaJIT)”] class process_odmy process tech_T1053[“<b>Техніка</b> – T1053 Заплановане завдання/робота<br /><b>Опис</b>: Створення запланованих завдань для персистентності.”] class tech_T1053 technique process_task_odmw[“<b>Процес</b> – <b>Заплановане завдання</b>: RealtekAudioManager_ODMw”] class process_task_odmw process process_task_odmy[“<b>Процес</b> – <b>Заплановане завдання</b>: AudioManager_ODMy”] class process_task_odmy process malware_socket3[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: socket3.lua (C2 навантаження)”] class malware_socket3 malware tech_T1102[“<b>Техніка</b> – T1102 Веб-служба<br /><b>Опис</b>: Використовує веб-службу на основі HTTP для командування та управління.”] class tech_T1102 technique tech_T1041[“<b>Техніка</b> – T1041 Витік через C2 канал<br /><b>Опис</b>: Відправляє вкрадені дані через C2 канал.”] class tech_T1041 technique malware_stealc[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: StealC Інфостілер”] class malware_stealc malware tech_T1555_003[“<b>Техніка</b> – T1555.003 Облікові дані у файлах: Паролі/Кукіси браузера<br /><b>Опис</b>: Краде збережені облікові дані браузера.”] class tech_T1555_003 technique tech_T1552_001[“<b>Техніка</b> – T1552.001 Облікові дані у файлах: Сховища паролів<br /><b>Опис</b>: Краде токени Discord, кріптовалютні гаманці, SSH ключі та облікові дані API.”] class tech_T1552_001 technique %% Connections showing attack flow action_supply_chain u002du002d>|доставляє| malware_trojanized_server malware_trojanized_server u002du002d>|встановлює| action_developer_install action_developer_install u002du002d>|створює| file_resource_txt file_resource_txt u002du002d>|містить| malware_luajit_script malware_luajit_script u002du002d>|вивантажує| process_odmw malware_luajit_script u002du002d>|вивантажує| process_odmy process_odmw u002du002d>|використовує| tech_T1053 process_odmy u002du002d>|використовує| tech_T1053 tech_T1053 u002du002d>|створює| process_task_odmw tech_T1053 u002du002d>|створює| process_task_odmy process_task_odmw u002du002d>|виконує| process_odmw process_task_odmy u002du002d>|виконує| process_odmy process_odmw u002du002d>|запускає| malware_socket3 process_odmy u002du002d>|запускає| malware_socket3 malware_socket3 u002du002d>|спілкується через| tech_T1102 malware_socket3 u002du002d>|відправляє дані через| tech_T1041 malware_socket3 u002du002d>|розгортає| malware_stealc malware_stealc u002du002d>|краде| tech_T1555_003 malware_stealc u002du002d>|краде| tech_T1552_001 “
Потік атаки
Виявлення
Підозріле заплановане завдання (через аудит)
Перегляд
IOCs (DestinationIP) для виявлення: SmartLoader клонує Oura Ring MCP для здійснення атаки через ланцюг постачань
Перегляд
IOCs (SourceIP) для виявлення: SmartLoader клонує Oura Ring MCP для здійснення атаки через ланцюг постачань
Перегляд
Підозріле виконання інтерпретатора LuaJIT в AppData [Створення процесу Windows]
Перегляд
Виявлення фальшивої GitHub екосистеми SmartLoader [Веб-сервер]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базової лінії повинна бути пройдена.
Обгрунтування: У цьому розділі детально описується точне виконання техніки супротивника (TTP), призначеної для виклику правила виявлення. Команди і наратив безпосередньо відображають виявлені TTP і спрямовані на генерацію тієї телеметрії, яку очікує логіка виявлення.
-
Наратив атаки та команди:
Атакуючий хостинг підробленого репозиторію GitHub (наприклад,https://github.com/SiddhiBagul/MCP-oura) робить копію легітимного навантаження SmartLoader, перевидає її і робить публічно доступною. Скомпрометований внутрішній хост пізніше виконує скрипт, що завантажує шкідливий репозиторій черезcurl. Ця дія створює запит HTTP GET, зареєстрований проксі, який відповідає одній з URL-адрес в правилі. -
Сценарій регресійного тесту:
#!/usr/bin/env bash # Симуляція завантаження фальшивого GitHub – провокує спрацювання правила Sigma MALICIOUS_URLS=( "https://github.com/SiddhiBagul/MCP-oura" "https://github.com/YuzeHao2023/MCP-oura" "https://github.com/punkpeye/MCP-oura" "https://github.com/dvlan26/MCP-oura" "https://github.com/halamji/MCP-oura" "https://github.com/yzhao112/MCP-oura" ) for url in "${MALICIOUS_URLS[@]}"; do echo "[+] Отримання шкідливого репозиторію: $url" # Прапор -L слідує редиректам; -s заглушає прогрес; -o відкидає результат. curl -s -L -o /dev/null "$url" done echo "[+] Симуляція завершена." -
Команди очищення:
# Жоден файл не було збережено, але очистіть історію командної оболонки від URL-адрес history -d $(history | grep -n "github.com" | cut -d: -f1) echo "[+] Очищення завершено – URL-адреси видалено з історії."