启明星辰ADLab勒索软件专题报告(下篇)

作者:ADLab

启明星辰ADLab勒索软件专题报告(上篇),启明星辰ADLab勒索软件专题报告(下篇)将进一步对典型勒索软件家族的发展史和勒索软件的攻击防御展开解析。更多资讯和分析文章请关注ADLab官方网站(adlab.venustech.com.cn)。

3勒索软件的发展历史

3.4 典型的勒索软件家族

3.4.1 CryptoLocker

图10

图10  CryptoLocker感染分布图

2013年9月是勒索软件历史的关键时期,因为CryptoLocker诞生了。CryptoLocker是第一款通过受感染网站下载或者发送给商务人士的电子邮件附件形式感染用户的勒索软件。CryptoLocker感染快速蔓延,因为威胁利用了现有的GameOver Zeus僵尸网络基础设施。在2014年的Operation Tovar终止了GameOver Zeus Trojan和CryptoLocker活动。

CryptoLocker利用AES-256来加密特定扩展名的文件,然后使用C&C服务器生成的2048位RSA秘钥来加密AES-256位密钥。攻击者威胁称如果在三天内没有收到钱他们将删除私钥。

CryptoLocker感染在2013年10月达到峰值,当时它月感染大约15万台计算机。

当用户感染CryptoLocker时,CryptoLocker首先会将自身以随机名称保存到%AppData%或%LocalAppData%路径,然后创建以下注册表键实现自启动:

KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run “CryptoLocker”

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce “*CryptoLocker”

KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run “CryptoLocker_<version_number>”

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce”*CryptoLocker_<version_number”,

根据Microsoft的文档描述,在默认情况下当计算机以安全模式启动时会忽略Run项,在RunOnce项下,如果在值名称前加入*会使程序即使在安全模式下也运行,CryptoLocker正是利用了这一点使自身在安全模式下也能随系统启动运行。

CryptoLocker通过劫持扩展名exe的执行程序来使用户运行可执行程序时先执行”C:\Windows\SYsWOW64\cmd.exe” /C “C:\Windows\Sysnative\vssadmin.exe” Delete Shadows /All /Quiet来删除卷副本。

CryptoLocker在加密用户文件前首先会构造请求连接远程服务器,其中请求格式为version=&id=&name=&group=&lid=,该请求中包括了CryptoLocker的版本、ID、用户名及系统语言。

CryptoLocker的C&C采用了硬编码的IP地址及DGA算法生成的域名,首先CryptoLocker会尝试用硬编码的IP地址进行连接,如果连接不成功,则使用DGA算法生成的域名进行连接。

当CryptoLocker成功连接到C&C后,会从C&C接收RSA公钥,并将该公钥保存在注册表HKEY_CURRENT_USER\Software\CryptoLocker下,该注册表键还会保存CryptoLocker的版本及提示信息。然后CryptoLocker生成一个AES密钥用来加密硬盘中以*.odt, *.ods, *.odp, *.odm, *.odc, *.odb, *.doc, *.docx, *.docm, *.wps, *.xls, *.xlsx, *.xlsm, *.xlsb, *.xlk, *.ppt, *.pptx, *.pptm, *.mdb, *.accdb, *.pst, *.dwg, *.dxf, *.dxg, *.wpd, *.rtf, *.wb2, *.mdf, *.dbf, *.psd, *.pdd, *.pdf, *.eps, *.ai, *.indd, *.cdr, *.jpg, *.jpe, *.jpg, *.dng, *.3fr, *.arw, *.srf, *.sr2, *.bay, *.crw, *.cr2, *.dcr, *.kdc, *.erf, *.mef, *.mrw, *.nef, *.nrw, *.orf, *.raf, *.raw, *.rwl, *.rw2, *.r3d, *.ptx, *.pef, *.srw, *.x3f, *.der, *.cer, *.crt, *.pem, *.pfx, *.p12, *.p7b, *.p7c.为扩展名的文件,加密完成后CryptoLocker会利用从服务器获取到的RSA公钥加密AES密钥,并把加密结果保存到被加密文件的头部。

CryptoLocker会将加密的文件路径及名称存储在注册表键HKEY_CURRENT_USER\Software\CryptoLocker\Files下。

图11

图11  CryptoLocker月感染量

3.4.2  CTB-Locker

