Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
c-sentinel — Osservabilità Semantica per Sistemi UNIX - Una sonda di sistema leggera basata su C con analisi basata su AI | Kitploit
Strumenti/GitHubGitHub/speytech/c-sentinel
Analisi delle VulnerabilitàSicurezza di ReteSicurezza CloudDevSecOpsThreat IntelligenceAutenticazioneRilevamento IntrusioniRisposta agli IncidentiSicurezza dell'IARilevamento di AnomalieAnalisi dei Log
7284 mesi 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
GitHub
speytech/c-sentinel

c-sentinel

Osservabilità Semantica per Sistemi UNIX - Una sonda di sistema leggera basata su C con analisi basata su AI

Vedi RepositorySito web

C-Sentinel

Osservabilità semantica per sistemi UNIX

Un probe di sistema leggero e portabile scritto in C che cattura "impronte digitali del sistema" per l'analisi assistita da IA dei rischi non ovvi. Include integrazione con auditd, valutazione del rischio spiegabile e un cruscotto web live con autenticazione multiutente di livello enterprise.

License: MIT Version

Live Demo: sentinel.speytech.com

Screenshot

Cruscotto di sicurezza

Cruscotto di sicurezza

Panoramica multi-host

Cruscotto Host

Profilo utente e impostazioni di sicurezza

Pagina del profilo

Autenticazione a due fattori

ConfigurazioneAccesso
Configurazione 2FAAccesso 2FA

Chiavi API personali

Chiavi API

Funzionalità per amministratori

Gestione delle sessioni

Sessioni

Registro di audit

Registro di audit

Accesso sicuro

Pagina di accesso

Novità della v0.6.0

  • 👥 Autenticazione multiutente - Controllo degli accessi basato sui ruoli (Amministratore/Operatore/Visualizzatore)
  • 🔐 Autenticazione a due fattori - Supporto TOTP con Google Authenticator, Authy, ecc.
  • 🔑 Chiavi API personali - Chiavi API per utente per automazione e CI/CD
  • 📋 Registro di audit per amministratori - Traccia tutte le azioni degli utenti con filtri
  • 💻 Gestione delle sessioni - Visualizza sessioni attive, revoca accesso, forza disconnessione
  • 📧 Avvisi via email e Slack - Notifiche proattive con formattazione ricca
  • 🎨 Notifiche toast moderne - Niente più avvisi JavaScript anni '90!
  • 👁️ Modalità demo pubblica - Accesso in sola lettura per mostrare il tuo cruscotto
  • 📱 Responsive per dispositivi mobili - Piena funzionalità su telefoni e tablet

Versioni precedenti

v0.5.x: Riepilogo della postura di sicurezza, sparkline delle tendenze di rischio, indicatore di apprendimento, fattori di rischio spiegabili, avvisi email, cronologia eventi

v0.4.0: Integrazione auditd, rilevamento brute force, hashing degli username per la privacy, attribuzione dei processi, valutazione del rischio

v0.3.0: Cruscotto web, checksum SHA256, servizio systemd, apprendimento della baseline, probe di rete, modalità di osservazione

Il problema

Gli strumenti di osservabilità moderni come Dynatrace, Datadog e Prometheus sono eccellenti nella raccolta di metriche e nell'allarmistica basata su soglie. Ma rispondono a una domanda ristretta: "Questa metrica è al di fuori del suo intervallo atteso?"

Hanno difficoltà con:

  • Ragionamento causale: Perché qualcosa è fallito?
  • Sintesi di contesto: Collegare una modifica di configurazione della settimana scorsa al picco di latenza di oggi
  • Degrado non ovvio: Cose che non sono "rotte" ma stanno andando verso il fallimento
  • Contesto di sicurezza: Capire chi ha avuto accesso a cosa e perché è importante

C-Sentinel adotta un approccio diverso: cattura un'impronta digitale completa del sistema, inclusi gli eventi di sicurezza, e utilizza il ragionamento LLM per identificare i "fantasmi nella macchina".

