Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
QuasarNix — Обнаружение реверс-шеллов с помощью машинного обучения | Kitploit
Инструменты/GitHubGitHub/dtrizna/quasarnix
Оборонительные ИнструментыГенерация полезной нагрузкиШелл-кодМашинное ОбучениеОбнаружение ВторженийСтатьи и ИсследованияОбучение и ОбразованиеОбнаружение АномалийСостязательная Атака
GitHubdtrizna/quasarnix

QuasarNix

Обнаружение реверс-шеллов с помощью машинного обучения

722 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

QuasarNix: Обнаружение обратных оболочек Living-off-the-Land с устойчивостью к состязательным атакам

Dmitrijs Trizna · Luca Demetrio · Battista Biggio · Fabio Roli

Paper arXiv Dataset Models


Обзор

Linux-оболочки living-off-the-land (LOTL) обратного подключения используют легитимные бинарники (bash, python, nc, …) для установления скрытых исходящих соединений, что делает сигнатурное обнаружение ненадёжным против новых вариантов и попыток обхода. QuasarNix решает две открытые проблемы в этой области:

  1. Отсутствие публичных ML-детекторов для SIEM — мы впервые выпускаем готовые к эксплуатации, открыто лицензированные ML-модели для обнаружения LOTL-оболочек обратного подключения.
  2. Уязвимость к состязательным атакам — мы оцениваем модели под атаками уклонения и отравления, а также предоставляем состязательно обученные контрольные точки, выдерживающие все протестированные атаки.

Фреймворк синтезирует обучающий корпус из 1 миллиона команд на основе 34 шаблонов обратных оболочек и оценивает 14 архитектур моделей при рабочей точке FPR = 10⁻⁶ — что отражает реальные ограничения по усталости от срабатываний в SIEM.


Ключевые результаты

Производительность на отложенном тестовом наборе среди базовых эвристик и архитектур QuasarNix. TPR указан как среднее ± стандартное отклонение по десяти независимым запускам обучения при FPR = 10⁻⁶. Жирным выделен лучший результат; звёздочка (*) отмечает модели, обсуждаемые в статье.

Базовые методы

QuasarNix — Табличные модели (One-Hot Encoding)

QuasarNix — Последовательные модели (токен-эмбеддинги)

Вывод: GBDT достигает 60% TPR при FPR = 10⁻⁶ — в 18 раз выше, чем сигнатуры (3.37%) — при обучении за 14 секунд на стандартном оборудовании.


Устойчивость к состязательным атакам

Возмущения shell-escape

В таблице ниже перечислены техники shell-escape в Linux из арсенала атакующего. Третий столбец указывает, сохраняется ли техника после нормализации телеметрии ядра auditd — только четыре жирных элемента дают отдельную запись EXECVE и образуют реальную поверхность атаки.

Только 4 из 15 техник сохраняются после нормализации на уровне ядра и используются в качестве пространства состязательных атак.

Уклонение и состязательное обучение

Оцениваются три семейства атак — инъекция легитимного содержимого, возмущения shell-escape и гибрид обоих:

  • Инъекция легитимного содержимого полностью разрушает все нейронные модели; GBDT сохраняет точность ≥93% благодаря взвешиванию по важности признаков.
  • Возмущения shell-escape снижают точность GBDT и CNN до 0% при максимальном бюджете возмущений без защит.
  • Состязательное обучение делает все три типа атак неэффективными для каждой оценённой архитектуры.

Устойчивость к отравлению

Помимо уклонения на этапе вывода, мы оцениваем атаки на этапе обучения:

Загрязнение переворотом меток (0–20% меток обучения перевёрнуто): модели деградируют плавно; GBDT проявляет внутреннюю устойчивость за счёт ансамблевого голосования, оставаясь работоспособным при высоких долях загрязнения.

Атака бэкдор (0.01–1% доли отравления, триггеры из 2–10 токенов): короткие триггеры (2–4 токена) не могут надёжно установить бэкдор из-за их распространённости в легитимном трафике. Оптимальная установка бэкдора требует триггеров из 6–10 токенов при доле отравления ≥0.03%.

Вывод: Атаки отравления требуют существенной, статистически обнаруживаемой инъекции данных для успеха. Механизм ансамбля GBDT обеспечивает внутреннюю устойчивость без затрат на состязательное обучение.


Индустриальная валидация

После публикации этой работы Google представил концептуально схожую производственную систему на CAMLIS 2025 (arXiv:2512.08802): двухэтапный конвейер YARA + ML, развёрнутый на десятках тысяч систем, обрабатывающий до 250 миллиардов событий в день. Эта система независимо подтверждает гибридную парадигму ML-детекции для SIEM и цикл активного обучения, предложенные здесь, демонстрируя их жизнеспособность в промышленном масштабе.