与过去其他变体不同,CTB-Locker直接与Tor中C2服务器通信,而不是具有多层基础设施。CTB-Locker在运行时会一直保持静默状态,直到用户的所有文件被加密,并通过Tor将密钥相关数据上传到远程服务器后,才会向用户显示警告,用户必须支付比特币才能获得解密密钥。

从采用的技术上来说,CTB-Locker会通过创建计划任务,来实现自启动,而且该勒索软件在运行过程中会判断vboxtray.exe、vboxservice.exe、vmtoolsd.exe等虚拟机进程是否存在,来阻碍分析。CTB-Locker的加密目标包括上百种文件,其中有:pwm,kwm,txt,cer,crt,der,pem,doc,cpp,c,php,js,cs,pas,bas,pl,py,docx,rtf,docm,xls,xlsx,safe,groups,xlk,xlsb,xlsm,mdb,mdf,dbf,sql,md,dd,dds,jpe,jpg,jpeg,cr2,raw,rw2,rwl,dwg,dxf,dxg,psd,3fr,accdb,ai,arw,bay,blend,cdr,crw,dcr,dng,eps,erf,indd,kdc,mef,mrw,nef,nrw,odb,odm,odp,ods,odt,orf,p12,p7b,p7c,pdd,pdf,pef,pfx,ppt,pptm,pptx,pst,ptx,r3d,raf,srf,srw,wb2,vsd,wpd,wps,7z,zip,rar,dbx,gdb,bsdr,bsdu,bdcr,bdcu,bpdr,bpdu,ims,bds,bdd,bdp,gsf,gsd,iss,arp,rik,gdb,fdb,abu,config,rgx。

CTB-Locker会将待加密的文件以后缀名.tmp移动到临时目录下面,然后根据文件的时间和系统时间等,构造缓冲区,并计算该缓冲区的SHA256值,以该值作为会话私钥,使用ECDH算法产生一个会话公钥,再与配置文件中的主公钥使用ECDH算法生成会话共享密钥,对会话共享密钥计算SHA256并将这个值作为AES加密的key,对文件进行加密。

图12

图12  CTB-Locker勒索软件

3.4.3  TeslaCrypt

TeslaCrypt也出现在2015年,这可能是持续威胁,因为开发人员制作出了四个版本。它首先通过Angler漏洞利用工具包来分发,之后再通过其他方式来分发。TeslaCrypt利用AES-256来加密文件,使用RSA-4096来加密AES私钥。Tor内的C2域被用于支付和分发。在其基础设施内包含多层,包括代理服务器。TeslaCrypt本身非常先进,其包含的功能可允许在受害者机器保持灵活性和持久性。

TeslaCrypt 在原有勒索软件技术上加入了反调试、反沙箱技术以及防篡改保护。

TeslaCrypt通过检测URLReader2接口来检测当前是否运行在沙箱中,如果被检测到在沙箱环境中运行,则退出进程。

图13

图13  检测代码

每200毫秒,TeslaCrypt会枚举所有正在运行的进程,查找当前系统中是否存在taskmgr、procexp、regedit、msconfig、cmd进程,如果发现以上进程,则使用TerminateProcess函数终止。

TeslaCrypt加密的文件格式如下:

图14

图14  TeslaCrypt加密的文件格式列表

TeslaCrypt在运行过程中会将C&C解密,构造连接字符串,尝试连接,其中连接字符串为Sub=(命令)&dh=(master_key_pub)&addr=%s&size=(未知)&version=(病毒版本信息)&OS=(操作系统信息)&ID=(硬编码,未知)&inst_id=(随机值system.bin 文件中的前8字节)。

图15

图15  C&C列表

3.4.4  Locky

Locky是迄今为止最流行且最大胆的勒索软件家族之一,该勒索软件于2016年2月被发现,Locky通过网络钓鱼活动及利用Dridex基础设施快速传播。Locky也因为感染美国多个地区的医院而登上新闻头条。攻击者发现受感染医疗机构很快就支付赎金,这一发现导致包含勒索软件下载的网络钓鱼电子邮件在医疗行业广泛传播。截止2016年4月,Locky的感染活动已经席卷全球,2016年4月Locky的地理位置分布情况如下所示:

图16

图16  2016年4月Locky感染分布图【图片来源:securelist】

