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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Dirty-Frag-CVE-2026-43284 — تمرين كشف مختبري لـ DirtyFrag (CVE-2026-43284) - تصعيد صلاحيات نواة لينكس عبر فساد ذاكرة التخزين المؤقت للصفحات xfrm-ESP. شرح كامل يغطي تنفيذ الاستغلال، ثغرات الكشف، وقواعد EQL المصححة باستخدام Elastic Stack | Kitploit
أدوات/GitHubGitHub/atlasvector/dirty-frag-cve-2026-43284
تصعيد الامتيازاتتحليل الثغرات الأمنيةالتحقيق الجنائي الرقميالتعلم والتعليمالاستجابة للحوادثاستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubatlasvector/dirty-frag-cve-2026-43284

الأكثر شعبية

عرض الكل →

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

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

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

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

Dirty-Frag-CVE-2026-43284

تمرين كشف مختبري لـ DirtyFrag (CVE-2026-43284) - تصعيد صلاحيات نواة لينكس عبر فساد ذاكرة التخزين المؤقت للصفحات xfrm-ESP. شرح كامل يغطي تنفيذ الاستغلال، ثغرات الكشف، وقواعد EQL المصححة باستخدام Elastic Stack

عرض المستودع
منذ 2 أشهرلم تتم المراجعة بعد

DirtyFrag (CVE-2026-43284) - تقرير تمرين الكشف المخبري

التصنيف: مختبر داخلي - CyberLAB
التاريخ: 24 مايو 2026
المنصة: Elastic Stack v9.4.1
الحالة: تم تأكيد الكشف


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

  • أ - ملخص تنفيذي
  • ب - تقرير النتائج الكامل
    • 1. الهدف ونموذج التهديد
    • 2. خلفية الثغرة
    • 3. بيئة المختبر
    • 4. المرحلة 1 - الإعداد قبل التنفيذ
    • 5. المرحلة 2 - تنفيذ الاستغلال
    • 6. المرحلة 3 - النشاط بعد الاستغلال
    • 7. المرحلة 4 - هندسة الكشف
    • 8. مرجع الكشف
    • 9. ملخص النتائج الرئيسية
    • 10. المراجع

أ - ملخص تنفيذي

ما تم اختباره

تمرين استغلال موجه يحاكي خصماً لديه وصول أولي يستخدم DirtyFrag (CVE-2026-43284)، وهي ثغرة تصعيد صلاحيات في نواة Linux. سيناريو المهاجم المحاكي: مستخدم ذو صلاحيات منخفضة (saskia، uid=1001) تم الحصول عليه عبر بيانات اعتماد مُخترقة يحاول التصعيد إلى root على مضيف Linux داخلي. استخدم المختبر جهاز Ubuntu معرض للخطر عمداً (ubuntu-vuln، نواة 6.0.0-22-generic) معزولاً عن شبكات الإنتاج.

النتيجة: نجح الاستغلال - تم تأكيد الكشف

حقق المهاجم وصولاً كاملاً كـ root (uid=0) داخل بيئة المختبر. أنشأ حزمة Elastic Security للكشف 3 تنبيهات عالية الخطورة (درجة المخاطرة 73) حددت بشكل صحيح سلسلة الاستغلال. ومع ذلك، تطلب الكشف ضبطاً يدوياً - التكوين الافتراضي كان به ثغرات كانت ستؤدي إلى فقدان التنبيهات.

الخلاصة: مضيفات Linux غير المُصححة التي تعمل بنواة <= 6.x معرضة للخطر. إذا كان المهاجم لديه بالفعل موطئ قدم بصلاحيات منخفضة، فإن هذا الاستغلال يمنحه صلاحيات root كاملة بصمت وسرعة، دون أي أثر على القرص يمكن لأدوات سلامة الملفات رؤيته.

بيان المخاطر

النتائج الرئيسية

  1. قواعد auditd الافتراضية لا تنتج أي دليل. بدون قواعد استدعاء نظام صريحة لـ socket و splice و unshare، يعمل الاستغلال بصمت - لا سجلات، لا تنبيهات. النشر الافتراضي لـ Elastic Agent لا يضيف هذه القواعد تلقائياً.
  2. تطلب الكشف ضبط القاعدة. استخدم منطق الكشف المنشور من Elastic Security Labs process.parent.pid كمفتاح ارتباط. عملياً، يقوم DirtyFrag بإنشاء عمليات وسيطة، مما يكسر هذا الارتباط. تم تحديد الإصلاح - الارتباط بواسطة auditd.session - وتطبيقه خلال هذا التمرين.
  3. كانت إجراءات ما بعد الاستغلال واسعة النطاق. بعد الحصول على صلاحيات root، قرأ المهاجم /etc/shadow، ووصل إلى مفاتيح SSH المصرح بها، وكتب علامة استمرارية (/root/pwned.txt)، وبدأ استطلاع الشبكة عبر nc. حدث كل ذلك خلال 30 دقيقة من الوصول الأولي.