Avvio rapido```bash

Clone and build

git clone https://github.com/williamofai/c-sentinel.git cd c-sentinel make

Quick analysis

./bin/sentinel --quick --network

Quick analysis with security events (requires root for audit logs)

sudo ./bin/sentinel --quick --network --audit

Learn baselines (automatic with --audit flag)

./bin/sentinel --learn --network

Continuous monitoring with full context

sudo ./bin/sentinel --watch --interval 300 --network --audit

root@kitploit:~
## Funzionalità della Dashboard

La dashboard web fornisce monitoraggio della sicurezza in tempo reale su tutta la tua infrastruttura.

### Autenticazione Multi-Utente

Controllo degli accessi di livello enterprise con tre ruoli:

| Ruolo | Permessi |
|------|-------------|
| **Amministratore** | Accesso completo: gestione utenti, visualizzazione log di controllo, tutte le operazioni |
| **Operatore** | Riconoscimento eventi, azzeramento contatori, visualizzazione di tutti i dati |
| **Visualizzatore** | Accesso in sola lettura a dashboard e dati |

### Autenticazione a Due Fattori (TOTP)

Proteggi il tuo account con TOTP standard di settore:
- Funziona con Google Authenticator, Authy, Microsoft Authenticator
- Configurazione tramite codice QR per una facile impostazione
- Richiesto ad ogni login quando abilitato
- Notifiche email all'attivazione/disattivazione

### Chiavi API Personali

Ogni utente può creare le proprie chiavi API per l'automazione:
- Chiavi con nome (es. "Pipeline CI/CD", "Script di Monitoraggio")
- Date di scadenza opzionali
- Attivazione/disattivazione senza eliminazione
- Tracciamento dell'ultimo utilizzo
- Le chiavi ereditano i permessi del ruolo dell'utente```bash
# Use your personal API key
curl -X POST https://sentinel.example.com/api/ingest \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_your_personal_key" \
  -d @fingerprint.json

Registro di Audit Amministrativo

Traccia tutte le azioni degli utenti per conformità e sicurezza:

  • Eventi di login/logout con indirizzi IP
  • Azioni di gestione utenti (creazione, aggiornamento, eliminazione)
  • Cambiamenti di password
  • Revoche di sessione
  • Filtrabile per utente, tipo di azione e intervallo di tempo

Gestione delle Sessioni

Visibilità completa sulle sessioni attive:

  • Vedi chi è connesso e da dove
  • Rilevamento del dispositivo e del browser
  • Revoca sessioni individuali
  • "Disconnetti tutti gli altri" per incidenti di sicurezza
  • Pulizia automatica delle sessioni scadute

Riepilogo della Postura di Sicurezza

Spiegazione in linguaggio semplice dello stato di sicurezza del tuo sistema:

"Questo sistema non mostra problemi di sicurezza. I pattern di autenticazione sono normali senza errori rilevati. Nessuna attività di escalation dei privilegi rilevata. Postura complessiva: SANA."

Punteggio di Rischio Spiegabile

Ogni punteggio di rischio include fattori che spiegano perché:

FattorePeso
10 errori di autenticazione (200% sopra la baseline - alto)+30
Pattern di attacco brute force rilevato+10
2 file sensibili acceduti+4
Totale44

Indicatore di Apprendimento/Calibrazione

Il sistema apprende cosa è "normale" per il tuo ambiente:

CampioniStatoSignificato
< 10🧠 ApprendimentoCostruzione della baseline iniziale
10-50🧠 CalibrazionePerfezionamento dei pattern normali
> 50

Sparkline dell'Andamento del Rischio

Un mini grafico che mostra la cronologia del punteggio di rischio delle 24 ore - vedi immediatamente se le cose stanno migliorando o peggiorando.

Avvisi via Email e Slack

Notifiche automatiche via email e/o Slack quando:

  • Punteggio di rischio ≥ 16 (alto/critico)
  • Attacco brute force rilevato
  • Esecuzioni da /tmp o /dev/shm
  • Login utente da un nuovo IP
  • Cambiamenti di password o 2FA

