当前位置: 首页 > news >正文

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 处进行文件上传

![[Pasted image 20250715174741.png]]

上传一个一句话木马,路径 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 蛇。

那么私钥内容的读取顺序可能就是蛇形的

![[745b4448-ec5d-4cff-a9d9-e1c99698d095.png]]

写个脚本处理一下

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 下提权方式

http://www.xdnf.cn/news/1129825.html

相关文章:

  • 使用JS编写用户信息采集表单
  • 基于conda包的环境创建、激活、管理与删除
  • C++-linux系统编程 8.进程(二)exec函数族详解
  • 3.2数据库-关系代数-函数依赖-范式
  • IDEA中删除多余的jdk选项 【IDEA2024版】
  • Linux-【单体架构/分布式架构】
  • 李宏毅《生成式人工智能导论》 | 第9讲 AI Agent
  • AI问答-Token:在人工智能领域,Token 是模型处理文本的核心单元 / 最小可处理片段
  • cursor使用mcp连接mysql数据库,url方式
  • 基于Python的图像文字识别系统
  • Transformer是什么 - 李沐论文《Attention Is All You Need》精读
  • 数据怎么分层?从ODS、DW、ADS三大层一一拆解!
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程
  • 基于按键开源MultiButton框架深入理解代码框架(一)(指针的深入理解与应用)
  • 137. 只出现一次的数字 II
  • python+selenium UI自动化初探
  • Linux操作系统之信号:保存与处理信号
  • 嵌入式Linux:进程间通信机制
  • URL 转静态 HTML 文件 API 数据接口
  • 算法入门:BFS与DFS详解(C++实现)
  • k8s之Attach 和 Mount
  • [AI8051U入门第三步]串口1使用-printf重定向(乱码解决办法)
  • 生产问题排查-数据库连接池耗尽
  • Linux 文件系统实现层详解:原理、结构与驱动衔接
  • 已知均数与标准差,如何生成一组正态分布数据?
  • 15.图像 模板轮廓检测
  • Unity音游开发全指南:模板与免费资源高效构建节奏游戏
  • Kafka——生产者消息分区机制原理剖析
  • 基于STM32与中航ZH-E3L字符卡通信在LED屏显示数据
  • 排序算法实战(上)