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

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

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

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

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

Категории

Все категории
Loading categories
beacon-hunter — Обнаруживает фи-структурированные C2-маяки, которые обходят RITA и стандартные детекторы регулярности | Kitploit
Инструменты/GitHubGitHub/mrcord77/beacon-hunter
Сетевая безопасностьТестирование на ПроникновениеКомандование и УправлениеРазведка угрозОбнаружение ВторженийСтатьи и ИсследованияОбучение и ОбразованиеОбнаружение Аномалий
GitHubmrcord77/beacon-hunter

beacon-hunter

Обнаруживает фи-структурированные C2-маяки, которые обходят RITA и стандартные детекторы регулярности

Репозиторий
92 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

Beacon Hunter

Обнаружение непериодического структурированного C2 через аддитивную рекуррентность

Beacon Hunter обнаруживает маячки (beaconing) командно-контрольных систем (C2), использующие фи-совместимое аддитивное рекуррентное планирование — растущий, непериодический паттерн временных интервалов, в котором каждый интервал между соединениями приблизительно равен сумме двух предыдущих. Это семейство обходит детекторы, основанные на регулярности (RITA, AC-Hunter), по замыслу, оставаясь структурно идентифицируемым с помощью двухвентильного теста рекуррентности.

«Маячку не обязательно быть периодическим, чтобы быть структурированным.»


Быстрый старт

Pipeline

Двухэтапный конвейер Beacon Hunter: Этап 1 фильтрует по кластеризации фи-коэффициента, Этап 2 проверяет структуру аддитивной рекуррентности.

root@kitploit:~
pip install -r requirements.txt

# Run on a Zeek conn.log
python beacon_hunter.py /path/to/conn.log

# Reproduce all paper results
python run_full_evaluation.py --quick    # ~2 min, skips full evidence suite
python run_full_evaluation.py           # ~5 min, full pipeline

# Run unit tests
pytest tests/

# End-to-end validation (verifies paper claims)
python validate.py

Как это работает

Beacon Hunter — это двухэтапный конвейер, работающий с журналами соединений Zeek.

Этап 1 — Тест отношения
Группирует соединения от одной пары источник/назначение и вычисляет последовательные отношения интервалов между соединениями (ICI). Проходит, если среднее отношение близко к фи (φ = 1.618) в пределах ±0,20, а изменчивость отношения (CV) ниже 0,50. Минимум: 5 интервалов.

Этап 2 — Тест аддитивной рекуррентности
Проверяет, выполняется ли ICI[n+2] ≈ ICI[n+1] + ICI[n] для всех последовательных троек, используя среднюю относительную ошибку относительно нулевой перестановки из 500 итераций. Проходит, если средняя ошибка < 0,20 и p < 0,05. Этот этап отклоняет степенной рост (остаток 0,40) и экспоненциальное затухание (0,56), которые случайно проходят Этап 1.

Метки классификации

Приемлемый диапазон: геометрические отношения в [1.45, 1.80], подтверждены эмпирически через пограничное сканирование.


Архитектура

root@kitploit:~
beacon_hunter_github/
├── beacon_hunter.py          # CLI detector — entry point
├── detectors.py              # Pure stateless gate functions (556 lines)
├── validate.py               # 32-check end-to-end validation
├── run_full_evaluation.py    # One-command reproduction pipeline
├── requirements.txt          # Pinned dependencies
├── evidence/
│   ├── evidence_suite.py     # All 6 evaluation batteries (Experiments A-J)
│   ├── rita_comparison.py    # RITA-style periodicity baseline + real RITA comparison
│   ├── roc_and_ci.py         # ROC curve (AUC=0.900) + Wilson CI
│   ├── generate_figures.py   # Figures 1-7 (PNG + PDF)
│   └── *.json                # Pre-computed results
├── data/
│   ├── pcaps/                # Ground-truth PCAPs (see Dataset Notes below)
│   └── zeek/                 # Zeek conn.log files
├── figures/                  # fig1-fig8 PNG + PDF (sequential)
├── paper/                    # Full paper with appendices A-G
├── reports/                  # Beacon Hunter output reports + real RITA v5.1.2 output
├── tests/
│   └── test_detectors.py     # 34 unit tests (34/34 pass)
├── tools/
│   ├── fib_beacon_client.py  # Fibonacci beacon traffic generator
│   ├── fib_beacon_server.py
│   └── uwf_to_connlog.py     # UWF-ZeekData22 parquet → Zeek conn.log converter
└── archive/                  # Deprecated scripts (legacy_detectors.py, old scanners)

Конвейер доказательств


Примечания к набору данных

Для оценки UWF-ZeekData22: скачайте с https://datasets.uwf.edu/data/ и конвертируйте с помощью tools/uwf_to_connlog.py.


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


Операционная валидация

Эти результаты получены при запуске Beacon Hunter на реальном корпоративном трафике:

Сравнение с реальным RITA v5.1.2 (reports/rita_output_v5.1.2_24h.txt):
Оба инструмента обнаруживают 30-секундный джиттерный периодический маячок. RITA оценивает его как 0.617 Низкая серьезность среди 50 других критических/высоких предупреждений. Beacon Hunter классифицирует его как JITTERED_BEACON. Чистое аддитивное рекуррентное расписание оценивается ниже 0.35 в RITA — аналитически доказано в Приложении A, эмпирически подтверждено.

