360报ea勒索病毒

[警惕]新型勒索病毒BadCkat伪装成法院传票进行攻击

2018年5月12号开始,我国多个政府、银行邮件系统不断地收到一封邮件:伪装成为“美国法院”发送的传票文件。启明星辰ADLab与神州网云冰狐安全实验室针对该次攻击事件进行调查,并对涉事的攻击病毒进行了长时间的深入分析、追踪溯源:最终我们发现该攻击病毒是一起利用“EDA2”开源勒索项目改造而成的勒索病毒,目前在世界范围内进行着广泛的攻击活动。

该次攻击冒充美国法院行政办公室发送一封需要受害人出席的民事诉讼案件(第6:15-145号)邮件,并以邮件附件的形式提供了法庭位置和案件详细信息。邮件附件是一个加密的word文档,文档包含黑客精心构造的office宏病毒,一旦该文件被打开,就会从网络下载攻击模块,实施勒索。邮件内容如下图所示:

内容大意:你被要求在指定时间到指定地点作证,附件里有案件相关的文档,请打开。美国联邦地区法院

一旦word文档的宏被启用,其中的恶意宏代码会下载一个后缀名为.png的文件;该PNG文件实则为一个下载者模块,将再下载一个sfx自解压模块。sfx自解压模块将启动一个loader程序,由loader程序加载并执行真正的勒索模块。由于勒索模块使用了Chilkat商业库(由一家芝加哥公司开发的跨语言、跨平台的商业组件)开发,我们将这个勒索病毒命名为“BadCkat”。该勒索病毒共使用了4个Chilkat的License,License如下表格所示:

该勒索病毒利用带有打开密码的word文件、加密的sfx自解压程序、运行时动态解密PE文件、虚拟机检测及沙箱检测技术来躲避安全厂商自动化分析检测系统的查杀;在加密文件的方式上采用非全文加密技术,并且支持加密的文件种类多达501种。这种非全文文件加密方式与今年最流行的四大勒索家族(Globelmposter、CrySiS、GandGrab、Satan)相比,文件加密速度显著提高。加密算法上,采用传统的RSA+AES组合加密算法对被感染PC上的文件进行加密,与其他勒索软件不同的是:该勒索软件的RSA公钥并没有被内置在程序中,而需通过Tor匿名网络从C&C动态获取。在黑客没有公布RSA私钥的情况下,无法对被加密的文件进行解密还原。

BadCkat的网络请求如下所示:

根据URL中的请求路径(运行环境),提高了对Windows操作系统不同版本的兼容性,并且很多方面较Karo做了较大改进,如:BadCkat中所有重要的字符串都是用AES算法加密的,运行时动态解密;根据字符串过滤不加密的文件目录,以保障被感染PC可以正常启动。