Gli avvisi Slack includono formattazione avanzata con gravità codificata a colori, link cliccabili al dashboard e dettagli strutturati dei fattori di rischio.

Integrazione Auditd

C-Sentinel riassume i log di auditd per l'analisi semantica della sicurezza.

Esempio di Output```

C-Sentinel Quick Analysis

Hostname: axioma-validator Uptime: 14.5 days Load: 0.02 0.04 0.00 Memory: 49.2% used Processes: 120 total

Potential Issues: Zombie processes: 0 High FD processes: 1 Long-running (>7d): 95 Config permission issues: 0

Network: Listening ports: 26 Established connections: 14 Unusual ports: 12 ⚠

Security (audit): Auth failures: 6 ⚠ BRUTE FORCE PATTERN DETECTED Sudo commands: 81 Sensitive file access: 2 - /etc/passwd by touch - /etc/shadow by touch ⚠

Risk: high (score: 25)

root@kitploit:~
### Output JSON```json
{
  "audit_summary": {
    "enabled": true,
    "period_seconds": 300,
    "authentication": {
      "failures": 6,
      "failure_users_hashed": ["user_c4c5", "user_b91b"],
      "brute_force_detected": true
    },
    "privilege_escalation": {
      "sudo_count": 81,
      "sudo_baseline_avg": 12.5,
      "sudo_deviation_pct": 548.0,
      "su_count": 5
    },
    "file_integrity": {
      "sensitive_file_access": [
        {
          "path": "/etc/shadow",
          "access": "write",
          "count": 2,
          "process": "touch",
          "process_chain": ["touch", "bash", "sshd"],
          "suspicious": true
        }
      ]
    },
    "learning": {
      "sample_count": 42,
      "confidence": "medium"
    },
    "risk_factors": [
      {"reason": "6 auth failures (200% above baseline - high)", "weight": 18},
      {"reason": "Brute force attack pattern detected", "weight": 10}
    ],
    "risk_score": 25,
    "risk_level": "high"
  }
}

Imposta le Regole di Audit

Per ottenere risultati migliori, aggiungi regole di audit per i file sensibili:```bash

Add audit rules

sudo auditctl -w /etc/passwd -p wa -k identity sudo auditctl -w /etc/shadow -p wa -k identity sudo auditctl -w /etc/sudoers -p wa -k priv_esc sudo auditctl -w /var/log/lastlog -p wa -k auth

Make permanent (add to /etc/audit/rules.d/sentinel.rules)

root@kitploit:~
### Funzionalità di privacy

- **Hashing dei nomi utente**: I nomi utente di login falliti vengono sottoposti a hashing (es. `user_c4c5`) preservando il rilevamento dei pattern senza esporre le identità
- **Nessuna password**: Gli argomenti dei comandi e i dati sensibili non vengono mai acquisiti
- **Solo nomi dei processi**: I percorsi completi vengono sanitizzati per la privacy

## Dashboard Web

C-Sentinel include una dashboard web per il monitoraggio in tempo reale di più host.

### Caratteristiche

- **Autenticazione multi-utente** - Controllo degli accessi basato sui ruoli
- **Autenticazione a due fattori** - TOTP con configurazione tramite codice QR
- **Chiavi API personali** - Chiavi di automazione per utente
- **Log di audit amministratore** - Cronologia completa delle azioni
- **Gestione delle sessioni** - Controllo delle sessioni attive
- **Riepilogo dello stato di sicurezza** - Stato del sistema in linguaggio semplice
- **Grafico a linee dell'andamento del rischio** - Cronologia visiva delle 24 ore
- **Fattori di rischio spiegabili** - Sapere *perché* il punteggio è quello che è
- **Indicatore di apprendimento** - Progresso della calibrazione di base
- **Cronologia degli eventi** - Sequenza temporale con riconoscimento
- **Avvisi email** - Notifiche proattive
- **Monitoraggio in tempo reale** - Tutti gli host a colpo d'occhio
- **Grafici storici** - Memoria e carico nelle ultime 24 ore
- **Vista di rete** - Tutte le porte in ascolto e connessioni
- **Tracciamento della configurazione** - Checksum SHA256 dei file monitorati

### Configurazione rapida```bash
# Install dashboard
cd dashboard
sudo ./install-dashboard.sh