التوصيات


ب - تقرير النتائج الكامل

1. الهدف ونموذج التهديد

الهدف: التحقق من تغطية الكشف لاستغلال DirtyFrag في مختبر SOC المنزلي، وتحديد ثغرات الكشف، وإنتاج قاعدة كشف مصححة تستند إلى سلوك المهاجم المرصود.

نموذج التهديد: خصم محاكى لديه وصول أولي بعد الاختراق باستخدام بيانات اعتماد مُخترقة لحساب مستخدم بصلاحيات منخفضة (saskia، uid=1001). الهدف: تصعيد الصلاحيات إلى root عبر DirtyFrag باستخدام مسار استقبال xfrm-ESP. تم تنفيذ التمرين عبر وحدة تحكم Proxmox - وهو مكافئ وظيفياً للوصول عبر SSH بعد الاختراق.

تم النظر في مستويين من قدرات المهاجم:

  • العادي (صاخب): تشغيل الاستغلال دون أي تهرب
  • المراوغ (هادئ): تقليل الضوضاء، تنظيف متعمد

غطى هذا التمرين المستوى العادي.


2. خلفية الثغرة

DirtyFrag هو الثالث في عائلة من أخطاء نواة Linux ذات الصلة التي تسيء استخدام نفس السبب الجذري:

السبب الجذري: لم تقم مسارات إلحاق مخططات بيانات IPv4/IPv6 بتعيين SKBFL_SHARED_FRAG بعد أن زرعت skb_splice_from_iter() صفحة من ذاكرة التخزين المؤقت للملفات في مخزن مؤقت للمقبس (sk_buff). ثم قام مسار إدخال ESP بتنفيذ تشفير في المكان على صفحات ذاكرة تخزين مؤقت يتحكم فيها المهاجم، معاملًا إياها كـ skbs غير خطية عادية غير مستنسخة.

بدائية الاستغلال: كتابة موجهة بـ 4 أو 8 بايت في ذاكرة التخزين المؤقت للملفات. حتمي - لا يتطلب شرط سباق.

سلسلة الاستغلال:

  1. المهاجم يقرأ ملفًا ثنائيًا مستهدفًا (مثل /usr/bin/su) إلى ذاكرة التخزين المؤقت للملفات
  2. يُنشئ حزمة عبر splice() بحيث تكون صفحة الملف في frag[0] من struct sk_buff
  3. النواة تُسلم الحزمة إلى مسار فك تشفير xfrm-ESP
  4. ESP ينفذ تشفيرًا في المكان - المصدر والوجهة يشيران إلى صفحة المهاجم
  5. التشفير يكتب بايتات يتحكم بها المهاجم في ذاكرة التخزين المؤقت للملفات
  6. جميع القراءات اللاحقة للملف - بما في ذلك execve() في النواة - تُرجع بايتات تالفة

خاصية التهرب الحرجة: لا يتم تعديل الملف على القرص أبداً. أدوات مراقبة سلامة الملفات (AIDE، Tripwire، التحقق من التجزئة) جميعها تبلغ عن أن الملف المستهدف نظيف.

التوزيعات المؤكدة القابلة للاختراق: Ubuntu 24.04.4، RHEL 10.1، AlmaLinux 10، openSUSE Tumbleweed، CentOS Stream 10، Fedora 44.


3. بيئة المختبر

التيليمتري النشط وقت التمرين:


4. المرحلة 1 - الإعداد قبل التنفيذ

4.1 عزل المختبر

تم عزل شبكة المختبر قبل التمرين. تم تأكيد تعطيل اسم القاعدة Cyber_escape_door - مما يمنع الوصول الجانبي إلى شبكات VLAN الأخرى أو الإنترنت.

تأكيد عزل المختبر

4.2 التحقق من المضيف الضحية

