Libssh2-एक्सप्लॉइट
लक्ष्य
इस परियोजना में, हम 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> यह एक क्रैश ट्रिगर करेगा
- libssh2 लाइब्रेरी वाले किसी भी C प्रोग्राम को कंपाइल करने के लिए, निम्नलिखित कमांड का उपयोग करें
- 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