Locky通过使用RSA-2048和AES-128算法对100多种文件类型进行加密,并且在每个存在加密文件的目录下释放一个名为_Locky_recover_instructions.txt的勒索提示文件。为了防止受害系统通过卷影副本进行系统还原,Locky同CTB-Locker一样,会调用vssadmin.exe删除全盘所有卷影副本,值得一提的是Locky同时也是第一款添加了中文提示的比特币勒索软件。

当Locky感染主机后,会向C&C服务器发送被感染机器的主机信息,并从C&C服务器下载RSA公钥,为文件加密做准备。Locky使用卷信息的GUID的md5值作为感染主机标识,构造连接字符串并将连接字符串加密,向C&C请求加密密钥,连接字符串为“id=感染标识&act=命令&affid=未知&lang=语言版本&corp=未知&serv=未知&os=操作系统&sp=补丁包&x64=是否为64位。”

图17

图17  加密前的连接信息

图18

图18  加密后的连接信息

 图19

图19  采用的加密算法

Locky在连接C&C时还采用了域名生成算法,当该勒索软件与C&C进行通信时,会使用rdtsc函数获取当前处理器时间,并与勒索软件内部某变量进行求余,通过该值来决定是直接访问样本中的硬编码IP地址,还是使用算法生成的域名,通过加入域名生成算法,Locky的C&C将更不容易识别。

图20

图20  IP和域名生成逻辑

域名生成算法(DGA)指的是编译到恶意软件可执行文件中,根据用户输入的值计算域名的算法。可以将输入的值看作加密密钥或者算法的种子,如果不知道种子和算法,就无法预测出恶意软件将会联系到哪个域名,该样本使用的种子为被感染机器的年月日以及硬编码值。

图21

图21  DGA域名生成算法

Locky的控制命令如下:

3.4.5  Cerber

Cerber因为其独特的赎金索要通知方式而著称。多数勒索软件通过文字讯息索要赎金,而Cerber却独树一帜,通过语音通知受害人。但犯罪手法依然不变:支付赎金,然后恢复文件。

对比其他勒索软件,Cerber勒索软件增加了新的功能。首先,Cerber通过电子邮件附件的形式进入受害者计算机。一旦被打开,就像其他勒索软件一样加密文件并向受害者索要赎金。同时,它会进一步确认计算机联网状态,并将受感染的计算机用于其他目的。例如,实施分布式拒绝服务攻击或作为垃圾邮件程序使用。

Cerber因为其独特的赎金索要通知方式而著称。多数勒索软件通过文字讯息索要赎金,而Cerber却独树一帜,通过语音通知受害人。但犯罪手法依然不变:支付赎金,然后恢复文件。

对比其他勒索软件,Cerber勒索软件增加了新的功能。首先,Cerber通过电子邮件附件的形式进入受害者计算机。一旦被打开,就像其他勒索软件一样加密文件并向受害者索要赎金。同时,它会进一步确认计算机联网状态,并将受感染的计算机用于其他目的。例如,实施分布式拒绝服务攻击或作为垃圾邮件程序使用。

4 抵御勒索软件攻击

到目前为止,仍然没有全面解决勒索软件威胁的解决方案。然而十年来,勒索软件已经演变成繁荣的犯罪业务。勒索软件既瞄准家庭用户,也针对企业和组织。以下是有效引导企业和组织针对勒索软件进行防御的关键步骤。

4.1 构建防御:防止勒索软件进入系统

与任何形式的在线网络攻击一样,保护入口是关键。以下是防止勒索软件感染企业网络的安全措施列表。

(1)定期备份数据

备份重要文件可将潜在损害降至最低,良好的备份策略可确保所有关键数据保存在安全的位置,以便组织能够在数据丢失的情况下轻松恢复。

(2)部署和实施白名单式的终端防护措施,加强应用程序控制

应用程序控制仅允许在系统上运行非恶意程序。该项措施需要IT管理员确定允许哪些应用程序在组织的网络中运行和操作。

(3)正确的实施网络分段和网络安全域的划分

通过策略性地针对资产和资源进行分组,划分安全域。正确的网络分段可以防止攻击时整个网络陷入瘫痪。对于用户的权限设置要遵循最小权限原则,使得犯罪分子更难获得管理权限。

(4)教育用户识别有关社会工程学攻击的危险和标志

为用户提供良好的电子邮件和互联网安全实践培训,例如下载附件、点击网址或仅从受信任的来源执行程序。

