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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Venom — Venom - وكيل متعدد القفزات لمختبرِي الاختراق | Kitploit
أدوات/GitHubGitHub/dliv3/venom
أدوات التشفير/فك التشفيرتخطيط الشبكةاختبار الاختراقالقيادة والسيطرةالفريق الأحمرأداة الوصول عن بعد
GitHubdliv3/venom

Venom

Venom - وكيل متعدد القفزات لمختبرِي الاختراق

عرض المستودع
2.2k358منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Venom - وكيل متعدد القفزات لاختبار الاختراق

الصينية المبسطة | English

Venom هي أداة وكيل متعدد المستويات مُطوَّرة بلغة Go ومصممة لمختبري الاختراق.

تسمح Venom بربط عدة عقد، ثم استخدام هذه العقد كمنصات انطلاق لبناء وكيل متعدد المستويات.

يمكن لمختبري الاختراق استخدام Venom بسهولة لتوجيه حركة مرور الشبكة عبر طبقات متعددة من الشبكات الداخلية، وإدارة عقد الوكيل بسهولة.

هذه الأداة مخصصة للبحث الأمني والتعليم فقط، ويتحمل المستخدم جميع المسؤوليات القانونية وما يتعلق بها نتيجة استخدام هذه الأداة! المؤلف لا يتحمل أي مسؤولية قانونية أو ذات صلة!

الميزات

  • هيكل شبكة مرئي
  • وكيل SOCKS5 متعدد المستويات
  • إعادة توجيه المنافذ متعدد المستويات
  • إعادة استخدام المنافذ (Apache/MySQL/...)
  • نفق SSH
  • شل تفاعلي
  • رفع وتنزيل الملفات
  • تشفير الاتصالات بين العقد
  • دعم منصات متعددة (Linux/Windows/MacOS) ومعماريات متعددة (x86/x64/arm/mips)

نظرًا لأن أجهزة إنترنت الأشياء (معماريات arm/mips/...) عادةً ما تكون محدودة الموارد، ومن أجل تقليل حجم الملف الثنائي، فإن الملفات الثنائية المترجمة لبيئة إنترنت الأشياء في هذا المشروع لا تدعم ميزتَي إعادة استخدام المنافذ ونفق SSH، كما أنها تحد من عدد الاتصالات المتزامنة وحجم المخزن المؤقت لتقليل استخدام الذاكرة.

التثبيت

يمكنك تنزيل واستخدام الملفات التنفيذية المترجمة مباشرة من الإصدارات

إذا كنت ترغب في ترجمة المشروع من المصدر، فستحتاج إلى تثبيت go >= 1.11، ثم تنفيذ الأوامر التالية:

root@kitploit:~
go get -u github.com/Dliv3/Venom/...

# $GOPATH هو متغير بيئة تم تكوينه عند تثبيت Go، ويمكن التحقق منه باستخدام الأمر go env
cd $GOPATH/src/github.com/Dliv3/Venom

# الملفات الثنائية المترجمة تُخزَّن في مجلد release داخل الدليل الحالي
./build.sh

الاستخدام

فيديو توضيحي على اليوتيوب: https://www.youtube.com/playlist?list=PLtZO9vwOND91vZ7yCmlAvISmEl2iQKjdI

