模拟全球化勒索病毒——应急响应和取证分析案例
字数 2111 2025-08-20 18:18:23

全球化勒索病毒应急响应与取证分析教学文档

一、案例概述

本案例模拟了一个业务服务器被勒索病毒攻击的场景,主要特征包括:

  • 阿里云ECS实例被入侵
  • Web首页被替换为勒索界面
  • 部分重要文件被加密为.vulntarget扩展名
  • 需要完成攻击画像分析、服务恢复和寻找隐藏flag

二、初始信息

已知条件:

  • 服务器账号: root
  • 密码: Vulntarget@123
  • 环境: 阿里云ECS实例镜像

任务要求:

  1. 分析攻击事件发生过程,给出攻击画像
  2. 恢复原始index.jsp页面,恢复正常web服务
  3. 找到隐藏的3个flag

三、取证分析步骤

1. 系统日志分析

关键日志文件:

  • /var/log/auth.log - 认证日志
  • /var/log/syslog/var/log/messages - 系统日志
  • /root/.bash_history - 命令历史记录

2. 命令历史分析(/root/.bash_history)

攻击者操作流程:

  1. 初始设置阶段:

    • 更新apt源并安装openjdk-8-jdk和unzip
    • 下载并配置Apache Tomcat 7.0.79
    • 输出第一个flag: flag{vulntarget_very_G00d} (第11行)
  2. Tomcat配置修改:

    • 备份并修改server.xml和web.xml配置文件
    • 多次启动/停止Tomcat服务
  3. Web目录操作:

    • 进入webapps/ROOT目录
    • 删除favicon.ico
    • 备份并修改index.jsp
    • 将vulntargetn.jsp重命名为404.jsp
  4. 加密准备:

    • 安装rsa包: pip3 install rsa
    • 创建隐藏目录.vulntarget和子目录keys
    • 生成并存储RSA密钥对(pubkey.pem和privkey.pem)
  5. 文件加密操作:

    • 运行encrypt_vulntarget.py对文件进行加密
    • 加密了多个jsp文件: 404.jsp.vulntarget、flag.jsp.vulntarget等
    • 删除加密脚本和公钥文件

3. Flag位置分析

