Libssh2-Exploit
الأهداف
في هذا المشروع، نهدف إلى إنشاء استغلال لثغرة قراءة خارج الحدود في libssh2 الموصوفة في CVE-2019-13115. إنشاء خادم ssh خبيث للتسبب في انهيار عميل يتصل به، ومعرفة ما إذا كان يمكن استغلال ذلك بشكل أكبر لسرقة بيانات من العميل.
تشغيل خادم OpenSSH
- قم بتنزيل وفك ضغط openssh-8.1p1.tar.gz (لخادم OpenSSH غير المعدل) أو openssh-malicious.zip (للخادم الخبيث).
- انتقل إلى المجلد ونفّذ الأوامر التالية
- ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-audit=debug --disable-strip
- make
- sudo make install
- sudo /usr/local/sbin/sshd
إعداد libssh2 والتحقق من الانهيار
- قم بتنزيل وفك ضغط libssh2-1.8.2.tar.gz إلى أي مجلد، مثل /usr/src/libssh2-1.8.2
- شغّل الأوامر التالية
- ./configure
- make
- make install
- ./ssh2 127.0.0.1 <username> <password> سيؤدي هذا إلى حدوث انهيار
- لتجميع أي برنامج C يستخدم مكتبات libssh2، استخدم الأوامر التالية
- gcc -g -I /usr/src/libssh2-1.8.2/include -I /usr/src/libssh2-1.8.2/src -L /usr/local/lib ssh2.c -o ssh222 -lssh2
- إذا ظهرت أثناء التشغيل مشاكل مع المكتبات المرتبطة ديناميكيًا
a) تأكد من وجود المكتبات في /usr/local/lib
b) LD_LIBRARY_PATH=/usr/local/lib
c) export LD_LIBRARY_PATH