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
ebpf-container-escape-framework — Auditoria apenas eBPF EDR para Linux 5.15+ LTS: 14 hooks de kernel, 15 ações (13 técnicas MITRE), linhagem de processos, exportação para SIEM, pronto para K8s/Docker. | Kitploit
Ferramentas/GitHubGitHub/0xmfbk/ebpf-container-escape-framework
Ferramentas DefensivasSegurança de ContêineresDetecção de IntrusãoResposta a IncidentesAnálise de Logs
GitHub0xmfbk/ebpf-container-escape-framework

ebpf-container-escape-framework

Auditoria apenas eBPF EDR para Linux 5.15+ LTS: 14 hooks de kernel, 15 ações (13 técnicas MITRE), linhagem de processos, exportação para SIEM, pronto para K8s/Docker.

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 →
Ver Repositório
Site
6125há 2 diasAinda não revisado
Compartilhar

Detecção de Escape de Contêiner via eBPF e EDR de Auditoria em Runtime

CI Go Version Kernel Support Memory Footprint License

Apenas detecção e auditoria. Sensor não impositivo. Nenhum programa BPF retorna -EPERM; nenhuma syscall é bloqueada. Este agente é um plano de observação em runtime, não um plano de prevenção. Consulte docs/SECURITY.md e THREAT_MODEL.md.

eBPF EDR Demo

Um agente EDR para Linux ultraleve, apenas de auditoria, construído com eBPF (C) e um daemon Go de alta eficiência. Ele tem como alvo o kernel Linux 5.15 LTS e superiores, apresentando um caminho crítico sem alocações, um consumo de memória inferior a 30MB e enriquecimento profundo de contexto de contêiner/K8s.

✨ Por que este framework?

  • 🎯 Arquivos Canário (Zero Falsos Positivos): Plante caminhos invisíveis no kernel. Se um atacante os tocar (por exemplo, tokens de service account do K8s), isso dispara um alerta CRITICAL instantaneamente.
  • ☁️ Enriquecimento de Contexto K8s: Consulta assincronamente a API do Kubelet para mapear cgroup_id para Nome do Pod, Namespace e ServiceAccount sem inflar o formato de transmissão do kernel de 208 bytes.
  • 🐧 Compatível com 5.15 LTS: Suporte estrutural para Ubuntu 22.04 e Debian 12, testado e verificado no Kernel 6.12.
  • ⚡ Alto Desempenho: 0.40% de CPU ociosa e 0 descartes de ringbuf sob um teste de estresse de 25.000 forks.

Status: Fase 2.7 concluída. 13 técnicas MITRE ATT&CK em 16 ações. Verificado de ponta a ponta no kernel 6.12.111 (82 PASS / 0 FAIL).

Cobertura

#AçãoSeveridadeMITREHook
1Container_Namespace_UnshareHIGHT1611kprobe/__x64_sys_unshare
2Container_Pivot_Root_EscapeCRITICALT1611kprobe/__x64_sys_pivot_root
3Sensitive_File_AccessHIGHT1003.008tracepoint/sys_enter_openat + open
4Process_ExecutionINFO/MEDIUMT1059.004tracepoint/sys_enter_execve
5Network_ConnectionINFO/HIGHT1071tracepoint/sys_enter_connect
6Process_InjectionHIGHT1055.008tracepoint/sys_enter_ptrace
7Log_TamperingHIGHT1562.001tracepoint/sys_enter_unlinkat
8Ebpf_TamperingHIGHT1562.001tracepoint/sys_enter_bpf
9Perf_Event_OpenMEDIUMT1562.001tracepoint/sys_enter_perf_event_open
10Suspicious_MountHIGHT1611tracepoint/sys_enter_mount
11Namespace_SwitchHIGHT1611tracepoint/sys_enter_setns
12Chroot_EscapeHIGHT1611tracepoint/sys_enter_chroot
13Executable_MemoryMEDIUMT1620tracepoint/sys_enter_mprotect
14Core_Pattern_ModificationCRITICALT1611tracepoint/sys_enter_openat + open
15Cgroup_Release_AgentCRITICALT1611tracepoint/sys_enter_openat + open
16Canary_TriggeredCRITICALT1552.001tracepoint/sys_enter_openat + open

