Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
azazel — Observateur silencieux alimenté par eBPF pour les environnements d'exécution conteneurisés, conçu pour les sandboxes d'analyse de logiciels malveillants et la surveillance d'Agentic AI. | Kitploit
Outils/GitHubGitHub/beelzebub-labs/azazel
Sécurité des ConteneursAnalyse Dynamique (Sandboxing)Analyse ForensiqueAnalyse de MalwareRenseignement sur les MenacesRéponse aux Incidents
GitHubbeelzebub-labs/azazel

azazel

Observateur silencieux alimenté par eBPF pour les environnements d'exécution conteneurisés, conçu pour les sandboxes d'analyse de logiciels malveillants et la surveillance d'Agentic AI.

Voir le dépôt
1021011il y a 29 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Propulsé par eBPF Go 1.24+ Linux 5.8+ Licence GPL-2.0

Image

Azazel


Un traceur de sécurité léger basé sur eBPF, spécialement conçu pour les sandboxes d'analyse de malwares. Déposez un échantillon dans un conteneur isolé, et Azazel capture chaque appel système, accès fichier, connexion réseau et comportement suspect, puis vous livre un flux JSON clair de tout ce qui s'est passé.

Que vous construisiez une Sandbox d'Analyse de Malwares automatisée ou ayez besoin d'une Surveillance Runtime 24/7 pour des Agents IA autonomes, Azazel fournit une télémétrie JSON chirurgicale, invisible et prête pour l'IA.


Référence CLI

Usage :
  azazel [flags]
  azazel [commande]

Commandes :
  run-sandbox       Exécuter un échantillon de malware dans une sandbox Docker isolée et le tracer
  list-containers   Lister les conteneurs en cours d'exécution
  version           Afficher la version

Flags globaux :
  -c, --container strings   ID de conteneur(s) à filtrer (peut en spécifier plusieurs)
  -o, --output string       Chemin du fichier de sortie (par défaut : stdout)
      --pretty              Affichage JSON formaté
      --stdout              Afficher aussi sur stdout quand --output est défini
  -v, --verbose             Journalisation verbeuse
      --no-summary          Désactiver le résumé à la sortie
  -h, --help                Aide

Architecture

Image

Ce qu'il capture

CatégorieÉvénementsDétails
Processusprocess_exec, process_exit, process_cloneArbre complet des processus : nom de fichier, argv, codes de sortie, flags de clone, PID parent
Fichierfile_open, file_write, file_read, file_unlink, file_renameChemins, flags, compteurs d'octets
Réseaunet_connect, net_bind, net_listen, net_accept, net_sendto, net_dnsAdresses IPv4/IPv6, ports, détection DNS via kprobe sur udp_sendmsg
Sécuritémmap_exec, ptrace, module_loadMappages mémoire W+X, tentatives d'injection de processus, chargement de modules noyau

19 points d'accroche au total — tracepoints sur l'entrée des appels système + une kprobe pour la détection DNS.


Pourquoi Azazel ?

  • Conçu pour la sandbox — construit pour tracer des conteneurs isolés, avec un filtrage basé sur les cgroups pour capturer uniquement le malware que vous analysez
  • Zéro dépendance à l'exécution — binaire Go statique unique, pas d'agents ni de démons
  • CO-RE — Compile Once, Run Everywhere via BTF et vmlinux.h, fonctionne sur différentes versions du noyau sans recompilation
  • Natif JSON — sortie NDJSON (un événement par ligne) prête pour jq, Elasticsearch, Splunk, ou votre propre pipeline
  • Heuristiques intégrées — alertes automatiques pour les exécutions depuis /tmp, accès aux fichiers sensibles (/etc/shadow, /proc/self/mem), ptrace, mmap W+X, et chargement de modules noyau

Démarrage rapide

Prérequis

  • Noyau Linux 5.8+ avec CONFIG_DEBUG_INFO_BTF=y
  • Docker (pour le conteneur de développement et la sandbox)
  • C'est tout

Vérifiez votre noyau :

# Support BTF (obligatoire)
ls /sys/kernel/btf/vmlinux

# Version du noyau
uname -r

Construction avec Docker (recommandé)

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

# Construire le conteneur de développement
make docker-dev

# Y entrer (privilégié, avec les espaces de noms PID/cgroup de l'hôte)
make docker-dev-run

# À l'intérieur du conteneur :
make vmlinux    # Générer les définitions de types du noyau
make generate   # Compiler BPF C → liaisons Go
make build      # Construire le binaire

Exécution

# Tracer tout, sortie vers stdout
sudo ./bin/azazel

# Tracer tout, enregistrer dans un fichier avec JSON formaté
sudo ./bin/azazel --output events.json --pretty

# Tracer uniquement un conteneur spécifique
sudo ./bin/azazel --container <id_conteneur> --output events.json

# Lister les conteneurs en cours d'exécution
sudo ./bin/azazel list-containers

Exécuter la suite de tests

# À l'intérieur du conteneur de développement
make test

Cela construit le binaire, démarre le traceur, exécute un simulateur de comportement de malware, puis valide que tous les types d'événements attendus ont été capturés.


Format de sortie

Chaque événement est une ligne JSON unique (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
}

Lorsque le traceur s'arrête (Ctrl+C ou SIGTERM), il affiche un résumé sur stderr :

========================================
 Résumé Azazel
========================================
 Événements totaux : 1847

 Comptes d'événements :
   file_open             892
   file_write            312
   process_exec           47
   net_connect            23
   ...

 Alertes de sécurité (3) :
   [MOYEN] exécution depuis un chemin suspect : /tmp/suspicious_binary (pid=12345 comm=bash)
   [MOYEN] accès à un fichier sensible : /etc/shadow (pid=12346 comm=cat)
   [CRITIQUE] mémoire mappée en ÉCRITURE+EXÉCUTION (injection/dépaquetage de code possible) (pid=12347 comm=malware)
========================================

Configuration de la sandbox avec Docker Compose

Le fichier docker-compose.yml inclus met en place un environnement d'analyse complet :

Image

# Démarrer la sandbox
docker compose up -d

# Copier un échantillon dans la sandbox
docker cp ./samples/malware.elf sandbox:/tmp/sample

# L'exécuter
docker exec sandbox /tmp/sample

# Les événements sont écrits dans ./output/events.json
cat output/events.json | jq .

Analyse automatisée

# Analyser un échantillon de bout en bout : hash → trace → rapport
sudo ./analyze.sh ./samples/malware.elf 30

Cela produit :

  • output/events_<timestamp>.json — flux brut d'événements
  • output/report_<timestamp>.md — rapport Markdown avec hachages, résumé des événements, connexions réseau et alertes de sécurité

Référence CLI

Usage :
  azazel [flags]
  azazel [commande]

Commandes :
  list-containers   Lister les conteneurs en cours d'exécution
  version           Afficher la version
Télécharger l’outil