Cyberstrikelab Thunder Writeup
Cyberstrikelab Thunder Writeup
第一台主机
信息收集
对边界机进行初步的信息收集
访问 80 端口,发现是 ThinkPHP 框架
使用 ThinkPHP 漏洞工具检测,检测出多个历史漏洞
文件包含直接读取 flag
免杀上线
进一步利用,写马失败,换 fputs 函数写入失败,上传成功访问第一次能够成功,重新加载文件就会已经不存在
普通一句话怎么传都失败,怀疑是被防御干掉了,尝试搞成免杀 WebShell 再上传,使用 ByPassGodzilla 生成
命令执行成功,立刻看一下进程,发现一个 360 和 Defender
root/root 拿下数据库
上线 CS,同样要免杀一下才能上线
使用烂土豆提权至 SYSTEM,抓取 Administrator 管理员密码
1 | Administrator/Tp@cslKM |
开启并连接 3389 远程桌面,将烦人的杀软和 Defender 关掉
内网信息收集
1 | shell arp -a |
双网卡,一个内网网段 172.20.57.*
对 172.20.57.* 进行存活探测、服务及漏洞扫描
第二台主机
MYSQL 服务爆破
发现 172.20.57.98 内网机,这台机器是没有 Web 的,且没有其他任何信息。
参考了前面参与「Thunder」限时渗透赛 的师傅的 WriteUp,好像当时有提示 CSLab 作为账号密码
开始爆破 MYSQL 服务
1 | root/CSLab |
MDUT 连接,进行 UDF 提权
这里也有 Defender 防御,做免杀马上线 CS
和边界机的相关配置和系统版本一致,再次尝试使用烂土豆提权,成功
关闭 Defender
第三台主机
内网信息收集发现 10.0.0.34 机器,iox 开启二层隧道代理,访问 Web 页面
172.20.57.98 内网机器监听1081
172.20.56.32 边界机流量转发
攻击机访问
发现版本信息 Z-BlogPHP 1.7.3
翻阅 zblogphp 1.7.3 源码,发现 /zb_system/function/lib/base/member.php 文件中写了 password 的生成方式
将明文密码 ($ps) 进行 MD5 哈希,接着将哈希值与用户唯一码($guid)拼接,然后对拼接后的字符串再次 MD5 加密,得到最终的哈希值
在第二台主机的数据库中管理着第三台机主机网站的库
用户唯一码如下
1 | GUID: 24d876c8772572cf839674c5a176e41c |
构造脚本,输出新的 hash 密码,将其在数据库中替换
1 | import hashlib |
登录成功
文件上传
尝试修改后台设置进行文件上传
失败,仍然无法上传
Z-Blog 后台存在模板文件 .zba 上传漏洞
上传 shell.zba
访问 http://ip/zb_users/theme/shell/template/shelll.php ,成功
提权
Linux 系统,查询当前用户特权
1 | sudo -l |
发现对 /home/www/write.sh 文件具有 root 权限且无需密码
修改文件,第二行加入 /bin/bash
执行文件,提权成功
读取 flag
第四台主机
Zimbra XXE
发现新网段 10.1.1.*
探测存活,发现10.1.1.56,对指定 IP 进行全端口扫描及漏洞扫描,发现存在 CVE-2019-9670 Vuln
读取 Flag
1 | curl -k -X POST https://10.1.1.56/Autodiscover/Autodiscover.xml \ |
- Title: Cyberstrikelab Thunder Writeup
- Author: L1nq
- Created at : 2025-03-25 10:24:03
- Updated at : 2025-09-23 14:42:39
- Link: https://redefine.ohevan.com/2025/03/25/CSLab-Thunder/
- License: This work is licensed under CC BY-NC-SA 4.0.