Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
bombini — Agente di monitoraggio della sicurezza e sandboxing eBPF basato su Aya | Kitploit
Strumenti/GitHubGitHub/bombinisecurity/bombini
Strumenti DifensiviSicurezza dei ContenitoriRilevamento Intrusioni
GitHubbombinisecurity/bombini

bombini

Agente di monitoraggio della sicurezza e sandboxing eBPF basato su Aya

Vedi Repository
7811968 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Bombini: agente di monitoraggio della sicurezza e sandboxing basato su eBPF

Bombini logo

License CI Book

Bombini è un agente di sicurezza basato su eBPF scritto interamente in Rust utilizzando la libreria Aya e costruito sugli hook BPF LSM (Linux Security Module). Al suo interno, Bombini impiega componenti modulari chiamati Detector, ognuno responsabile del monitoraggio e della segnalazione di specifici tipi di eventi di sistema. I Detector con la modalità sandbox abilitata bloccano anche le azioni vietate direttamente nel kernel.

Perché Bombini

  • Filtri nel kernel. Le regole vengono compilate in mappe eBPF e valutate dai programmi eBPF, quindi solo gli eventi corrispondenti raggiungono lo spazio utente.
  • Blocca nel kernel, non a posteriori. Le regole della sandbox sono applicate dagli hook LSM BPF: un exec, un'apertura di file o una connessione vietati falliscono con EPERM invece di essere segnalati dopo che si sono già verificati.
  • Un unico linguaggio di regole per il rilevamento e l'applicazione. Gli stessi predicati scope/event segnalano un evento oppure, con sandbox abilitato, lo negano.
  • Vede ciò che il tracciamento delle syscall non rileva. IOUringMon ispeziona le sottomissioni io_uring, e KernelMon segnala l'attività dei programmi e delle mappe BPF.
  • Facile da distribuire. Un singolo binario statico musl più gli oggetti BPF, disponibile come immagine container, DaemonSet Kubernetes con arricchimento dei metadati dei pod, oppure tarball con unità systemd.

Avvio rapido

Bombini richiede Linux 6.2+ con BPF LSM abilitato. Consulta prima le note sulla compatibilità. L'immagine container è compilata per x86_64.

Avvia Bombini con la configurazione quickstart dalla radice del repository:

docker run --pid=host --rm -it --privileged \
  -v $PWD/examples/quickstart:/usr/local/lib/bombini/config:ro \
  -v /sys/fs/bpf:/sys/fs/bpf \
  ghcr.io/bombinisecurity/bombini:v1.1.0

La configurazione è composta da tre file dei detector.

procmon.yaml segnala il setuid verso root e vieta l'esecuzione di qualsiasi cosa da /tmp:

# Detect privilege escalation to root
setuid:
  enabled: true
  rules:
    - rule: SetUidToRoot
      event: euid == 0

# Block binaries executed from /tmp right in the kernel
bprm_check:
  enabled: true
  sandbox:
    enabled: true
    deny_list: true
  rules:
    - rule: DenyExecFromTmp
      event: path_prefix == "/tmp"

filemon.yaml segnala le letture di /etc/shadow:

# Detect reads of password hashes
file_open:
  enabled: true
  rules:
    - rule: ShadowRead
      event: path == "/etc/shadow"

netmon.yaml segnala le connessioni al servizio di metadata del cloud:

# Detect access to the cloud metadata service: a common way to steal credentials
egress:
  enabled: true
  rules:
    - rule: CloudMetadataAccess
      event: ipv4_dst == "169.254.169.254" AND port_dst == 80

Genera eventi in un altro terminale:

$ ./examples/quickstart/trigger.sh
[1] sudo reads /etc/shadow: Setuid and FileOpen events
[2] exec a binary from /tmp: blocked by the sandbox
./examples/quickstart/trigger.sh: 10: /tmp/bombini-quickstart: Operation not permitted
    blocked: exit code 126
[3] connect to the cloud metadata service: Egress event

Bombini stampa gli eventi su stdout come righe JSON. Questo è l'exec bloccato:

{
  "type": "ProcessEvent",
  "process": {
    "start_time": "2026-10-03T14:36:10.256Z",
    "cloned": true,
    "pid": 39988,
    "tid": 39988,
    "ppid": 39984,
    "uid": 503,
    "euid": 503,
    "gid": 1000,
    "egid": 1000,
    "auid": 0,
    "cap_inheritable": "",
    "cap_permitted": "",
    "cap_effective": "",
    "secureexec": "",
    "filename": "dash",
    "binary_path": "/usr/bin/dash",
    "args": "./examples/quickstart/trigger.sh",
    "exec_id": "Mzk5ODg6MjEyNzU3NDAzMjI2MzI2",
    "parent_exec_id": "Mzk5ODQ6MjEyNzU3MzgzNTY5NTc3"
  },
  "parent": { "...": "same fields for the parent process" },
  "blocked": true,
  "process_event": {
    "type": "BprmCheck",
    "binary": "/tmp/bombini-quickstart"
  },
  "timestamp": "2026-10-03T14:36:10.256Z",
  "rule": "DenyExecFromTmp"
}

Altre policy già pronte, come le shell escape di GTFOBins e l'escalation di privilegi, sono in examples.

Detector

DetectorCosa monitoraSandbox
ProcMonExec e uscite dei processi, setuid/setgid, capabilities, prctl, user namespace, ptrace✓
FileMonApertura file, mmap, truncate, unlink, symlink, chmod, chown, mount, ioctl✓
NetMonConnessioni TCP in ingresso e in uscita, creazione e connessione di socket✓
KernelMonCreazione di mappe BPF, caricamento di programmi BPF e accesso a mappe e programmi BPF
IOUringMonVoci della coda di sottomissione io_uring
SysEnumMon (sperimentale)Enumerazione del sistema: diversi file o binari monitorati toccati entro una finestra temporale

La sintassi delle regole è descritta in Rules, e il formato degli eventi in Events.

Installazione

  • Container
  • Kubernetes
  • Tarball con systemd
  • Compilazione dai sorgenti

La documentazione completa è nel book.

Contribuire

Scarica lo strumento