# Run database migration
sudo -u postgres psql -d sentinel -f migrate.sql

# Install 2FA dependencies (optional)
sudo /opt/sentinel-dashboard/venv/bin/pip install pyotp qrcode pillow

# Configure agent to report (with audit)
*/5 * * * * sudo /usr/local/bin/sentinel --json --network --audit | curl -s -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d @- https://your-dashboard.com/api/ingest

Configurazione degli avvisi email

Aggiungi al tuo servizio systemd o ambiente:```bash ALERT_EMAIL_ENABLED=true ALERT_SMTP_HOST=smtp.gmail.com ALERT_SMTP_PORT=587 ALERT_SMTP_USER=[email protected] ALERT_SMTP_PASS=your-app-password ALERT_FROM=[email protected] ALERT_TO=[email protected] ALERT_COOLDOWN_MINS=60

root@kitploit:~
### Configurazione Webhook Slack```bash
ALERT_SLACK_ENABLED=true
ALERT_SLACK_WEBHOOK=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
ALERT_SLACK_CHANNEL=#security-alerts    # Optional - override default webhook channel
ALERT_SLACK_USERNAME=C-Sentinel         # Optional - bot display name

Per ottenere un URL del webhook:

  1. Vai su api.slack.com/apps
  2. Crea una nuova app → "Da zero"
  3. Abilita "Incoming Webhooks"
  4. Fai clic su "Add New Webhook to Workspace"
  5. Seleziona un canale e copia l'URL del webhook

Vedi dashboard/README.md per le istruzioni complete di configurazione.

Modalità Demo Pubblica

Abilita l'accesso pubblico in sola lettura per mostrare la tua dashboard:```bash Environment="DEMO_MODE=true"

root@kitploit:~
In modalità demo:
- Nessun login richiesto - i visitatori vanno direttamente alla dashboard
- Accesso in sola lettura (ruolo visualizzatore)
- Funzionalità amministrative nascoste
- Link profilo/logout sostituiti con link a GitHub
- Banner giallo indica la modalità demo

Ottimo per post su LinkedIn, articoli di blog, o per far esplorare i potenziali clienti prima del deploy.

## Servizio Systemd

Per il deployment in produzione:```bash
# Install
sudo ./install.sh

# Enable and start
sudo systemctl enable sentinel
sudo systemctl start sentinel

# Check status
sudo journalctl -u sentinel -f

All Features

L'output colorato viene rilevato automaticamente (TTY) e rispetta lo standard NO_COLOR.

Codici di uscita (per CI/CD)

CodiceSignificato
0Nessun problema rilevato
1Avvisi (problemi minori)
2Critico (zombie, problemi di permessi, porte insolite, eventi di sicurezza ad alto rischio)
3Errore (sondaggio fallito)

Cosa Cattura

Cosa Segnala

Problemi di sistema

  • 🧟 Processi zombie: Sempre un problema
  • 📂 Conteggi FD elevati: Potenziali perdite di descrittori (>100 aperti)
  • ⏰ Processi a lunga esecuzione: >7 giorni senza riavvio
  • 🔓 Problemi di permessi: Configurazioni scrivibili da tutti

Problemi di rete

  • 🌐 Porte insolite: Servizi non nell'elenco delle porte comuni
  • 📡 Nuovi listener: Porte che non erano nella baseline
  • ❌ Servizi mancanti: Porte attese che hanno smesso di ascoltare

Problemi di sicurezza (con --audit)

  • 🔐 Forza bruta: Picchi di fallimenti di autenticazione (>5 in finestra)
  • 📊 Deviazione dalla baseline: Attività significativamente sopra la norma
  • 📝 Accesso a file sensibili: Modifiche a /etc/shadow, /etc/sudoers
  • ⚠️ Processi sospetti: Processo insolito che accede a file sensibili
  • 💀 Indicatori di malware: Esecuzioni da /tmp o /dev/shm

Architettura```

