
CVE-2018-10933 libSSH認証バイパス用のエクスプロイトツールで、Pythonスクリプトとオプションの偽SSH鍵を使用して、認証なしでリモートシェルアクセスを可能にします。
CVE-2018-10933 を使用して認証情報なしでシェルを取得する
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/
https://gist.github.com/0x4D31/35ddb0322530414bbb4c3288292749cc
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
重要: 「libssh のバグを再現しようとしている人へ: サンプルコード (samplesshd-cb) は明示的な認証ハンドラがあるため脆弱ではありません。チャネルを開くことはできますが、何も起こりません。」
ご覧のとおり、このセクションはチャネルを開くためだけのものです。"samplesshd-cb" で実行されているサーバーではシェルを取得できません。
チャネルを開くためだけです。私が書いた PoC はリモートホスト用です。
脆弱な libSSH バージョンをダウンロード、解凍、ビルド : https://www.libssh.org/files/0.7/libssh-0.7.4.tar.xz
その後、自分のサーバーで libSSH を ssh でコンパイルして実行します。
PWD: /libssh-0.7.4/build/examples/samplesshd-cb
./samplesshd-cb --dsakey==yourdsakey 127.0.0.1 --port=2222
偽のSSHキーをお持ちの場合は、2番目の bypasswithfakekey.py を使用してください
pip install -r requirements.txt
If paramiko==2.0.8 doesn't works try : pip install paramiko==2.4.2
python libsshauthbypass.py --help
python bypasswithfakekey.py --help
