
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.
Verhaltensbasierter Echtzeit-Detektor für C2-Verbindungen (Command & Control)
Zero-signature · Bulletproof Collection · Deep Scan · Kill Engine
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.
╔══════════════════════════════════════════════════════════════════════════════════╗
║ 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) ║
╚══════════════════════════════════════════════════════════════════════════════════╝
psutil optional für zusätzliche Abdeckung# 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
pkg install python
pip install psutil
python3 BerrySentinel.py --no-tui # curses puede no estar disponible en Termux
curl -O https://raw.githubusercontent.com/dereeqw/BerrySentinel/main/BerrySentinel.py
python3 BerrySentinel.py
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
# 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
| Taste | Aktion |
|---|---|
↑ / ↓ | Zwischen Verbindungen navigieren |
d / D | Detailbereich der ausgewählten Verbindung anzeigen |
k / K | Prozess beenden (fragt nach PID-Bestätigung) |
f / F | Schweregradfilter durchlaufen: ALLE → MITTEL → HOCH → KRITISCH |
r | Sofortige Aktualisierung erzwingen |
ESC | Detailbereich schließen oder Vorgang abbrechen |
q | Beenden |
Jede Verbindung erhält einen Score von 0 bis 100 basierend auf den erkannten Indikatoren:
| Indikator | Punkte | Tag |
|---|---|---|
| stdin/stdout → Socket | +55 | FD→SOCK |
| Shell-Binärdatei mit entfernter Verbindung | +40 | SHELL→NET |
| Webshell (Shell als Kind von Apache/Nginx) | +35 | WEBSHELL |
| Bind-Shell auf hohem Port | +35 | BIND-SHELL |
| Verwendung von netcat/socat | +35 | NETCAT |
Umleitung /dev/tcp oder mkfifo | +40 | PIPE-REDIR |
| Ausführbare Datei von Festplatte gelöscht | +25 | EXE-DEL! |
Ausführbare Datei in /tmp oder /dev/shm | +15 | EXE-TMP |
| Beacon erkannt (zyklische Verbindung) | +25×conf | BCN(60s) |
| Signatur Meterpreter | +55 | SIG:Meterpreter |
| Signatur Cobalt Strike | +60 | SIG:CobaltStrike |
| Signatur Sliver | +58 | SIG:Sliver |
| RWX-Speicherregionen | +20 | RWX(N) |
| LD_PRELOAD oder HISTFILE=/dev/null | +10 | ENV:LD_PRELOAD |
| Skriptinterpreter verbunden | +25 | INTERP→NET |
| eval/exec in der Befehlszeile | +18 | EVAL |
| Remote PowerShell (IEX, DownloadString) | +30 | PS-REM |
Schweregrad nach Score:
| Score | Schweregrad | Farbe |
|---|---|---|
| ≥ 65 | KRITISCH | 🔴 Helles Rot |
| ≥ 45 | HOCH | 🟠 Orange |
| ≥ 25 | MITTEL | 🟡 Gelb |
| ≥ 8 | NIEDRIG | 🔵 Cyan |
| < 8 | INFO | ⚪ Grau |
Berry Sentinel enthält Signaturen für die folgenden Frameworks (Bewertung nach Ports, Prozessname, Befehlszeile und Beacon-Mustern):