第二届“长城杯”半决赛ISW赛后复现-详细
字数 2089 2025-08-30 06:50:35

第二届“长城杯”半决赛ISW赛后复现教学文档

题目背景

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

分析工具准备

  1. FTK Imager:用于挂载.raw磁盘镜像文件
  2. R-Studio:用于打开挂载后的磁盘,扫描并恢复删除的文件
  3. IDA Pro:用于逆向分析二进制文件
  4. CyberChef:用于计算MD5值等编码转换

题目1:找出主机上木马回连的主控端服务器IP地址

要求:找出周期性回连的主控端服务器IP:port,以flag{MD5(IP:port)}形式提交

解题步骤

  1. 在ubuntu用户目录下发现删除的1.txt,内容显示曾从http://mirror.unknownrepo.net/f/l/a/g/system_upgrade下载文件并储存为/tmp/.system_upgrade

  2. 在用户目录下发现.viminfo缓存文件,显示编辑过system-upgrade.service文件

  3. /etc/systemd/system找到system-upgrade.service文件,内容为加载自定义内核模块system-upgrade.ko

  4. /lib/modules/5.4.0-84-generic/kernel/drivers/system找到system-upgrade.ko文件

  5. 使用IDA逆向分析system-upgrade.ko

    • Shift+F12查看字符串,发现可疑IP地址192.168.57.203
    • 尝试端口4948、1337、8080,确认正确为4948
  6. 计算MD5:

    echo -n "192.168.57.203:4948" | md5sum
    

    结果为:59110f555b5e5cd0a8713a447b082d63

答案

flag{59110f555b5e5cd0a8713a447b082d63}

题目2:找出主机上驻留的远控木马文件本体

要求:计算该文件的MD5,提交形式:flag{md5}

解题步骤

  1. 通过分析system-upgrade.ko发现其调用并隐藏了systemd-agentd进程

  2. /lib/systemd/目录下找到systemd-agentd文件

  3. 计算MD5:

    md5sum /lib/systemd/systemd-agentd
    

    结果为:bccad26b665ca175cd02aca2903d8b1e

答案

flag{bccad26b665ca175cd02aca2903d8b1e}

题目3:找出主机上加载远控木马的持久化程序

要求:计算该文件的MD5,提交形式:flag{MD5}

解题步骤

  1. 确认system-upgrade.ko是木马加载器

  2. 计算MD5:

    md5sum /lib/modules/5.4.0-84-generic/kernel/drivers/system/system-upgrade.ko
    

    结果为:78edba7cbd107eb6e3d2f90f5eca734e

答案

flag{78edba7cbd107eb6e3d2f90f5eca734e}

题目4:查找持久化程序植入时的原始名称

要求:计算原始名称字符串的MD5,提交形式:flag{MD5}

解题步骤

  1. 根据1.txt内容,原始下载文件名为.system_upgrade

  2. 计算MD5:

    echo -n ".system_upgrade" | md5sum
    

    结果为:9729aaace6c83b11b17b6bc3b340d00b

答案

flag{9729aaace6c83b11b17b6bc3b340d00b}

题目5:获取木马通信加密密钥

要求:提交形式:flag{通信加密密钥}

解题步骤

  1. 逆向分析systemd-agentd

  2. 发现可疑字符串unk_4beffd可能是密文

  3. 跟踪到sub_405ec9函数,发现是对数据进行异或编码

  4. 编写解码脚本解密后得到密钥

答案

flag{ThIS_1S_th3_S3cR3t_fl@g}

题目6&7:获取攻击者服务器权限

说明:由于没有远程服务器环境,无法实际复现

技术分析总结

system-upgrade.ko分析

这是一个内核级rootkit,主要功能包括:

  1. 初始化钩子:篡改文件系统、网络栈、进程管理等接口
  2. 命令接口
    • HIDEME/SHOWME:隐藏/显示功能
    • HIDE/SHOW DENT:隐藏/显示目录项
    • HIDE/SHOW TCP/UDP PORT/IP:隐藏网络端口或IP
    • BINDSHELL_CREATE:创建绑定shell
    • RUN_CUSTOM_BASH:执行自定义shell命令
  3. 默认隐藏:隐藏自身和相关进程、端口、IP

systemd-agentd分析

远控木马功能:

  1. 检查本地是否存在systemd-agentd文件
  2. 如果不存在则从https://192.168.57.207/wp-content/uploads/2025/02/agent下载
  3. 给予执行权限并运行
  4. 使用加密通信与C2服务器192.168.57.203:4948连接

