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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pybof — Python module for running BOFs | Kitploit
أدوات/GitHubGitHub/rkbennett/pybof
Post-ExploitationPenetration TestingRed Teaming
GitHubrkbennett/pybof

pybof

Python module for running BOFs

عرض المستودع
8010منذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PyBOF

تشغيل ملفات Beacon Object عبر Python

التحميل والتنفيذ في الذاكرة لملفات BOF

يتيح PyBOF للغة Python3 تحميل ملفات Beacon Object عبر وحدات البايت وتنفيذ دالة BOF المستهدفة داخل مترجم Python

الاستخدام الأساسي

تشغيل BOF بسيط بدون وسائط مطلوبة

root@kitploit:~
data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data)

تمرير وسيطة نصية خام إلى BOF

root@kitploit:~
data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data, args=["foo"], raw=True)
# Raw cannot be used with function kwarg

تمرير وسائط معبأة/منسقة إلى BOF

root@kitploit:~
data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data, args=[r"c:\users"], format="Z")

مثال عملي للتنفيذ

root@kitploit:~
import bof
from urllib.request import urlopen
data = urlopen("https://github.com/trustedsec/CS-Situational-Awareness-BOF/raw/master/SA/dir/dir.x64.o").read()
bof.run(data, args=[r"c:\users"], format="Z")

Args/Kwargs

هناك عدة وسائط يمكن استخدامها مع PyBOF، وهي موصوفة بالتفصيل أدناه

data

وسيطة موضعية أولى إلزامية، ويجب أن تكون كائن bytes يحتوي على المحتوى الخام لملف BOF

args

وسيطة كلمة مفتاحية اختيارية، وهي قائمة من الوسائط يتم تمريرها إلى دالة BOF المستهدفة

function

وسيطة كلمة مفتاحية اختيارية، وهي اسم دالة الهدف منسق كنص ليتم تنفيذه من ملف BOF المقدم، وتكون القيمة الافتراضية لها go

format (ملاحظة - تم تحديث هذه مؤخرًا)

وسيطة كلمة مفتاحية اختيارية عبارة عن نص، تعرّف أداة تعبئة وسائط BOF بأنواع الوسائط أثناء تعبئتها في المخزن المؤقت. هذا مشابه لوسيطة التنسيق من struct.pack. خيارات التنسيق الصالحة الوحيدة هي كما يلي:
i للعدد الصحيح (integer)
s للعدد القصير (short)
z للنص (string)
b للبيانات الثنائية (binary)
Z للنص العريض (wide)

يجب توفير نوع تنسيق واحد على الأقل لكل وسيطة في قائمة الوسائط. لا يمكن استخدام وسيطة الكلمة المفتاحية هذه مع raw

raw

وسيطة كلمة مفتاحية اختيارية وهي قيمة منطقية (boolean) تمرر الوسائط كنص مفصول بمسافات دون تعبئتها، بدلاً من محاولة تعبئة الوسائط المنسقة لدالة BOF. لا يمكن استخدام وسيطة الكلمة المفتاحية هذه مع format

البناء

استنسخ هذا المستودع

root@kitploit:~
git clone https://github.com/rkbennett/pybof.git

ابنِ امتداد _bof بلغة C

root@kitploit:~
cd pybof\src
python .\setup.py build

انسخ ملف pyd الناتج إلى دليل bof

root@kitploit:~
copy build\lib.win-xxx-cpython-3xx\_bof.cp3xx-win_xxxx.pyd ..\bof\

انتقل إلى الدليل الأصل لدليل bof، ثم قم بالاستيراد واستمتع

root@kitploit:~
cd ..\
python
>>> import bof
>>> from urllib.request import urlopen
>>> data = urlopen("https://github.com/trustedsec/CS-Situational-Awareness-BOF/raw/master/SA/dir/dir.x64.o").read()
>>> bof.run(data, args=[r"c:\users"], format="Z")

مزالق

إذا لم تُرجع دالة BOF قيمةً، أقوم بإصدار تحذير لتنبيه المستخدم إلى حقيقة عدم إرجاع أي شيء. أفترض أن هذا على الأرجح ليس النتيجة المقصودة من التنفيذ، لكنني لم أرغب في إلقاء أخطاء قاسية. If you run a BOF function and receive the no output warning, keep in mind that your args formatting may need defined or may be defined incorrectly وهو ما يمكن أن يسبب هذه المشكلة (خاصة عند استخدام string بدلاً من wide)

شكر خاص

  • natesubra - لإجابته على أسئلتي العشوائية
  • trustedsec - لملف COFFLoader الذي قمت بتضمينه في وحدة PyBof الخاصة بي (الترخيص مضمّن في src/source)
تنزيل الأداة