(5)及时应用操作系统和第三方供应商提供的软件补丁

未经修补的应用程序和服务器常会被用作将恶意软件(如勒索软件)推入系统的入口。为了解决这个问题,应定期修补和更新软件,仔细检查修补过程,以确定隐患得以消除。

(6)确保安全软件定期更新并执行定期扫描

无论组织为保护网络而构建的防御有多强,网络罪犯只要找到一个破绽即可进入,所以确保所有安全防护产品及时更新并执行定期扫描也同样重要。

4.2 中断损伤:检测和阻止破坏产生

从意外点击恶意链接或将受感染文件下载到本地计算机,到显示赎金提示这整个过程可能会在几分钟之内完成。这段时间至关重要,如果在这期间能够及时检测和阻断勒索软件,就可以将其造成的损害降至最低。以下是一些需要注意的事项。

(1)从网络中识别并隔离受感染的主机

虽然勒索软件行为因为变种和家族不同而不尽相同,但它们都要完成如:建立与C&C服务器通信的重要过程,应尽早识别这一行为并将该行为阻断。

当出现异常行为的警报时,IT管理员应尽快采取行动,尽可能隔离受感染的主机。一旦识别出失陷主机,应立即断开该主机的网络连接,以防止感染到其他主机。

(2)建立实时事件响应小组

实时事件响应小组将监视组织中系统的活动,并接收网络中用户报告的异常通知。虽然用户警报可能意味着加密过程已经开始,但响应小组可以对事件进行控制并防止感染扩散。

(3)鼓励用户向IT安全团队报告任何异常的系统行为

IT管理员应主动教育企业和组织中的网络用户,对所有可能感染的迹象保持警惕。在勒索软件感染过程中,有一些隐藏的物理迹象可以在其完全执行之前显现出来,比如系统运行速度明显减慢说明后台发生了额外的进程,意识到这些迹象可以使IT响应团队有足够的时间控制情况。

4.3 灾难恢复:从感染中恢复

以下是感染后可参考的处理措施:

(1)查找可用的解密工具

虽然并不是所有的勒索软件加密之后都能够进行解密,比如像Locky家族。但还是有很多类型的勒索软件由于在设计和编码过程中出现的缺陷导致其很容易被破解。

为了帮助大家找到一个恢复数据的解决方案,而不需要向勒索软件的创建者支付赎金,我们收集并整理了大量的勒索软件解密工具下载列表,列表我们会在后面提供。

在使用这些工具之前,建议先了解这些工具的工作原理,以确保找到最适合您的解决方案。另外,请注意,解密器可能会因为勒索软件的更新而过时,强烈建议大家除了做好必要的防御措施外,还需要加强对重要数据进行备份。

感染勒索软件后,赎金窗口一般会说明文件被哪种类型的勒索软件加密了,但有时候也可能没有这方面的提示信息,如果需要确定加密软件类型可以借助以下两个站点:Crypto Sheriff from No More Ransom、ID Ransomware from MalwareHunter Team。

解密工具列表如下,在使用这些工具之前,请阅读这些工具的特定条款和条件。

(声明:本列表仅为我们收集整理的解密工具列表,不包含全部解密工具,欢迎大家对本工具列表进行补充和完善。)

Ransomware解密工具列表:

.777 ransomware decrypting tool

7even-HONE$T decrypting tool

.8lock8 ransomware decrypting tool + explanations

7ev3n decrypting tool

Agent.iih decrypting tool (decrypted by theRakhni Decryptor)

 Alma decrypting tool

Al-Namrood decrypting tool 

Alpha decrypting tool

AlphaLocker decrypting tool

Apocalypse decrypting tool

ApocalypseVM decrypting tool + alternative

Aura decrypting tool (decrypted by theRakhni Decryptor)

AutoIt decrypting tool (decrypted by theRannoh Decryptor)

Autolocky decrypting tool

Badblock decrypting tool + alternative 1

Bart decrypting tool

BitCryptor decrypting tool

BitStak decrypting tool

Chimera decrypting tool + alternative 1 + alternative 2

CoinVault decrypting tool

Cryaki decrypting tool (decrypted by the Rannoh Decryptor)

Crybola decrypting tool (decrypted by the Rannoh Decryptor)

CrypBoss decrypting tool

Crypren decrypting tool

