Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
azazel — Observador silencioso basado en eBPF para entornos de ejecución contenedorizados, diseñado para sandboxes de análisis de malware y monitoreo de Agentic AI. | Kitploit
Herramientas/GitHubGitHub/beelzebub-labs/azazel
Seguridad de ContenedoresAnálisis Dinámico (Sandboxing)Análisis ForenseAnálisis de MalwareInteligencia de AmenazasRespuesta a Incidentes
GitHubbeelzebub-labs/azazel

azazel

Observador silencioso basado en eBPF para entornos de ejecución contenedorizados, diseñado para sandboxes de análisis de malware y monitoreo de Agentic AI.

Ver Repositorio
1021011hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

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

Imagen

Azazel


Un trazador de seguridad ligero basado en eBPF diseñado específicamente para entornos aislados de análisis de malware. Coloca una muestra en un contenedor aislado y Azazel captura cada llamada al sistema, acceso a archivos, conexión de red y comportamiento sospechoso, y te entrega un flujo JSON limpio de todo lo que sucedió.

Ya sea que estés construyendo un Entorno Aislado de Análisis de Malware automatizado o necesites Monitoreo en Tiempo Real 24/7 para Agentes de IA autónomos, Azazel proporciona telemetría JSON quirúrgica, invisible y lista para IA.


Referencia de la CLI

Usage:
  azazel [flags]
  azazel [command]

Commands:
  run-sandbox       Ejecuta una muestra de malware en un contenedor Docker aislado y la traza
  list-containers   Lista los contenedores en ejecución
  version           Muestra la versión

Global Flags:
  -c, --container strings   ID(s) de contenedor para filtrar (se pueden especificar varios)
  -o, --output string       Ruta del archivo de salida (por defecto: stdout)
      --pretty              Muestra JSON con formato bonito
      --stdout              También imprime en stdout cuando se especifica --output
  -v, --verbose             Registro detallado
      --no-summary          Deshabilita el resumen al salir
  -h, --help                Ayuda

Arquitectura

Imagen

Qué captura

CategoríaEventosDetalles
Procesosprocess_exec, process_exit, process_cloneÁrbol completo de procesos: nombre de archivo, argv, códigos de salida, flags de clonación, PID padre
Archivosfile_open, file_write, file_read, file_unlink, file_renameRutas, flags, conteo de bytes
Rednet_connect, net_bind, net_listen, net_accept, net_sendto, net_dnsDirecciones IPv4/IPv6, puertos, detección de DNS mediante kprobe en udp_sendmsg
Seguridadmmap_exec, ptrace, module_loadMapeos de memoria W+X, intentos de inyección de procesos, carga de módulos del kernel

19 puntos de enganche en total — tracepoints en la entrada de syscalls + un kprobe para detección de DNS.


¿Por qué Azazel?

  • Prioriza los entornos aislados — construido para trazar contenedores aislados, con filtrado basado en cgroups para capturar solo el malware que estás analizando
  • Sin dependencias en tiempo de ejecución — único binario estático de Go, sin agentes ni demonios
  • CO-RE — Compila Una Vez, Ejecuta en Todas Partes mediante BTF y vmlinux.h, funciona en distintas versiones del kernel sin necesidad de recompilar
  • Nativo en JSON — salida NDJSON (un evento por línea) lista para jq, Elasticsearch, Splunk o tu propio pipeline
  • Heurísticas integradas — alertas automáticas para ejecución desde /tmp, acceso a archivos sensibles (/etc/shadow, /proc/self/mem), ptrace, mmap W+X y carga de módulos del kernel

Inicio rápido

Prerrequisitos

  • Kernel Linux 5.8+ con CONFIG_DEBUG_INFO_BTF=y
  • Docker (para el contenedor de desarrollo y el entorno aislado)
  • Eso es todo

Verifica tu kernel:

# Soporte BTF (requerido)
ls /sys/kernel/btf/vmlinux

# Versión del kernel
uname -r

Compilar con Docker (recomendado)

# Clonar
git clone https://github.com/beelzebub-labs/azazel.git
cd azazel

# Construir el contenedor de desarrollo
make docker-dev

# Entrar en él (privilegiado, con PID y espacio de nombres cgroup del host)
make docker-dev-run

# Dentro del contenedor:
make vmlinux    # Generar definiciones de tipos del kernel
make generate   # Compilar BPF C → enlaces Go
make build      # Construir el binario

Ejecutar

# Trazar todo, salida a stdout
sudo ./bin/azazel

# Trazar todo, guardar en archivo con JSON bonito
sudo ./bin/azazel --output events.json --pretty

# Trazar solo un contenedor específico
sudo ./bin/azazel --container <container_id> --output events.json

# Listar contenedores en ejecución
sudo ./bin/azazel list-containers

Ejecutar el conjunto de pruebas

# Dentro del contenedor de desarrollo
make test

Esto compila el binario, inicia el trazador, ejecuta un simulador de comportamiento de malware y luego valida que se hayan capturado todos los tipos de eventos esperados.


Formato de salida

Cada evento es una línea JSON individual (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
}

Cuando el trazador se apaga (Ctrl+C o SIGTERM), imprime un resumen en stderr:

========================================
 Resumen de Azazel
========================================
 Total de eventos: 1847

 Conteos de eventos:
   file_open             892
   file_write            312
   process_exec           47
   net_connect            23
   ...

 Alertas de seguridad (3):
   [MEDIA] ejecución desde ruta sospechosa: /tmp/suspicious_binary (pid=12345 comm=bash)
   [MEDIA] acceso a archivo sensible: /etc/shadow (pid=12346 comm=cat)
   [CRÍTICA] memoria mapeada como ESCRITURA+EJECUCIÓN (posible inyección de código/desempaquetado) (pid=12347 comm=malware)
========================================

Configuración del entorno aislado con Docker Compose

El archivo docker-compose.yml incluido configura un entorno de análisis completo:

Imagen

# Iniciar el entorno aislado
docker compose up -d

# Copiar una muestra al entorno aislado
docker cp ./samples/malware.elf sandbox:/tmp/sample

# Ejecutarla
docker exec sandbox /tmp/sample

# Los eventos se escriben en ./output/events.json
cat output/events.json | jq .

Análisis automatizado

# Analizar una muestra de principio a fin: hash → traza → informe
sudo ./analyze.sh ./samples/malware.elf 30

Esto produce:

  • output/events_<timestamp>.json — flujo de eventos sin procesar
  • output/report_<timestamp>.md — informe en Markdown con hashes, resumen de eventos, conexiones de red y alertas de seguridad

Referencia de la CLI

Usage:
  azazel [flags]
  azazel [command]

Commands:
  list-containers   Lista los contenedores en ejecución
  version           Muestra la versión
Descargar herramienta