
Настраиваемый инструмент обеспечения персистентности в Linux для исследований в области безопасности и разработки средств обнаружения.

PANIX — это мощный, модульный и легко настраиваемый фреймворк для обеспечения персистентности в Linux, предназначенный для исследователей безопасности, инженеров по детектированию, пентестеров, энтузиастов CTF и других специалистов. Созданный с упором на универсальность, PANIX делает акцент на функциональности, что делает его незаменимым инструментом для понимания и реализации широкого спектра техник закрепления.

PANIX предоставляет универсальный набор функций для моделирования и исследования механизмов персистентности в Linux.
| Функция | Описание | Root | Пользователь |
|---|---|---|---|
| Персистентность через at-задания | Реализует персистентность путём добавления записей в системные задания at. | ✅ | ✅ |
| Авторизованные ключи | Добавляет открытый ключ в файл authorized_keys для доступа по SSH. | ✅ | ✅ |
| Пользователь-бэкдор | Создаёт пользователя-бэкдор с UID=0 (привилегии root). | ✅ | ❌ |
| Бэкдор системного пользователя | Внедряет бэкдор в системного пользователя (SSH-доступ к news/nobody). | ✅ | ❌ |
| Бэкдор в /etc/passwd | Напрямую добавляет вредоносную запись пользователя в /etc/passwd. | ✅ | ❌ |
| Бэкдор в /etc/init.d | Обеспечивает персистентность через SysVinit (/etc/init.d). | ✅ | ❌ |
| Бэкдор в /etc/rc.local | Обеспечивает персистентность через run control (/etc/rc.local). | ✅ | ❌ |
| Bind Shell | Запускает предварительно скомпилированный bind shell / LOLBin для удалённого доступа. | ✅ | ✅ |
| Бэкдор через capabilities | Добавляет определённые capabilities к бинарным файлам для поддержания персистентности. | ✅ | ❌ |
| Персистентность через cron | Настраивает cron-задания для обеспечения персистентности после перезагрузок. | ✅ | ✅ |
| Создание пользователя | Создаёт новую учётную запись пользователя в системе. | ✅ | ❌ |
| Бэкдор через D-Bus | Создаёт D-Bus-сервис для получения root reverse shell. | ✅ | ❌ |
| Руткит Diamorphine | Устанавливает руткит Diamorphine (Loadable Kernel Module). | ✅ | ❌ |
| Персистентность в initramfs | Внедряет пользователя-бэкдор с UID=0 в initramfs при перезагрузке. | ✅ | ❌ |
| Персистентность через Git | Использует Git-хуки или пейджеры для персистентности в Git-репозиториях. | ✅ | ✅ |
| Персистентность через генераторы systemd | Использует генераторы systemd для создания постоянных сервисов. | ✅ | ❌ |
| Бэкдор в GRUB | Изменяет GRUB для выполнения бэкдора при загрузке. | ✅ | ❌ |
| Вредоносный контейнер | Разворачивает Docker-контейнер, предназначенный для побега из контейнера (host escape). | ✅ | ✅ |
| Вредоносный пакет | Устанавливает пакет DPKG/RPM для достижения персистентности. | ✅ | ❌ |
| NetworkManager | Устанавливает скрипт-диспетчер для персистентности при сетевых действиях. | ✅ | ❌ |
| Бэкдор через LD_PRELOAD | Использует LD_PRELOAD для внедрения вредоносных библиотек с целью персистентности. | ✅ | ❌ |
| Бэкдор через LKM | Загружает Loadable Kernel Module для поддержания персистентности. | ✅ | ❌ |
| Бэкдор через MOTD | Изменяет Message of the Day (MOTD) для установления персистентности. | ✅ | ❌ |
| Менеджер пакетов | Изменяет APT/YUM/DNF для установления персистентности при использовании. | ✅ | ❌ |
| Персистентность через PAM | Устанавливает PAM-бэкдор с помощью вредоносного модуля или pam_exec. | ✅ | ❌ |
| Смена пароля | Изменяет пароли пользователей для защиты учётных записей-бэкдоров. | ✅ | ❌ |
| Бэкдор через Polkit | Создаёт чрезмерно разрешающую конфигурацию Polkit в качестве бэкдора. | ✅ | ❌ |
| Reverse Shell | Устанавливает reverse shell (с поддержкой множества LOLBin). | ✅ | ✅ |
| Персистентность через shell-профили | Изменяет shell-профили для выполнения скриптов при входе пользователя в систему. | ✅ | ✅ |
| Персистентность через SSH-ключи | Манипулирует SSH-ключами для поддержания постоянного доступа по SSH. | ✅ | ✅ |
| Бэкдор в sudoers | Изменяет файл /etc/sudoers для предоставления повышенных привилегий. | ✅ | ❌ |
| SUID-бэкдор | Внедряет бэкдор в бинарные файлы, устанавливая SUID-бит. | ✅ | ❌ |
| Бэкдор системных бинарных файлов | Оборачивает системные бинарные файлы, добавляя функциональность бэкдора. | ✅ | ❌ |
| Сервис systemd | Создаёт сервисы systemd, обеспечивающие персистентность после перезагрузки. | ✅ | ✅ |
| Персистентность через Udev | Использует драйверы для персистентности на уровне взаимодействия с оборудованием. | ✅ | ❌ |
| Персистентность через веб-шелл | Разворачивает веб-серверы для удалённого доступа через веб-интерфейсы. | ✅ | ✅ |
| Автозапуск XDG | Использует каталоги автозапуска XDG для персистентности при входе пользователя. | ✅ | ✅ |

PANIX предлагает всестороннюю поддержку различных дистрибутивов Linux.