VulnHub之CH4INRULZ靶场通关
2021-10-25 00:27:45 Author: www.freebuf.com(查看原文) 阅读量:18 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

1、靶场简介

名字:ch4inrulz: 1.0.1

难度:中等

靶场作者:askar

下载地址:https://download.vulnhub.com/ch4inrulz/CH4INRULZ_v1.0.1.ova

2、网络环境

kali攻击机 IP192.168.68.143

靶机 IP192.168.68.145

win7 IP192.168.68.139

3、信息搜集

3.1 netdiscover探测IP

netdiscover -r 192.168.68.0/24

通过netdiscover探测得知,靶场的IP192.168.68.145

3.2 nmap搜集靶机服务

nmap -sV -T4 192.168.68.145

nmap搜集到有808011web站点,访问看看。

80端口的网站就是单纯的博客,没啥东西。

8011端口看页面应该是个开发平台。

3.3 目录扫描

dirsearch跑一下

dirsearch -u http://192.168.68.145

发现,有个401认证,访问看看。

需要账号密码才能访问,留着看看别的,

通过nikto搜集看看有什么有用的信息。

nikto -h http://192.168.68.145

注意力都放在了下面的提示,差点把中间的备份文件漏了。备份文件是个好东西。

下载保存,查看一下,发现疑似账号密码的东西,也是john可以破解的形式,准备用john破解看看。

3.4 破解密码

john --format=md5crypt-long -show crack

密码破解成功,尝试登录401认证。

3.5 401认证登录

登陆成功之后,发现是个上传文件页面。

uploaduploader试试。

找到上传文件的地方,上bp搞一搞。

4、文件上传利用

4.1 文件上传

随便上传个东西试试检测手段,

看样子只能上传图片文件,

burpsuite开起来,尝试绕过,上传一句话木马。

文件后缀名,MIME类型检测,最后发现需要添加文件头才可以绕过。

4.2 确认文件上传路径

4.2.1 继续信息搜集

前面一直在查看80端口,现在无法确认文件上传路径,转而看看8011端口的网站有什么可利用的

利用dirsearch再对8011端口的网站进行目录探测

dirsearch -u http://192.168.68.145:8011

发现有个301跳转的api接口,访问一下看看。

发现有好几个api接口,挨个访问看下情况。

只有files_api.php可以访问,根据页面的提示,提交参数应该是file,但不确定是GET还是POST,都试试看。

发现提交参数确实是file,网页请求方式为POST,尝试包含/etc/passwd文件确实可以查看信息,接下来我们通过文件包含来确认之前上传的2.png文件路径。为了获得完整的上传文件路径,我们需要知道网站的根目录,还有上传文件路径。

4.2.2 利用文件包含确定路径

一般情况下,网站的根目录都会在配置文件中定义,联想到之前nmap探测到网站的中间件为apache,经过百度查一下apache的配置文件路径,发现是/etc/apache2/sites-enabled/000-default,包含一下试试行不行。

发现网站根目录为/var/www,为了确定上传文件路径,准备尝试一下php://filter伪协议读取上传文件的源码,猜测一下源码文件名为upload.php,包含看看。

源码读出来了,base64解码看看有没有我们需要的信息,

路径找到了,那么拼接一下得到完整的上传文件的路径为/var/www/development/uploader/FRANKuploads/

4.2.3 phpinfo测试

尝试包含一下之前上传的2.png,确认一下路径对不对。

成功返回phpinfo页面,说明路径没有问题。

5、反弹shell

5.1 kali上开启nc监听

nc -lvp 4444

5.2 上传木马触发

经过前面的测试,直接上传php反弹shell木马,并通过文件包含触发,查看nc的监听结果。

反弹shell成功,获取到www-data权限。反弹shell这块,利用msfvenom生成php payload虽然获得了meterpreter权限但是不好进一步提权,生成linux可执行木马,配合一句话木马控制下载,赋予权限并执行效果并不好。最后还是选择了触发可以直接反弹shell,方便快捷。

6、提权

6.1 优化命令行

反弹shell的命令行交互方式不够优化,用Python优化一下命令行交互。

python -c 'import pty;pty.spawn("/bin/bash")'

6.2 内核漏洞提权

Linux的提权方式有很多种,比如sudo直接提权、SUID特殊权限位提权、内核漏洞提权、环境变量劫持提权等。这里先看看内核有什么漏洞可以利用。

6.2.1 查看内核版本

uname -a

发现内核版本是2.6.35,接下来准备用内核版本号查询一下可利用的漏洞信息。

6.2.2 searchsploit查询漏洞信息

searchsploit linux 2.6.35

15023.c这个exp利用一下试试。

6.2.3 Python开启http服务

python3 -m http.server

6.2.4 下载编译exp

编译成功之后,执行exp,即可提权成功。当然也可以使用脏牛漏洞(Dirty COW)进行提权,不过我觉得没有这个方便。


文章来源: https://www.freebuf.com/articles/web/292671.html
如有侵权请联系:admin#unsafe.sh