Libssh2-Exploit
目标
在这个项目中,我们旨在针对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 <用户名> <密码> 这将触发崩溃
- 要编译任何包含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