Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-3156-Project — بيئة مختبر تعليمية لثغرة CVE-2021-3156 (Baron Samedit) مع هدف sudo هش مُعبأ في Docker، وسقالة استغلال، واختبار كاناري، وتحليل السبب الجذري، ومقارنة مع النسخة المُصحّحة. | Kitploit
أدوات/GitHubGitHub/shams-ul-mehmood/cve-2021-3156-project
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubshams-ul-mehmood/cve-2021-3156-project

CVE-2021-3156-Project

بيئة مختبر تعليمية لثغرة CVE-2021-3156 (Baron Samedit) مع هدف sudo هش مُعبأ في Docker، وسقالة استغلال، واختبار كاناري، وتحليل السبب الجذري، ومقارنة مع النسخة المُصحّحة.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
17منذ شهر واحدلم تتم المراجعة بعد

CVE-2021-3156 — Baron Samedit

تجاوز سعة المخزن المؤقت في الكومة في sudo → تصعيد الصلاحيات محليًا

قسم الأمن السيبراني في ITSOLERA | تدريب الفريق الأحمر 2026


  ██████╗  █████╗ ██████╗  ██████╗ ███╗   ██╗    ███████╗ █████╗ ███╗   ███╗███████╗██████╗ ██╗████████╗
  ██╔══██╗██╔══██╗██╔══██╗██╔═══██╗████╗  ██║    ██╔════╝██╔══██╗████╗ ████║██╔════╝██╔══██╗██║╚══██╔══╝
  ██████╔╝███████║██████╔╝██║   ██║██╔██╗ ██║    ███████╗███████║██╔████╔██║█████╗  ██║  ██║██║   ██║
  ██╔══██╗██╔══██║██╔══██╗██║   ██║██║╚██╗██║    ╚════██║██╔══██║██║╚██╔╝██║██╔══╝  ██║  ██║██║   ██║
  ██████╔╝██║  ██║██║  ██║╚██████╔╝██║ ╚████║    ███████║██║  ██║██║ ╚═╝ ██║███████╗██████╔╝██║   ██║
  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝    ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═════╝ ╚═╝   ╚═╝

⚠️ للاستخدام التعليمي / المختبر المعزول فقط يجب إجراء جميع الاختبارات حصريًا داخل حاوية مختبر Docker. لا تقم أبدًا بالتشغيل ضد أنظمة حقيقية أو إنتاجية أو مشتركة.


جدول المحتويات

  1. نظرة عامة على CVE
  2. ما الذي يجعل هذا CVE مميزًا
  3. هيكل المشروع
  4. مخرجات الفريق
  5. البدء السريع
  6. كيف يعمل الاستغلال
  7. اختبار Canary للثغرة
  8. استخدام exploit.py
  9. إعادة تعيين المختبر واللقطة
  10. المقارنة: المُصحَّحة مقابل الهشّة
  11. المراجع

نظرة عامة على CVE

الخاصيةالقيمة
معرف CVECVE-2021-3156
الاسم المستعارBaron Samedit
النوعتجاوز سعة المخزن المؤقت في الكومة → تصعيد الصلاحيات محليًا
المكوّنsudo — أداة صلاحيات لينكس (set_cmnd() في src/sudo.c)
درجة CVSS v37.8 عالية
المتجهCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
الإصدارات الهشّةsudo 1.8.2 – 1.8.31p2 و 1.9.0 – 1.9.5p1
الإصدارات المُصحَّحةsudo 1.9.5p2 (فرع 1.9) / sudo 1.8.32 (فرع 1.8)
إصدار هدف المختبرsudo 1.8.31 على Ubuntu 20.04
نشرة التصحيح / الاستشارةSA: https://www.sudo.ws/security/advisories/unescape_overflow/
اكتُشفت بواسطةفريق أبحاث Qualys
تاريخ الإفصاح2021-01-26
في البرية منذ (كود)~2011-07-09 (sudo 1.8.2) — ~10 سنوات دون اكتشاف
المصادقة المطلوبةمستخدم محلي فقط — لا حاجة لأي صلاحيات sudo

ما الذي يجعل هذا CVE مميزًا

الخاصيةCVE-2021-3156استغلال sudo LPE نموذجي
يتطلب إدخال sudoers❌ لا✅ نعم
يتطلب عضوية مجموعة sudo❌ لا✅ نعم
يتطلب أي وصول sudo سابق❌ لا✅ نعم
يعمل من حساب مستخدم جديد تمامًا✅ نعم❌ لا
يستغل نظام الصلاحيات❌ يتجاوزه تمامًا✅ يسيء استخدامه
سطح الهجوممحلل الوسائط (قبل المصادقة)فحص الصلاحيات

الرؤية الأساسية: يحدث التجاوز في set_cmnd() — وهي الوظيفة التي تحلل الوسائط — والتي تعمل قبل أن يرجع sudo إلى /etc/sudoers على الإطلاق. يمكن لحساب أُنشئ قبل 10 ثوانٍ فقط وبدون أي صلاحيات استغلال هذا الأمر.


هيكل المشروع