1. معاملات سطر الأوامر لـ admin/agent

  • يمكن لكل من عقدة admin وعقدة agent الاستماع للاتصالات أو بدء الاتصالات

    عقدة admin تستمع على منفذ، وعقدة agent تبدأ الاتصال:

    root@kitploit:~
    ./admin_macos_x64 -lport 9999
    
    root@kitploit:~
    ./agent_linux_x64 -rhost 192.168.0.103 -rport 9999
    

    عقدة agent تستمع على منفذ، وعقدة admin تبدأ الاتصال:

    root@kitploit:~
    ./agent_linux_x64 -lport 8888
    
    root@kitploit:~
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 8888
    
  • عقدة agent تدعم إعادة استخدام المنافذ

    توفر agent طريقتين لإعادة استخدام المنافذ:

    1. عبر خيارَي SO_REUSEPORT و SO_REUSEADDR لإعادة استخدام المنفذ
    2. عبر iptables لإعادة استخدام المنفذ (يدعم منصة Linux فقط)

    باستخدام ميزة إعادة استخدام المنافذ التي توفرها Venom، يمكن على Windows إعادة استخدام منافذ خدمات مثل Apache وMySQL، ولا يمكن حاليًا إعادة استخدام منافذ خدمات مثل RDP وIIS، بينما يمكن على Linux إعادة استخدام معظم منافذ الخدمات. تظل المنافذ المُعاد استخدامها قادرة على تقديم خدماتها الأصلية بشكل طبيعي.

    الطريقة الأولى لإعادة استخدام المنافذ

    root@kitploit:~
    # مثال على Apache تحت Windows
    # إعادة استخدام منفذ Apache 80، دون التأثير على خدمة http العادية لـ Apache
    # قيمة -lhost هي عنوان IP المحلي، لا يمكن كتابة 0.0.0.0 وإلا فلن تنجح إعادة استخدام المنفذ
    ./agent.exe -lhost 192.168.204.139 -reuse-port 80
    
    root@kitploit:~
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 80
    

    الطريقة الثانية لإعادة استخدام المنافذ

    root@kitploit:~

2. الأوامر المدمجة في عقدة admin

  • help طباعة معلومات المساعدة

    root@kitploit:~
    (admin node) >>> help
    
      help                                     معلومات المساعدة.
      exit                                     الخروج.
      show                                     عرض هيكل الشبكة.
      getdes                                   عرض وصف العقدة الهدف.
      setdes     [info]                        إضافة وصف للعقدة الهدف.
      goto       [id]                          تحديد id كعقدة هدف.
      listen     [lport]                       الاستماع على منفذ على العقدة الهدف.
      connect    [rhost] [rport]               الاتصال بعقدة جديدة عبر العقدة الهدف.
      sshconnect [user@ip:port] [dport]        الاتصال بعقدة جديدة عبر نفق SSH.
      shell                                    بدء شل تفاعلي على العقدة الهدف.
      upload     [local_file]  [remote_file]   رفع ملفات إلى العقدة الهدف.
      download   [remote_file]  [local_file]   تنزيل ملفات من العقدة الهدف.
      socks      [lport]                       بدء خادم SOCKS5.
      lforward   [lhost] [sport] [dport]       إعادة توجيه منفذ محلي إلى منفذ بعيد.
      rforward   [rhost] [sport] [dport]       إعادة توجيه منفذ بعيد إلى منفذ محلي.
      
    
  • show عرض هيكل الشبكة

    A تمثل عقدة admin، الأرقام تمثل عقد agent

    يوضح هيكل الشبكة أدناه أن عقدة admin متصلة بالعقدة 1، والعقدة 1 متصلة بالعقدتين 2 و4، والعقدة 2 متصلة بالعقدة 3

    root@kitploit:~
    (node 1) >>> show
    A
    + -- 1
         + -- 2
              + -- 3
         + -- 4
    

    يجب ملاحظة أنه لتشغيل العقد الجديدة، يجب أولاً تنفيذ الأمر show في عقدة admin لمزامنة هيكل الشبكة وأرقام العقد.

  • الانتقال إلى عقدة معينة

3. ملاحظات هامة

  • في الوقت الحالي، يتم دعم عقدة admin واحدة فقط لإدارة الشبكة.
  • لتشغيل العقد الجديدة، يجب أولاً تنفيذ الأمر show في عقدة admin لمزامنة هيكل الشبكة وأرقام العقد.
  • عند استخدام الطريقة الثانية لإعادة استخدام المنافذ (القائمة على iptables)، يجب عليك استخدام script/port_reuse.py لتفعيل قواعد إعادة استخدام المنافذ التي تم تعيينها بواسطة agent على الجهاز الهدف.