在追踪Karo家族时,我们发现Karo家族是EDA2的一个变种之一。而EDA2是2016年1月24日,土耳其安全研究人员Utku Sen出于教育目的在Github上发布的两款开源勒索软件之一(EDA2项目地址:),为防止代码被滥用,Utku Sen在EDA2的管理面板内置了后门,用于获取勒索软件作者加密受害者文件的密钥。但部分黑客在获取源代码之后,修复了其中的后门。2016年3月23日,Utku Sen移除托管在GitHub上的项目,主要是因为他发现很多黑客利用他的源代码进行恶意的攻击行为,而这与他之前的想法背道而驰;再加上安全社区中没多少人支持他的这一做法,迫于压力他才不得不移除GitHub上的这两个项目。据不完全统计,EDA2的恶意代码已经出现在了10种不同的勒索软件中(Brazilian、DEDCryptor、Fantom、FSociety、Magic、MM

根据BadCkat勒索病毒的各种特征,可以确认其与Karo病毒具有一定的同源性。Karo虽然继承于开源项目EDA2,但是其本身并不开源;因此BadCkat可能直接改造于开源项目EDA2,当然也不排除其改造于其他EDA2衍生版本的可能。在开源项目EDA2的基础上,BadCkat用C++重新开发了一款兼容性更好、功能更强大、加密速度更快的勒索软件。

勒索病毒下载并执行Tor应用,以便实现与C&C进行匿名通信,只有成功连接C&C后才开始对磁盘特定的文件进行加密。勒索病毒直接在原文件基础上实现文件加密:先将文件部分内容进行加密,得到密文;用密文覆盖原文内容,原文件被覆盖内容长度与密文长度相同,其余部分保持不变;然后在文件末尾追加加密过的AES密钥,最后再追加字符串“magic”,用以标记文件已经被加密。当磁盘文件被加密成功后,勒索病毒会创建一张带有勒索信息的图片,把它作为壁纸设置为桌面背景图片,并在所有被加密过文件的目录中创建“ReadMe.txt”文件,同时在桌面创建并打开“ReadMe.html”文件,提示受害人文件被加密,需要支付赎金。一个被加密过的文件末尾如下图所示:

勒索壁纸图片中包含一个ID,该ID为被感染PC电脑的唯一标识符,它是使用被感染PC硬件信息计算得到的一个md5值:通常使用mac地址作为硬件信息,若获取mac地址失败,则使用 C盘序列号作为硬件信息,黑客用它来区分不同的被感染PC。下图是带有被感染PC的uid的勒索信息的桌面壁纸图片:

四、文件关系及网络通信

文件创建关系流程如下图所示:

当Tor运行后,被感染PC通过Tor向C&C发送上线请求,以获取RSA公钥或exit指令。获得RSA公钥后,开始对磁盘文件进行加密,加密完成再向C&C上报加密成功状态,被感染PC收到HTTP 200 OK后就完成了与C&C的通信。C&C通信过程如下图所示:

BadCkat为了提高自身的成活时间,采用了多种手段来对抗自动化分析系统。其中最有意思的是其将病毒附件(word文档)配置上打开密码,如果没有密码输入便不会有任何恶意行为出现,此方法大大降低了自身被自动化系统发现的几率。此外BadCkat还采用了带密码的sfx自解压程序来做自我保护,在勒索主体执行过程还会检测虚拟机和沙箱来对抗自动化分析系统。与C&C通信上,其通过下载Tor客户端来实现匿名通信,使其C&C难以追踪。BadCkat详细逆向分析如下。

该模块主体包括被感染PC收到的邮件和邮件中的附件(scan_jt.doc)两个文件:eml文件负责外网扩散;scan_jt.doc文件负责感染收到邮件的机器,通过文字诱导用户在内网中打开scan_jt.doc文档,以实现在内网中感染其他主机。

该病毒为利用邮件传播的office宏病毒。黑客发送一封欺骗邮件,并且携带带有恶意代码的附件,附件中的word文件被加密,需要受害人手动输入打开密码:615145。黑客利用加密的word文档躲避安全厂商的自动化分析平台的检测,邮件内容如下图所示:

内容大意:你被要求在指定时间到指定地点作证,附件里有案件相关的文档,请打开。美国联邦地区法院

EML文件基本信息如下:

这段vba宏代码,先从请求了一个png文件,并把请求到的“background.png”文件命名为“scvhost.exe”保存到Temp目录下;然后后台执行该exe文件,弹出消息框,告知用户“当前系统无法打开word文件,需要使用其他的电脑重新打开该文件”,以此方式诱导用户更换电脑重新打开此文档,达到病毒内网传播的目的。

5.2、下载者模块分析

该文件的基本信息如下:

该文件后缀名虽然是png,但是其文件格式实际为PE文件。使用二进制编辑工具打开后,文件头如下图所示:

通过对其进行深入分析,我们发现此文件是一个downloader模块,其主要行为是下载一个logo.png文件,而下载logo.png的网址是加密存储的,经过解密后得到url如下图所示:

taskwgr.exe名字与任务管理器进程(taskmgr.exe)很相似,黑客的目的是迷惑受害人和病毒分析人员,以达到长期存活的目的,相关代码如下图所示:

taskwgr.exe 文件是一个“RAR SFX”程序,带有自解压执行程序功能,通过RAR打开该文件,我们看到脚本命令如下图所示:

Loader模块首先用CreateProcess创建一个挂起的傀儡进程(Loader模块自身),相关代码如下图所示:

得到傀儡进程的装载基址后,使用函数ZwUnmapViewOfSection卸载傀儡进程内存空间的数据,再用VirtualAllocEx给傀儡进程重新分配内存空间。使用WriteProcessMemory把解密install.sql得到的PE程序写入傀儡进程的内存空间,相关代码如下图所示:

最后设置程序入口点和进程环境块,调用ResumeThread恢复该傀儡进程运行,调用TerminateProcess函数杀死Loader模块,相关代码如下图所示:

勒索模块是指上文注入到傀儡进程中的被解密的install.sql程序,它会检测勒索病毒的运行环境,如果是运行在沙箱或VirtualBox虚拟机中就退出执行。该模块还会从Tor官网下载Tor的命令行版本的可执行程序,使用Tor网络与C&C通信,从C&C获取RSA公钥或控制命令。勒索模块将taskwgr.exe添加到开机自启动,在文件加密完成后,勒索模块先把加密结果上报给C&C;在收到C&C返回后修改被感染PC的桌面壁纸,把带有勒索信息的图片作为壁纸,生成勒索信息;删除磁盘卷影文件,退出执行。

勒索模块在初始化阶段主要完成以下工作:初始化要加密的文件后缀名、清空系统临时目录、初始化解密字符串密钥信息、创建Event、检测运行环境、创建工作目录、设置开机自启动。

5.4.1.1、初始化加密文件后缀

勒索模块启动后,将立即初始化待加密的文件后缀名,经过统计,该勒索病毒共计支持501种文件后缀,后缀名明细如下:

勒索模块执行后,首先调用GetTempPath获取系统临时目录,然后调用FindFirstFile和FindNextFile遍历临时目录下所有文件,最后调用DeleteFile删除文件,调用RemoveDirectory删除文件夹,相关代码如下图所示:

勒索模块中所有的关键字符串均使用AES-256-CBC模式加密后base64编码,而解密勒索模块中的加密字符串的KEY和IV是硬编码到程序中的,初始化KEY和IV相关代码如下图所示:

勒索模块会调用CreateEvent创建一个名称为“Global\\CSAPP”的Event,如果创建失败就调用exit函数退出执行,相关代码如下图所示:

勒索模块还会检测自身运行环境,如果是在VirtualBox或沙箱中运行就立即自毁并退出执行,相关代码如下图所示:

勒索模块会在%AppData%\Microsoft\目录下创建一个文件夹作为工作目录,文件夹名即为“uid”的值。

“uid”是通过被感染PC电脑的硬件信息计算得到的一个md5值,默认是被感染PC电脑网卡mac地址的MD5值。如果勒索模块没有检测到网卡的mac地址,就会尝试获取被感染PC的C盘序列号,并把C盘序列号转为10进制数字,再对其求md5。如果既不能获取被感染PC的mac地址,也不能获取C盘的序列号,就终止执行。相关代码如下所示:

勒索模块在准备阶段,会按照初始化阶段中的待加密文件后缀名,遍历被感染PC的磁盘文件,并排除白名单目录;获取被感染PC的国家信息、从官方网站下载并执行Tor并利用Tor匿名网络获取RSA公钥。

勒索模块将遍历除CDROM以外的本地磁盘和局域网共享磁盘,并将磁盘中符合加密文件类型后缀的文件路径存入一个全局变量中,以便后续直接对文件进行加密,相关代码如下:

为提供加密效率,并且保证加密完成后操作系统能够正常启动,勒索模块在遍历目录的时候会排除以下关键字的文件夹:

5.4.2.2、获取被感染PC所在国家

勒索模块请求获取被感染PC国家归属地信息,用于构造与C&C通信的参数,如果获取不到信息就把被感染PC国家设置为“UNKNOWN”。相关代码如下图所示:

勒索模块使用一个while循环从

下载Tor的命令行版本,直到下载成功后才退出循环。Tor程序被下载到勒索模块的工作目录下并以“System.zip”命名,相关代码如下图所示:

勒索模块连接本机的9050端口(Tor的默认监听端口),通过Tor匿名网络向“”发送GET上线请求,以获取RSA公钥或自毁指令(exit),请求参数各个字段的含义如下:

构造的一个完整的URL如下:

勒索模块使用一个while循环发送请求,直到勒索模块获取到C&C返回的数据才退出循环,继续执行其他功能,相关代码如下图所示:

勒索模块获取到C&C返回的数据后进行判断:若返回内容为exit控制指令,就进行自删除并退出执行;否则判定返回内容为RSA公钥,该公钥用来加密随机生成的用于文件加密的AES_KEY。相关代码如下图所示:

勒索模块接收到RSA的PublicKey导入公钥,初始化一个全局变量(下图中的g_Rsa_Ctx),用于对文件加密密钥进行加密;RSA加密的结果以base64编码后输出,初始化用于加密文件的AES-CBC-256的g_Ctx变量,以便在后面对文件进行加密使用。相关代码如下图所示:

截止到本文发稿,我们从C&C获取到的RSA公钥是一个固定值,没有变化,通过Ollydbg调试得到的RSA公钥如下图所示:

在完成对勒索模块中的文件加密代码的逆向分析后,我们发现:黑客在设计加密被感染PC磁盘文件功能时,只加密文件头的0xC350字节,并把加密的结果直接写入原文件,再使用RSA公钥对加密该文件的AES_KEY进行加密,把加密的结果追加到原文件中,最后在文件末尾添加“magic”字符串。对小于等于0x9C4字节的文件不加密。

因为AES-256-CBC模式加密后的密文长度遵循以下公式:

所以,在代码实现上必须区分处理文件长度小于0xC350字节的文件和大于等于0xC360的文件。勒索模块对文件大小在0xC350和0xC360字节之间的文件不加密。

勒索模块先获取待加密文件的大小,若文件内容大于0x9C4字节,且小于0xC350字节:则1)随机生成加密文件的AES密钥,并把密钥的前面16字节作为IV用于对文件的加密;2)用RSA公钥加密AES密钥,加密的结果保存到RSA_ENCRYPTED_AESKEY;3)判断原文件的结尾是否是等于“magic”,如果是表示该文件已经加密过了,如果不是则从文件起始位置读取0xC350字节的缓冲器,把文件的原始内容读出,使用上面随机生成的密钥和IV对其进行加密,加密的结果写入到原文件中;4)最后把RSA_ENCRYPTED_AESKEY的结果附加在原文件末尾,并在RSA_ENCRYPTED_AESKEY后面追加“magic”字符串。相关代码如下:

加密后的密文格式如下:

勒索模块先获取待加密文件的大小,如果文件大于0xC360字节,则:1)随机生成加密文件的AES密钥,并把密钥的前面16字节作为IV用于对文件的加密;2)用RSA公钥加密AES密钥,加密的结果保存到RSA_ENCRYPTED_AESKEY;3)判断原文件的结尾是否是等于“magic”,如果是表示该文件已经加密过了,如果不是,则在0xC351字节处读取16字节,存入big_buf中,在从文件起始位置读取0xC350字节的缓冲器,把文件的原始内容读出,并使用上面随机生成的密钥和IV对其进行加密,加密的结果写入到原文件中;4)最后再把big_buf、RSA_ENCRYPTED_AESKEY、“magic”字符串依次追加到原文件末尾。

加密后的密文格式如下:

文件加密完成后,勒索模块会判断文件所在的目录是否存在ReadMe.txt文件,如果不存在就创建ReadMe.txt文件,提示用户文件被加密,需要支付赎金。相关代码如下图所示:

5.4.4、上报结果、提示勒索信息

勒索模块在完成磁盘文件加密后,会解密内置在程序中的加密字符串,拼接网址,创建一个while循环,向网址

上报加密成功,直到收到C&C反馈后,退出循环,继续执行其他代码。相关代码如下图所示:

5.4.4.2、以勒索图片设置壁纸

勒索模块在上报加密成功状态后,首先在uid目录下创建勒索信息壁纸test.bmp,然后在相同目录下把test.bmp拷贝为test1.bmp,最后调用SystemParametersInfoA函数将test1.bmp设置为桌面背景图片。相关代码如下图所示:

勒索模块在桌面壁纸设置成功后,将立即删除taskwgr.exe和test.bmp文件。相关代码如下:

通过以上代码还可以看出,该勒索病毒只对磁盘文件进行一次加密;加密完成后,不会对加密完成后的增量文件进行加密。

勒索模块还会在桌面创建一个ReadMe.html文件,创建成功后调用ShellExecute函数把它打开,提醒受害人电脑文件已经被加密。相关代码如下图所示:

勒索模块最后会通过ShellExecute执行一个cmd命令:删除磁盘卷影,修改引导配置(禁用启动应用程序的紧急管理服务、关闭高级选项、关闭自动修复、关闭系统修复)。cmd命令对Win7、Win8、Win10操作系统分别适配,win7相关代码如下图所示:

勒索病毒大范围爆发后,勒索病毒开始被各国黑客集团、犯罪组织使用,目前勒索病毒已经成为了黑客快速谋取暴力的一种捷径,并且呈现越演越烈的趋势。传统的勒索病毒大多使用RSA+AES全文加密,虽然加密强度极高,但是勒索病毒在对文件进行加密的时候执行效率不高;本次发现的勒索病毒仅对文件头的部分数据进行加密,因此加密速度极快,同时达到了破坏程序正常运行,文档加密不能打开的目的,迫使受害人支付赎金。