参考资源

  1. TryHackMyOffsecBox WriteUp
  2. 阿里云先知社区
  3. 个人博客分析
  4. CSDN博客
第二届“长城杯”半决赛ISW赛后复现教学文档 题目背景 小路是一名网络安全网管,发现公司主机上有异常外联信息。回忆前段时间执行过某些更新脚本(已删除),现在需要进行网络安全应急响应分析,查找木马,进一步分析,寻找攻击源头,获取攻击者主机权限获取flag文件。 分析工具准备 FTK Imager :用于挂载.raw磁盘镜像文件 R-Studio :用于打开挂载后的磁盘,扫描并恢复删除的文件 IDA Pro :用于逆向分析二进制文件 CyberChef :用于计算MD5值等编码转换 题目1:找出主机上木马回连的主控端服务器IP地址 要求 :找出周期性回连的主控端服务器IP:port,以flag{MD5(IP:port)}形式提交 解题步骤 在ubuntu用户目录下发现删除的1.txt,内容显示曾从 http://mirror.unknownrepo.net/f/l/a/g/system_upgrade 下载文件并储存为 /tmp/.system_upgrade 在用户目录下发现.viminfo缓存文件,显示编辑过 system-upgrade.service 文件 在 /etc/systemd/system 找到 system-upgrade.service 文件,内容为加载自定义内核模块 system-upgrade.ko 在 /lib/modules/5.4.0-84-generic/kernel/drivers/system 找到 system-upgrade.ko 文件 使用IDA逆向分析 system-upgrade.ko : Shift+F12查看字符串,发现可疑IP地址 192.168.57.203 尝试端口4948、1337、8080,确认正确为4948 计算MD5: 结果为: 59110f555b5e5cd0a8713a447b082d63 答案 flag{59110f555b5e5cd0a8713a447b082d63} 题目2:找出主机上驻留的远控木马文件本体 要求 :计算该文件的MD5,提交形式:flag{md5} 解题步骤 通过分析 system-upgrade.ko 发现其调用并隐藏了 systemd-agentd 进程 在 /lib/systemd/ 目录下找到 systemd-agentd 文件 计算MD5: 结果为: bccad26b665ca175cd02aca2903d8b1e 答案 flag{bccad26b665ca175cd02aca2903d8b1e} 题目3:找出主机上加载远控木马的持久化程序 要求 :计算该文件的MD5,提交形式:flag{MD5} 解题步骤 确认 system-upgrade.ko 是木马加载器 计算MD5: 结果为: 78edba7cbd107eb6e3d2f90f5eca734e 答案 flag{78edba7cbd107eb6e3d2f90f5eca734e} 题目4:查找持久化程序植入时的原始名称 要求 :计算原始名称字符串的MD5,提交形式:flag{MD5} 解题步骤 根据1.txt内容,原始下载文件名为 .system_upgrade 计算MD5: 结果为: 9729aaace6c83b11b17b6bc3b340d00b 答案 flag{9729aaace6c83b11b17b6bc3b340d00b} 题目5:获取木马通信加密密钥 要求 :提交形式:flag{通信加密密钥} 解题步骤 逆向分析 systemd-agentd : 发现可疑字符串 unk_4beffd 可能是密文 跟踪到 sub_405ec9 函数,发现是对数据进行异或编码 编写解码脚本解密后得到密钥 答案 flag{ThIS_1S_th3_S3cR3t_fl@g} 题目6&7:获取攻击者服务器权限 说明 :由于没有远程服务器环境,无法实际复现 技术分析总结 system-upgrade.ko分析 这是一个内核级rootkit,主要功能包括: 初始化钩子 :篡改文件系统、网络栈、进程管理等接口 命令接口 : HIDEME/SHOWME:隐藏/显示功能 HIDE/SHOW DENT:隐藏/显示目录项 HIDE/SHOW TCP/UDP PORT/IP:隐藏网络端口或IP BINDSHELL_ CREATE:创建绑定shell RUN_ CUSTOM_ BASH:执行自定义shell命令 默认隐藏 :隐藏自身和相关进程、端口、IP systemd-agentd分析 远控木马功能: 检查本地是否存在 systemd-agentd 文件 如果不存在则从 https://192.168.57.207/wp-content/uploads/2025/02/agent 下载 给予执行权限并运行 使用加密通信与C2服务器 192.168.57.203:4948 连接 参考资源 TryHackMyOffsecBox WriteUp 阿里云先知社区 个人博客分析 CSDN博客