
Outil de persistance Linux personnalisable pour la recherche en sécurité et l'ingénierie de détection.

PANIX est un framework de persistance Linux puissant, modulaire et hautement personnalisable, conçu pour les chercheurs en sécurité, les ingénieurs en détection, les testeurs d'intrusion, les amateurs de CTF, et plus encore. Pensé pour la polyvalence, PANIX met l'accent sur la fonctionnalité, ce qui en fait un outil essentiel pour comprendre et mettre en œuvre un large éventail de techniques de persistance.

PANIX propose une suite polyvalente de fonctionnalités pour simuler et étudier les mécanismes de persistance Linux.
| Fonctionnalité | Description | Root | User |
|---|---|---|---|
| Persistance At Job | Met en œuvre la persistance en ajoutant des entrées aux tâches système. | ✅ | ✅ |
| Clés autorisées | Ajoute une clé publique au fichier authorized_keys pour un accès SSH. | ✅ | ✅ |
| Utilisateur backdoor | Crée un utilisateur backdoor avec UID=0 (privilèges root). | ✅ | ❌ |
| Utilisateur système backdoor | Installe une backdoor sur un utilisateur système (accès SSH à news/nobody). | ✅ | ❌ |
| Fichier /etc/passwd backdooré | Ajoute directement une entrée utilisateur malveillante dans /etc/passwd. | ✅ | ❌ |
| Fichier /etc/init.d backdooré | Établit une persistance via SysVinit (/etc/init.d). | ✅ | ❌ |
| Fichier /etc/rc.local backdooré | Établit une persistance via le contrôle d'exécution (/etc/rc.local). | ✅ | ❌ |
| Bind Shell | Exécute un bind shell pré-compilé/LOLBin pour un accès à distance. | ✅ | ✅ |
| Backdoor par capabilities | Ajoute des capabilities spécifiques à des binaires pour maintenir la persistance. | ✅ | ❌ |
| Persistance par cron job | Configure des cron jobs pour assurer la persistance après les redémarrages. | ✅ | ✅ |
| Créer un utilisateur | Crée un nouveau compte utilisateur sur le système. | ✅ | ❌ |
| Backdoor D-Bus | Crée un service D-Bus pour un accès root par reverse shell. | ✅ | ❌ |
| Rootkit Diamorphine | Installe le rootkit Diamorphine, module noyau chargeable. | ✅ | ❌ |
| Persistance Initramfs | Injecte un utilisateur backdoor UID=0 dans initramfs au redémarrage. | ✅ | ❌ |
| Persistance Git | Utilise les hooks ou pagers Git pour persister dans les dépôts Git. | ✅ | ✅ |
| Persistance Generator | Exploite les generators systemd pour créer des services persistants. | ✅ | ❌ |
| Backdoor GRUB | Manipule GRUB pour exécuter une backdoor au démarrage. | ✅ | ❌ |
| Conteneur malveillant | Déploie un conteneur Docker conçu pour faciliter l'évasion de conteneur. | ✅ | ✅ |
| Paquet malveillant | Installe un paquet DPKG/RPM pour parvenir à une persistance. | ✅ | ❌ |
| NetworkManager | Installe un script dispatcher pour persister lors des actions réseau. | ✅ | ❌ |
| Backdoor LD_PRELOAD | Utilise LD_PRELOAD pour injecter des bibliothèques malveillantes à des fins de persistance. | ✅ | ❌ |
| Backdoor LKM | Charge un module noyau (Loadable Kernel Module) pour maintenir la persistance. | ✅ | ❌ |
| Backdoor MOTD | Modifie le Message du jour (MOTD) pour établir une persistance. | ✅ | ❌ |
| Gestionnaire de paquets | Manipule APT/YUM/DNF pour établir une persistance lors de leur utilisation. | ✅ | ❌ |
| Persistance PAM | Installe une backdoor PAM à l'aide d'un module malveillant ou de pam_exec. | ✅ | ❌ |
| Changement de mot de passe | Modifie les mots de passe des utilisateurs pour sécuriser les comptes backdoor. | ✅ | ❌ |
| Backdoor Polkit | Crée une configuration Polkit backdoor trop permissive. | ✅ | ❌ |
| Reverse Shell | Établit un reverse shell (prenant en charge plusieurs LOLBins). | ✅ | ✅ |
| Persistance par profil shell | Modifie les profils shell pour exécuter des scripts à la connexion de l'utilisateur. | ✅ | ✅ |
| Persistance par clés SSH | Manipule les clés SSH pour maintenir un accès persistant via SSH. | ✅ | ✅ |
| Backdoor Sudoers | Modifie le fichier /etc/sudoers pour accorder des privilèges élevés. | ✅ | ❌ |
| Backdoor SUID | Installe une backdoor sur des binaires en définissant le bit SUID. | ✅ | ❌ |
| Backdoor de binaire système | Enveloppe les binaires système pour y inclure des fonctionnalités de backdoor. | ✅ | ❌ |
| Service systemd | Crée des services systemd qui assurent la persistance au redémarrage. | ✅ | ✅ |
| Persistance Udev | Utilise des pilotes pour persister au niveau de l'interaction matérielle. | ✅ | ❌ |
| Persistance Web Shell | Déploie des serveurs web pour un accès à distance via des interfaces web. | ✅ | ✅ |
| Autostart XDG | Utilise les répertoires d'autostart XDG pour persister à la connexion de l'utilisateur. | ✅ | ✅ |

PANIX offre un support complet sur différentes distributions Linux.
| Distribution | Support | Version testée |
|---|---|---|
| Debian | ✅ | Debian 11 & 12 |
| Ubuntu | ✅ | Ubuntu 22.04 (Diamorphine indisponible) |
| RHEL | ✅ | RHEL 9 (techniques MOTD et Pre-OS Boot indisponibles) |
| CentOS | ✅ | CentOS Stream 9 & 7 (techniques MOTD et Pre-OS Boot indisponibles) |
| Fedora | ✅ | Pas entièrement testé |
| Arch Linux | ✅ | Pas entièrement testé |
| OpenSUSE | ✅ | Pas entièrement testé |