
Ferramenta de Persistência Linux Personalizável para Pesquisa de Segurança e Engenharia de Detecção.

O PANIX é um framework de persistência Linux poderoso, modular e altamente personalizável, projetado para pesquisadores de segurança, engenheiros de detecção, testadores de penetração, entusiastas de CTF e muito mais. Construído com versatilidade em mente, o PANIX enfatiza funcionalidade, tornando-o uma ferramenta essencial para entender e implementar uma ampla gama de técnicas de persistência.

O PANIX fornece um conjunto versátil de recursos para simular e pesquisar mecanismos de persistência no Linux.
| Recurso | Descrição | Root | User |
|---|---|---|---|
| Persistência via At Job | Implementa persistência adicionando entradas a jobs do sistema. | ✅ | ✅ |
| Chaves Autorizadas | Adiciona uma chave pública ao arquivo authorized_keys para acesso SSH. | ✅ | ✅ |
| Usuário Backdoor | Cria um usuário backdoor com UID=0 (privilégios de root). | ✅ | ❌ |
| Backdoor em Usuário do Sistema | Aplica backdoor em um usuário do sistema (acesso SSH a news/nobody). | ✅ | ❌ |
| /etc/passwd com Backdoor | Adiciona diretamente uma entrada de usuário malicioso em /etc/passwd. | ✅ | ❌ |
| /etc/init.d com Backdoor | Estabelece persistência via SysVinit (/etc/init.d). | ✅ | ❌ |
| /etc/rc.local com Backdoor | Estabelece persistência via run control (/etc/rc.local). | ✅ | ❌ |
| Bind Shell | Executa um bind shell pré-compilado/LOLBin para acesso remoto. | ✅ | ✅ |
| Backdoor de Capabilities | Adiciona capabilities específicas a binários para manter a persistência. | ✅ | ❌ |
| Persistência em Cron Job | Configura cron jobs para garantir persistência após reinicializações. | ✅ | ✅ |
| Criar Usuário | Cria uma nova conta de usuário no sistema. | ✅ | ❌ |
| Backdoor D-Bus | Cria um serviço D-Bus para acesso root via reverse shell. | ✅ | ❌ |
| Rootkit Diamorphine | Instala o rootkit Diamorphine de Módulo de Kernel Carregável. | ✅ | ❌ |
| Persistência em Initramfs | Injeta um usuário backdoor com UID=0 no initramfs na reinicialização. | ✅ | ❌ |
| Persistência em Git | Utiliza hooks ou pagers do Git para persistir em repositórios Git. | ✅ | ✅ |
| Persistência via Generator | Usa generators do systemd para criar serviços persistentes. | ✅ | ❌ |
| Backdoor no GRUB | Manipula o GRUB para executar um backdoor na inicialização. | ✅ | ❌ |
| Contêiner Malicioso | Implanta um contêiner Docker projetado para escape do host. | ✅ | ✅ |
| Pacote Malicioso | Instala um pacote DPKG/RPM para obter persistência. | ✅ | ❌ |
| NetworkManager | Instala um script dispatcher para persistir em ações de rede. | ✅ | ❌ |
| Backdoor LD_PRELOAD | Usa LD_PRELOAD para injetar bibliotecas maliciosas para persistência. | ✅ | ❌ |
| Backdoor LKM | Carrega um Módulo de Kernel Carregável para manter a persistência. | ✅ | ❌ |
| Backdoor MOTD | Altera a Mensagem do Dia (MOTD) para estabelecer persistência. | ✅ | ❌ |
| Gerenciador de Pacotes | Manipula APT/YUM/DNF para estabelecer persistência no uso. | ✅ | ❌ |
| Persistência PAM | Instala um backdoor PAM usando um módulo rogue ou pam_exec. | ✅ | ❌ |
| Alteração de Senha | Altera senhas de usuários para proteger contas backdoor. | ✅ | ❌ |
| Backdoor Polkit | Cria um backdoor de configuração Polkit excessivamente permissivo. | ✅ | ❌ |
| Reverse Shell | Estabelece um reverse shell (com suporte a múltiplos LOLBins). | ✅ | ✅ |
| Persistência em Perfil de Shell | Modifica perfis de shell para executar scripts no login do usuário. | ✅ | ✅ |
| Persistência em Chave SSH | Manipula chaves SSH para manter acesso persistente via SSH. | ✅ | ✅ |
| Backdoor Sudoers | Altera o arquivo /etc/sudoers para conceder privilégios elevados. | ✅ | ❌ |
| Backdoor SUID | Aplica backdoor em binários definindo o bit SUID. | ✅ | ❌ |
| Backdoor em Binário do Sistema | Encapsula binários do sistema para incluir funcionalidade de backdoor. | ✅ | ❌ |
| Serviço Systemd | Cria serviços systemd que garantem persistência na reinicialização. | ✅ | ✅ |
| Persistência Udev | Utiliza drivers para persistir no nível de interação de hardware. | ✅ | ❌ |
| Persistência via Web Shell | Implanta servidores web para acesso remoto via interfaces web. | ✅ | ✅ |
| Autostart XDG | Emprega diretórios de autostart XDG para persistir no login do usuário. | ✅ | ✅ |

O PANIX oferece suporte abrangente a várias distribuições Linux.
| Distribuição | Suporte | Versão Testada |
|---|---|---|
| Debian | ✅ | Debian 11 e 12 |
| Ubuntu | ✅ | Ubuntu 22.04 (Diamorphine indisponível) |
| RHEL | ✅ | RHEL 9 (técnicas de MOTD e pré-inicialização do SO indisponíveis) |
| CentOS | ✅ | CentOS Stream 9 e 7 (técnicas de MOTD e pré-inicialização do SO indisponíveis) |
| Fedora | ✅ | Não totalmente testado |
| Arch Linux | ✅ | Não totalmente testado |
| OpenSUSE | ✅ | Não totalmente testado |