تم تأكيد النواة القابلة للاختراق وحساب الصلاحيات المنخفضة على ubuntu-vuln:``` saskia@ubuntu-vuln:$ uname -r 6.0.0-22-generic saskia@ubuntu-vuln:$ whoami saskia saskia@ubuntu-vuln:~$ id uid=1001(saskia) gid=1001(saskia) groups=1001(saskia),27(sudo),100(users)

root@kitploit:~
![التحقق من النواة والمستخدم](https://assets.kitploit.com/production/public/readmes/15419/bd607abf9c63cc6bf7cfd3432bd406c5fcd51b6e29e4585543f80af99218fd92.png)

#### 4.3 فحص صحة المكدس

**Suricata: قيد التشغيل والالتقاط (حالة systemctl)**
![خدمة Suricata نشطة ومُمكّنة](https://assets.kitploit.com/production/public/readmes/15419/3bd0f2a2eb3695861aa36f58545b85567d3a8bdeb4e847060e9dbb63391abf9b.png)

**Kibana/Elasticsearch: أخضر/سليم (فحص API)**
![فحص صحة ELK عبر curl يُرجع 302](https://assets.kitploit.com/production/public/readmes/15419/fcd860faf9fbe62adeb94e889ced2a8c4b649f7240b9f7a9eb572a132c56402d.png)

**لقطات VM المأخوذة قبل أي تغييرات**

![لقطة ELK VM - elk-VM-snapshot](https://assets.kitploit.com/production/public/readmes/15419/6d7c0af2ac6a6b526e21696f83ecea29e3b5d2a433b00eeaa104746ac87b155c.png)

![لقطة Suricata VM - suricata_pre_dirty_frag (24 May 2026 11:15:53)](https://assets.kitploit.com/production/public/readmes/15419/679983fc0d92d9b73c3e33439c4a167732eec5685e852ccfe91738e29930f5fa.png)

![لقطة Ubuntu-Vuln-Host](https://assets.kitploit.com/production/public/readmes/15419/0c66bce642d8508ac2dddfe5930a84ba3f936fc8507fb96717ced5bc2bd77f8d.png)

#### 4.4 التقاط الشبكة
بدأ tcpdump على مضيف Suricata (`emp6s19`، طول اللقطة 262144 بايت) لالتقاط كامل حزم حركة المرور لـ `172.66.66.27`.
![نسخة أحداث حركة مرور suricata](https://assets.kitploit.com/production/public/readmes/15419/12c4e8bd2f5749a5ff3afda1613fecf69d635fbb87003808d83cc89815430e3c.png)

![بدأ tcpdump على مستشعر Suricata](https://assets.kitploit.com/production/public/readmes/15419/09e4a4ab1a4f692ee24f168c2094bf159590b9c6bb4ea8a977f0c004687ae341.png)

---

### 5. المرحلة 2 - تنفيذ الاستغلال

#### 5.1 التجهيز
تم تجهيز مصدر الاستغلال (`exp.c`) من V4bel/dirtyfrag PoC على المضيف الضحية.```bash
ubuntu-vuln@ubuntu-vuln:~/dirtyfrag$ ls
exp  exp.c  README.md
ubuntu-vuln@ubuntu-vuln:~/dirtyfrag$ cp exp.c /tmp/exp/

تم وضع الاستغلال المصدر في /tmp/exp/

5.2 التجميع

تم التجميع كجذر عبر sudo gcc (المستخدم saskia في قائمة sudoers):``` saskia@ubuntu-vuln:$ sudo gcc -o /tmp/exp/clean_frag /tmp/exp/exp.c saskia@ubuntu-vuln:$ ls -la /tmp/exp/ -rwxr-xr-x 1 root root 62320 May 24 12:18 clean_frag -rw-rw-r-- 1 ubuntu-vuln ubuntu-vuln 67803 May 24 12:13 exp.c saskia@ubuntu-vuln:~$ id uid=1001(saskia) gid=1001(saskia) groups=1001(saskia),27(sudo),100(users)

root@kitploit:~
ثنائي: ELF 64-bit LSB قابل للتنفيذ، x86-64، مرتبط ديناميكياً.

![تم تجميع الاستغلال - ثنائي clean_frag جاهز](https://assets.kitploit.com/production/public/readmes/15419/0449b71e0aa5ab6acc1483dc1109e40a59108fe2fb1c438413daa05e3e8c4f3c.png)

#### 5.3 التنفيذ - الحصول على صلاحية الجذر

تم تنفيذ الاستغلال بواسطة المستخدم `saskia` (uid=1001). العملية (`clean_frag`, pid=4326) فتحت مآخذ `AF_RXRPC` و `AF_ALG`، ثم استدعت `splice()` لزرع صفحة ذاكرة التخزين المؤقت في المخزن المؤقت للشبكة. التشفير في المكان على مسار ESP قام بكتابة بايتات يتحكم بها المهاجم إلى ذاكرة التخزين المؤقت. عملية فرعية (pid=4327) استدعت `unshare` مع `a0=50000000` (CLONE_NEWUSER | CLONE_NEWNET) للحصول على صلاحيات ضمن نطاق مساحة الأسماء.```
saskia@ubuntu-vuln:~$ /tmp/exp/clean_frag
...
root@ubuntu-vuln:~# id
uid=0(root) gid=0(root) groups=0(root)
root@ubuntu-vuln:~# ls