为避免被勒索病毒加密感染,我们提供以下几条简单建议:

  1. 对重要的数据文件定期进行非本地备份。
  2. 不要点击来源不明的邮件以及附件。
  3. 重命名vssadmin.exe进程,防止勒索病毒利用它一次性清除文件的所有卷影副本。
  4. 开启防火墙,并升级到最新版本,阻止勒索病毒与其C&C服务器通信。
  5. 及时给电脑打补丁,修复漏洞。
  6. 尽量不要使用局域网共享,或把共享磁盘设置为只读属性,不允许局域网用户改写文件。

文章有点长,相信一直坚持下来看到这里的你,一定不会介意再看两篇:

关于启明星辰积极防御实验室(ADLab)

ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞400余个,通过 CNVD/CNNVD累计发布安全漏洞近500个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。

本帖最后由 ?! 于 16:10 编辑 这个帖子楼主一定会一直按叙述里的分类将经典样本整理下去,不会弃贴!!!
感谢@MEMZLOVEER 提供的打包样本!(截至6月22日)

楼主个人喜欢收藏怀旧经典病毒,并且喜欢研究病毒的名称

基于不同杀毒软件对于同一种病毒的命名参差不齐,有的病毒命名高度一致(如xp 二. 蠕虫病毒类 注:本类别中存在许多感染型病毒,严格来说感染型病毒与蠕虫病毒有区别,感染型病毒主要指将自身加入到其它的程序或动态库文件(DLL的一种)中,从而实现随被感染程序同步运行的功能,进而对感染电脑进行破坏和自身传播的病毒,而蠕虫病毒主要指一种可以自我复制,无须人为干预并且通过网络传播的病毒;当这些新的被蠕虫入侵的计算机被控制之后,蠕虫会以这些计算机为宿主继续扫描并感染其他计算机,这种行为会一直延续下去。蠕虫使用这种递归的方法进行传播,按照指数增长的规律分布自己,进而及时控制越来越多的计算机。但为了便于分类,同时考虑到两者具有许多的共同点,就把两者划到了同一类中,不过基于各个杀毒软件的报法,本帖仍将用Virus表示感染型病毒(前一类中Virus也被用来表示部分恶意破坏类病毒),用Worm表示蠕虫病毒。




简介:通过“ LNK 图标漏洞”传播的木马,大多包含多个“恶意快捷方式”,如日前发现的“双子”木马包含两个快捷方式,而这次发现的“ Fanny 木马”更是包含了 5 个快捷方式。这是因为恶意的快捷方式在调用病毒文件时,必须采用绝对路径。而木马作者无法准确得知用户插入 U 盘的盘符,因此往往要准备多套方案。从“ Fanny 木马”包含的 5 个快捷方式的名称上(如图 1 所示),我们也能看这些快捷方式分别是针对 U 盘盘符是 E 、 F 、 G 、 H 、 I 这五种情况而制作的。     虽然 Fanny 木马和双子木马一样,都是利用 LNK 图标漏洞进行传播,但显然攻击手段进行了升级。除了 Fanny 木马采用了更多快捷方式提高攻击命中率以外,还将病毒文件伪装成了图片格式( .bmp

勒索病毒的蔓延,给企业和个人都带来了严重的安全威胁。360安全大脑针对勒索病毒进行了长期追踪与防御研究。本月新增WannaRen、BalaClava、NetWalker和Gogoogle等勒索病毒家族。

分析本月勒索病毒家族占比:phobos家族占/

Wannaren:属于WannaRen勒索病毒家族,该勒索病毒通过隐匿者进行传播。

Devos:属于phobos勒索病毒家族,由于被加密文件后缀会被修改为devos而成为关键词。该勒索病毒主要通过暴力破解远程桌面密码,拿到密码后手动投毒传播。

Voyager:属于Hermes837勒索病毒家族,由于被加密文件后缀会被修改为voyager而成为关键词。该勒索病毒主要通过暴力破解远程桌面密码,拿到密码后手动投毒传播。

360安全卫士官方账号:

我要回帖

更多关于 360能解决勒索病毒吗 的文章

 

随机推荐