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

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

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

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

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

Категории

Все категории
Loading categories
jailer — Jailer — это система изоляции процессов на основе eBPF, обеспечивающая мандатный контроль доступа (MAC) для Linux. Она отслеживает процессы с помощью BPF-карт task_storage и применяет ролевые политики к доступу к файлам, сетевым операциям и выполнению процессов. | Kitploit
Инструменты/GitHubGitHub/gen0sec/jailer
Оборонительные ИнструментыБезопасность контейнеровСетевая безопасностьБезопасность облачных сред
GitHubgen0sec/jailer

jailer

Jailer — это система изоляции процессов на основе eBPF, обеспечивающая мандатный контроль доступа (MAC) для Linux. Она отслеживает процессы с помощью BPF-карт task_storage и применяет ролевые политики к доступу к файлам, сетевым операциям и выполнению процессов.

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

Популярное

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

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

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

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

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

Jailer - eBPF Mandatory Access Control

Внимание: Этот проект находится в стадии активной разработки и НЕ готов к использованию в production. API, форматы политик и поведение могут изменяться без предупреждения. Используйте только для тестирования и экспериментов.

Благодарности

Примечание: Это независимая реализация, и это не тот же проект, что решение от Meta. Хотя BpfJailer функционально схож и вдохновлён оригинальной идеей и дизайном Liam Wisehart, Justin Ngai, Carl El Khoury, Mansee Chadha из Meta, это отдельная кодовая база, разработанная независимо. Мы выражаем благодарность за видение и основополагающие концепции, вдохновившие эту работу.

Сообщество

Join us on Discord Substack

Jailer — это система изоляции процессов на основе eBPF, обеспечивающая мандатный контроль доступа (MAC) для Linux. Она отслеживает процессы с помощью BPF-карт task_storage и применяет ролевые политики к доступу к файлам, сетевым операциям и запуску процессов.

Возможности (текущая версия)

ВозможностьСтатусОписание
Отслеживание процессов✅ РаботаетОтслеживает процессы с помощью BPF-карты task_storage
Регистрация сокетов✅ РаботаетПроцессы регистрируются через Unix socket API
Ролевые политики✅ РаботаетОграниченные и разрешающие роли
Контроль доступа к файлам✅ РаботаетБлокировка/разрешение операций открытия файлов
Наследование изоляции✅ РаботаетДочерние процессы наследуют изоляцию родителя
Сетевой контроль✅ РаботаетБлокировка/разрешение socket bind/connect
Фильтрация портов/протоколов✅ РаботаетПравила разрешения/запрета TCP/UDP по портам
Контроль exec✅ РаботаетБлокировка/разрешение запуска процессов
Сопоставление путей✅ РаботаетОбход dentry с инвалидацией кэша
Подписанные бинарники🚧 ЗаглушкаПроверка подписи бинарников (не реализована)
Альтернативная регистрация✅ РаботаетАвторегистрация по исполняемому файлу, cgroup или xattr
Режим без демона✅ РаботаетBootstrap-бинарник закрепляет программы на раннем этапе загрузки
События аудита✅ РаботаетPerf-буфер для интеграции с systemd-journald

Демонстрация Nginx

Nginx demo

Комплексная демонстрация

asciicast

Требования к ядру

Минимальная версия ядра

  • Linux 5.11+ (для поддержки BPF_MAP_TYPE_TASK_STORAGE)
  • Рекомендуется: Linux 6.1+ (лучшая поддержка BTF)

Требуемая конфигурация ядра

# Check current kernel config
zcat /proc/config.gz 2>/dev/null || cat /boot/config-$(uname -r)

Обязательные параметры:

CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_LSM=y
CONFIG_DEBUG_INFO_BTF=y

Включение BPF LSM

BPF LSM должен быть включён в параметрах загрузки ядра:

# Check if BPF LSM is active
cat /sys/kernel/security/lsm
# Should include "bpf" in the list

# If not, add to kernel boot parameters:
# Edit /etc/default/grub and add to GRUB_CMDLINE_LINUX:
#   lsm=lockdown,capability,landlock,yama,apparmor,bpf

# Then update grub and reboot:
sudo update-grub
sudo reboot

Для систем Ubuntu/Debian также можно использовать:

# Create a script to enable BPF LSM
cat > /tmp/enable_bpf_lsm.sh << 'EOF'
#!/bin/bash
GRUB_FILE="/etc/default/grub"
if grep -q "lsm=" "$GRUB_FILE"; then
    sudo sed -i 's/lsm=[^""]*/lsm=lockdown,capability,landlock,yama,apparmor,bpf/' "$GRUB_FILE"
else
    sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="\1 lsm=lockdown,capability,landlock,yama,apparmor,bpf"/' "$GRUB_FILE"
fi
sudo update-grub
echo "BPF LSM enabled. Please reboot."
EOF
chmod +x /tmp/enable_bpf_lsm.sh
sudo /tmp/enable_bpf_lsm.sh

Установка

Из релиза

Готовые tarball-архивы публикуются для x86_64 и aarch64, собранные с glibc 2.31, чтобы они работали на более старых дистрибутивах, чем тот, на котором были собраны.

curl -fsSL https://github.com/gen0sec/jailer/raw/main/install.sh | sudo sh

Скрипт проверяет SHA256 перед установкой чего-либо. Каждый артефакт также подписан GPG; чтобы проверить происхождение, сначала импортируйте ключ релиза:

curl -fsSL https://github.com/gen0sec/jailer/releases/download/v0.1.1/bpfjailer-signing-key.asc | gpg --import

Чтобы установить вручную, скачайте tarball для вашей архитектуры со страницы релизов и:

tar xzf bpfjailer-*-linux-gnu.tar.gz && cd bpfjailer-*-linux-gnu
sudo install -Dm0755 bpfjailer-bootstrap /usr/sbin/bpfjailer-bootstrap
sudo install -Dm0755 bpfjailer-daemon    /usr/sbin/bpfjailer-daemon
sudo install -Dm0644 bpfjailer.bpf.o     /usr/lib/bpfjailer/bpfjailer.bpf.o
sudo install -Dm0644 policy.json         /etc/bpfjailer/policy.json
sudo install -Dm0644 bpfjailer-*.service /etc/systemd/system/
sudo systemctl daemon-reload

Затем включите один из двух режимов, описанных в разделе Режимы установки.

Сборка

Предварительные требования

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install build dependencies (Ubuntu/Debian)
sudo apt-get install -y clang llvm libelf-dev linux-headers-$(uname -r)

# Install BPF target for Rust
rustup target add bpfel-unknown-none

Собрать все компоненты

cd jailer

# Build BPF programs
cd bpfjailer-bpf && cargo build --release && cd ..

# Build daemon and client
cargo build --release

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

1. Запуск демона

# Run as root (loads config/policy.json if present)
sudo RUST_LOG=info ./target/release/bpfjailer-daemon

Ожидаемый вывод:

[INFO] BpfJailer daemon starting...
[INFO] Loading BpfJailer eBPF programs with libbpf-rs...
[INFO] ✓ pending_enrollments map available for enrollment
[INFO] ✓ network_rules map available for port/protocol filtering
[INFO] ✓ task_storage map created successfully
[INFO] ✓ Program task_alloc attached
[INFO] ✓ Program file_open attached
[INFO] ✓ Program socket_bind attached
[INFO] ✓ Program socket_connect attached
[INFO] ✓ Program bprm_check_security attached
[INFO] Initialized with default roles: restricted (1), permissive (2)
[INFO] Loaded policy from config/policy.json
[INFO] Loaded 5 roles
[INFO] Enrollment server listening on /run/bpfjailer/enrollment.sock

2. Запуск тестов безопасности

# Run vulnerability tests WITHOUT jailing (shows attacks succeed)
sudo python3 tests/vulnerable_apps/run_tests.py

# Run vulnerability tests WITH restricted role (shows attacks blocked)
sudo python3 tests/vulnerable_apps/run_tests.py --role 1

# Run specific test
sudo python3 tests/vulnerable_apps/run_tests.py --role 1 --test path

# List available tests and roles
sudo python3 tests/vulnerable_apps/run_tests.py --list

Пример вывода с ограниченной ролью:

============================================================
TEST: Path Traversal / Arbitrary File Read
============================================================
Attempting to read /etc/passwd via path traversal...
BLOCKED - Permission denied (BpfJailer blocked file access)

============================================================
TEST: Command Injection
============================================================
Attempting command injection...
BLOCKED - Permission denied (BpfJailer blocked exec)
Скачать инструмент