Набор данных и предобученные модели

РесурсСсылкаОписание
Набор данныхdtrizna/QuasarNix1 003 122 команды · обучение 533k / тест 470k · Apache-2.0
Предобученные моделиdtrizna/QuasarNixGBDT, Random Forest, MLP, 1D-CNN, …
root@kitploit:~
from datasets import load_dataset
ds = load_dataset("dtrizna/QuasarNix")

Структура репозитория

root@kitploit:~
src/
  augmentation.py       синтез данных на основе правил и генеративных моделей
  evasion.py            состязательные атаки белого / чёрного ящика
  models.py             определения моделей (CNN, LSTM, Transformer, XGBoost, …)
  preprocessors.py      токенизаторы и построители признаков
  scoring.py            метрики оценки при фиксированном FPR

experiments/
  ablation_*.py         абляционные исследования (токенизатор, размер словаря, эмбеддинги)
  adversarial_*.py      конвейеры атак и состязательного обучения
  train_release_models.py  сквозной скрипт обучения
  logs_*/               запуски TensorBoard, CSV-метрики, контрольные точки моделей

data/
  signatures/           Sigma-правила, сгенерированные эволюционным поиском
  nix_shell/            сырой корпус легитимных команд
  powershell/           кроссплатформенные образцы команд

img/                    готовые к публикации графики

Настройка окружения

root@kitploit:~
uv venv                    # создаёт .venv (добавьте --python 3.11 для конкретного интерпретатора)
source .venv/bin/activate
uv sync                    # устанавливает зависимости из pyproject.toml

Цитирование

root@kitploit:~
@article{trizna2025quasarnix,
  author    = {Trizna, Dmitrijs and Demetrio, Luca and Biggio, Battista and Roli, Fabio},
  title     = {Robust Large-Scale Detection of Living-Off-the-Land Reverse Shells via Data Synthesis},
  journal   = {ACM Transactions on Privacy and Security},
  year      = {2025},
  doi       = {10.1145/3807450},
  url       = {https://dl.acm.org/doi/10.1145/3807450}
}
Скачать инструмент
АрхитектураПараметрыTPR @ FPR=10⁻⁶F1AccuracyAUCОбучение
Сигнатуры (Sigma)1843.37%6.52%51.68%51.68%N/A
One-Class SVM (на легитимных)1K0.00%82.87%79.33%79.33%10s
One-Class SVM (на вредоносных)1K0.00%40.14%25.20%25.20%10s
1D-CNN (без аугментации, несбалансированный)1K0.00%80.29%77.91%87.44%*15m
1D-CNN (без аугментации, сбалансированный)1K0.06%82.38%79.33%88.12%*29m
SLP (без аугментации)1K0.00%0.00%50.00%91.58%1h 12m
АрхитектураПараметрыTPR @ FPR=10⁻⁶F1AccuracyAUCОбучение
Random Forest1K42.23 ± 6.27%96.07%96.21%99.84%18s
GBDT (XGBoost)1K60.20 ± 8.22%89.92%90.84%99.89%14s
MLP (без эмбеддингов)264K54.16 ± 2.14%*94.00%94.34%99.80%18m
АрхитектураПараметрыTPR @ FPR=10⁻⁶F1AccuracyAUCОбучение
MLP (с эмбеддингами)297K10.76 ± 17.32%67.70%75.60%89.15%18m
LSTM318K21.52 ± 23.66%64.16%74.05%99.75%24m
1D-CNN301K46.42 ± 32.67%*85.97%88.20%99.99%29m
1D-CNN + LSTM316K20.48 ± 22.08%58.92%71.06%98.21%29m
1D-CNN + LSTM + Attention402K17.19 ± 22.59%62.53%73.08%98.46%26m
Transformer (Mean Pooling)335K0.00 ± 0.00%83.39%86.07%98.78%1h 18m
Transformer (CLS Token)335K0.00 ± 0.00%78.55%*82.67%99.38%1h 30m
Transformer (Attn. Pooling)335K0.00 ± 0.00%87.82%89.41%98.85%1h 24m
МанипуляцияФункциональный примерСохраняется auditd
'ba's'h -iНет
"ba"s"h -iНет
\ba\s\h -iНет
$@ba$@sh -iНет
[char]ba[s]h -iНет
{form}{bash,-i}Нет
IFS-переменнаяbash${IFS}-iНет
Пустая переменнаяbas${u}h -iНет
Фиктивная командаbas$(u)h -iНет
Base64echo c2ggLWk= | base64 -d | shНет
Hexecho \x73\x68 \x20\x2d\x69 | shНет
Манипуляция флагамиbash -x -liДа
Десятичный IPping 2130706433Да
Переименование бинарникаcp bash a; a -iДа
Фиктивный кодmkfifo a; id; cat aДа