2025数证杯决赛个人赛服务器hermes
服务器信息
| 项目 | 值 |
|---|---|
| IP | 192.168.100.119 |
| SSH 端口 | 22 |
| 账号/密码 | root / 123456 |
| 主机名 | yxtserver |
| 本地别名 | ssh yxtserver(~/.ssh/config) |
| 私钥 | ~/.ssh/id_ed25519_yxtserver |
| OS | Ubuntu Server (内核 5.15.0-161-generic) |
已答题目
题目25:AI服务的对外端口是多少?
- 答案: 7860
- 依据:
/home/langflow/.env中LANGFLOW_PORT=7860,LANGFLOW_HOST=0.0.0.0 - 服务: LangFlow (Python venv
/home/langflow)
题目26:当前AI服务共有多少普通用户?
- 答案: 8
- 依据: 数据库
/root/.cache/langflow/langflow.db,表user共 9 行 - 1 管理员 (
is_superuser=1): langflow - 8 普通用户 (
is_superuser=0): xll, yxt, ywh, huhuhu, dl, shichao, test01, im
题目27:AI服务的管理员密码hash是多少?
- 答案: sszb@2025 (明文密码)
- bcrypt hash:
$2b$12$B/A757s9z/N2ESVYYRKtROPvcyqmnqswWfpbeM1oCDqV1myumc9Q2
题目28:AI服务对话历史中用户上传文件的 SHA256 后八位(大写)?
- 答案: B2D10252
- 文件:
/root/.cache/langflow/31fa8c0f-e569-4399-b8ec-5d866bbd095c/2025-11-04_11-20-38_play.png - 大小: 304353 字节
- 完整 SHA256:
e4daa5c47e8e3c0ae851f2176bf4e1ed9053a51681d87095a34c42b6b2d10252
题目29:黑客利用了哪个接口URI进行攻击?
- 答案: /api/v2/mcp/servers/{server_name} (实际:
/api/v2/mcp/servers/_mcp_servers) - 依据:
nohup.out日志中 RCE 前紧邻:File _mcp_servers.json saved successfully in flow ...router.py挂载 v2 前缀/api/v2mcp.py定义prefix="/mcp", 路由@router.post("/servers/{server_name}")
- 攻击方式: POST 恶意 MCP Server 配置 (stdio 类型),Langflow 后台加载时触发命令执行,进程以 root 运行
题目30:黑客反弹shell的连接的端口是多少?
- 答案: 7788
- 依据:
nohup.outL2945:listening on [any] 7788 ... - 黑客启动
nc -lvp 7788监听,外部 IP172.23.194.1(端口 24192) 连接进来
题目31:黑客通过SSH登录服务器所用的IP是多少?
- 答案: 172.23.194.1
- 依据:
nohup.outL2946-2947: 反弹 shell 连接来自172.23.194.1auth.log: Nov 5 起多次 SSH 成功登录来自172.23.194.1- 攻击链闭环: Langflow RCE -> 反弹 shell (172.23.194.1) -> 后续 SSH 持久化
172.23.194.110: Nov 4 09:19-09:38 SSH 登录,RCE 前 ~2小时,早期探测/铺垫
题目32:黑客植入的隐藏文件全路径?
- 答案: /usr/lib/modules/5.15.0-161-generic/extra/file_hider.ko
- 内核模块,描述 "File Hiding Module - Educational Purpose"
- 创建时间: Nov 14 09:28(黑客活动时间窗口内)
- 大小: 83560 字节,当前正在运行 (
lsmod显示file_hider 16384 0)
nohup.out 关键日志 (已下载到 ~/langflow_nohup.out)
L107: hello anybody here?
L108: HHH I am going to hack u
L2938-2941: [11/04/25 11:23:59] File _mcp_servers.json saved successfully in flow a9a80eb5...
L2942: hallo
L2943: cat: 123: No such file or directory
L2944: uid=0(root) gid=0(root) groups=0(root)
L2945: listening on [any] 7788 ...
L2946: 172.23.194.1: inverse host lookup failed: Unknown host
L2947: connect to [172.23.194.157] from (UNKNOWN) [172.23.194.1] 24192
L2948-2957: (ls, cd /, ls ... 命令执行)
L2958: invalid local port -e
L2959: listening on [any] 7788 ...
L2960-2961: connect to [172.23.194.157] from (UNKNOWN) [172.23.194.1] 5073
L2962: bash: error reading input file: Connection reset by peer
攻击时间线
| 时间 | 事件 |
|---|---|
| Nov 4 09:03~08:08 | 172.23.194.1 多次密码登录探测 (早期) |
| Nov 4 09:05 | 172.23.194.1 尝试 mail 用户 |
| Nov 4 09:08 | 172.23.194.1 尝试无效用户 yxt (Failed) |
| Nov 4 09:19 | 172.23.194.110 首次密码登录 root |
| Nov 4 09:25 | 172.23.194.110 Failed password (密码被改) |
| Nov 4 09:27 | 172.23.194.110 RSA key 登录 |
| Nov 4 09:28 | file_hider.ko 创建(后门植入) |
| Nov 4 11:03 | Langflow 启动 |
| Nov 4 11:07 | 黑客发送 "HHH I am going to hack u" |
| Nov 4 11:23:59 | MCP server _mcp_servers.json 写入成功 -> RCE |
| Nov 4 11:24+ | nc -lvp 7788 反弹 shell,连接来自 172.23.194.1 |
| Nov 5 00:53+ | 172.23.194.1 多次 SSH root 成功登录 (持久化) |
数据库结构 (/root/.cache/langflow/langflow.db)
查询方法(服务器无 sqlite3 CLI,用 venv Python):
ssh yxtserver "cat > /tmp/q.py << 'PYEOF'
import sqlite3
conn = sqlite3.connect('/root/.cache/langflow/langflow.db')
c = conn.cursor()
# 查询语句
conn.close()
PYEOF
/home/langflow/bin/python3 /tmp/q.py"
表结构:
| 表名 | 行数 | 说明 |
|---|---|---|
| user | 9 | 用户表 (1 admin + 8 normal) |
| file | 1 | 文件名 _mcp_servers,路径含 _mcp_servers.json |
| folder | 10 | - |
| variable | 2 | - |
| apikey | 1 | - |
| flow | 31 | - |
| vertex_build | 4 | - |
| transaction | 8 | - |
| message | 8 | 含用户上传文件记录、对话历史 |
LangFlow 配置 (/home/langflow/.env)
LANGFLOW_AUTO_LOGIN=False
LANGFLOW_HOST=0.0.0.0
LANGFLOW_PORT=7860
LANGFLOW_WORKERS=3
文件系统关键发现
/home/Dirty-Pipe.sh— Dirty Pipe 漏洞利用脚本/home/RECOVERED_FILES/— 恢复文件目录/home/yxtwl94/— 普通用户目录 (UID 1000)/recovery/audit.txt— 空文件/.bash_history— 内容:mount -o remount,rw / && passwd && touch /.autorelabel && exec /sbin/init/usr/lib/modules/5.15.0-161-generic/extra/file_hider.ko— 黑客植入内核模块/var/mail/.Xauthority— 可疑文件 (data 类型)
运行服务
nginx (80), sshd (22), docker, containerd。Docker 已安装但无运行容器/镜像。UFW inactive,iptables 默认 ACCEPT。
待查线索
file表、apikey表、variable表、flow表内容未深挖/home/Dirty-Pipe.sh具体内容/home/RECOVERED_FILES/目录内容/var/mail/.Xauthority文件内容172.23.194.157是什么 (nohup.out 中 connect to 的目标地址)