UWF-ZeekData22 (1 миллион реальных корпоративных соединений):
0/12,083 проанализированных потоков помечены как ADDITIVE_RECURRENCE_BEACON на безвредной неделе. 0/1,995 на неделе атак Recon/Discovery (верно — сканирование портов не является маячком). Все 4 инжектированных маячка Фибоначчи обнаружены при джиттере 0–25%.

24-часовой фоновый трафик корпоративного Zeek:
1/243 проанализированных потока помечен — IPv6 NDP с эвристикой анализа 34%, пограничный и объяснимый протоколом.


Воспроизведение

См. EXPECTED_RESULTS.md для точных числовых результатов.

root@kitploit:~
# Quick verification of all paper claims:
python validate.py

# Full pipeline (generates all outputs from scratch):
python run_full_evaluation.py

# Expected: 32/32 validation checks pass, ROC AUC=0.900, jitter 20%=100% detection

Ограничения

  • Нет подтверждённого вредоносного ПО в реальном мире, использующего фи-совместимое планирование (модель угрозы теоретическая)
  • Уровень ложноположительных срабатываний охарактеризован на двух реальных наборах данных; оценка корпоративного масштаба в течение нескольких недель остаётся будущей работой
  • Поверхность обнаружения узка по замыслу — детектор нацелен на одно структурное семейство временных паттернов

Цитирование

Если вы используете эту работу, пожалуйста, процитируйте сопроводительную статью:

Cordero, A. (2026). Detecting Non-Periodic Structured C2 Beaconing via Additive Recurrence. RepoSignal.io LLC. https://doi.org/10.5281/zenodo.20431555

DOI


Лицензия

AGPL-3.0. См. LICENSE.

Коммерческое лицензирование доступно через RepoSignal.io LLC.

Скачать инструмент
МеткаЗначение
ADDITIVE_RECURRENCE_BEACONОба этапа пройдены — фи-совместимый график с растущими интервалами
JITTERED_BEACONПериодический с джиттером — проходит тест отношения, не проходит рекуррентность
REGULAR_BEACONМаячок с постоянным интервалом
BACKGROUNDСтруктура маячка не обнаружена
INSUFFICIENT_DATAМенее 5 интервалов
СкриптЭкспериментыВывод
evidence/evidence_suite.pyA (синтетические), B (лабораторный PCAP), C (джиттер AC), E (состязательная батарея), F (заметание джиттера), G (чувствительность к длине), H (нулевое распределение), I (граница фи), J (логистическая карта)evidence_results.json
evidence/roc_and_ci.pyG.5 (ROC, AUC=0.900), G (Wilson CI [0.992, 1.000])roc_results.json
evidence/rita_comparison.pyD (сравнение с базовой линией RITA)rita_comparison_results.json
evidence/generate_figures.pyРисунки 1-7figures/fig*.png/pdf
ФайлТипОписание
data/pcaps/fib_beacon_validation.pcapngЭталонные данныеЛабораторный PCAP с маячком Фибоначчи; используется в эксперименте B
data/pcaps/jit_var_d30_j0_1h.pcapЭталонные данныеПостоянный маячок 30 с, 0% джиттера, 1 час
data/pcaps/jit_var_d30_j10_1h.pcapЭталонные данныеМаячок 30 с, 10% джиттера, 1 час
data/pcaps/jit_var_d30_j99_1h.pcapЭталонные данныеМаячок 30 с, 99% джиттера (чистый шум), 1 час
data/zeek/delay_var_d30_j25_combined.logРеальный + инжектированный2-часовой корпоративный журнал соединений Zeek с инжектированным маячком 30 с + 25% джиттера
data/zeek/delay_var_d30_j25_24h_combined.logРеальный + инжектированный24-часовая версия вышеуказанного
reports/rita_output_v5.1.2_24h.txtРеальный вывод RITAВывод RITA v5.1.2 на 24-часовом наборе данных (100 потоков оценено)
ЭкспериментРезультат
Синтетическое обнаружение (Эксп. A)3/3 класса маячков верны, 0 ЛП
Лабораторный PCAP (Эксп. B)ADDITIVE_RECURRENCE_BEACON, rec_err=0.000, p<0.002
Заметание джиттера (Эксп. F)100% обнаружение до 20% джиттера; обрыв на 30%
Степенной закон vs экспоненциальное затухание (Эксп. E)Остатки 0.40 и 0.56 > порога 0.20; корректно отклонены
ROC AUC (Эксп. G.5)0.900; TPR=1.000 при FPR=0.071
Реальный RITA v5.1.2 на джиттерном маячке0.617 Низкая серьезность (оба инструмента обнаруживают; разная классификация)
UWF-ZeekData22 (1 млн потоков, безвредные)0/12,083 проанализированных потоков помечены как ARB — 0.00% FPR
Батарея логистических карт (Эксп. J)Чистая логистика: 0% обнаружения; фи-смещенные ≤20% шума: 100%
Пограничное сканирование фи (Эксп. I)Окно приема [1.45, 1.80] подтверждено