Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Sentinel-GPT — Automatisierte Bedrohungsjagd-Pipeline, die Azure-Protokolle aufnimmt, KI-Sprachmodell-Logik zur Erkennung verdächtiger Aktivitäten nutzt, Risiken bewertet und Playbooks zur Behebung mit CLI-Befehlen generiert. | Kitploit
Tools/GitHubGitHub/ayush-parab/sentinel-gpt
Cloud-SicherheitBedrohungsanalyseLernen & BildungIncident ResponseKI-SicherheitLog-Analyse
GitHubayush-parab/sentinel-gpt

Sentinel-GPT

Automatisierte Bedrohungsjagd-Pipeline, die Azure-Protokolle aufnimmt, KI-Sprachmodell-Logik zur Erkennung verdächtiger Aktivitäten nutzt, Risiken bewertet und Playbooks zur Behebung mit CLI-Befehlen generiert.

Repository anzeigen
vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Sentinel-GPT: Agentische KI für die Bedrohungssuche 🛡️

Eine automatisierte Cybersicherheits-Pipeline, die rohe Azure-Protokolle mithilfe von LLM-basiertem Denken in umsetzbare Erkenntnisse umwandelt.

Python Azure OpenAI Security License

📖 Übersicht

Sentinel-GPT ist ein KI-Agent, der auf die Bedrohungssuche in der Cybersicherheit spezialisiert ist. Er ist integriert mit dem Azure Log Analytics Workspace, der die Quelle der generierten Protokolle ist, und der OpenAI ChatGPT API, die das Gehirn dieses Agenten darstellt. Wir stellen dem Agenten Protokolle zur Verfügung, der darauf trainiert ist, verdächtige Aktivitäten zu identifizieren, nach Bedrohungen zu suchen und den Benutzer darüber zu alarmieren, während er gleichzeitig die Abhilfemaßnahmen bereitstellt.

⚠️ Das Problem & Die Lösung

  • Das Problem: In der modernen Welt sind die meisten Unternehmen und Betriebe, ob groß oder klein, entweder vollständig in die Cloud migriert oder nutzen ein hybrides Cloud-Setup. Aufgrund der Größe der Netzwerke werden jede Woche Millionen von Protokollen und Warnmeldungen generiert. Die SOC-Analysten leiden unter „Alert- und Log-Fatigue“, was es schwierig macht, zwischen kleineren Fehlkonfigurationen und tatsächlichen Sicherheitsverletzungen zu unterscheiden.
  • Die Lösung: Eine agentische Pipeline, die die zahlreichen Protokolle analysiert. Sie markiert nicht nur die Fehler, sondern versteht auch den Kontext des Einbruchs, bewertet Risiko und Auswirkungen und erstellt sofort einen Abhilfeplan.

🏗️ Architektur

  1. Erfassung: Ein Python-Skript fragt Azure Log Analytics mit KQL nach den relevanten Protokollen ab.
  2. Kontextualisierung: Die Protokolle werden strukturiert und dem Agenten werden System-Prompts bereitgestellt, um ihm eine Threat-Hunter-Persona zu verleihen.
  3. Analyse (Das Gehirn): Die Daten werden zur Analyse an das ausgewählte LLM von OpenAI gesendet.
  4. Ausgabe: Erstellt einen umfassenden Security Intelligence Report.

🚀 Hauptmerkmale

  • Nahtlose Integration zwischen Azure und OpenAI ChatGPT, erweiterbar auf andere Clouds.
  • Übersetzung komplexer JSON-Protokollblobs in verständliche englische Zusammenfassungen.
  • Automatisierte Remediation-Playbooks: Spezifische Aktionen und CLI-Befehle (Azure CLI/PowerShell) zur Isolierung kompromittierter Ressourcen.

🛠️ Schnellstart & Einrichtung

Voraussetzungen

  • Ein Azure-Abonnement mit einem Log Analytics Workspace.
  • OpenAI-API-Schlüssel (GPT-4.1 für komplexes Denken empfohlen).
  • Python 3.10+

Installation

  1. Klone das Repository:
root@kitploit:~
git clone https://github.com/Ayush-Parab/cybersecurity-agentic-AI
cd cybersecurity-agentic-AI
  1. Installiere die Abhängigkeiten
root@kitploit:~
pip install -r requirements.txt
  1. Konfiguriere die Umgebung Erstelle eine .env-Datei:
root@kitploit:~
OPENAI_API_KEY="your_key"
LOG_ANALYTICS_WORKSPACE_ID="your_id"

📊 Beispielausgabe

Eingabeprotokolle:

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

Sentinel-GPT-Analyse:

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

  • Automatisierte IP-Sperrung basierend auf der Analyse in NSGs auf Azure
  • Implementierung von GuardRails
  • Vollautomatische KQL-Abfrageerstellung
  • Unterstützung für andere Clouds wie AWS, GCP und OCI
  • Integration mit Outlook/Gmail für automatische Warnmeldungen

🤝 Mitwirken & Kontakt

Dieses Projekt steht für Zusammenarbeit offen und ist noch in Arbeit! Wenn Sie Ideen für neue Sicherheitsagenten oder Log-Parser haben, können Sie gerne einen PR eröffnen.

Vernetzen Sie sich mit mir: Linkedin

Tool herunterladen