首页 > Web安全 > libssh 身份验证绕过漏洞测试记录(CVE-2018-10933 )
2018
10-19

libssh 身份验证绕过漏洞测试记录(CVE-2018-10933 )

从搭建环境到测试复现,折腾了2天,查了很多资料,最终还是没复现执行命令。

主要是从一开始就没有详细的看分析文章,只是看了个大概,就想搭建环境利用已有的利用poc,简单修改之后,来进行命令执行,导致浪费很多时间。

按照下面的方法,作者回复别人说是可以获取shell的,但是实际上问了360的大神,需要修改官方libssh example中服务端的代码,才可以获取shell执行命令。

https://github.com/blacknbunny/libSSH-Authentication-Bypass

这个漏洞在真实环境中,是否可以利用,取决于libssh服务搭建者调用官方api的时候,实现方法是否有问题,如果只是用官方libssh example中的服务端,是没有办法invoke_shell的。官方api文档:

http://api.libssh.org/master/libssh_tutor_guided_tour.html

所以github上的很多脚本或者说明也并不能完全相信,漏洞研究还是需要实践,只有实践之后才知道可行不可行。

仔细看了360可以执行命令的分析文章,一度怀疑是上面的python利用脚本存在问题,请教了c开发大神firebroo,让按照360文章中提到的方法,用c实现利用poc,最后测试还是只能获取session,也没有办法invoke_shell,以及直接执行命令。

这篇文章主要是记录下编辑安装官方libssh的一个过程吧,以libssh 0.7.4为例:

1、注视掉CMakeLists.txt文件中的一句;

macro_ensure_out_of_source_build()

2、安装gcc、gcc-c++

yum install -y gcc
yum install -y gcc-c++

3、指定ZLIB,用命令:

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DZLIB_INCLUDE_DIR=/usr/include -DZLIB_LIBRARY=/usr/lib

4、安装openssl、GCrypt

sudo yum install openssl openssl-devel
sudo yum install libgcrypt-devel

另外贴一些参考链接:

https://cert.360.cn/report/detail?id=a407dddd655dba34405688b1498c3aa1

https://git.libssh.org/projects/libssh.git/refs/tags

https://github.com/trbpnd/bpnd-libssh/blob/3a73f9b58dd1e28908e4a2a9e5078dc6bc9ca5f8/bpnd-libssh

http://api.libssh.org/master/libssh_tutor_guided_tour.html

P牛vulhub上有可以测试复现的实现环境,可以测试看看。

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。