تم الحصول على شيل الجذر الكامل في 12:22 CEST (10:22 UTC), 24 مايو 2026.

تسلسل استدعاءات النظام لـ auditd المُلتقط (UTC):

جميع الأحداث تشترك في auditd.session=2.

شيل جذر تم الحصول عليه بعد الاستغلال


6. المرحلة 3 - نشاط ما بعد الاستغلال

جميع الإجراءات نُفذت كمستخدم root على ubuntu-vuln من ~12:22 CEST فصاعدًا.

6.1 علامة الثبات```bash

root@ubuntu-vuln:# echo "Dirty Frag PoC executed at $(date)" > /root/pwned.txt root@ubuntu-vuln:# cat /root/pwned.txt Dirty Frag PoC executed at Sun May 24 12:28:05 PM CEST 2026

root@kitploit:~
![Persistence marker written to /root/pwned.txt](https://assets.kitploit.com/production/public/readmes/15419/a4c9f7d5eaf9f165aa382692c89c6e98c50884858bae6929aec9251bb09ba06e.png)

#### 6.2 الوصول إلى بيانات الاعتماد```bash
root@ubuntu-vuln:~# cat /etc/shadow | head -2
root:*:19823:0:99999:7:::
daemon:*:19823:0:99999:7:::
root@ubuntu-vuln:~# cat /home/ubuntu-vuln/.ssh/authorized_keys
ssh-ed25519 AAAA[...]

تم الوصول إلى ملف shadow ومفاتيح SSH authorized keys. في اختراق حقيقي، يمكّن ذلك من كسر كلمات المرور دون اتصال والوصول الخلفي الدائم عبر SSH.

الوصول إلى بيانات الاعتماد - shadow ومفاتيح SSH مقروءة بصلاحيات root

6.3 استطلاع الشبكة```bash

root@ubuntu-vuln:~# nc -vz 172.66.66.1 100-8000

root@kitploit:~
مسح المنافذ لبوابة المختبر (`172.66.66.1`, المنافذ 100-8000) تم تنفيذه من سياق الجذر في الساعة 12:51 CEST. يوضح هذا القدرة على الحركة الجانبية ورسم خريطة الشبكة من جلسة موسعة الصلاحيات.

![مسح الشبكة من الجذر - nc ضد البوابة](https://assets.kitploit.com/production/public/readmes/15419/350b4904ab94e991640582b63d0bc61c679c754fdce22b856bb92ab177a02ef5.png)

#### 6.4 رؤية شبكة Suricata

سجلت Suricata **105 حدثًا** مرتبطة بـ `172.66.66.27` عبر نافذة التمرين (88 mdns, 17 flow). في وقت التقاط لقطة الشاشة (أثناء فحص nc في الساعة ~12:53 CEST)، كان 29 حدثًا ظاهرًا في لوحة التحكم.

استغلال DirtyFrag نفسه داخلي للنواة ولا ينتج توقيعًا شبكيًا - بدائية التصعيد لا تولد حركة مرور غير طبيعية على الشبكة. تم استخدام Suricata لجمع ملفات pcap لحركة المرور بعد الاستغلال ومحاولات التعداد بدلاً من اكتشاف الاستغلال نفسه.

| نوع الحدث | العدد |
| ---------- | ----- |
| mdns | 88 |
| flow | 17 |
| **المجموع** | **105** |

تتجمع أحداث flow حول نافذة فحص المنافذ nc (10:50-11:10 UTC / 12:50-13:10 CEST).

![أحداث Suricata للعنوان 172.66.66.27](https://assets.kitploit.com/production/public/readmes/15419/de8249b1c4230a57841799e7806ca97796db4de2321a57c0891f043d842c54b0.png)

---

### 7. المرحلة 4 - هندسة الكشف

#### 7.1 قواعد الكشف المنشورة

تم إنشاء قاعدتي تسلسل EQL في محرك كشف Kibana استنادًا إلى مقال Elastic Security Labs.

**القاعدة 1 - مقبس AF_RXRPC أو AF_ALG مع Splice متبوعًا بالتنفيذ** (لم تعمل - انظر الفجوة أدناه)```eql
sequence with maxspan=60s
  [any where host.os.type == "linux" and
   (
    (event.category == "process" and auditd.data.syscall == "socket"
     and auditd.data.a0 in ("26", "21")) or
    (event.category == "process" and auditd.data.syscall == "splice") or
    (event.category == "network" and event.action == "bound-socket"
     and data_stream.dataset == "auditd_manager.auditd"
     and auditd.data.socket.family == "38")
   )
   and user.id != "0"] by process.pid, host.id, user.id with runs=10
  [process where host.os.type == "linux" and event.action == "executed" and
   (
     (user.effective.id == "0" and user.id != "0") or
     (process.name in ("bash", "sh", "zsh", "dash", "fish", "ksh", "busybox")
      and process.args in ("-c", "--command", "-ic", "-ci", "-cl", "-lc",
                            "-bash", "-sh", "-zsh", "-dash", "-fish", "-ksh"))
    )] by process.parent.pid, host.id, user.id

