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

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

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

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

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

Категории

Все категории
Loading categories
azazel — eBPF-powered silent observer for containerized runtimes, built for malware analysis sandboxes and Agentic AI monitoring. | Kitploit
Инструменты/GitHubGitHub/beelzebub-labs/azazel
Безопасность контейнеровДинамический анализ (песочница)ФорензикаАнализ вредоносных программРазведка угрозРеагирование на Инциденты
GitHubbeelzebub-labs/azazel

azazel

eBPF-powered silent observer for containerized runtimes, built for malware analysis sandboxes and Agentic AI monitoring.

Репозиторий
10210111 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

eBPF powered Go 1.24+ Linux 5.8+ License GPL-2.0

Изображение

Azazel


Лёгкий трассировщик безопасности на основе eBPF, специально созданный для песочниц анализа вредоносного ПО. Поместите образец в изолированный контейнер, и Azazel захватывает каждый системный вызов, каждое обращение к файлу, сетевое соединение и подозрительное поведение, предоставляя чистый поток JSON всего, что произошло.

Независимо от того, строите ли вы автоматизированную Песочницу для анализа вредоносного ПО или нуждаетесь в круглосуточном мониторинге для автономных AI-агентов, Azazel предоставляет точную, незаметную и готовую для AI телеметрию в формате JSON.


Справочник CLI

Usage:
  azazel [flags]
  azazel [command]

Commands:
  run-sandbox       Run a malware sample in an isolated Docker sandbox and trace it
  list-containers   List running containers
  version           Print version

Global Flags:
  -c, --container strings   Container ID(s) to filter (can specify multiple)
  -o, --output string       Output file path (default: stdout)
      --pretty              Pretty-print JSON output
      --stdout              Also print to stdout when --output is set
  -v, --verbose             Verbose logging
      --no-summary          Disable summary on exit
  -h, --help                Help

Архитектура

Архитектура

Что он захватывает

КатегорияСобытияПодробности
Процессыprocess_exec, process_exit, process_cloneПолное дерево процессов: имя файла, argv, коды завершения, флаги клонирования, PPID
Файлыfile_open, file_write, file_read, file_unlink, file_renameПути, флаги, количество байт
Сетьnet_connect, net_bind, net_listen, net_accept, net_sendto, net_dnsIPv4/IPv6 адреса, порты, обнаружение DNS через kprobe на udp_sendmsg
Безопасностьmmap_exec, ptrace, module_loadW+X отображения памяти, попытки внедрения в процессы, загрузка модулей ядра

19 точек перехвата всего — tracepoints на входе системных вызовов + kprobe для обнаружения DNS.


Почему Azazel?

  • Ориентация на песочницы — создан для трассировки изолированных контейнеров с фильтрацией по cgroup, захватывая только анализируемое вредоносное ПО
  • Нулевые зависимости во время выполнения — единый статический Go-бинарный файл, никаких агентов или демонов
  • CO-RE — Compile Once, Run Everywhere через BTF и vmlinux.h, работает на разных версиях ядра без перекомпиляции
  • Родной JSON — вывод NDJSON (одно событие на строку), готовый для jq, Elasticsearch, Splunk или вашего собственного конвейера
  • Встроенные эвристики — автоматические оповещения о запуске из /tmp, доступе к конфиденциальным файлам (/etc/shadow, /proc/self/mem), ptrace, W+X mmap и загрузке модулей ядра

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

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

  • Ядро Linux 5.8+ с CONFIG_DEBUG_INFO_BTF=y
  • Docker (для контейнера разработки и песочницы)
  • Вот и всё

Проверьте ваше ядро:

# BTF support (required)
ls /sys/kernel/btf/vmlinux

# Kernel version
uname -r

Сборка с Docker (рекомендуется)

# Клонирование
git clone https://github.com/beelzebub-labs/azazel.git
cd azazel

# Сборка контейнера разработки
make docker-dev

# Вход в него (привилегированный, с PID/cgroup пространством имен хоста)
make docker-dev-run

# Внутри контейнера:
make vmlinux    # Генерация определений типов ядра
make generate   # Компиляция привязок BPF C → Go
make build      # Сборка бинарного файла

Запуск

# Трассировка всего, вывод в stdout
sudo ./bin/azazel

# Трассировка всего, сохранение в файл с pretty JSON
sudo ./bin/azazel --output events.json --pretty

# Трассировка только конкретного контейнера
sudo ./bin/azazel --container <container_id> --output events.json

# Список запущенных контейнеров
sudo ./bin/azazel list-containers

Запуск набора тестов

# Внутри контейнера разработки
make test

Это собирает бинарный файл, запускает трассировщик, запускает симулятор поведения вредоносного ПО, а затем проверяет, что все ожидаемые типы событий были захвачены.


Формат вывода

Каждое событие — это одна строка JSON (NDJSON):

{
  "timestamp": "2025-01-15T14:30:22.123456789Z",
  "event_type": "process_exec",
  "pid": 12345,
  "tgid": 12345,
  "ppid": 12300,
  "uid": 0,
  "gid": 0,
  "comm": "bash",
  "cgroup_id": 6789,
  "container_id": "a1b2c3d4e5f6",
  "filename": "/tmp/suspicious_binary",
  "args": "/tmp/suspicious_binary"
}
{
  "timestamp": "2025-01-15T14:30:22.234567890Z",
  "event_type": "net_connect",
  "pid": 12345,
  "tgid": 12345,
  "ppid": 12300,
  "uid": 0,
  "gid": 0,
  "comm": "curl",
  "cgroup_id": 6789,
  "container_id": "a1b2c3d4e5f6",
  "sa_family": "AF_INET",
  "dst_addr": "93.184.216.34",
  "dst_port": 443
}

Когда трассировщик завершает работу (Ctrl+C или SIGTERM), он выводит сводку в stderr:

========================================
 Azazel Summary
========================================
 Total events: 1847

 Event counts:
   file_open             892
   file_write            312
   process_exec           47
   net_connect            23
   ...

 Security Alerts (3):
   [MEDIUM] execution from suspicious path: /tmp/suspicious_binary (pid=12345 comm=bash)
   [MEDIUM] sensitive file access: /etc/shadow (pid=12346 comm=cat)
   [CRITICAL] memory mapped as WRITE+EXEC (possible code injection/unpacking) (pid=12347 comm=malware)
========================================

Настройка песочницы с Docker Compose

Включённый файл docker-compose.yml настраивает полную среду анализа:

Изображение

# Запуск песочницы
docker compose up -d

# Копирование образца в песочницу
docker cp ./samples/malware.elf sandbox:/tmp/sample

# Запуск
docker exec sandbox /tmp/sample

# События записываются в ./output/events.json
cat output/events.json | jq .

Автоматический анализ

# Анализ образца от начала до конца: хэш → трассировка → отчёт
sudo ./analyze.sh ./samples/malware.elf 30

Это создаёт:

  • output/events_<timestamp>.json — необработанный поток событий
  • output/report_<timestamp>.md — отчёт в Markdown с хэшами, сводкой событий, сетевыми соединениями и оповещениями безопасности

Справочник CLI

Usage:
  azazel [flags]
  azazel [command]

Commands:
  list-containers   List running containers
  version           Print version

Flags:
  -c, --container strings   Container ID(s) to filter (can specify multiple)
  -o, --output string       Output file path (default: stdout)
      --pretty              Pretty-print JSON output
      --stdout              Also print to stdout when --output is set
  -v, --verbose             Verbose logging
      --no-summary          Disable summary on exit
  -h, --help                Help

Структура проекта

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