跳转至

勒索病毒

0x00 整体流程

勒索病毒处置流程-深色

0x01 勒索病毒简述

勒索病毒是让人比较无奈的恶意程序,大部分都是只有攻击者才能解密

近期和一些勒索解密团队合作后发现,其实还是有解密的可能的,是否能够解密,如何判断需要专业团队来完成

但还是那句话,把应急解密或者赎金的钱用在数据备份,安全防护上才是较为明智的选择

0x02 梳理现场情况

保护现场

保护现场很重要,即使重装系统也建议保留一份镜像,尤其是与本次攻击相关的关键系统

可以使用电子取证专用的一些采集器

采集并确定 ioc 信息

  • 从内网 dns 服务器、dns 防火墙、流量审计设备等设备获取

  • 从EDR、态势感知等设备获取

  • 从被勒索文件特征以及勒索信获取

确认攻击信息准确性

安全设备、人、上级/行业/监管单位的通报都不见得是准确的,做二次研判是必要的,能够帮我应急响应人员确定整体排查思路

询问历史被攻击情况或历史通报

历史攻击可能会留下攻击遗产,成为未来新一轮攻击事件的发起点,询问清楚历史被攻击、被通报情况,向当事人或负责人了解清楚事件性质、处理过程、处理结果,这可能会在完全理不清攻击路径的时候帮你一把

0x03 确定勒索病毒家族

判断勒索病毒家族并不难,可以从以下几个方面获取

  • 根据已获取的 ioc 信息去威胁情报平台查询
  • 勒索页面主动说明的,直接粘贴到baidu、google里面搜索
  • 勒索加密文件的后缀名
  • 联系邮箱

0x04 根据勒索病毒类型寻找解决方法

0x05 寻找加密器

如果没有找到现成的解决办法,又不想冒险交赎金来解密的话,就只能通过找加密器和加密命令来分析解密方法了

寻找加密器并不简单,时间线是一个很重要的线索,其次是勒索病毒一般不会加密自己的加密器

1. 确定加密时间

使用 find、locate 等程序,搜索被加密后的文件的后缀,对加密后的文件进行时间排序,很容易确定加密开始的时间,例如以下命令

find /path/to/search -type f -name "*.encrypted" -exec stat --format '%n %z' {} \; | sort -k2 | head -n 1

我们以 .so 文件为例

image-20240714235408445

这里需要注意,部分加密程序可能会对部分空文件或者特殊格式的文件仅重命名,所以需要人工鉴别来确定时间

2. 查找加密开始前的活动

  • 通过 find 等来查看加密开始前创建文件的情况

  • 通过各种日志文件来查看加密开始前是否存在异常日志,包括 Web 等应用日志

3. 对加密器逆向分析

这部分需要具备逆向分析的能力,如果公司内部安全人员不具备,建议向专业的逆向分析人员求助

如果是单文件加密器,没有额外参数,分析起来可能比较容易

如果是单文件加密器有额外参数或者多文件加密器(证书或者公钥文件),则需要获取相关参数或文件才能进行分析,这种也是比较主流的

如果能获取到恶意程序原程序,也就是说执行该程序会从网络下载加密器并执行或者该恶意程序会自己释放加密器并执行,可以在隔离的测试环境,通过火绒剑等对恶意程序的执行过程进行监控,获取有效的加密器以及启动参数,进一步进行分析

0x06 解决勒索

如果通过公开途径或者交赎金的方式获取到了解密工具,一定要先测试好,免得遇到二次加密

如果是安全人员逆向分析,找到了破解方法,也建议对已经被加密的文件备份一份,免得解密过程中出现bug导致文件丢失

除了恢复被勒索系统以外,找到被勒索的原因是最重要的,如果由于缺少流量、日志等记录,无法还原,至少要做到以下几点

  • 将应用程序及系统升级、打上最新的安全补丁
  • 对于本次受到影响的系统进行重点备份

0x07 善后阶段

直接查看善后阶段即可,主要为定损以及针对性排查处理,目的是解决潜在的受害服务器

0x08 常规安全检查阶段

直接根据常规安全检查章节进行安全检查即可,目的是找出当前系统中存在的隐藏后门等