القاعدة 2 - التلاعب بمساحة الاسم متبوعًا بتصعيد الامتيازات (تم تفعيله بعد الإصلاح)```eql sequence by host.id, auditd.session with maxspan=30s [process where host.os.type == "linux" and auditd.data.syscall == "unshare" and auditd.data.a0 in ("10000000", "50000000", "70000000", "10020000", "50020000", "70020000") and user.id != "0" and user.id != null] [process where host.os.type == "linux" and user.id == "0" and user.id != null and (process.name in ("bash", "sh", "zsh", "dash", "fish", "ksh", "su", "sudo", "pkexec", "busybox", "mksh") or process.name like ("python*", "perl*", "ruby*", "php*", "lua*"))]

root@kitploit:~
#### 7.2 فجوة الكشف الأولية - تغطية استدعاءات النظام المفقودة

القاعدة 1 أعادت صفر نتائج. تهيئة auditd الافتراضية على `ubuntu-vuln` التقطت: `write`, `bpf`, `openat`, `unshare` فقط.

المفقودة: `socket`, `splice`, `bind` - أساسيات الاستغلال الأساسية.

**المعالجة:** تمت الإضافة إلى `/etc/audit/rules.d/dirtyfrag.rules`:```
-a always,exit -F arch=b64 -S socket -k socket_syscall
-a always,exit -F arch=b32 -S socketcall -k socket_syscall
-a always,exit -F arch=b64 -S splice -k splice-syscall
-a always,exit -F arch=b32 -S splice -k splice-syscall
-a always,exit -F arch=b64 -S unshare -k unshare-syscall
-a always,exit -F arch=b32 -S unshare -k unshare-syscall

272 حدثًا جديدًا من auditd تم تسجيله في Elasticsearch بعد ثوانٍ من تشغيل الاستغلال.

7.3 فجوة ارتباط EQL - تجزئة شجرة العمليات

على الرغم من تسجيل الأحداث، أعادت القاعدة 2 صفر نتائج مطابقة.

السبب الجذري - شجرة العمليات الفعلية (من Elasticsearch):

القاعدة الأصلية كانت تربط بواسطة process.parent.pid. حدث unshare كان له ppid=4326، لكن واجهة الأوامر الجذرية كان لها أب مختلف - DirtyFrag يقوم بتفرع عمليات وسيطة، مما يكسر الارتباط.

الإصلاح: الربط بواسطة auditd.session. جميع الأحداث في سلسلة الاستغلال تشترك في session=2، مما يربط التسلسل بشكل صحيح بغض النظر عن عمق التفرع.

7.4 نتيجة التنبيه

3 تنبيهات عالية الخطورة، درجة المخاطرة 73، في تنبيهات Kibana الأمنية في 2026-05-24T10:25:57Z UTC (12:25:57 CEST).

