模拟全球化勒索病毒——应急响应和取证分析案例
字数 2111 2025-08-20 18:18:23
全球化勒索病毒应急响应与取证分析教学文档
一、案例概述
本案例模拟了一个业务服务器被勒索病毒攻击的场景,主要特征包括:
- 阿里云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)
- 安装rsa包:
-
文件加密操作:
- 运行encrypt_vulntarget.py对文件进行加密
- 加密了多个jsp文件: 404.jsp.vulntarget、flag.jsp.vulntarget等
- 删除加密脚本和公钥文件
3. Flag位置分析
三个flag位置:
-
第一个flag:直接出现在命令历史记录中(第11行)
flag{vulntarget_very_G00d} -
第二个flag:在加密文件flag.jsp.vulntarget中
- 使用私钥解密后获得:
flag{https://github.com/crow821/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:
PUT /vulntarget.jsp/ HTTP/1.1
-
后续操作:
- 通过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检测异常行为
七、技术要点总结
-
取证关键点:
- 命令历史记录分析
- 日志文件时间线分析
- 加密文件与密钥定位
-
应急响应流程:
- 确认影响范围
- 收集证据
- 恢复服务
- 分析攻击路径
-
加密勒索应对:
- 寻找并保护加密密钥
- 评估解密可能性
- 优先恢复关键业务文件
本案例完整展示了从勒索病毒攻击的应急响应到取证分析的全过程,强调了日志分析、命令历史审查和加密文件处理的关键技术点。