┌─────────────────────────────────────────────────────────────────┐ │ Web Dashboard │ │ • Multi-user auth (RBAC) • Two-factor authentication │ │ • Personal API keys • Session management │ │ • Admin audit log • Email & Slack alerts │ │ • Security posture summary • Risk trend sparkline │ │ • Explainable risk factors • Event history timeline │ │ • Multi-host view • Historical charts │ └─────────────────────────────────────────────────────────────────┘ ▲ │ JSON via HTTP POST │ ┌─────────────────────────────────────────────────────────────────┐ │ C Foundation (99KB) │ │ • /proc parsing • SHA256 checksums │ │ • Process analysis • Drift detection │ │ • Network probing • Baseline learning │ │ • Auditd parsing • Risk scoring │ │ • Process chains • Anomaly detection │ └─────────────────────────────────────────────────────────────────┘

root@kitploit:~
### Perché C?

| Caratteristica | Python | C |
|---------|--------|---|
| **Dipendenze** | Richiede runtime Python (~100MB) | Binario statico (~99KB) |
| **Tempo di avvio** | ~500ms avvio interprete | ~1ms |
| **Memoria** | ~30MB baseline | <2MB |
| **Portabilità** | Richiede versione Python corrispondente | Funziona su qualsiasi sistema POSIX |

## Compilazione```bash
make              # Release build
make DEBUG=1      # Debug build with symbols
make test         # Run all tests (unit + integration)
make install      # Install to /usr/local/bin

Test

C-Sentinel include una suite di test completa con 128+ test unitari che utilizza il framework di test cmocka.

Installazione di cmocka

Debian/Ubuntu:```bash sudo apt-get install libcmocka-dev

root@kitploit:~
**Fedora/RHEL/CentOS:**```bash
sudo dnf install libcmocka-devel

macOS (Homebrew):```bash brew install cmocka

root@kitploit:~
**FreeBSD:**```bash
sudo pkg install cmocka

OpenBSD:```bash doas pkg_add cmocka

root@kitploit:~
### Esecuzione dei test```bash
make test              # Run all tests (unit + integration)
make unit-test         # Run unit tests only (requires cmocka)
make integration-test  # Run integration/smoke tests only
make coverage          # Run tests with gcov coverage report
make check-cmocka      # Verify cmocka is installed correctly

Copertura dei Test

I test unitari coprono:

Scrivere Nuovi Test

I test si trovano in tests/src/ e usano le convenzioni cmocka:```c #include <stdarg.h> #include <stddef.h> #include <setjmp.h> #include <cmocka.h> #include "test_helpers.h"

static void test_example(void **state) { (void)state; assert_int_equal(1 + 1, 2); }

int main(void) { const struct CMUnitTest tests[] = { cmocka_unit_test(test_example), }; return cmocka_run_group_tests(tests, NULL, NULL); }

root@kitploit:~
Aggiungi nuovi file di test alla variabile `TEST_SOURCES` del Makefile.

## Piattaforme Supportate

| Piattaforma | Compilazione | Sonda Processi | Sonda Rete | Audit |
|----------|-------|---------------|---------------|-------|
| Linux | ✅ | ✅ /proc | ✅ /proc/net | ✅ auditd |
| macOS | ✅ | ✅ libproc | ✅ netstat | ❌ N/A |
| FreeBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| OpenBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| NetBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| DragonFlyBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |

### Requisiti

- GCC o Clang con supporto C99
- GNU Make (gmake su BSD)
- Piattaforme supportate:
  - Linux (kernel 3.x+)
  - macOS (10.12+)
  - FreeBSD (12+)
  - OpenBSD (7.x)
  - NetBSD (9.x)
  - DragonFlyBSD (6.x)
- auditd (opzionale, solo Linux per il flag `--audit`)

## Struttura del Progetto```
c-sentinel/
├── include/
│   ├── sentinel.h        # Core data structures
│   └── audit.h           # Audit integration types
├── src/
│   ├── main.c            # CLI entry point
│   ├── prober.c          # System probing (/proc)
│   ├── net_probe.c       # Network probing
│   ├── audit.c           # Auditd log parsing
│   ├── audit_json.c      # Audit JSON serialisation
│   ├── process_chain.c   # Process ancestry walking
│   ├── baseline.c        # Baseline learning
│   ├── sha256.c          # Pure C SHA256
│   └── ...
├── dashboard/            # Flask web dashboard
├── deploy/               # Systemd service files
└── docs/
    ├── AUDIT_SPEC.md     # Audit integration design
    └── DESIGN_DECISIONS.md

