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

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

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

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

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

Категории

Все категории
Loading categories
bombini — Агент мониторинга безопасности и песочницы на основе eBPF на базе Aya | Kitploit
Инструменты/GitHubGitHub/bombinisecurity/bombini
Оборонительные ИнструментыБезопасность контейнеровОбнаружение Вторжений
GitHubbombinisecurity/bombini

bombini

Агент мониторинга безопасности и песочницы на основе eBPF на базе Aya

Репозиторий
7811968 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

Bombini: агент безопасности и песочницы на основе eBPF

Bombini logo

License CI Book

Bombini — это агент безопасности на основе eBPF, полностью написанный на Rust с использованием библиотеки Aya и построенный на BPF-хуках LSM (Linux Security Module). В своей основе Bombini использует модульные компоненты, называемые детекторами, каждый из которых отвечает за мониторинг и отчётность по определённым типам системных событий. Детекторы с включённым режимом песочницы также блокируют запрещённые действия прямо в ядре.

Почему Bombini

  • Фильтрация в ядре. Правила компилируются в eBPF-карты и вычисляются eBPF-программами, поэтому в пространство пользователя попадают только совпадающие события.
  • Блокировка в ядре, а не постфактум. Правила песочницы применяются через BPF-хуки LSM: запрещённый exec, открытие файла или соединение завершается с EPERM, а не просто регистрируется после того, как оно уже произошло.
  • Единый язык правил для обнаружения и принудительного применения. Одни и те же предикаты scope/event либо сообщают о событии, либо, при включённом sandbox, отклоняют его.
  • Видит то, что упускает трассировка системных вызовов. IOUringMon проверяет отправки io_uring, а KernelMon сообщает об активности BPF-программ и карт.
  • Простота развёртывания. Один статический бинарник musl плюс BPF-объекты, доступные в виде образа контейнера, DaemonSet для Kubernetes с обогащением метаданными подов или архива с unit-файлом systemd.

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

Bombini требует Linux 6.2+ с включённым BPF LSM. Сначала ознакомьтесь с заметками о совместимости. Образ контейнера собран для x86_64.

Запустите Bombini с конфигурацией быстрого старта из корня репозитория:

docker run --pid=host --rm -it --privileged \
  -v $PWD/examples/quickstart:/usr/local/lib/bombini/config:ro \
  -v /sys/fs/bpf:/sys/fs/bpf \
  ghcr.io/bombinisecurity/bombini:v1.1.0

Конфигурация состоит из трёх файлов детекторов.

procmon.yaml сообщает о setuid в root и запрещает выполнение чего-либо из /tmp:

# Detect privilege escalation to root
setuid:
  enabled: true
  rules:
    - rule: SetUidToRoot
      event: euid == 0

# Block binaries executed from /tmp right in the kernel
bprm_check:
  enabled: true
  sandbox:
    enabled: true
    deny_list: true
  rules:
    - rule: DenyExecFromTmp
      event: path_prefix == "/tmp"

filemon.yaml сообщает о чтении /etc/shadow:

# Detect reads of password hashes
file_open:
  enabled: true
  rules:
    - rule: ShadowRead
      event: path == "/etc/shadow"

netmon.yaml сообщает о подключениях к сервису метаданных облака:

# Detect access to the cloud metadata service: a common way to steal credentials
egress:
  enabled: true
  rules:
    - rule: CloudMetadataAccess
      event: ipv4_dst == "169.254.169.254" AND port_dst == 80

Сгенерируйте события в другом терминале:

$ ./examples/quickstart/trigger.sh
[1] sudo reads /etc/shadow: Setuid and FileOpen events
[2] exec a binary from /tmp: blocked by the sandbox
./examples/quickstart/trigger.sh: 10: /tmp/bombini-quickstart: Operation not permitted
    blocked: exit code 126
[3] connect to the cloud metadata service: Egress event

Bombini выводит события в stdout в виде строк JSON. Вот заблокированный exec:

{
  "type": "ProcessEvent",
  "process": {
    "start_time": "2026-10-03T14:36:10.256Z",
    "cloned": true,
    "pid": 39988,
    "tid": 39988,
    "ppid": 39984,
    "uid": 503,
    "euid": 503,
    "gid": 1000,
    "egid": 1000,
    "auid": 0,
    "cap_inheritable": "",
    "cap_permitted": "",
    "cap_effective": "",
    "secureexec": "",
    "filename": "dash",
    "binary_path": "/usr/bin/dash",
    "args": "./examples/quickstart/trigger.sh",
    "exec_id": "Mzk5ODg6MjEyNzU3NDAzMjI2MzI2",
    "parent_exec_id": "Mzk5ODQ6MjEyNzU3MzgzNTY5NTc3"
  },
  "parent": { "...": "same fields for the parent process" },
  "blocked": true,
  "process_event": {
    "type": "BprmCheck",
    "binary": "/tmp/bombini-quickstart"
  },
  "timestamp": "2026-10-03T14:36:10.256Z",
  "rule": "DenyExecFromTmp"
}

Другие готовые политики, такие как выходы из оболочки через GTFOBins и повышение привилегий, находятся в examples.

Детекторы

ДетекторЗа чем следитПесочница
ProcMonЗапуск и завершение процессов, setuid/setgid, capabilities, prctl, пользовательские пространства имён, ptrace✓
FileMonОткрытие файлов, mmap, truncate, unlink, symlink, chmod, chown, mount, ioctl✓
NetMonВходящие и исходящие TCP-соединения, создание сокетов и подключение✓
KernelMonСоздание BPF-карт, загрузка BPF-программ и доступ к BPF-картам и программам
IOUringMonЗаписи очереди отправки io_uring
SysEnumMon (экспериментальный)Перечисление системы: несколько отслеживаемых файлов или бинарников затронуты в течение временного окна

Синтаксис правил описан в разделе Правила, а формат событий — в разделе События.

Установка

  • Контейнер
  • Kubernetes
  • Архив с systemd
  • Сборка из исходного кода

Полная документация находится в книге.

Участие в разработке

Пожалуйста, ознакомьтесь с CONTRIBUTING.md, чтобы узнать правила участия в разработке.

Скачать инструмент