التنبيهالطابع الزمني (UTC)الإشارة
تطابق التسلسل - حدث unshare10:25:57.869العملية=clean_frag، المستخدم=saskia (uid=1001)
تطابق التسلسل - واجهة أوامر الجذر10:25:57.881العملية=bash، المستخدم=الجذر (uid=0)
  • القاعدة: DirtyFrag - التلاعب بمساحات الأسماء متبوع بتصعيد الامتيازات
  • الخطورة: عالية
  • درجة المخاطرة: 73
  • المضيف: ubuntu-vuln

تفاصيل تنبيه Kibana - درجة المخاطرة 73، الحالة مفتوحة

نظرة عامة على تنبيه Kibana - 3 تنبيهات عالية على ubuntu-vuln


8. مرجع الكشف

تعيين MITRE ATT&CK

قيم استدعاءات النظام الرئيسية

استعلامات مرجع KQL

جميع أحداث auditd المتعلقة بـ dirtyfrag:```kql data_stream.dataset: "auditd_manager.auditd" and auditd.summary.how: dirtyfrag

root@kitploit:~
**التلاعب بالمساحات الاسمية من قبل غير الجذر:**```kql
data_stream.dataset: "auditd_manager.auditd" and auditd.data.syscall: "unshare" and auditd.data.a0: "50000000"

نشاط الجذر بعد التصعيد في نفس الجلسة:```kql data_stream.dataset: "auditd_manager.auditd" and user.id: "0" and auditd.session: "2"

root@kitploit:~
**جميع أحداث auditd خلال نافذة الاستغلال:**```kql
data_stream.dataset: "auditd_manager.auditd" and @timestamp >= "2026-05-24T10:20:00Z" and @timestamp <= "2026-05-24T10:30:00Z"

