近日,一个叫MedusaLocker的勒索病毒在国外安全圈被炒的沸沸扬扬,原因是该病毒的多个版本被泄露了出来,其中包括了黑客开发过程中的Debug版本。近期,深信服借助强大的威胁情报来源,观察到菲律宾等东南亚国家,及国内不少企业接连中了该病毒,有持续爆发的趋势,深信服安全团队对该病毒进行追踪,实现检测与防御。
正常情况下,为了防止被追踪,黑客分发恶意软件之前,都会对敏感信息进行抹除的,而这个Debug版本的MedusaLocker,很有可能是黑客在开发过程中不慎泄露的,Debug版本包含了较多的样本信息,我们可以通过研究它,制定有效的检测防御方案。
由于Twitter上没有公布该样本的MD5,只好在VT上根据关键字进行搜索,最后筛选出两个相关样本,根据发现的时间排序,第二个样本很可能就是提前泄露的Debug版本。
本地运行该样本,主机文件被加密成”.skynet”,同时生成了以下勒索提示文件”Readme.html”。仔细一看“Your files are encrypted”和“Attention”的关键字,跟Globelmposter病毒非常相似,不排除作者有模仿Globelmposter的可能。
可能样本是Debug版本的原因,运行时会自动打印调试信息,根据信息,可以大致得知病毒的工作流程如下:
提权->初始化加密算法->释放勒索提示文件->添加自启动->清除数据库、杀软进程->删除卷影备份->扫描遍历文件加密
使用IDA打开该样本,会发现样本携带了PDB信息,通过提取PDB信息的特征,可以实现对MedusaLocker家族变种的识别。
PE文件中的PDB信息是什么,有什么用呢?它的主要功能是记录工程中PDB文件的路径,存放在PE文件的IMAGE_DEBUG_TYPE_CDEVIEW字段,编译器通过读取这个字段的值,就可以找到PDB文件并进行相关信息的加载。我们从该路径中可以发现这个黑客名为Gh0St,工程的路径也带有明确的MedusaLocker字符串。
PDB路径字段的格式如下,以“/RSDS”标识开头,根据以下格式,就可以轻松的编写出Medusalocker的yara规则。
PDB信息都是以明文的方式进行存储,通过检测PDB特征字符串,可以高效地检出该病毒家族的不同变种。
这种基于PDB信息的检测技术之前国外安全厂商FireEye有所介绍,他们整理了许多可疑的PDB字符串规则进行检测,已成功捕获到多个新型的恶意软件样本。
然而,这种检测方法还是有所局限的,大部分情况,黑客在分发恶意软件之前,都会使用工具对PDB信息进行抹除,所以,除了一些被提前泄露的Debug程序,大部分样本都是没有PDB信息的。
抹除PDB信息的原理很简单,将其中的PDB路径覆盖为0,或直接删除IMAGE_DEBUG_TYOE_CODEVIEW字段。
通过这种方法,在网上找到了Release版本的MedusaLocker样本。
Release版本与Debug版本的病毒逻辑基本一致,只是少了调试代码,但加密后缀以及勒索提示文件则截然不同,加密后缀变成了”.encrypted”,勒索提示文件名为”HOW_TO_RECOVER_DATA.html”,且画风也有很大改观,在右下角添加了个醒目的鸟人标志。
病毒防御
1、及时给电脑打补丁,修复漏洞;
2、对重要的数据文件定期进行非本地备份;
3、不要点击来源不明的邮件附件,不从不明网站下载软件;
4、尽量关闭不必要的文件共享权限;
5、更改账户密码,设置强密码,避免使用统一的密码,因为统一的密码会导致一台被攻破,多台遭殃;
6、如果业务上无需使用RDP的,建议关闭RDP;
最后,建议企业对全网进行一次安全检查和杀毒扫描,加强防护工作。