三个flag位置:

  1. 第一个flag:直接出现在命令历史记录中(第11行)

    flag{vulntarget_very_G00d}
    
  2. 第二个flag:在加密文件flag.jsp.vulntarget中

    • 使用私钥解密后获得:
    flag{https://github.com/crow821/vulntarget}
    
  3. 第三个flag:在Tomcat访问日志中

    • 文件路径: /opt/tomcat/logs/localhost_access_log.2024-06-04.txt
    • 第544行发现flag

4. 攻击路径还原

  1. 初始入侵点

    • 利用Tomcat 7.0.79的CVE-2017-12615漏洞
    • 通过PUT方法上传webshell:
      PUT /vulntarget.jsp/ HTTP/1.1
      
  2. 后续操作

    • 通过webshell执行命令(如whoami)
    • 上传并重命名webshell文件(vulntargetn.jsp → 404.jsp)
    • 安装加密工具并加密重要文件
    • 修改index.jsp为勒索页面
  3. 漏洞利用证据

    • Tomcat版本7.0.79存在已知RCE漏洞
    • 访问日志中可见PUT请求和webshell执行记录

四、恢复措施

1. 解密被加密文件

解密步骤:

  1. 定位私钥文件: /.vulntarget/keys/privkey.pem
  2. 使用RSA私钥解密被加密文件(如index.jsp.vulntarget)
  3. 注意:某些在线解密工具可能存在问题,建议使用本地工具

2. Web服务恢复

  1. 恢复原始index.jsp

    • 解密index.jsp.vulntarget文件
    • 还原为原始后台管理系统页面
  2. 清理恶意文件

    • 删除webshell文件(404.jsp)
    • 检查其他被修改的配置文件(server.xml, web.xml)
  3. 安全加固

    • 升级Tomcat到最新版本
    • 禁用PUT方法等危险HTTP方法
    • 设置严格的访问控制

五、攻击画像

攻击者特征:

  1. 入侵方式:利用已知漏洞(CVE-2017-12615)
  2. 攻击工具:自定义加密脚本(encrypt_vulntarget.py)
  3. 驻留手段:通过修改web文件建立持久化访问
  4. 目标:文件加密勒索,可能为自动化攻击

时间线:

  1. 初始入侵:2024年6月4日14:31:18 (通过PUT请求)
  2. webshell活动:14:33:57 (执行whoami命令)
  3. 文件加密操作:后续通过命令历史记录可见

六、防护建议

  1. 及时更新:保持中间件和应用程序最新版本
  2. 最小权限:服务账户使用最小必要权限
  3. 日志监控:实时监控关键日志文件
  4. 备份策略:定期备份重要数据,测试恢复流程
  5. 入侵检测:部署HIDS/NIDS检测异常行为

七、技术要点总结

  1. 取证关键点

    • 命令历史记录分析
    • 日志文件时间线分析
    • 加密文件与密钥定位
  2. 应急响应流程

    • 确认影响范围
    • 收集证据
    • 恢复服务
    • 分析攻击路径
  3. 加密勒索应对

    • 寻找并保护加密密钥
    • 评估解密可能性
    • 优先恢复关键业务文件

本案例完整展示了从勒索病毒攻击的应急响应到取证分析的全过程,强调了日志分析、命令历史审查和加密文件处理的关键技术点。

全球化勒索病毒应急响应与取证分析教学文档 一、案例概述 本案例模拟了一个业务服务器被勒索病毒攻击的场景,主要特征包括: 阿里云ECS实例被入侵 Web首页被替换为勒索界面 部分重要文件被加密为.vulntarget扩展名 需要完成攻击画像分析、服务恢复和寻找隐藏flag 二、初始信息 已知条件: 服务器账号: root 密码: Vulntarget@123 环境: 阿里云ECS实例镜像 任务要求: 分析攻击事件发生过程,给出攻击画像 恢复原始index.jsp页面,恢复正常web服务 找到隐藏的3个flag 三、取证分析步骤 1. 系统日志分析 关键日志文件: /var/log/auth.log - 认证日志 /var/log/syslog 或 /var/log/messages - 系统日志 /root/.bash_history - 命令历史记录 2. 命令历史分析( /root/.bash_history ) 攻击者操作流程: 初始设置阶段: 更新apt源并安装openjdk-8-jdk和unzip 下载并配置Apache Tomcat 7.0.79 输出第一个flag: flag{vulntarget_very_G00d} (第11行) Tomcat配置修改: 备份并修改server.xml和web.xml配置文件 多次启动/停止Tomcat服务 Web目录操作: 进入webapps/ROOT目录 删除favicon.ico 备份并修改index.jsp 将vulntargetn.jsp重命名为404.jsp 加密准备: 安装rsa包: pip3 install rsa 创建隐藏目录 .vulntarget 和子目录 keys 生成并存储RSA密钥对(pubkey.pem和privkey.pem) 文件加密操作: 运行encrypt_ vulntarget.py对文件进行加密 加密了多个jsp文件: 404.jsp.vulntarget、flag.jsp.vulntarget等 删除加密脚本和公钥文件 3. Flag位置分析 三个flag位置: 第一个flag :直接出现在命令历史记录中(第11行) 第二个flag :在加密文件flag.jsp.vulntarget中 使用私钥解密后获得: 第三个flag :在Tomcat访问日志中 文件路径: /opt/tomcat/logs/localhost_access_log.2024-06-04.txt 第544行发现flag 4. 攻击路径还原 初始入侵点 : 利用Tomcat 7.0.79的CVE-2017-12615漏洞 通过PUT方法上传webshell: 后续操作 : 通过webshell执行命令(如whoami) 上传并重命名webshell文件(vulntargetn.jsp → 404.jsp) 安装加密工具并加密重要文件 修改index.jsp为勒索页面 漏洞利用证据 : Tomcat版本7.0.79存在已知RCE漏洞 访问日志中可见PUT请求和webshell执行记录 四、恢复措施 1. 解密被加密文件 解密步骤: 定位私钥文件: /.vulntarget/keys/privkey.pem 使用RSA私钥解密被加密文件(如index.jsp.vulntarget) 注意:某些在线解密工具可能存在问题,建议使用本地工具 2. Web服务恢复 恢复原始index.jsp : 解密index.jsp.vulntarget文件 还原为原始后台管理系统页面 清理恶意文件 : 删除webshell文件(404.jsp) 检查其他被修改的配置文件(server.xml, web.xml) 安全加固 : 升级Tomcat到最新版本 禁用PUT方法等危险HTTP方法 设置严格的访问控制 五、攻击画像 攻击者特征: 入侵方式 :利用已知漏洞(CVE-2017-12615) 攻击工具 :自定义加密脚本(encrypt_ vulntarget.py) 驻留手段 :通过修改web文件建立持久化访问 目标 :文件加密勒索,可能为自动化攻击 时间线: 初始入侵:2024年6月4日14:31:18 (通过PUT请求) webshell活动:14:33:57 (执行whoami命令) 文件加密操作:后续通过命令历史记录可见 六、防护建议 及时更新 :保持中间件和应用程序最新版本 最小权限 :服务账户使用最小必要权限 日志监控 :实时监控关键日志文件 备份策略 :定期备份重要数据,测试恢复流程 入侵检测 :部署HIDS/NIDS检测异常行为 七、技术要点总结 取证关键点 : 命令历史记录分析 日志文件时间线分析 加密文件与密钥定位 应急响应流程 : 确认影响范围 收集证据 恢复服务 分析攻击路径 加密勒索应对 : 寻找并保护加密密钥 评估解密可能性 优先恢复关键业务文件 本案例完整展示了从勒索病毒攻击的应急响应到取证分析的全过程,强调了日志分析、命令历史审查和加密文件处理的关键技术点。