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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/boyan-milanov/ropium
أطر الاستغلالالهندسة العكسيةشيل كودتطوير الحمولاتاستغلال الملفات الثنائية
GitHubboyan-milanov/ropium

ropium

أداة بناء سلسلة ROP تلقائية تستخرج وتحلل الأدوات الصغيرة (gadgets) من الملفات الثنائية باستخدام استعلامات دلالية، وتدعم معماريات X86/X64 مع واجهة برمجة تطبيقات Python وواجهة سطر الأوامر.

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

الأكثر شعبية

عرض الكل →

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

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

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

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




نبذة

ROPium (سابقًا ROPGenerator) هي مكتبة/أداة تُسهّل استغلال ROP. تقوم تلقائيًا باستخراج وتحليل الـ gadgets من الملفات الثنائية وتتيح لك العثور على سلاسل ROP باستخدام استعلامات دلالية. يدعم ROPium بنيتي X86 و X64، وسيتم تمديده قريبًا ليشمل ARM.

الميزات الرئيسية:

  • سهولة الاستخدام: يعمل ROPium فورًا مع واجهة أوامر سلسة
  • واجهة برمجة تطبيقات بايثون: من السهل دمج ROPium في النصوص البرمجية بفضل واجهة API الخاصة به بلغة بايثون
  • التسلسل التلقائي: يقوم ROPium تلقائيًا بدمج الـ gadgets لإنشاء سلاسل ROP معقدة
  • ميزات متقدمة: يدعم ROPium استدعاءات الدوال لمختلف ABIs، استدعاءات النظام، ...
  • استعلامات دلالية: استعلامات ROPium سريعة ومريحة للكتابة: rax=rbx+8، [rdi+0x20]=rax، rsi=[rbx+16]، 0x08040212(1, 2, rax)، [0xdeadbeaf] = "/bin/sh\x00"، sys_execve(0xdeadbeef, 0, 0)، sys_0x1(0)، ...

المحتوى

  • نبذة
  • التثبيت
  • بدء الاستخدام
    • أداة CLI
    • واجهة برمجة تطبيقات بايثون
  • دوكر
  • الاتصال
  • الترخيص
  • شكر خاص

التثبيت

أولاً، قم بتثبيت إطار العمل Capstone لفك التجميع:

root@kitploit:~
  sudo apt-get install libcapstone-dev

تحتاج أيضًا إلى أحدث إصدار من ROPgadget:

root@kitploit:~
  git clone https://github.com/JonathanSalwan/ROPgadget && cd ROPgadget
  python setup.py install --user 

لاستخدام أداة CLI، قم بتثبيت prompt_toolkit:

root@kitploit:~
  pip3 install prompt_toolkit

أخيرًا، قم بتثبيت ROPium:

root@kitploit:~
  git clone https://github.com/Boyan-MILANOV/ropium && cd ropium
  make
  make test
  sudo make install 

بدء الاستخدام

أداة CLI

بفضل الغلاف التفاعلي لواجهة الأوامر، يمكنك استخدام ROPium بشكل تفاعلي لبناء سلاسل ROP بسرعة:

واجهة برمجة تطبيقات بايثون

هل تحتاج إلى دمج سلاسل ROP مباشرة في نصوصك البرمجية؟ أخبار سارة، ROPium لديه واجهة API بلغة بايثون!

تحميل ملف ثنائي والعثور على سلاسل ROP:

root@kitploit:~
from ropium import *
rop = ROPium(ARCH.X64)
rop.load('/lib/x86_64-linux-gnu/libc-2.27.so')

chain = rop.compile('rbx = [rax + 0x20]')

تصدير سلسلة ROP بتنسيقات مختلفة:

root@kitploit:~
>>> print( chain.dump() )

0x000000000009a851 (sub rax, 0x10; ret)
0x0000000000130018 (mov rax, qword ptr [rax + 0x30]; ret)
0x0000000000052240 (push rax; pop rbx; ret)

>>> print(chain.dump('python'))

from struct import pack
off = 0x0
p = ''
p += pack('<Q', 0x000000000009a851+off) # sub rax, 0x10; ret
p += pack('<Q', 0x0000000000130018+off) # mov rax, qword ptr [rax + 0x30]; ret
p += pack('<Q', 0x0000000000052240+off) # push rax; pop rbx; ret

>>> print(chain.dump('raw'))

b'Q\xa8\t\x00\x00\x00\x00\x00\x18\x00\x13\x00\x00\x00\x00\x00@"\x05\x00\x00\x00\x00\x00'

تعيين قيود على سلاسل ROP:

root@kitploit:~
# البايتات التي يجب ألا تظهر في سلسلة ROP
rop.bad_bytes = [0x00, 0x0a, 0x0b]

# المسجلات التي يجب ألا يتم تغييرها بواسطة سلسلة ROP
rop.keep_regs = ['rsi', 'rdx']

# تمكين/منع سلسلة ROP من إلغاء الإشارة إلى مسجلات قد تحتوي على عناوين غير صالحة
# وضع الأمان هو 'True' افتراضيًا
rop.safe_mem = False

# تحديد ABI الذي تريد استخدامه عند استدعاء الدوال
rop.abi = ABI.X86_CDECL

# تحديد النظام المستهدف عند إجراء استدعاءات النظام
rop.os = OS.LINUX

دوكر

إذا لزم الأمر، يمكنك تشغيل ROPium في حاوية دوكر. يمكن إنشاء الحاوية من ملف Dockerfile كما يلي:

root@kitploit:~
# إنشاء صورة دوكر الخاصة بك (سيستغرق هذا وقتًا!)
docker build . --tag ropium

# تشغيل الصورة في الوضع التفاعلي، مع ربط الملف المراد تحليله
docker run --rm -it -v /FULL/HOST/PATH/FILE:/tmp/FILE:ro ropium

(ropium)> load -a X86 /tmp/FILE

تبلغ مساحة الصورة الفعلية حوالي 200 ميغابايت، وهي مبنية على Debian Stretch مع تثبيت Python 3.7.3.

الاتصال

Boyan MILANOV - boyan.milanov (at) hotmail (dot) fr

الترخيص

ROPium مُرخَّص بموجب ترخيص MIT.

شكر خاص

المساهمون:

  • دعم حاوية دوكر: migounette, clslgrnc

يستخدم ROPium المشاريع الرائعة التالية:

  • capstone : إطار عمل لفك التجميع
  • ROPgadget : أداة استخراج الـ gadgets
  • prompt-toolkit : مكتبة واجهة أوامر بايثون
تنزيل الأداة