应急响应-破阵阁

诡异的命令执行

某个粗心的网站管理员忘记打补丁,结果攻击者利用 CVE 漏洞成功渗透了服务器。他们像幽灵一样在系统中穿梭,最终执行了系统命令,偷走了珍贵的 FLAG。

创建实例后网页打开,下载流量包

image-20260201122554320

快速通关

搜索http contains "flag"

image-20260201122925840

追踪http流,搜索flag{

此时就是定位到命令执行读取flag

image-20260201123010749

手工分析

筛选http流量,发现nacos路径,可能存在nacos历史漏洞被利用

image-20260201123134865

image-20260201123402478

继续查看,发现sql语句执行命令

image-20260201123527027

跟踪http流

image-20260201123912022

后续继续分析,发现命令执行查看了flag,定位即可

webshell被删除了

小明的系统里有一个tomcat,突然有一天他收到通知说他的系统被攻击了,你能帮他找到攻击者残留的痕迹吗?

账号 root 密码 idgfxuxvr2tqekhz

快速通关

/opt 目录下,递归查找所有普通文件,并在这些文件中搜索包含字符串 flag{ 的行,同时显示行号。

-n显示行号,能快速定位文本型 flag
find /opt -type f | xargs grep -n "flag{"

opt目录下查找含有flag{的文件
find /opt -type f -exec grep -n "flag{" {} +


opt目录下全局查找含有flag{的文件,忽略二进制文件
find /opt -type f | xargs grep -n --binary-files=without-match "flag{"

手工分析

删除后门排查:

Tomcat缓存目录:work

排查work目录下的可疑jsp文件,找到后门文件,查看后门文件得到flag

暗影迷踪

安全团队发现一台运行Tomcat服务的服务器遭到了入侵。攻击者在系统中植入了后门,你的任务是彻底清除所有后门痕迹,获取最终的flag!

账号 root 密码 idgfxuxvr2tqekhz

通过flagcheck获取flag

image-20260201124525118

tomcat目录/opt/apache-tomcat-8.5.100

tomcat文件分析

正常情况下的tomcat目录
apache-tomcat-8.5.100/
├── bin/ # 启停脚本、catalina.sh
├── conf/ # 核心配置
├── lib/ # Tomcat 运行依赖 jar
├── logs/ # catalina / access / manager 日志
├── temp/ # 临时文件
├── webapps/ # Web 应用部署目录
├── work/ # JSP 编译后的 class
├── BUILDING.txt
├── LICENSE
├── NOTICE
└── README.md

image-20260201130622598

正常

webapps/
├── ROOT/ # 默认站点(一定存在)
├── docs/ # Tomcat 文档
├── examples/ # 示例应用
├── host-manager/ # 虚拟主机管理
└── manager/ # Web 管理后台

image-20260201130707828

多了一个a目录,查看a目录

login.jsp文件是空文件,疑似连接后将文件内容置空

image-20260201131207324

META-INF中有war-tracker文件,并且也为空文件

image-20260201131332244

删除a文件夹

继续分析其他目录

examples目录中存在login.jsp文件,也为空文件,删除该文件

image-20260201131439252

计划任务

查看计划任务crontab -l

image-20260201125324793

发现计划任务执行/var/crash/tomcat

查看文件内容发现为乱码

image-20260201125528746

是一个ELF 二进制文件,结合写入到了计划任务,怀疑为后门文件

删除该文件

image-20260201125656200

清除计划任务crontab -r

image-20260201125906629

image-20260201131608270

FLAG 消失之谜

我们刚刚监测到一次针对 Web 服务器的精准攻击——攻击者利用漏洞成功窃取了服务器上的敏感文件FLAG。 幸运的是,我们捕获了攻击期间的完整网络流量,但 FLAG 已被攻击者通过某种方式隐藏并外传。

全局搜索http中flag,http contains "flag",存在三条结果,第一条get请求根路径,不考虑

image-20260209153055637

分析第二条和第三条

第二条

发现读取了本地文件/flag,将文件内容进行base64编码后拼接到.c07545bc.digimg.store的子域名,通过ping进行DNS查询后带外

image-20260209155036547

查询DNS流量dns.qry.name contains "c07545bc.digimg.store"

image-20260209155747440

image-20260209155817460

一发入魂

这位黑客老哥属实是个讲究人,全程只发一个 HTTP 包,深藏功与名。快来围观这“一发入魂”的骚操作,顺便把 FLAG 领走

搜索http,只有一条数据,追踪http流

image-20260209160223415

分析:先进行url解码

image-20260209160305269

在进行base64解码,是一个反弹shell

反弹shell之后流量走tcp,重新追踪tcp流

反弹shell执行命令

image-20260209160445425

进行了三个操作

权限确认:执行 whoami(结果是 root)和 ip a(内网 IP 为 172.18.0.2,通常是 Docker 容器)。

目录扫描

  • 命令:echo "bHMgL3xoZXhkdW1wIC12ZSAnMS8xICIlLjJ4Iic=" | base64 -d | bash
  • 解码后:ls /|hexdump -ve '1/1 "%.2x"'
  • 意图:列出根目录文件,并转换为十六进制。你在输出中看到的 62696e... 连起来就是 bin\ndata\ndev\netc\nflag...。攻击者看到了 /flag 文件。

读取 FLAG

  • 命令:echo "aGV4ZHVtcCAtdmUgJzEvMSAiJS4yeCInIC9mbGFn" | base64 -d | bash
  • 解码后:hexdump -ve '1/1 "%.2x"' /flag
  • 意图:以十六进制格式读取 /flag 文件内容。

攻击者执行命令时使用base64编码,解码后执行了查看根目录以及查看根目录中flag文件,并且将输出结果转为hex

字符串和十六进制转换

查看根目录发现了flag文件

image-20260209160952351

查看flag文件

image-20260209161031302

应急拯救计划:隐匿潜袭

攻击者手法全面升级,在Tomcat服务器中留下了更深层的后门。请彻底排查所有入侵痕迹,只有完美清除所有后门,才能获取最终的flag!
账号 root
密码 idgfxuxvr2tqekhz

进程分析

image-20260215174651312

image-20260215174715938

查看该文件内容为二进制文件,为后门文件,删除该文件

计划任务

查看计划任务

image-20260215175251078

计划任务存在之后该后门,删除计划任务

image-20260215175323877

文件分析

查看/etc/profile

什么是 /etc/profile

/etc/profile 是 Linux 系统中最核心的全局环境配置文件

  • 作用: 当任何用户(包括 root 和普通用户)通过登录(Login shell)进入系统时,系统会自动执行这个文件中的指令。
  • 权限: 只有 root 用户有权修改它。
  • 为何后门爱它: 攻击者把命令藏在这里,可以确保每次系统重启或有新用户登录时,后门程序都会在后台自动运行。

image-20260215175120085

也有执行后门文件的操作,删除该行

tomcat文件分析,先查看webapps目录(web目录)

其中存在a目录

image-20260215175545060

进入a目录,其中存在一个空的login.jsp文件,怀疑为已经被清除痕迹的后门文件,进入work目录查看缓存

image-20260215175601239

work目录下:

image-20260212191214402

查看a目录

image-20260212191234374

查看文件/opt/apache-tomcat-8.5.100/work/Catalina/localhost/a/org/apache/jsp# cat login_jsp.java

image-20260212191246104

image-20260212191315265

为后门,删除webapps目录和work目录下的该a目录

image-20260212191355545

image-20260215175801734

分析example目录,发现也存在空的login.jsp,删除该文件

image-20260215180026043

image-20260215180135370

用户分析

查看特权用户awk -F: '$3==0 {print $1}' /etc/passwd

image-20260215180406125

发现有root和dev,猜测为后门用户,删除该用户

image-20260215180454363

补充

此时,上述操作实现完后,提示

image-20260215180529394

需要进去tomcat的bin目录,手动重启tomcat

image-20260215180709900

wp上说的是重启tomcat清除内存马

并且wp中的这个操作没有做

image-20260215180818277

锈蚀密钥

在已停摆的金属碎片中,找到那把能开启沉寂闸门的、布满时间刻痕的钥匙。
备份链接:通过网盘分享的文件:disk_target.zip 链接: https://pan.baidu.com/s/1mJI_gzMqxQVIOHqvEwTSuw 提取码: qfik --来自百度网盘超级会员v9的分享

下载后是一个dd文件

image-20260209165218000

使用FTK Imager分析dd文件

image-20260209165425310

导出该图片文件,010打开,无内容

导出OpenStego图片分析工具分析该图片文件

image-20260209165620453

存在3.txt隐写

image-20260209165659004

静影寻踪

于凝固的数字记忆中,追溯那些悄然消逝的涟漪与未言之约。
备份链接:通过网盘分享的文件:target.zip 链接: https://pan.baidu.com/s/1gFwkXmNpBDrz1we6UD2Fkg 提取码: 4k2t --来自百度网盘超级会员v9的分享

快速ctf

strings -e l target.raw | grep -i "flag{"

image-20260215181347079

取证

查看image

image-20260215181435046

查看cmd

image-20260215181518743

无信息,使用console查看

image-20260215181623048

image-20260215181640523