استدعاءات النظام Socket و splice من عملية الاستغلال:```kql data_stream.dataset: "auditd_manager.auditd" and auditd.summary.how: "/tmp/exp/clean_frag"

root@kitploit:~
---

### ٩. ملخص النتائج الرئيسية

| # | النتيجة | الخطورة | تمت المعالجة |
| - | ------- | -------- | ---------- |
| 1 | قواعد auditd الافتراضية تفتقد `socket`، `splice`، `unshare` - لا دليل بدون قواعد صريحة | حرجة | نعم - تم نشر قواعد مخصصة في `/etc/audit/rules.d/dirtyfrag.rules` |
| 2 | ارتباط EQL بواسطة `process.parent.pid` يفشل في سلاسل الاستغلال المتفرعة | عالية | نعم - تم التغيير إلى `auditd.session` |
| 3 | مراقبة سلامة الملفات عمياء تجاه DirtyFrag - الملفات على القرص لم تتغير طوال الوقت | عالية | لا يوجد علاج داخل النطاق - إصلاح النواة هو الحل |
| 4 | بعد الاستغلال: ملف الظل، مفاتيح SSH، واستطلاع الشبكة كلها نُفذت كجذر قبل أي استجابة قائمة على التنبيهات | عالية | تم الكشف عبر سجلات auditd؛ لم يتم إطلاق قاعدة مخصصة للوصول إلى بيانات الاعتماد أو مرحلة الاستطلاع |

---

### ١٠. المراجع

- Elastic Security Labs: [Copy Fail and DirtyFrag: Linux Page Bugs in the Wild](https://www.elastic.co/security-labs/copy-fail-dirtyfrag-linux-page-bugs-in-the-wild)
- إثبات المفهوم العام: [V4bel/dirtyfrag على GitHub](https://github.com/V4bel/dirtyfrag)
- MITRE ATT&CK: [T1068 - الاستغلال لتصعيد الامتيازات](https://attack.mitre.org/techniques/T1068/)
- MITRE ATT&CK: [TA0004 - تصعيد الامتيازات](https://attack.mitre.org/tactics/TA0004/)
- MITRE ATT&CK: [T1003.008 - /etc/passwd و /etc/shadow](https://attack.mitre.org/techniques/T1003/008/)
تنزيل الأداة
العنصرالتفصيل
الثغرةDirtyFrag - CVE-2026-43284 (مسار xfrm-ESP)، CVE-2026-43500 (مسار RxRPC)
تأثير CVSSتصعيد صلاحيات محلي كامل إلى root
النوى المتأثرةنواة Linux >= يناير 2017 (عمر 9 سنوات)
التوزيعات المتأثرةUbuntu 24.04.4، RHEL 10.1، AlmaLinux 10، openSUSE، CentOS Stream 10، Fedora 44
تجاوز سلامة الملفاتالملفات على القرص لم تتغير - AIDE، Tripwire، مراقبة التجزئة جميعها تبلغ عن نظافة الملفات
PoC عاممتوفر (V4bel/dirtyfrag على GitHub)
الوقت إلى root< 10 دقائق من موطئ القدم بصلاحيات منخفضة
الأولويةالإجراء
فوريةتصحيح نواة Linux إلى إصدار مُصلح على جميع المضيفات. تطبيق النصائح الأمنية من البائعين لـ Ubuntu و RHEL و AlmaLinux و openSUSE و CentOS و Fedora.
قصيرة المدىنشر قواعد استدعاء نظام auditd صريحة لـ socket و splice و unshare على جميع مضيفات Linux المراقبة بواسطة Elastic Agent.
قصيرة المدىتحديث قواعد الكشف EQL للارتباط بواسطة auditd.session بدلاً من process.parent.pid لتسلسلات معالجة مساحة الاسم.
مستمرةالتعامل مع تنبيهات تصعيد الصلاحيات ذات درجة المخاطرة >= 73 كأولوية عالية في الفرز. القاعدة الحالية تُطلق في غضون ثوانٍ من التصعيد.
CVEالاسم المستعارالمقدَمالمسار
CVE-2022-0847Dirty Pipe-pipe
CVE-2026-31431Copy Fail-splice
CVE-2026-43284DirtyFragيناير 2017 (الالتزام cac2661c53f3)xfrm-ESP
CVE-2026-43500DirtyFragيونيو 2023 (الالتزام 2dc334f1a63a)RxRPC
المكونالتفاصيل
خادم Fleet / مضيف ELKubuntu-tm / elk-docker - 172.66.66.30 (داخلي للمختبر)
حزمة Elasticv9.4.1 (Elasticsearch، Kibana، Logstash - Docker)
المضيف المستهدف (الضحية)ubuntu-vuln - 172.66.66.27
نواة الضحية6.0.0-22-generic (قابلة للاختراق)
مستخدم الضحيةsaskia - uid=1001، مجموعات=1001(saskia)،27(sudo)،100(users)
Elastic Agentv9.4.1 مع auditbeat
نظام كشف الشبكات (NIDS)Suricata 8.0.5 على مستشعر مخصص
Kibanahttp://172.66.66.30:5601 (داخلي للمختبر)
مجموعة البياناتالنسبة
suricata.eve75.2%
elastic_agent.fleet_server10.8%
elastic_agent9.1%
elastic_agent.filebeat1.9%
elastic_agent.auditbeat1.4%
auditd_manager.auditd0.5%
system.auth0.2%
system.syslog0.1%
الطابع الزمني (UTC)استدعاء النظامالوسيطةالعملية (pid)المستخدم
10:21:11.054unsharea0=50000000clean_frag (4327)saskia (1001)
10:21:11.055socketa0=21 (AF_RXRPC)clean_frag (4326)saskia (1001)
10:21:17.403socketa0=26 (AF_ALG)clean_frag (4326)saskia (1001)
10:21:17.419splicea0=4clean_frag (4326)saskia (1001)
10:21:17.419splicea0=7clean_frag (4326)saskia (1001)
العمليةPIDPPIDUIDجلسة auditd
shell (saskia)4182-10012
clean_frag (الرئيسي)4326418210012
clean_frag (طفل unshare)4327432610012
bash (الجذر)-445102
تنبيه التسلسل المركب10:25:57.893المضيف=ubuntu-vuln
التكتيكالتقنيةالمعرف
تصعيد الامتيازاتالاستغلال لتصعيد الامتيازاتT1068
تصعيد الامتيازاتالهروب إلى المضيفT1611
الوصول إلى بيانات الاعتمادتفريغ بيانات اعتماد نظام التشغيل: /etc/passwd و /etc/shadowT1003.008
الاكتشافاكتشاف خدمة الشبكةT1046
استدعاء النظامالوسيطةالمعنى
unsharea0=50000000CLONE_NEWUSER | CLONE_NEWNET
socketa0=26AF_ALG (النظام الفرعي للتشفير في النواة)
socketa0=21AF_RXRPC (مسار RxRPC)
bindsocket.family=38ربط AF_ALG
splice-حقن الصفحات في مخازن الشبكة المؤقتة