ShadowHS: A Fileless Linux Post‑Exploitation Framework Built on a Weaponized Hackshell
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
ShadowHS — це безфайловий постексплуатаційний фреймворк для Linux, що запускає озброєну оболонку повністю в пам’яті. Невеликий загрузник дешифрує AES-256-CBC корисне навантаження, відновлює його через анонімні дескриптори файлів і виконує, не торкаючись диска. Після запуску він пропонує інтерактивну оболонку плюс модулі для крадіжки облікових даних, латерального проникнення, криптомайнінгу та тихого виведення даних. Дизайн фокусується на прихованості, контролі оператором та стійкій стійкості в різноманітних Linux-середовищах.
Розслідування
Аналітики Cyble розібрали поетапний загрузник, відновили зашифрований скрипт, відобразили ланцюг дешифрування на основі Perl і підтвердили виконання через шляхи /proc/*/fd/. Вони задокументували широкі перевірки EDR/AV, логіку антиконкуренції і модулі за запитом для брутального форсування SSH, експлуатації ядра і майнінгу на GPU, з повторюваними результатами в тестах. У звіті також перелічені жорсткокодовані точки C2 і методи виведення даних через rsync-over-GSocket.
Пом’якшення
Контролюйте виконання ELF з /proc//fd/,дивні ланцюги дешифрування OpenSSL/Perl і артефакти підробки argv. Отримайте видимість для вилучених або підкріплених memfd бінарних файлів, інструментів пам’яті та нестандартних транспортувань rsync. Блокуйте відомі майнінгові пули та обмежте тунелі GSocket для обмеження зловживань. Оповіщайте про підозріле використання memfd_create в масштабі.
Дії у відповідь
Якщо виявлено, ізолюйте хост, зафіксуйте пам’ять для розслідування, припиніть роботу фреймворка в пам’яті та будь-яких обгорток для майнінгу, і блокуйте згадані IP-адреси/домені C2. Переписуйте облікові дані, обертайте ключі і паролі, та зміцнюйте систему. Стежте за спробами латерального руху і сканування, включаючи використання rustscan і spirit, щоб оцінити поширення і запобігти повторному інфікуванню.
Потік Атаки
Ми все ще оновлюємо цю частину. Підпишіться, щоб отримувати сповіщення
Сповістити менеВиявлення
Дамп пам’яті Linux через GDB Batch Mode (через командний рядок)
Переглянути
Можливе дешифрування OpenSSL AES-256-CBC в Linux через конвеєр (через командний рядок)
Переглянути
Можливе безфайлове виконання Linux через /proc/self/fd (через командний рядок)
Переглянути
IOC (HashSha256) для виявлення: ShadowHS: Фреймворк безфайлової постексплуатації Linux на основі озброєної оболонки Частина 1
Переглянути
IOC (HashSha256) для виявлення: ShadowHS: Фреймворк безфайлової постексплуатації Linux на основі озброєної оболонки Частина 2
Переглянути
IOC (DestinationIP) для виявлення: ShadowHS: Фреймворк безфайлової постексплуатації Linux на основі озброєної оболонки
Переглянути
IOC (SourceIP) для виявлення: ShadowHS: Фреймворк безфайлової постексплуатації Linux на основі озброєної оболонки
Переглянути
Виявлення фреймворка безфайлової постексплуатації ShadowHS [Створення процесів Linux]
Переглянути
Виявити неправильне використання AES-256-CBC -nosalt та перелік /proc/*/exe [Подія файлу Linux]
Переглянути
Симуляційна виконання
Передумова: Телеметрія і перевірка бази повинні були пройти.
Пояснення: Цей розділ детально описує точне виконання техніки супротивника (TTP), розробленої для спрацьовування правила виявлення. Команди та розповідь ПОВИННІ безпосередньо відображати ідентифіковані TTP та націлюватися на генерацію точної телеметрії, очікуваної логікою виявлення. Абстрактні чи непов’язані приклади призведуть до неправильного діагнозу.
-
Опис атаки і команди:
Зловмисник, що вже закріпився на компрометованому хості Linux, бажає (1) дешифрувати раніше ексфільтровані дані за допомогою OpenSSL без солі, щоб уникнути перевірки додаткової ентропії, і (2) перелічити всі виконувані файли через/proc/*/exe, щоб виявити привілейовані процеси, які можуть містити облікові дані, або ідентифікувати інструменти безпеки для подальшого відключення. Нападник виконує такі команди в Bash-сесії:-
Дешифрування OpenSSL (AES-256-CBC, без солі) – відтворює точний рядок, який відслідковує Sigma-правило:
openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt -
Перелічення Proc-exe – проглядає всі числові каталоги PID, друкуючи цільовий файл
exeсимвольної посилання:for pid in /proc/[0-9]*; do readlink "$pid/exe" done
Ці дії генерують два різні події створення процесів, які задовольняють умови
aesandproc_enumправила. -
-
Скрипт регресійного тесту:
#!/usr/bin/env bash set -euo pipefail # ==== 1. Дешифрування OpenSSL (AES-256-CBC, без солі) ==== # Створіть демонстраційний зашифрований файл для тесту echo "SensitiveData123" > /tmp/plain.txt openssl enc -aes-256-cbc -nosalt -salt -out /tmp/stolen.enc -pass pass:TestPass < /tmp/plain.txt # Дешифруйте, використовуючи точну модель виявлення openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt -pass pass:TestPass # ==== 2. Перелічення символічних посилань /proc/*/exe ==== for pid in /proc/[0-9]*; do readlink "$pid/exe" done echo "Симуляція завершена. Перевірте SIEM для сповіщень." -
Команди очищення:
#!/usr/bin/env bash set -euo pipefail rm -f /tmp/plain.txt /tmp/stolen.enc /tmp/secret.txt echo "Очистка закінчена."