Roadmap

Completato ✅

  • Sonda del sistema principale
  • Serializzazione JSON
  • Sondaggio di rete
  • Modalità di monitoraggio e apprendimento della baseline
  • Checksum SHA256
  • Servizio systemd
  • Dashboard web
  • Integrazione con Auditd
  • Punteggio di rischio con analisi delle deviazioni
  • Attribuzione dei processi
  • Autenticazione della dashboard
  • Timeline della cronologia degli eventi
  • Fattori di rischio spiegabili
  • Riepilogo della postura di sicurezza
  • Sparkline dell'andamento del rischio
  • Indicatore di apprendimento/calibrazione

Pianificato 📋

  • Avvisi webhook Microsoft Teams
  • Regole di avviso personalizzate
  • Report di sicurezza PDF
  • Permessi a livello di host

Licenza

Licenza MIT - vedi LICENSE per i dettagli.

Autore

William Murray - 30 anni di ingegneria di sistemi UNIX

  • GitHub: @williamofai
  • LinkedIn: William Murray
  • Sito web: speytech.com

"L'obiettivo non è sostituire gli strumenti di monitoraggio—è aggiungere saggezza ai loro dati."

Scarica lo strumento
(nascosto)
Completamente calibrato
FunzionalitàComandoDescrizione
Analisi rapida--quickRiepilogo leggibile dall'uomo
Sondaggio di rete--networkPorte in ascolto e connessioni
Sondaggio di audit--auditEventi di sicurezza (richiede root)
Modalità sorveglianza--watch --interval 60Monitoraggio continuo
Apprendimento baseline--learnSalva lo stato corrente come "normale"
Baseline di audit--audit-learnApprendi pattern di sicurezza normali
Confronto baseline--baselineRileva deviazioni
Output JSON--jsonImpronta digitale completa per LLM/dashboard
Output colorato--colorOutput terminale colorato
Configurazione--configMostra impostazioni correnti
CategoriaDatiScopo
SistemaHostname, kernel, uptime, carico, memoriaContesto sanitario di base
ProcessiProcessi notevoli con metadatiRilevamento zombie, perdite, bloccati
ConfigurazioniMetadati dei file + checksum SHA256Rilevamento deriva crittografica
ReteListener, connessioni, porteMonitoraggio servizi
SicurezzaFallimenti di autenticazione, uso di sudo, accesso ai fileRilevamento minacce
ModuloTestCopertura
SHA25610Vettori di test NIST, casi limite
Sanitize30Validazione input, prevenzione injection
Policy36Regole allow/deny per comandi/percorsi
JSON Serialize11Formattazione output, escaping
Baseline11Modalità apprendimento, rilevamento deviazioni
Config9Parsing configurazione
Audit21Punteggio rischio, analisi eventi
  • Avvisi email
  • Supporto macOS
  • Supporto FreeBSD (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD)
  • Dashboard multiutente con ruoli
  • Autenticazione a due fattori (TOTP)
  • Chiavi API personali
  • Registro di audit amministrativo
  • Gestione delle sessioni
  • Avvisi webhook Slack
  • Modalità demo pubblica
  • Output terminale a colori