Vulnhub Sick0s1.1 Writeup
Talk is cheap, show me writeup
用到的工具和知识
nmap、dirb、nikto、google、searchsploit、shellshock、
0x01 信息搜集
nmap探索
开放22/ssh,3128/http-proxy,关闭8080/http-proxy
Google Squid
Squid Cache是HTTP代理服务器软件。Squid用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。Squid程序在Unix一类系统运行。
Squid 是支持 HTTP,HTTPS,FTP 等的 Web 的缓存代理。它通过缓存和重用频繁请求的网页来减少带宽并缩短响应时间。Squid 拥有广泛的访问控制,是一个出色的服务器加速器。它运行在大多数可用的操作系统上,包括 Windows,并根据 GNU GPL 许可。
Squid 由于是开源软件,有网站修改 Squid 的源代码,编译为原生 Windows 版;用户也可在 Windows 里安装 Cygwin,然后在 Cygwin 里编译 Squid。
- 简单地来说,Squid就是一个缓存or代理服务器
我用浏览器直接访问靶机web站点
访问不通,那么根据上面搜集的信息,就说明这个站点需要用自己的代理服务器区访问。
于是我在浏览器用SwitchyOmega设置代理,同时使用dirb,nikto设置代理扫描靶机
找到robots.txt文件,发现/wolfcms
,成功进入cms页面,可以看到由用户administrator
发表的两篇博客
0x02 漏洞挖掘与利用
进一步侦查,使用dirb爆破/wolfcms
下目录
查看所有扫到的目录,发现/wolfcms/doc
下的update.txt,显示该wolfcms详细版本是0.8.2
在kali中使用searchsploit搜索wolfcms 0.8.2,无果,搜wolfcms 0.8
查看两个poc,后发现后台登录地址为/wolfcms/?/admin/login
下面的思路是sql注入、爆破
先尝试sql注入,手注三次
到这里思维有些停滞,可能有什么信息丢掉了,回头看了看扫描结果,发现nikto中显示存在一些漏洞
如下:
1 |
|
看到shellshock,中文译为破壳漏洞,自然要学习一番~
使用shellshock并不能直接进行登入后台,但是可以直接连接服务器
那我先放放ε=ε=ε=┏(゜ロ゜;)┛
只好上网借鉴walkthrough,什么???也是猜的!admin/admin,那我的思路可能进了兔子洞,上来就把用户名定为administrator,后面就麻烦很多
登上管理员,四处看看后台,发现一个文件上传点,上传一句话成功,修改权限为777
蚁剑连接,进入虚拟终端,查看系统基本信息
0x03 提权&GetFlag
查看系统基本信息
四处查看系统及应用配置文件,找到/var/www/wolfcms
下的config.php
,存在密码和账户
查看用户
发现账户root和sickos
那么我们先要获取一个真实的shell,虚拟终端中不支持某些高级操作
老办法,kali用nc监听端口,靶机上用蚁剑放个reverse-shell.php
,设置好ip和port,php -f reverse.php
执行,成功连接!
将fake shell升级到交互shell,python -c "import pty;pty.spawn('/bin/bash');"
执行su
,john@123
并非root密码,试试sickos,成功
直接用ls -l /root
没有权限,之后用sudo ls /root
,发现flag文件
再用sudo cat /root/a0216ea4d51874464078c618298b1367.txt
,直接查看
搞到flag
0x04 后续学习
part1 提权
上面虽然得到了flag,可是有投机成分,没有提权成功,下面是通过学习前人walkthrough得到的提权方法:
先使用id查看该用户所属组,使用sudo -l
查看该用户在sudo下可以执行的命令,命令详解见参考资源[4] [5]
sudo -i
sudo -s
输入密码john@123
sudo su
输入密码john@123
- 直接采用
/var/www
下拥有root执行权限的connect.py提权,参考资源[6]
可以看到sickos用户的id很有意思
它在sudoers内,所以使用sudo可以执行高级命令,之前这一步还是漏掉了,connect.py的执行权限亦然
part2 破壳漏洞
这个放到我的另一篇blog中讲解学习
0x05 总结
- 需要更深入了解Linux相关知识
- 不要麻痹,每获得一个新权限或到达某个新场景中,都要重复获取信息
0x06 参考资源
[3]关闭PHP Credits和隐藏的GUID图片Logo彩蛋的显示
[6]write-up sick-os 使用connect.py,很有趣,不过使用了msfvenom
[7]VulnHub ‘SickOS: 1.1’ 破壳讲的不错
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!