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
Sentinel-GPT — Pipeline automatizzata di threat hunting che acquisisce log di Azure, utilizza il ragionamento LLM per rilevare attività sospette, valutare il rischio e generare playbook di remediation con comandi CLI. | Kitploit
Strumenti/GitHubGitHub/ayush-parab/sentinel-gpt
Sicurezza CloudThreat IntelligenceApprendimento e FormazioneRisposta agli IncidentiSicurezza dell'IAAnalisi dei Log
GitHubayush-parab/sentinel-gpt

Sentinel-GPT

Pipeline automatizzata di threat hunting che acquisisce log di Azure, utilizza il ragionamento LLM per rilevare attività sospette, valutare il rischio e generare playbook di remediation con comandi CLI.

Vedi Repository
6 mesi faNon ancora revisionato

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

Sentinel-GPT: IA Agente per la Caccia alle Minacce 🛡️

Una pipeline di cybersecurity automatizzata che trasforma i log grezzi di Azure in informazioni fruibili utilizzando il ragionamento basato su LLM.

Python Azure OpenAI Security License

📖 Panoramica

Sentinel-GPT è un Agente AI specializzato nella caccia alle minacce in cybersecurity. È integrato con Azure Log Analytics Workspace, che è la fonte dei log generati, e con l'API OpenAI ChatGPT, che è il cervello di questo agente. Forniamo i log all'agente, che è addestrato per identificare attività sospette, cacciare minacce e avvisare l'utente, fornendo anche le fasi di remediation.

⚠️ Il Problema e la Soluzione

  • Il Problema: Nel mondo moderno, la maggior parte delle aziende e delle imprese, grandi o piccole, sono migrate completamente al cloud o utilizzano una configurazione cloud ibrida. Con le dimensioni delle reti, ogni settimana vengono generati milioni di log e avvisi. Gli analisti SOC soffrono di "affaticamento da avvisi e log", rendendo difficile distinguere tra configurazioni errate minori e violazioni effettive.
  • La Soluzione: Una pipeline agente che esegue analisi sui numerosi log. Non solo segnala gli errori, ma comprende anche il contesto della violazione, valuta il rischio e l'impatto e crea un piano di remediation immediatamente.

🏗️ Architettura

  1. Inserimento: Uno script Python interroga Azure Log Analytics utilizzando KQL per i log pertinenti.
  2. Contextualizzazione: I log vengono strutturati e vengono forniti prompt di sistema all'Agente per dargli una personalità da Threat Hunter.
  3. Analisi (Il Cervello): I dati vengono inviati all'LLM scelto da OpenAI per l'analisi.
  4. Output: Genera un rapporto completo di Intelligence sulla Sicurezza.

🚀 Caratteristiche Principali

  • Integrazione senza soluzione di continuità tra Azure e OpenAI ChatGPT, estendibile ad altri cloud.
  • Traduzione di blob JSON complessi in riepiloghi esecutivi in inglese semplice.
  • Playbook di Remediation Automatici: Azioni specifiche e comandi CLI (Azure CLI/PowerShell) per isolare risorse compromesse.

🛠️ Avvio Rapido e Configurazione

Prerequisiti

  • Sottoscrizione Azure con un'area di lavoro Log Analytics.
  • Chiave API OpenAI (si consiglia GPT-4.1 per ragionamenti complessi).
  • Python 3.10+

Installazione

  1. Clona il repository:
root@kitploit:~
git clone https://github.com/Ayush-Parab/cybersecurity-agentic-AI
cd cybersecurity-agentic-AI
  1. Installa le dipendenze
root@kitploit:~
pip install -r requirements.txt
  1. Configura l'ambiente Crea un file .env:
root@kitploit:~
OPENAI_API_KEY="la_tua_chiave"
LOG_ANALYTICS_WORKSPACE_ID="il_tuo_id"

📊 Esempio di Output

Log di input:

root@kitploit:~
TimeGenerated,Status,User,IPAddress,Computer,SyslogMessage
2026-02-12 02:00:15.912351+00:00,Failure,,,Test-VM-For-Logs,Connection closed by invalid user  98.80.4.65 port 35908 [preauth]
2026-02-12 02:00:15.706067+00:00,Failure,,98.80.4.65,Test-VM-For-Logs,Invalid user  from 98.80.4.65 port 35908
2026-02-12 01:59:38.275807+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31551 ssh2
2026-02-12 01:59:24.542329+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user balloon 103.38.69.120 port 31573 [preauth]
2026-02-12 01:59:22.850922+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:17.554208+00:00,Failure,balloon,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user balloon from 103.38.69.120 port 31573 ssh2
2026-02-12 01:59:13.693935+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user balloon from 103.38.69.120 port 31573
2026-02-12 01:59:06.649583+00:00,Failure,,,Test-VM-For-Logs,Connection reset by invalid user hamster 103.38.69.120 port 31890 [preauth]
2026-02-12 01:59:03.577720+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:55.777039+00:00,Failure,hamster,103.38.69.120,Test-VM-For-Logs,Failed password for invalid user hamster from 103.38.69.120 port 31890 ssh2
2026-02-12 01:58:51.167792+00:00,Failure,,103.38.69.120,Test-VM-For-Logs,Invalid user hamster from 103.38.69.120 port 31890
2026-02-12 01:54:50.302217+00:00,Success,Ayush,103.38.69.120,Test-VM-For-Logs,Accepted password for Ayush from 103.38.69.120 port 31565 ssh2

Analisi di Sentinel-GPT:

root@kitploit:~
Yes — this looks suspicious.

What stands out
- 103.38.69.120: Multiple “Invalid user/Failed password” attempts (hamster/balloon), then successful SSH password logins for Ayush at 01:54:50 and 01:59:38 on Test-VM-For-Logs. This is consistent with brute-force/credential stuffing followed by success. Verify with Ayush if both logins are expected from that IP.
- 98.80.4.65: Single invalid-user probe — likely generic scan, still block if not needed.

Immediate actions (Azure-first)
- Contain: Block 103.38.69.120 at the NSG/Azure Firewall. Restrict TCP/22 to trusted IPs only or close it and use Azure Bastion or Defender for Cloud Just‑In‑Time VM access.
- Credentials: If any Ayush login is unrecognized, reset Ayush password/SSH keys, invalidate cached credentials, remove from sudoers if not required, and terminate active SSH sessions.
- SSH hardening: Disable password auth (PasswordAuthentication no), enforce SSH keys or AADLoginForLinux with Conditional Access MFA, and restart sshd.
- Detection/response: Run Microsoft Defender for Servers/Endpoint AV scan on the VM and review alerts. Check for new users, sudoers changes, suspicious processes, and authorized_keys modifications.

Hunt next (Log Analytics/Sentinel – KQL)
- Brute-force followed by success from same IP (10m window):
let window=10m;
let ssh = Syslog
| where ProcessName == "sshd" and Facility in ("auth","authpriv")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage);
let fails = ssh
| where SyslogMessage has_any ("Invalid user","Failed password")
| summarize FailCount=count(), FirstFail=min(TimeGenerated), LastFail=max(TimeGenerated) by Computer, SrcIP;
ssh
| where SyslogMessage has "Accepted password"
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage), User = extract(@"for (\S+)",1, SyslogMessage)
| join kind=inner (fails) on Computer, SrcIP
| where TimeGenerated between (FirstFail .. LastFail + window) and FailCount >= 3
| project TimeGenerated, Computer, User, SrcIP, FailCount
- Pivot that IP across all VMs:
Syslog
| where ProcessName == "sshd" and SyslogMessage has_any ("Invalid user","Failed password","Accepted password")
| extend SrcIP = extract(@"from (\d+\.\d+\.\d+\.\d+)",1, SyslogMessage)
| where SrcIP in ("103.38.69.120","98.80.4.65")
| project TimeGenerated, Computer, SyslogMessage, SrcIP
| order by TimeGenerated desc

Validate and scope
- Correlate with Azure Activity Logs for any NSG/VM changes around the same time.
- If Defender for Endpoint is enabled, check for post-login activity (new services, unusual outbound connections) on Test-VM-For-Logs.

Hardening (ongoing)
- Keep SSH closed to the internet; prefer Bastion or JIT.
- Enable Sentinel analytics for “multiple SSH failures followed by success” and blocklists for repeated offenders.
- Install and tune fail2ban on the VM.
- Patch OS and rotate secrets used on that VM.

🗺️ Roadmap

  • Blocco IP automatico basato sull'analisi negli NSG di Azure
  • Implementazione di Guardrail
  • Generazione completamente automatica di query KQL
  • Supporto per altri cloud come AWS, GCP e OCI
  • Integrazione con Outlook/Gmail per avvisi automatici

🤝 Contributi e Contatti

Questo progetto è aperto alla collaborazione ed è ancora in fase di sviluppo! Se hai idee per nuovi agenti di sicurezza o parser di log, sentiti libero di aprire una PR.

Connettiti con me: Linkedin

Scarica lo strumento