As ações 9 e 13 estão anexadas, mas suprimidas no lado do kernel por padrão via disabled_actions em config.toml.

Arquitetura

Os hooks do kernel (14) alimentam um filtro de comm/cgroup, uma busca hash O(1) de canary_paths, e em seguida uma busca de action_enabled. Os eventos são enviados para um ringbuf de 1 MiB carregando registros de 208 bytes. O espaço de usuário lê em um buffer fixo em pool, aplica um token bucket por ação, enriquece com linhagem de processos e caminho de cgroup, e metadados de Pod do K8s a partir de caches LRU limitados, e roteia através de um Encoder + Sink para qualquer destino.

Detalhes completos: docs/ARCHITECTURE.md.

Integração com SIEM

ebpf edr exporta alertas para qualquer SIEM através de uma camada de formato + transporte.

[output]
format = "ecs"        # json | ecs | ocsf | cef | leef
target = "webhook"    # file | stdout | syslog | webhook

[output.webhook]
url         = "https://splunk.internal:8088/services/collector/event"
auth_header = "Splunk ${SPLUNK_HEC_TOKEN}"
splunk_hec  = true

Transportes suportados: file, stdout, syslog (UDP/TCP/TLS), webhook HTTPS. Formatos suportados: JSON nativo, ECS 8.11, OCSF 1.3.0, CEF, LEEF 2.0.

Receitas para Splunk, Elastic, Sentinel, QRadar e syslog genérico: docs/SIEM_INTEGRATION.md.

Na ausência de [output], o comportamento é idêntico byte a byte ao v1.x.

Requisitos

  • Linux Kernel >= 5.15 LTS com CONFIG_DEBUG_INFO_BTF=y (/sys/kernel/btf/vmlinux)
  • Testado em Debian 13 (Kernel 6.12). Consulte docs/KERNEL_COMPATIBILITY.md para a matriz completa.
  • clang, gcc, Go >= 1.21, bpftool, cabeçalhos libbpf
  • Root com CAP_BPF CAP_PERFMON CAP_SYS_ADMIN

Compilação

make kernel        # kernel/bpf_program.o
make userspace     # userspace/ebpf_controller
make emulation     # emulation/adversary

Verificação (15 estágios principais + 2 estágios SIEM)

sudo -E make verify

Executa sondagem do ambiente, compilação, asserção de layout de struct C/Go, dry-run do verificador BPF, smoke em runtime, emulação de adversário, desempenho, matriz de configuração, recarga via SIGHUP, CPU em idle, enriquecimento de linhagem, limites de cache, novos hooks, matriz de formatos e entrega via webhook.

Instalação (systemd)

sudo ./install.sh --dry-run
sudo ./install.sh
sudo ./install.sh --uninstall

Instala /usr/local/sbin/ebpf-edr, /usr/local/lib/ebpf-edr/bpf_program.o, /etc/ebpf-edr/config.toml (existente preservado; novo padrão em .new), /etc/systemd/system/ebpf-edr.service, /etc/logrotate.d/ebpf-edr.

Configuração

TOML em /etc/ebpf-edr/config.toml. Precedência: CLI > env (EDR_*) > arquivo > padrões.

mode = "audit"

disabled_actions = [
    "Perf_Event_Open",
    "Executable_Memory",
]

[log]
path        = "/var/log/ebpf_edr.json"
max_bytes   = 52428800
max_backups = 5
level       = "info"

[filter]
comm_allowlist   = []
cgroup_allowlist = []
canary_paths     = ["/var/run/secrets/kubernetes.io/serviceaccount/token"]

[k8s]
enrichment = true

[rates]
events_per_sec = 200
burst          = 400

[container]
cache_max_entries = 5000

[context]
lineage_max_depth  = 16
lineage_cache_size = 20000
cgroup_cache_size  = 5000

Recarga: sudo systemctl reload ebpf-edr. mode = "enforce" é rejeitado; esta build é somente auditoria.

Esquema de eventos (v3, 208 bytes no wire)

Baixar ferramenta