المهام المستقبلية

  • التكامل مع regeorg
  • إدارة الشبكة بواسطة عدة عقد admin في نفس الوقت
  • تشفير حركة المرور بين العقد
  • دعم UDP عبر SOCKS5
  • التكامل مع meterpreter (قيد الانتظار)
  • واجهة RESTful API
  • إيقاف الوكيل وإعادة توجيه المنافذ

الشكر والتقدير

  • rootkiter#Termite
  • ring04h#s5.go
  • n1nty#التحكم عن بعد في IPTables لإعادة استخدام المنافذ
تنزيل الأداة
# مثال على Apache تحت Linux # تتطلب صلاحيات الجذر sudo ./agent_linux_x64 -lport 8080 -reuse-port 80

تضع هذه الطريقة قواعد iptables على الجهاز المحلي لتوجيه حركة المرور من reuse-port إلى lport، ثم تقوم agent بتوزيع حركة المرور.

يجب ملاحظة أنه إذا تم إنهاء البرنامج عبر إشارات sigterm أو sigint (kill أو ctrl-c)، يمكن للبرنامج تنظيف قواعد iptables تلقائيًا. إذا تم قتل agent باستخدام kill -9، فلن يتمكن من تنظيف قواعد iptables تلقائيًا، وسيتطلب ذلك التنظيف اليدوي لأن برنامج agent لا يمكنه معالجة إشارة sigkill.

لتجنب عدم قدرة قواعد iptables على التنظيف التلقائي مما يؤدي إلى عدم قدرة المخترق على الوصول إلى خدمة المنفذ 80، تستخدم الطريقة الثانية iptables -m recent للتحكم في تشغيل قواعد إعادة التوجيه عبر حزم TCP خاصة.

يعتمد التنفيذ هنا على https://threathunter.org/topic/594545184ea5b2f5516e2033

root@kitploit:~
# تشغيل agent على الجهاز Linux يضع قواعد iptables
# إذا كان rhost في الشبكة الداخلية، يمكن استخدام وكيل SOCKS5 لتوجيه حركة مرور السكريبت، راجع استخدام وكيل SOCKS5 أدناه
python scripts/port_reuse.py --start --rhost 192.168.204.135 --rport 80

# الاتصال بعقدة agent
./admin_macos_x64 -rhost 192.168.204.135 -rport 80

