Vulnhub-SickOS1.1

0x00 Introduction

这个靶场考察的主要是代理的相关设置和利用搜索引擎的能力,其它思路和以前的靶场大差不差。

0x01 端口扫描

首先对所有端口进行 TCP 扫描:

sudo nmap -sT --min-rate 10000 -p- 192.168.46.141 

以后一定记住用这种工具要用 sudo 权限,用和不用扫描结果是不一样的。

接下来对这 3 个端口详细扫描:

sudo nmap -sT -sC -sV -O -p22,3128,8080 192.168.46.141

可以看到 8080 端口是关闭的,22 端口暂时先不考虑,那么目前的突破口只有 3128 端口。

0x02 目录爆破&Squid代理设置

之前从未听说过 Squid,但是根据扫描信息可以知道这是个 http 代理服务,带上版本号谷歌搜索一下看看。 官网介绍如下:

即使知道这是个代理服务,我也不知道如何利用这个端口。不管如何,目录爆破是一定要做的,这是 Web 渗透的常规手段。

sudo gobuster dir -u http://192.168.46.141 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

ChatGPT 对于这个错误的解答是:目标主机可能设置了防火墙规则,拒绝或丢弃了 Gobuster 发出的 HTTP 请求。

换个爆破工具试试呢?

sudo dirb http://192.168.46.141

确实是无法扫描。接下来该从何处入手,涉及到我的知识盲区了,看了红队笔记的视频后,我知道了代理端口原来是这样用的:

dirb http://192.168.46.141 -p http://192.168.46.141:3128

这次有扫描结果了:

接下来逐个分析这些路径。首先我们要给浏览器设置代理:

0x03 Web渗透

访问 http://192.168.46.141 :

查看网页源代码,没发现什么有用信息。

访问 http://192.168.46.141/connect

/index 和 /index.php 都是刚才的 BLEHHH!!! 页面。

再看 /robots 和 /robots.txt:

这里暴露了个路径/wolfcms

可以看到 Wolf CMS 的前端页面,但是没看到有登录的入口,我们要想办法登录到后台,才能找到漏洞利用点。

谷歌搜索 Wolf CMS ,看到它是开源的,代码审计试试。

太复杂了,没找到突破口。

学习红笔思路,直接谷歌搜索 wolf cms admin path:

访问 http://192.168.46.141/wolfcms/?/admin

由于当前还未获取到任何用户信息,所以遇到这个登录页面的思路,要么是弱密码,要么就是暴力破解。

对弱密码的尝试是渗透测试人员需要具备的素质。比如一些新建的网站,一般来说不会有太复杂的密码,或者根本没有修改默认密码,说不定就运气好登录成功了呢。

这里登录的用户名和密码都是 admin。登录后页面如下:

逐项探索,发现有很多代码执行和文件上传的地方:

首先试试上传个 webshell:

上传成功了,哥斯拉连接当前 URL 试试:

失败了。这里犯了个致命错误,当前 URL 并不是后门文件的实际位置,只是一个编辑页面:

而且已经给提示了在public目录下,以后再上传后门文件一定要试试能不能访问到!

此时有个疑问,shell.php 明明没有执行权限,为什么能够被解析,大佬解答是这样的:

将 URL 改为正确路径 http://192.168.46.141/wolfcms/public/shell.php 后,上传 webshell 成功。

0x04 ssh登录及提权

首先查看一些基本信息:

当前用户是 www-data,主机名是 SickOs,没有 sudo 权限。

查看当前目录下的文件:

先从最感兴趣的 config.php 看起。发现了数据库配置:

数据库用户名是 root,但是这个密码不一定是主机 root 身份的密码。无论如何这个密码都是有用的。

其它文件没什么信息。接下来查看 /etc/passwd:

这里值得关注的只有 UID 为 0 的 root 用户和 UID 为 1000 的普通用户 sickos。

查看 /etc/shadow:

没有权限。但我们刚才已经获得了一个密码,试试 ssh 登录:

ssh sickos@192.168.46.141

登录成功,查看当前账号的 sudo 权限:

发现是 3 个 ALL,那么直接执行 sudo /bin/bash 即可获取 root 权限,拿到 flag:

0x05 Conclusion

这个靶场难度也不大,但过程中也出现了很多问题,归根结底还是理解得不够深,而且信息搜集能力有待加强。