CVE-2021-3156-Project/
│
├── README.md                        ← you are here
│
├── lab/                             ← Member 1: Lab Environment
│   ├── Dockerfile                   ← Ubuntu 20.04 + sudo 1.8.31 (pinned)
│   ├── docker-compose.yml           ← vulnerable target + patched reference
│   ├── evidence_helper.sh           ← pre/post-exploit state capture
│   ├── SETUP.md                     ← step-by-step VM/Docker guide
│   └── config_notes.md              ← CVE conditions & container details
│
├── exploit/                         ← Member 2: Exploit Development
│   ├── exploit.py                   ← Python LPE framework + canary test
│   └── payloads.txt                 ← heap overflow research notes
│
├── docs/                            ← Member 3: Research & Documentation
│   ├── root_cause_analysis.md       ← set_cmnd() deep dive + off-by-one
│   ├── references.md                ← all sources, PoCs, CWE mapping
│   └── mitigation.md                ← sudo upgrade + hardening checklist
│
├── proof/                           ← Member 4: Evidence Collection
│   ├── screenshots/                 ← exploitation screenshots
│   └── terminal_logs.txt            ← command output template + logs
│
└── report/
    └── CVE-2021-3156_Report.docx    ← Member 4: Final professional report

مخرجات الفريق

العضو 1 — بيئة المختبر والتحقق من CVE

الملفالوصف
lab/DockerfileUbuntu 20.04 مع تثبيت sudo 1.8.31 (هشّ)؛ Python 3 مثبّت؛ حساب labuser بدون أي وصول sudo
lab/docker-compose.ymlينسّق بين الهدف الهشّ + حاوية مرجعية مُصحَّحة على Ubuntu 22.04
lab/evidence_helper.shسكربت Bash لالتقاط حالة النظام (المستخدم، إصدار sudo، canary) قبل/بعد الاستغلال
lab/SETUP.mdخطوة بخطوة: البناء ← التشغيل ← الدخول ← التحقق من إصدار sudo ← تشغيل canary ← اللقطة
lab/config_notes.mdيشرح لماذا لا حاجة لأي إعدادات خاطئة، إعدادات أمان Docker، مرجع بيانات الاعتماد

العضو 2 — تطوير الاستغلال (سكربت PoC)

الملفالوصف
exploit/exploit.pyإطار عمل Python كامل: check_platform()، check_sudo_version()، run_canary_test()، get_system_info() + ثلاثة أكواد TODO استغلالية (select_heap_strategy، build_overflow_argument، trigger_overflow_and_escalate) مع مراجع تفصيلية لـ PoCs الخاصة بـ blasty/worawit
exploit/payloads.txtمفاهيم تجاوز الكومة، مكافئ COMPRESSION_TRANSFORM (بنية الوسائط)، ثلاث استراتيجيات للكومة، قالب سجل المحاولات الفاشلة، توقيعات الكشف

ملاحظة: لا يتضمن كود استغلال النواة/الكومة الفعلي التزامًا بالمبادئ الأخلاقية. تشير أكواد TODO في exploit.py إلى https://github.com/blasty/CVE-2021-3156 و https://github.com/worawit/CVE-2021-3156 باعتبارها PoCs العامة الموثوقة لفريقك لدراستها ودمجها.

العضو 3 — تحليل السبب الجذري والبحث

الملفالوصف
docs/root_cause_analysis.mdتفصيلي: عدم تطابق الحجم مقابل النسخ في set_cmnd()، خطأ off-by-one مع أمثلة برمجية، فرق التصحيح، سلسلة الاستغلال، CVSS 7.8 مقياسًا بمقياس، خط زمني لـ10 سنوات، جدول تأثير التوزيعات
docs/references.mdاستشارة Qualys، MITRE، NVD، مشروع sudo، blasty PoC، worawit PoC، ExploitDB، GTFOBins، تعيين CWE
docs/mitigation.mdapt-get install --only-upgrade sudo، canary للتحقق، تقوية AppArmor، مراقبة auditd، جدول التقوية

العضو 4 — جمع الأدلة والتقارير والتكامل

الملفالوصف
proof/terminal_logs.txtقالب لجمع الأدلة (املأه بالمخرجات الفعلية من المختبر)
proof/screenshots/مجلد لـ7 لقطات شاشة مطلوبة
report/CVE-2021-3156_Report.docxتقرير احترافي من 12 قسمًا: صفحة الغلاف، الملخص التنفيذي، وصف CVE، تحليل السبب الجذري، تفصيل CVSS، خطوات الاستغلال، شرح الكود، قائمة التحقق من الأدلة، التخفيف، الخط الزمني، المراجع، إخلاء المسؤولية

البدء السريع

1. البناء وبدء تشغيل المختبر

cd CVE-2021-3156-Project/lab/

# Build the vulnerable image (downloads Ubuntu 20.04, pins sudo 1.8.31)
docker compose build

# Start both containers
docker compose up -d

# Confirm containers are running
docker compose ps

المتوقع:

NAME                      STATUS
baron_samedit_target      running
baron_samedit_patched     running

2. الدخول إلى الحاوية الهشّة

docker exec -it baron_samedit_target bash

3. تأكيد شروط الثغرة

# Inside the container as labuser

whoami                         # Expected: labuser
id                             # Expected: uid=1000(labuser)...
sudo --version                 # Expected: Sudo version 1.8.31
sudo -l                        # Expected: Sorry, user labuser may not run sudo...
sudoedit -s '\' 2>&1          # Expected: NOT "usage:" → VULNERABLE

4. نسخ وتشغيل الاستغلال

# From host machine
docker cp exploit/exploit.py baron_samedit_target:/home/labuser/
تنزيل الأداة