来源:https://www.demisto.com/phishing-incident-response-playbook/
https://www.demisto.com/playbook-for-handling-ransomware-infections/
下面这篇文章演示了写一本勒索软件剧本的过程,以有效应对事件和处理勒索软件感染。
勒索软件(Ransomware)是一种恶意软件的变种,它会在未经同意的情况下将受害者的文件加密,然后要求以赎金换取解密密钥。这是一个利润丰厚、价值数百万美元的商业模式,目标是每天数十万用户。
在前一篇文章中,我们已经学会了写剧本的基础知识。我们已经涵盖了网络钓鱼作为一个事件场景,这是一个相当流行的方法,交付恶意代码片段。在接下来的文章中,我们将把勒索软件的剧本和之前的剧本链接起来,因为勒索软件非常依赖钓鱼邮件。
我们再来考虑一个假想的情况。你碰巧又在为Royal Acacia公司工作,最近读到了很多勒索软件的快速增长。您认识到,文件变得不可用会导致正常业务活动的中断,因此需要花钱。为了尽量减少对业务的影响,您决定编写一个剧本,以一种正式的方式处理勒索软件感染。
一、勒索软件的攻击链
就像之前的钓鱼剧本一样,我们的第一步是再次构建攻击链。这个非常重要的部分的目的是收集和确定一个成功的勒索攻击需要采取的步骤。
网络攻击链大致如下:
1、勒索可执行文件是通过下列方式进行传递:
(1)钓鱼邮件中的附件或网络链接
(2)在无害的网页上做广告
(3)通过下载(如假防病毒)
2、有效负载在最终用户的设备上执行
3、勒索软件会安装在受害者的电脑上
4、勒索软件生成一个唯一的加密/解密密钥对
5、勒索软件会联系互联网上的C2服务器来存放解密密钥
6、恶意软件开始用加密密钥加密硬盘、映射网络驱动器和USB设备上的文件
7、一旦进程结束,文件就无法访问。该恶意软件会在电脑桌面上放置一个文本文件,或者弹出一个闪屏,提示付费和恢复原始文件。
正如我们上次学到的,如果事件链在任何位置被破坏,我们都可以中断恶意代码的操作。让我们快速评估一下,在现有的Royal Acacia的控制下,我们可以在哪里以及如何破坏勒索软件!
1、勒索可执行文件是通过下述手段传播:
1)、钓鱼邮件中的附件或网络链接
阻止进入SMTP服务器的电子邮件,从用户收件箱删除电子邮件,警告用户不要点击某些链接和附件
2)、在无害的网页上做广告
阻止网络代理上的恶意url,识别使用代理日志在特定url上访问恶意网站的计算机
3)、通过下载(例如:伪防病毒软件)
阻止网络代理上的恶意url,识别使用代理日志访问恶意网站的电脑,部署自定义的反病毒签名来阻止某些文件被下载,识别使用ETDR的电脑,这些电脑下载了某些IoCs文件。
2、有效负载在终端用户的设备上执行,勒索软件自己安装
应用白名单,使用HIDS日志识别pc执行某些文件
3、勒索软件生成一个唯一的加密/解密密钥对
4、勒索软件会联系互联网上的C2服务器来存放解密密钥
5、识别和/或阻塞NIDS和代理上的流量
恶意软件开始用加密密钥加密硬盘、映射网络驱动器和USB设备上的文件
6、一旦进程结束,文件就无法访问。该恶意软件会在电脑桌面上放置一个文本文件,或者弹出一个闪屏,提示付费和恢复原始文件。
监控终端勒索软件相关的文本或HTML文件在桌面文件夹
二、Ransomware的剧本
你的剧本的第一个版本将是被动的而不是主动的。playbook的主要执行触发器是雇员报告他们的文件已被加密。主要目标是尽快控制、根除和从感染中恢复。
然而,我们不会仅仅依靠我们的最终用户的警惕的眼睛。我们将创建两个破坏指标(IoC),以自动方式识别其他受影响的pc。此外,我们还将前往这些IoCs,对新的感染尝试发出警报。
此外,我们还试图找出受害者的设备是如何被感染的。有了这些信息,我们将尝试在代理服务器和SMTP网关上阻止威胁。对于后者,我们将把说明与之前的钓鱼剧本联系起来。
三、方法和程序
3.1如果勒索软件事件是由终端用户报告:
主要目标是对事件进行分类,并尽快使计算机脱机。
1、用户通过电话或电子邮件报告事件
2、用JIRA打开一张ticket
3、该事件是通过电子邮件报告的,打开公司通讯录并给用户回电话
4、与用户验证它是否是一个真正的勒索案件
(1)会弹出一个窗口要求赎金吗?
(2)桌面上是否有带有说明的文本文件?
(3)文件扩展名是否已更改为.abc, .xxx或类似?
(4)文件不可用吗?
5、要求用户断开设备与网络的连接。如果用户使用无线网卡连接网络,他/她必须关闭它。
6、从终端用户处获取以下详细信息,并将其注册到ticket中:
(1)员工的名字
(2)详细联系方式
(3)计算机名
(4)IP地址
(5)发生了什么事?问题是如何发现的,何时发现的?
(6)用户是否意识到他/她最近点击了一个可疑的链接或附件?
7、让用户知道JIRA单据
8、向用户保证,很快就会有人来替换该设备
9、转到识别其他受感染设备以识别基础设施上的其他受影响设备
10、与此同时,转到确定感染部分的来源以防止进一步感染
3.2如果SIEM发出警告:
这些步骤的目标是验证警报,识别出有问题的设备,并将其从网络上删除,以防止对映射的网络驱动器进行加密。
1、验证事件:
1)如果警报基于手动添加的IoC,请转到相应步骤
2)如果代理日志标记了URL,请检查原因:
转到https://otx.alienvault.com并搜索主机名
使用https://zeltser.com/lookup-malicious-websites/上的任何工具检查声誉
3)URL从IDS日志中标记了,请验证为什么要标记文件哈希
转到https://www.virustotal.com并搜索文件散列
转到https://otx.alienvault.com并搜索文件散列
2、如果警报是真实的,用JIRA打开一张票。否则,承认SIEM中的警报并将其标记为假阳性。
3、识别受影响的端点:
1)从警报中获取源IP地址,然后将IP添加到JIRA票据中
2)在DHCP日志中搜索以确定租用此IP地址的计算机
3)一旦你知道了电脑的名字,写一封电子邮件到[email protected],询问电脑的主人是谁
4、打开公司地址簿,打电话给用户
5、通知用户他/她的电脑发生了什么
6、要求用户断开设备与网络的连接
7、从终端用户获取以下详细信息并将其附加到票据中:
用户是否意识到他/她最近点击了一个可疑的链接或附件?
8、让用户知道JIRA的票号
9、告诉用户很快就会有人来更换设备
10、解决这一事件
识别其他受感染的设备:
如果一台设备感染了勒索软件,我们认为内部网络上的其他pc机也可能受到影响。以下步骤的目标是从最初受害者的流量生成IoCs,并在基础设施中寻找相同的模式。
1、去SIEM
2、筛选详细的代理日志
3、过滤受影响用户的用户名(所有用户都应该通过代理身份验证)
4、过滤掉已分类的url,您应该只有未分类的url在列表中。
5、将您的列表导出到CSV文件
6、按url对列表进行排序,删除重复项
7、试着找到以下属性中的2-3个的url:
(1)奇怪的网址
URL中的IP地址
URL主机名中的随机字符(例如http://fbdfsufsuehrtgkf.com)
URL包含许多随机的字母和/或数字
(2)对Tor2Web的请求(例如:https://3fdzgtam4qk625n6.fi/)
(3)POST请求
(4)奇怪的用户代理字符串,例如:
IE6 (e.g.Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1))
Programmatic libraries (e.g.python-requests/1.2.0)
dJava (e.g.Java/1.6.0_13)
(5)缺少User-Agent
8、如果你发现可疑的C2服务器url,试着在http://otx.alienvault.com上验证它们
9、最后列出一份可疑url的清单
10、将列表上传到JIRA票据
11、继续下面的url和散列生成IoCs部分
从url和散列生成IoCs:
这个过程是从标记的url生成IoCs。这些模式将用于阻止代理上的url并识别其他受影响的计算机。
1、从JIRA票据中获取标记的url /散列列表
2、订阅威胁情报(TI)feed:
(1)访问http://otx.alienvault.com并搜索URL
(2)单击Subscribe以订阅feed。这将自动安装相关的IoCs从OTX到我们的SIEM。
3、如果没有一个IoCs在TI feed上,您需要手动生成IoCs:
(1)再次访问代理日志
(2)找到2-3属性与标记的URL相关,如:
请求是POST
User-Agent字段不可靠(Java、Python、IE6等)
URL包含超过128个随机字符
URL包含.php
URL包含很多斜杠(/)
URL包含WordPress相关内容(wp-content)
URL包含不可靠的顶级域名(例如.tk、.ru)
(3)在SIEM中的代理日志上测试您的假设。使用你的模式并检查它产生了多少假阳性和真阳性。
4、如果模式足够好,则将结果附加到JIRA票据中
5、继续下面部署IoCs一节
部署IoCs:
1、将一个新规则部署到SIEM中,这将警告未来新的感染尝试
2、在代理日志中搜索模式,以识别其他已经受到影响的计算机。如果您发现其他受影响的电脑
(1)打开一个新的JIRA票
(2)如果SIEM部分发出警报,请执行其中的步骤
3、将模式发送到[email protected],并要求它在代理上屏蔽这些url
4、解决这一事件
确定感染源:
下面说明的目的是首先评估终端用户设备是如何被感染的。我们将使用这些信息,以阻止恶意电子邮件或url的必要。
调查恶意软件是否已通过电子邮件发送给受害者:
1、去SIEM
2、过滤过去3天内与用户关联的电子邮件日志
3、再次过滤那些收件人是受害者的邮件
4、删除发件人来自公司的电子邮件日志(*@royalacacia.com)
5、导出电子邮件列表到一个CSV文件。它应该只包含过去3天内从互联网发送给受害者的电子邮件。
6、将CSV文件发送到[email protected],并要求他们从用户的收件箱中检索完整的电子邮件。也将CSV上传到票据中。
7、一旦你收到zip格式的电子邮件,仔细检查一下,找出可疑的链接或附件。
(1)寻找不指向屏幕上显示的相同URL的链接(例如http://www.bbc.co.uk)
(2)检查“发件人:”字段中与邮件主题对应的域名(例如,UPS的包裹投递通知邮件不会来自[email protected])
(3)扫描可疑的网址,如有必要:
http://www.virustotal.com
http://www.phishtank.com
或者来自https://zeltser.com/lookup malici-websites/的任何其他工具
8、如果您识别了可疑的URL
(1)用“curl”下载恶意档案
(2)将文件上传到http://www.virustotal.com和/或上传到沙箱的http://malwr.com
(3)如果你怀疑文件是恶意的(例如它被VirusTotal标记或打开了很多网络连接),生成一个SHA256散列
(4)检查邮件附件>
(5)将文件上载到以下服务。小心,不要上传可能包含敏感数据的文件!
http://www.virustotal.com
http://malwr.com
9、如果你怀疑该文件是恶意的(例如,它被VirusTotal标记或打开了大量网络连接)
(1)将文件重命名为:virus_<文件名>.<扩展名>_invalid
(2)生成SHA256散列
(3)将文件和散列附加到JIRA
10、从钓鱼电子邮件生成的IoCs,否则继续下面检查代理日志。
调查受害者的电脑是否已被一个攻击套件/驱动下载感染:
1、去SIEM
2、过滤过去3天的代理日志
3、过滤受影响用户的用户名(所有用户都应该通过代理身份验证)
4、过滤掉已分类的url,您应该只有未分类的url在您的列表中。
5、导出列表到CSV
6、按url对列表进行排序,删除重复项
7、搜索可疑的网址,例如:
(1)URL中的IP地址
(2)URL主机名中的随机字符(例如http://asdheguhadaasd.com)
(3)URL包含许多随机的字母和/或数字
(4)涉及WordPress网站(wp-content…)
8、如果涉及文件下载,则从日志中获取散列
9、如果你发现一些可疑的url /散列,并尝试验证他们:
http://otx.alienvault.com
http://www.virustotal.com
在http://anubis.iseclab.org上访问沙箱中的可疑URL
10、如果您对其中一些url有很高的信心,请编译一个列表并将其上传到JIRA。
11、去生成IoCs从url和哈希阻止他们
从钓鱼邮件生成IoCs:
这个过程是从识别的钓鱼电子邮件产生IoCs,以阻止进一步的电子邮件。
如果邮件中的URL是恶意的:
如果一个URL被标记为可疑
1、从URL的主机部分生成IoC (http://malware.com/index.php?=3werw234234fsdfsdf ecom)
2、在[email protected]上请求它阻止代理上URL的主机部分
3、在代理日志中搜索主机部分,以回顾性地识别访问该恶意URL的其他pc
4、如果您发现任何其他pc受到影响,打开一个新的JIRA票证,并应用,如果警告是由SIEM进程提出
5、向SIEM添加一个新规则,以监视新访问者的代理日志
如果邮件附件是恶意的:
如果文件散列被标记为可疑,
1、获取之前从JIRA上传的SHA256散列
2、去SIEM
3、在代理日志中搜索,检查下载的文件中是否有涉及使用SHA256散列的同一文件
4、您可以识别其他下载了相同文件的计算机,请遵循SIEM进程发出的警报
最后的步骤
我们利用网络钓鱼活动来阻止更多的邮件进入
1、打开一个新的JIRA票
2、将ioc添加到新票中
3、把旧票和新票联系起来
4、解析旧的JIRA票据
5、从“剧本库”中打开“缓解钓鱼活动”(10001用户社交)剧本
6、按照另一个剧本中的说明,阻止电子邮件钓鱼活动的一部分