Crypt38 decrypting tool

Crypt888 (see also Mircop) decrypting tool

CryptInfinite decrypting tool

CryptoDefense decrypting tool

CryptoHost (a.k.a. Manamecrypt) decryptingtool

Cryptokluchen decrypting tool (decrypted by the Rakhni Decryptor)

CryptoTorLocker decrypting tool

CryptXXX decrypting tool

CrySIS decrypting tool (decrypted by the Rakhni Decryptor– additional details)

CTB-Locker Web decrypting tool

CuteRansomware decrypting tool

DeCrypt Protect decrypting tool

Democry decrypting tool (decrypted by theRakhni Decryptor)

DMA Locker decrypting tool + DMA2 Locker decoding tool

Fabiansomware decrypting tool

FenixLocker – decrypting tool

Fury decrypting tool (decrypted by the Rannoh Decryptor)

GhostCrypt decrypting tool

Globe / Purge decrypting tool + alternative

Gomasom decrypting tool

Harasom decrypting tool

HydraCrypt decrypting tool

Jigsaw/CryptoHit decrypting tool + alternative

KeRanger decrypting tool

KeyBTC decrypting tool

KimcilWare decrypting tool

Lamer decrypting tool (decrypted by theRakhni Decryptor)

LeChiffre decrypting tool + alternative

Legion decrypting tool

Linux.Encoder decrypting tool

Lock Screen ransomware decrypting tool

Locker decrypting tool

Lortok decrypting tool (decrypted by theRakhni Decryptor)

MarsJoke decryption tool

Manamecrypt decrypting tool (a.k.a.CryptoHost)

Mircop decrypting tool + alternative

Merry Christmas / MRCR decryptor

Nanolocker decrypting tool

Nemucod decrypting tool + alternative

NMoreira ransomware decryption tool

ODCODC decrypting tool

Operation Global III Ransomware decryptingtool

Ozozalocker ranomware decryptor

PClock decrypting tool

Petya decrypting tool

Philadelphia decrypting tool

PizzaCrypts decrypting tool

Pletor decrypting tool (decrypted by theRakhni Decryptor)

Pompous decrypting tool

PowerWare / PoshCoder decrypting tool

Radamant decrypting tool

Rakhni decrypting tool

Rannoh decrypting tool

Rector decrypting tool

Rotor decrypting tool (decrypted by theRakhni Decryptor)

Scraper decrypting tool

Shade / Troldesh decrypting tool + alternative

SNSLocker decrypting tool

Stampado decrypting tool + alternative

SZFlocker decrypting tool

TeleCrypt decrypting tool (additional details)

TeslaCrypt decrypting tool + alternative 1 + alternative 2

TorrentLocker decrypting tool

Umbrecrypt decrypting tool

Wildfire decrypting tool + alternative

XORBAT decrypting tool

XORIST decrypting tool + alternative

(2)实施全面的数据备份和恢复计划

开发全面的备份和恢复计划,可确保组织的重要数据即使在数据丢失时也是完整的(不限于勒索软件感染),通过实施计划组织将能够轻松地恢复正常运作并恢复运营。

(3)进行事件后的感染分析

勒索攻击事件发生之后,我们需要针对事件进行详细的分析,比如对感染的深度和广度进行调查。更重要的是要分析受感染用户是通过什么方式感染的,以确定应该从哪些方面入手对问题进行解决,防止类似的事件再次发生。另外也要对勒索软件行为进行分析,确定勒索软件攻击的指示器,并将这些分析结果用于改进检测防范和防御方法,提升整体安全防护能力。

 

5 参考文献

(1)天际友盟威胁情报平台:https://redqueen.sec-un.com/

(2)《Ransomware-Wikipedia》:https://en.wikipedia.org/wiki/Ransomware

(3)《Ransomware-Definiti》:https://www.trendmicro.com/vinfo/us/security/definition/ransomware

(4)《What is Ransomware and 15 Easy Steps To Keep Your System Protected》:https://heimdalsecurity.com/blog/what-is-ransomware-protection/

(5)《20种勒索软件,你了解多少?》:http://www.duorenwei.com/news/2711.html

(6)《家庭用户常见威胁及防御》

 

上一篇:启明星辰ADLab勒索软件专题报告(上篇)

下一篇:“WannaCry”事件分析与启示:警惕下一个“永恒之蓝”