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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BinProxy — BinProxy هو وكيل للاتصالات TCP العشوائية. يمكنك تعريف تنسيقات الرسائل المخصصة باستخدام gem BinData. | Kitploit
أدوات/GitHubGitHub/nccgroup/binproxy
التقاط وتحليل الحزمبروكسيات الويب والاعتراضأمن الشبكاتاختبار الاختراق
GitHubnccgroup/binproxy

BinProxy

BinProxy هو وكيل للاتصالات TCP العشوائية. يمكنك تعريف تنسيقات الرسائل المخصصة باستخدام gem BinData.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

نظرة عامة

BinProxy هو وكيل (proxy) للاتصالات TCP العشوائية. يمكنك تعريف تنسيقات رسائل مخصصة باستخدام جوهرة BinData.

التثبيت

المتطلبات الأساسية

  • Ruby 2.3 أو أحدث
  • هناك حاجة إلى مترجم C، ورؤوس Ruby، إلخ، لتجميع العديد من التبعيات.
    • على أوبونتو، الأمر sudo apt install build-essential ruby-dev يجب أن يكون كافياً.
    • إذا قمت بتثبيت Ruby مخصص (مثل باستخدام RVM)، فمن المحتمل أن لديك بالفعل ما تحتاجه.
  • ملف ثنائي openssl لـ --tls بدون شهادة/مفتاح صريح.
  • لبناء واجهة المستخدم، node.js و npm. (غير مطلوب في وقت التشغيل)

من Rubygems

root@kitploit:~
gem install binproxy

قد تحتاج إلى استخدام sudo، اعتمادًا على تثبيت Ruby لديك.

من المصدر

root@kitploit:~
git clone https://github.com/nccgroup/BinProxy.git binproxy
cd binproxy

# Install ruby dependencies.
# Depending on your setup, one or both of these may require sudo.
gem install bundler && bundle

# The UI is built with a webpack/babel toolchain:
(cd ui && npm install) \
  && rake build-ui

# Confirm that everything works
# run.sh sets up the environment and passes all args to binproxy
./run.sh --help

لبناء وتثبيت حزمة الجوهرة:

root@kitploit:~
gem build binproxy.gemspec

# Again, you may need sudo here
gem install binproxy-1.0.0.gem

تقارير الأخطاء حول مشكلات التثبيت مرحب بها!

الاستخدام

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

  1. قم بتشغيل binproxy بدون وسائط.
  2. تصفّح إلى http://localhost:4567/
  3. أدخل أسماء المضيفين المحلي والبعيد أو عناوين IP والمنافذ، وانقر على 'update'
  4. وجّه عميلاً إلى الخدمة المحلية، وشاهد تدفق الحزم.

خيارات سطر الأوامر

انظر --help للحصول على القائمة الكاملة، ولكن باختصار:

root@kitploit:~
binproxy -c <class> [<local-host>] <local-port> <remote-host> <remote-port>

إذا تركت الوسيطة -c، فسيظهر تفريغ سداسي عشري بسيط.

إذا تركت المضيف المحلي، يفترض binproxy أنه localhost.

مع خيارات --socks-proxy أو --http-proxy، يتم تحديد المضيف والمنفذ البعيدين ديناميكيًا، ولا ينبغي تحديدهما.

أمثلة

root@kitploit:~
# Proxy from localhost:9000 -> example.com:9000
binproxy localhost 9000 example.com 9000

# Act as a SOCKS proxy on localhost:1080
# MITM and unwrap TLS on the proxied traffic, using a self-signed cert and key
binproxy -S --tls 1080

# "Poor substitute for Burp" mode:
#
# HTTP proxy; MITM TLS w/ pre-generated cert; simple header parsing
# Note: this will only work on HTTPS traffic, not plain HTTP!
# If you're working with the source repo, you generate the certs with:
#   rake makecert[example.com]
# And then import certs/ca-cert.pem into your browser or OS's trust store.
binproxy -H --tls \
  --tls-cert certs/example.com-cert.pem \
  --tls-key certs/example.com-key.pem \
  --class-name DumbHttp::Message \
  localhost 8080

التخصيص

افتراضيًا، يستخدم الوكيل الفئة المضمنة RawMessage، والتي تعطيك تفريغًا سداسي عشريًا لكل رسالة (بافتراض تطابق 1:1 بين الرسائل وحزم TCP)

يمكنك عرض معلومات البروتوكول المُحلَّلة عن طريق تحديد فئة فرعية من BinData::Record† مع وسيطة سطر الأوامر --class.

قد ترغب أيضًا في تعريف ما يلي في فئتك:

root@kitploit:~
def summary
  # return a single-line description of this record
end

# currently supported options are
#   - nil : use default display
#   - "anon" : for structs, show contents directly
#   - "hex" : for numbers, display as 0x1234ABCD
#   - "hexdump" : for strings, display like `hexdump -C`
default_parameter display_as: "..."

# TODO: document state stuff
def self.initial_state
end

def current_state
end

def update_state
end

† تقنيًا، أي فئة فرعية من BinData::Base ستعمل.

الوكالة الديناميكية

افتراضيًا، يقوم BinProxy بإعادة توجيه كل حركة المرور إلى مضيف ومنفذ ثابتين. يمكن أيضًا تكوينه ليعمل كوكيل SOCKS (v4 أو v4a) أو وكيل HTTP باستخدام العلامات --socks-proxy و --http-proxy على التوالي.

ملاحظة: حاليًا، يدعم وكيل HTTP فقط الاتصالات المُنفقة عبر فعل HTTP CONNNECT؛ لا يمكنه وكالة طلبات HTTP الخام مثل GET و POST إلخ. عمليًا، هذا يعني أن حركة مرور HTTPS ستعمل، لكن حركة مرور HTTP العادية لن تعمل ما لم يدعم العميل علامة لفرض النفق، مثل curl -p.

TLS / SSL

استخدم العلامة --tls لفك تشفير TLS قبل معالجة الرسائل. افتراضيًا، سيولد BinProxy شهادة موقعة ذاتيًا. يمكنك تحديد ملفات PEM تحتوي على شهادة ومفتاح باستخدام --tls-cert و --tls-key. (إذا قمت بنسخ المستودع المصدر، استخدم rake makecert[example.com] لإنشاء هيئة تصديق ثابتة وشهادة باسم المضيف المناسب.)

المشكلات المعروفة

  • تم تصميم وظيفة وكيل HTTP على عجل في اللحظة الأخيرة وهي ليست قوية بشكل خاص.

انظر أيضًا ملف TODO للحصول على أفكار عشوائية وعناصر قائمة الرغبات.

الإسناد

وظيفة وكيل TCP الأساسية لـ BinProxy نشأت في وكيل لأغراض خاصة كتبه Sean Devlin. ساهم Rusty Burchfield في واجهة مستخدم HTML لهذا الوكيل. على الرغم من أن جزءًا كبيرًا من الكود قد تغير بحيث لا يمكن إلقاء اللوم عليهما في أي أخطاء حالية، إلا أن BinProxy ربما لم يكن موجودًا بدون عمل كلاهما.

تنزيل الأداة