# لإيقاف قواعد إعادة التوجيه
python scripts/port_reuse.py --stop --rhost 192.168.204.135 --rport 80
  • تشفير الاتصالات بين العقد

    توفر Venom تشفير الاتصالات بين العقد، ويمكن للمستخدم تحديد كلمة مرور عبر خيار -passwd لإنشاء مفتاح التشفير AES.

    root@kitploit:~
    # تحديد كلمة المرور عبر -passwd كـ dlive@dubhe
    ./admin_macos_x64 -lport 8889 -passwd dlive@dubhe
    
    # agent يحدد نفس كلمة المرور للاتصال بعقدة admin
    ./agent_macos_x64 -rhost 192.168.0.103 -rport 8889 -passwd dlive@dubhe
    
  • goto
    root@kitploit:~
    (admin node) >>> goto 1
    (node 1) >>> 
    

    بعد الانتقال إلى عقدة معينة، يمكنك استخدام الأوامر التالية.

  • getdes/setdes الحصول على/تعيين وصف العقدة

    root@kitploit:~
    (node 1) >>> setdes linux x64 blahblahblah
    (node 1) >>> getdes
    linux x64 blahblahblah
    
  • connect/listen/sshconnect الاتصال بين العقد

    العقدة node 1 تتصل بالمنفذ 9999 لـ 192.168.0.103

    root@kitploit:~
    (node 1) >>> connect 192.168.0.103 9999
    connect to 192.168.0.103 9999
    successfully connect to the remote port!
    (node 1) >>> show
    A
    + -- 1
         + -- 2
    

    الاستماع على المنفذ 9997 في العقدة node1، ثم تشغيل ./agent_linux_x64 -rhost 192.168.204.139 -rport 9997 على جهاز آخر للاتصال بـ node1

    root@kitploit:~
    (node 1) >>> listen 9997
    listen 9997
    the port 9997 is successfully listening on the remote node!
    (node 1) >>> show
    A
    + -- 1
         + -- 2
         + -- 3
    

    على 192.168.0.104، قم بتشغيل ./agent_linux_x64 -lport 9999، ثم node3 يتصل بالمنفذ 9999 لـ 192.168.0.104 عبر نفق SSH باستخدام sshconnect. يمكنك استخدام كلمة المرور أو مفتاح SSH للمصادقة.

    root@kitploit:~
    (node 1) >>> goto 3
    (node 3) >>> sshconnect [email protected]:22 9999
    use password (1) / ssh key (2)? 2
    file path of ssh key: /Users/dlive/.ssh/id_rsa
    connect to target host's 9999 through ssh tunnel ([email protected]:22).
    ssh successfully connects to the remote node!
    (node 3) >>> show
    A
    + -- 1
         + -- 2
         + -- 3
              + -- 4
    
  • shell الحصول على شل تفاعلي للعقدة

    root@kitploit:~
    (node 1) >>> shell
    You can execute commands in this shell :D, 'exit' to exit.
    bash: no job control in this shell
    bash-3.2$ whoami
    whoami
    dlive
    bash-3.2$ exit
    exit
    exit
    
  • upload/download رفع/تنزيل الملفات من/إلى العقدة

    رفع الملف المحلي /tmp/test.pdf إلى node1 كـ /tmp/test2.pdf

    root@kitploit:~
    (node 1) >>> upload /tmp/test.pdf /tmp/test2.pdf
    upload /tmp/test.pdf to node 1: /tmp/test2.pdf
    this file is too large(>100M), do you still want to upload it? (y/n)y
     154.23 MiB / 154.23 MiB [========================================] 100.00% 1s
    upload file successfully!
    

    تنزيل الملف /tmp/test2.pdf من node1 إلى المحلي /tmp/test3.pdf

    root@kitploit:~
    (node 1) >>> download /tmp/test2.pdf /tmp/test3.pdf
    download /tmp/test2.pdf from node 1: /tmp/test3.pdf
    this file is too large(>100M), do you still want to download it? (y/n)y
     154.23 MiB / 154.23 MiB [========================================] 100.00% 1s
    download file successfully!
    
  • socks إنشاء وكيل SOCKS5 لعقدة معينة

    root@kitploit:~
    (node 1) >>> socks 7777
    a socks5 proxy of the target node has started up on local port 7777
    

    بعد تنفيذ الأمر socks بنجاح، سيتم فتح منفذ محلي على عقدة admin، مثل المنفذ 7777 المذكور أعلاه، ويمكن استخدام المنفذ 7777 كوكيل SOCKS5.

  • lforward/rforward إعادة توجيه منفذ محلي إلى بعيد/إعادة توجيه منفذ بعيد إلى محلي

    lforward يعيد توجيه المنفذ المحلي 8888 لعقدة admin إلى المنفذ 8888 لعقدة node1

    root@kitploit:~
    (node 1) >>> lforward 127.0.0.1 8888 8888
    forward local network 127.0.0.1 port 8888 to remote port 8888
    

    rforward يعيد توجيه المنفذ 8889 من شبكة node1 (192.168.204.103) إلى المنفذ المحلي 8889 لعقدة admin

    root@kitploit:~
    (node 1) >>> rforward 192.168.204.103 8889 8889
    forward remote network 192.168.204.103 port 8889 to local port 8889