Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
azazel — Observador silencioso baseado em eBPF para runtimes conteinerizados, construído para sandboxes de análise de malware e monitoramento de IA Agentic. | Kitploit
Ferramentas/GitHubGitHub/beelzebub-labs/azazel
Segurança de ContêineresAnálise Dinâmica (Sandboxing)Análise ForenseAnálise de MalwareInteligência de AmeaçasResposta a Incidentes
GitHubbeelzebub-labs/azazel

azazel

Observador silencioso baseado em eBPF para runtimes conteinerizados, construído para sandboxes de análise de malware e monitoramento de IA Agentic.

Ver Repositório
1021011há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

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

Image

Azazel


Um rastreador de segurança leve baseado em eBPF, projetado especificamente para sandboxes de análise de malware. Coloque uma amostra em um contêiner isolado, e o Azazel captura cada chamada de sistema, toque em arquivo, conexão de rede e comportamento suspeito, e entrega um fluxo JSON limpo de tudo o que aconteceu.

Esteja você construindo uma Sandbox de Análise de Malware automatizada ou precise de Monitoramento em Tempo Real 24/7 para Agentes de IA autônomos, o Azazel fornece telemetria JSON cirúrgica, invisível e pronta para IA.


Referência da CLI

Uso:
  azazel [flags]
  azazel [comando]

Comandos:
  run-sandbox       Executar uma amostra de malware em uma sandbox Docker isolada e rastreá-la
  list-containers   Listar contêineres em execução
  version           Exibir versão

Flags Globais:
  -c, --container strings   ID(s) do contêiner para filtrar (pode especificar vários)
  -o, --output string       Caminho do arquivo de saída (padrão: stdout)
      --pretty              Exibir saída JSON formatada
      --stdout              Também imprimir no stdout quando --output estiver definido
  -v, --verbose             Log detalhado
      --no-summary          Desabilitar resumo na saída
  -h, --help                Ajuda

Arquitetura

Image

O que ele captura

CategoriaEventosDetalhes
Processoprocess_exec, process_exit, process_cloneÁrvore completa de processos: nome do arquivo, argv, códigos de saída, flags de clone, PID pai
Arquivofile_open, file_write, file_read, file_unlink, file_renameCaminhos, flags, contagens de bytes
Redenet_connect, net_bind, net_listen, net_accept, net_sendto, net_dnsEndereços IPv4/IPv6, portas, detecção de DNS via kprobe em udp_sendmsg
Segurançammap_exec, ptrace, module_loadMapeamentos de memória W+X, tentativas de injeção de processo, carregamento de módulo do kernel

19 pontos de gancho no total — tracepoints na entrada de syscall + um kprobe para detecção de DNS.


Por que Azazel?

  • Foco em sandbox — construído para rastrear contêineres isolados, com filtragem baseada em cgroup para capturar apenas o malware que você está analisando
  • Zero dependências em tempo de execução — binário Go estático único, sem agentes ou daemons
  • CO-RE — Compile Once, Run Everywhere via BTF e vmlinux.h, funciona em diferentes versões de kernel sem recompilação
  • Nativo JSON — saída NDJSON (um evento por linha) pronta para jq, Elasticsearch, Splunk ou sua própria pipeline
  • Heurísticas integradas — alertas automáticos para execução a partir de /tmp, acesso a arquivos sensíveis (/etc/shadow, /proc/self/mem), ptrace, mmap W+X e carregamento de módulo do kernel

Início rápido

Pré-requisitos

  • Kernel Linux 5.8+ com CONFIG_DEBUG_INFO_BTF=y
  • Docker (para o contêiner de desenvolvimento e sandbox)
  • Só isso

Verifique seu kernel:

# Suporte a BTF (obrigatório)
ls /sys/kernel/btf/vmlinux

# Versão do kernel
uname -r

Construir com Docker (recomendado)

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

# Construir o contêiner de desenvolvimento
make docker-dev

# Entrar nele (privilegiado, com namespace PID/cgroup do host)
make docker-dev-run

# Dentro do contêiner:
make vmlinux    # Gerar definições de tipos do kernel
make generate   # Compilar BPF C → bindings Go
make build      # Construir o binário

Executar

# Rastrear tudo, saída para stdout
sudo ./bin/azazel

# Rastrear tudo, salvar em arquivo com formatação JSON
sudo ./bin/azazel --output events.json --pretty

# Rastrear apenas um contêiner específico
sudo ./bin/azazel --container <container_id> --output events.json

# Listar contêineres em execução
sudo ./bin/azazel list-containers

Executar a suíte de testes

# Dentro do contêiner de desenvolvimento
make test

Isso constrói o binário, inicia o rastreador, executa um simulador de comportamento de malware e valida que todos os tipos de evento esperados foram capturados.


Formato de saída

Cada evento é uma única linha 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
}

Quando o rastreador é encerrado (Ctrl+C ou SIGTERM), ele imprime um resumo no stderr:

========================================
 Resumo do Azazel
========================================
 Total de eventos: 1847

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

 Alertas de Segurança (3):
   [MÉDIO] execução de caminho suspeito: /tmp/suspicious_binary (pid=12345 comm=bash)
   [MÉDIO] acesso a arquivo sensível: /etc/shadow (pid=12346 comm=cat)
   [CRÍTICO] memória mapeada como ESCRITA+EXEC (possível injeção de código/descompactação) (pid=12347 comm=malware)
========================================

Configuração da sandbox com Docker Compose

O arquivo docker-compose.yml incluso configura um ambiente de análise completo:

Image

# Iniciar a sandbox
docker compose up -d

# Copiar uma amostra para a sandbox
docker cp ./samples/malware.elf sandbox:/tmp/sample

# Executá-la
docker exec sandbox /tmp/sample

# Os eventos são escritos em ./output/events.json
cat output/events.json | jq .

Análise automatizada

# Analisar uma amostra do início ao fim: hash → rastreamento → relatório
sudo ./analyze.sh ./samples/malware.elf 30

Isso produz:

  • output/events_<timestamp>.json — fluxo bruto de eventos
  • output/report_<timestamp>.md — relatório em Markdown com hashes, resumo de eventos, conexões de rede e alertas de segurança

Referência da CLI

Uso:
  azazel [flags]
  azazel [comando]

Comandos:
  list-containers   Listar contêineres em execução
  version           Exibir versão

Flags:
  -c, --container strings   ID(s) do contêiner para filtrar (pode especificar vários)
  -o, --output string       Caminho do arquivo de saída (padrão: stdout)
      --pretty              Exibir saída JSON formatada
      --stdout              Também imprimir no stdout quando --output estiver definido
  -v, --verbose             Log detalhado
      --no-summary          Desabilitar resumo na saída
  -h, --help                Ajuda

Estrutura do projeto

Baixar ferramenta