
Strumento di persistenza Linux personalizzabile per la ricerca sulla sicurezza e l'ingegneria del rilevamento.

PANIX è un framework di persistenza Linux potente, modulare e altamente personalizzabile, progettato per ricercatori di sicurezza, ingegneri di detection, penetration tester, appassionati di CTF e altri. Pensato con la versatilità in mente, PANIX enfatizza la funzionalità, rendendolo uno strumento essenziale per comprendere e implementare un'ampia gamma di tecniche di persistenza.

PANIX fornisce una suite versatile di funzionalità per simulare e ricercare meccanismi di persistenza Linux.
| Funzionalità | Descrizione | Root | Utente |
|---|---|---|---|
| Persistenza At Job | Implementa la persistenza aggiungendo voci ai job di sistema. | ✅ | ✅ |
| Chiavi Autorizzate | Aggiunge una chiave pubblica al file authorized_keys per l'accesso SSH. | ✅ | ✅ |
| Utente Backdoor | Crea un utente backdoor con UID=0 (privilegi di root). | ✅ | ❌ |
| Backdoor Utente di Sistema | Aggiunge una backdoor a un utente di sistema (accesso SSH a news/nobody). | ✅ | ❌ |
| Backdoor in /etc/passwd | Aggiunge direttamente una voce utente malintenzionata a /etc/passwd. | ✅ | ❌ |
| Backdoor in /etc/init.d | Stabilisce la persistenza tramite SysVinit (/etc/init.d). | ✅ | ❌ |
| Backdoor in /etc/rc.local | Stabilisce la persistenza tramite il run control (/etc/rc.local). | ✅ | ❌ |
| Bind Shell | Esegue una bind shell pre-compilata/LOLBin per l'accesso remoto. | ✅ | ✅ |
| Backdoor Capabilities | Aggiunge capability specifiche ai binari per mantenere la persistenza. | ✅ | ❌ |
| Persistenza Cron Job | Configura cron job per garantire la persistenza attraverso i riavvii. | ✅ | ✅ |
| Crea Utente | Crea un nuovo account utente sul sistema. | ✅ | ❌ |
| Backdoor D-Bus | Crea un servizio D-Bus per l'accesso root tramite reverse shell. | ✅ | ❌ |
| Rootkit Diamorphine | Installa il rootkit Diamorphine Loadable Kernel Module. | ✅ | ❌ |
| Persistenza Initramfs | Inietta un utente backdoor UID=0 nell'initramfs al riavvio. | ✅ | ❌ |
| Persistenza Git | Utilizza hook o pager Git per persistere all'interno dei repository Git. | ✅ | ✅ |
| Persistenza Generator | Sfrutta i generatori systemd per creare servizi persistenti. | ✅ | ❌ |
| Backdoor GRUB | Manipola GRUB per eseguire una backdoor all'avvio. | ✅ | ❌ |
| Container Maligno | Distribuisce un container Docker progettato per consentire l'escape. | ✅ | ✅ |
| Pacchetto Maligno | Installa un pacchetto DPKG/RPM per ottenere la persistenza. | ✅ | ❌ |
| NetworkManager | Installa uno script dispatcher per persistere in seguito ad azioni di rete. | ✅ | ❌ |
| Backdoor LD_PRELOAD | Usa LD_PRELOAD per iniettare librerie malintenzionate per la persistenza. | ✅ | ❌ |
| Backdoor LKM | Carica un Loadable Kernel Module per mantenere la persistenza. | ✅ | ❌ |
| Backdoor MOTD | Modifica il Message of the Day (MOTD) per stabilire la persistenza. | ✅ | ❌ |
| Gestore Pacchetti | Manipola APT/YUM/DNF per stabilire la persistenza all'uso. | ✅ | ❌ |
| Persistenza PAM | Installa una backdoor PAM utilizzando un modulo rogue o pam_exec. | ✅ | ❌ |
| Cambio Password | Cambia le password degli utenti per proteggere gli account backdoor. | ✅ | ❌ |
| Backdoor Polkit | Crea una backdoor di configurazione Polkit eccessivamente permissiva. | ✅ | ❌ |
| Reverse Shell | Stabilisce una reverse shell (supportando molteplici LOLBin). | ✅ | ✅ |
| Persistenza Profilo Shell | Modifica i profili di shell per eseguire script al login dell'utente. | ✅ | ✅ |
| Persistenza Chiavi SSH | Manipola le chiavi SSH per mantenere l'accesso persistente via SSH. | ✅ | ✅ |
| Backdoor Sudoers | Modifica il file /etc/sudoers per concedere privilegi elevati. | ✅ | ❌ |
| Backdoor SUID | Aggiunge una backdoor ai binari impostando il bit SUID. | ✅ | ❌ |
| Backdoor Binari di Sistema | Avvolge i binari di sistema per includere funzionalità backdoor. | ✅ | ❌ |
| Servizio Systemd | Crea servizi systemd che garantiscono la persistenza al riavvio. | ✅ | ✅ |
| Persistenza Udev | Utilizza i driver per persistere a livello di interazione hardware. | ✅ | ❌ |
| Persistenza Web Shell | Distribuisce server web per l'accesso remoto tramite interfacce web. | ✅ | ✅ |
| Avvio Automatico XDG | Utilizza le directory di avvio automatico XDG per persistere al login dell'utente. | ✅ | ✅ |

PANIX offre un supporto completo su diverse distribuzioni Linux.
| Distribuzione | Supporto | Versione Testata |
|---|---|---|
| Debian | ✅ | Debian 11 & 12 |
| Ubuntu | ✅ | Ubuntu 22.04 (Diamorphine non disponibile) |
| RHEL | ✅ | RHEL 9 (tecniche MOTD e Pre-OS Boot non disponibili) |
| CentOS | ✅ | CentOS Stream 9 & 7 (tecniche MOTD e Pre-OS Boot non disponibili) |
| Fedora | ✅ | Non completamente testato |
| Arch Linux | ✅ | Non completamente testato |
| OpenSUSE | ✅ | Non completamente testato |