legalnoticecaption
首页
文章
漏洞
SRC导航
内容精选
输入关键词搜索
APP 登录| 注册
【病毒分析】Sorebrect勒索病毒分析报告
阅读量 46220 |
分享到: QQ空间 新浪微博 微信 QQ facebook twitter
发布时间:2017-07-26 18:10:27
http://p5.qhimg.com/t0173fc89cd24442ba3.png
作者:houjingyi@360CERT
0x00 背景介绍
http://p4.qhimg.com/t0188969c1b87b795e2.png
2017年6月安全研究人员发现了一种利用AES-NI特性的名为Sorebrect的勒索病毒,它的代码和原始的AES-NI版本相比有一些显著的变化。一方面技术上它试图将恶意代码注入svchost.exe中,再进行自毁以无文件的形式躲避检测。另一方面它声称使用了NSA的溢出攻击工具(如:永恒之蓝漏洞)。
360CERT安全分析团队将在本文中对部分相关的技术进行具体分析。
0x01 IOC
CRC32: 907F515A
MD5: 83E824C998F321A9179EFC5C2CD0A118
SHA-1: 16B84004778505AFBCC1032D1325C9BED8679B79
0x02 病毒详情
在Sorebrect版本中使用的加密后缀是.aes_ni_0day和.pr0tect,早期使用AES-NI 特性的勒索病毒使用的加密文件扩展名包括: .lock,.pre_alpha,.aes和.aes_ni。
Sorebrect声称自己是特殊的“NSA EXPLOIT EDITION”,在360CERT具体分析过程中暂时还没有发现有类似于NotPetya和WannaCry使用NSA泄露的工具传播的行为,传播方式主要是感染网络中共享的文件。
接下来,360CERT对Sorebrect样本中使用的加解密、进程注入、反恢复、内网感染等技术进行一系列的分析。
初始化加解密
Sorebrect在程序开始运行时就使用了加解密技术,会对每个导入函数地址和固定值0x772756B1h进行异或加密保存,在调用时再与此值异或得到真正的函数地址。
http://p9.qhimg.com/t011d9867714dfd0d3c.png
在一开始会先搜索被加载到内存中的PE文件起始位置。
http://p0.qhimg.com/t01c349a3dc4c7d4b01.png
随后,开始解析kernel32的内存地址。
http://p5.qhimg.com/t01dfb1239e3f193b88.png
进一步获取LoadLibrary函数的内存地址。 http://p7.qhimg.com/t0192843d7fc072fb4d.png
根据分析,主体程序会尝试获取下列dll的地址。
http://p5.qhimg.com/t01cca0b74ecaed8f79.png
具体在分析过程中,sub_A0A660的三个参数,分别为动态库(dll)的地址,存放函数地址与0x772756B1h异或加密之后的值的地址,和函数名称的CRC32与0x772756B1h异或加密之后的值。
http://p5.qhimg.com/t01ce6bcc880c62d5e2.png
尝试解析这些地址存放的函数地址对应的函数名称之后的效果如下所示。
之前:
http://p3.qhimg.com/t01b44b79459afd31c3.png
之后:
http://p3.qhimg.com/t0188c9cddfb4f4cd99.png
注入操作
Sorebrect会试图调用DuplicateTokenEx复制一份具有system权限的进程的token,再使用CreateProcessWithTokenW创建具有system权限的svchost.exe。
http://p0.qhimg.com/t01be934c5d2f67ea5a.png
http://p6.qhimg.com/t01cb5baee09fbbd68d.png
如果上述过程没有成功,Sorebrect会继续调用CreateProcessW创建一个普通权限的svchost.exe。
http://p1.qhimg.com/t01f2b3696bb55a5d3f.png
svchost.exe进程创建后,Sorebrect会调用WriteProcessMemory向创建的svchost.exe写入一段代码。
http://p1.qhimg.com/t0181fa332a651e84b4.png
注入代码之前:
http://p7.qhimg.com/t012cae91d494d16038.png
注入代码之后:
http://p4.qhimg.com/t01cc6719e3797cb61f.png
这段代码会试图在内存中加载并执行一个文件,该文件内容与原病毒基本相同。
http://p0.qhimg.com/t0186ffc6326aa9738a.png
主体程序接下来在内存中释放了一个dll文件,这个文件是UPX加壳的。
http://p0.qhimg.com/t014fe55db861a39208.png
TOR通信
Sorebrect主体程序还会尝试连接ipinfo.io,并以kzg2xa3nsydva3p2.onion/gate.php为参数调用前面释放的dll。该dll的功能为进行tor通信。
http://p3.qhimg.com/t01840555b091c24a9d.png
http://p2.qhimg.com/t019c01921026eb5aab.png
痕迹擦除
创建一个批处理文件删除日志记录。 http://p6.qhimg.com/t0185abe8e49c13a83d.png
http://p9.qhimg.com/t01fbe9dadf5d39d7aa.png
对抗恢复1
Sorebrect会尝试停止下列服务,以此来对抗可能的文件恢复。这些服务包括各种备份软件和数据库软件等等。
BCFMonitorService.QBFCService.QBVSS.QuickBooksDB25.LMIRfsDriver.RemoteSystemMonitorService.MSSQL$MICROSOFT##WID.dbupdate.dbupdatem.DbxSvc.MsDtsServer100.msftesql-Exchange.MSSQL$MICROSOFT##SSEE.MSSQL$PROBA.MSSQL$SBSMONITORING.MSSQL$SHAREPOINT.MSSQL$SQL2005.msftesql$SBSMONITORING.MSSQLFDLauncher.MSSQLFDLauncher$PROBA.MSSQLFDLauncher$SBSMONITORING.MSSQLFDLauncher$SHAREPOINT.MSSQLSERVER.MSSQLServerADHelper100.SQLAgent$PROBA.SQLAgent$SBSMONITORING.SQLAgent$SHAREPOINT.SQLBrowser.SQLSERVERAGENT.SQLWriter.CertPropSvc.CertSvc.DataCollectorSvc.FirebirdServerDefaultInstance.wsbexchange.MSExchangeTransportLogSearch.MSExchangeTransport.MSExchangeServiceHost.MSExchangeSearch.MSExchangeSA.MSExchangeRepl.MSExchangePop3.MSExchangeMonitoring.MSExchangeMailSubmission.MSExchangeMailboxAssistants.MSExchangeIS.MSExchangeImap4.MSExchangeFDS.MSExchangeEdgeSync.MSExchangeAntispamUpdate.MSExchangeADTopology.SPTrace.SPTimerV3.SPWriter.TeamViewer.W3SVC.W32Time.MsDtsServer.MSSQLSERVR.MSSQLServerOLAPService.zBackupAssistService.cbVSCService11.CobianBackup11.postgresql-8.4.spiceworks.QuickBooksDB23.ShadowProtectSvc.VSNAPVSS.VSS.stc_raw_agent.PleskSQLServer.MySQL56.MSExchangeRep.NAVSERVER.ZWCService.vmms.vds.sesvc.MSSQL$VEEAMSQL2008R2.SQLAgent$VEEAMSQL2008R2.Veeam Backup Catalog Data Service.Veeam Backup and Replication Service.VeeamCloudSvc.VeeamTransportSvc.VeeamCatalogSvc.VeeamDeploymentService.VeeamMountSvc.VeeamNFSSvc.FirebirdGuardianDefaultInstance.BackupExecAgentBrowser.BackupExecDeviceMediaService.DLOAdminSvcu.DLOMaintenanceSvc.bedbg.BackupExecJobEngine.BackupExecManagementService.BackupExecAgentAccelerator.BackupExecRPCService.MSExchangeADTopology.Browser.WSearch.WseComputerBackupSvc.WseEmailSvc.WseHealthSvc.WseMediaSvc.WseMgmtSvc.WseNtfSvc.WseStorageSvc.SBOClientAgent.VSS.VSNAPVSS.vmicvss.swprv.ShadowProtectSvc.SQLWriter.SQLBrowser.SQLAgent$SQLEXPRESS.MSSQL$SQLEXPRESS.MSSQL$MICROSOFT##WID.EDBSRVR.ComarchAutomatSynchronizacji.ComarchML.ComarchUpdateAgentService.RBMS_OptimaBI.RBSS_OptimaBI.ServerService.GenetecWatchdog.GenetecServer.GenetecSecurityCenterMobileServer.SQLAgent$SQLEXPRESS.SQLBrowser.SQLWriter.MSSQL$SQLEXPRESS.MSSQLServerADHelper100.MSExchangeFBA.eXchange POP3 6.0.bedbg.BackupExecRPCService.BackupExecDeviceMediaService.BackupExecAgentBrowser.BackupExecAgentAccelerator.MsDtsServer100.MSSQLFDLauncher.MSSQLSERVER.MSSQLServerADHelper100.MSSQLServerOLAPService.ReportServer.SQLBrowser.SQLSERVERAGENT.SQLWriter.WinVNC4.KAORCMP999467066507407.dashboardMD Sync.MicroMD AutoDeploy.MicroMD Connection Service.MICROMD72ONCOEMR.ONCOEMR2MICROMD7.FBSServer.FBSWorker.cbVSCService11.CobianBackup11.LogisticsServicesHost800.PRIMAVERAWindowsService.PrimaveraWS800.PrimaveraWS900.TTESCheduleServer800.DomainManagerProviderSvc.WSS_ComputerBackupProviderSvc.WSS_ComputerBackupSvc.msftesql$SBSMONITORING.msftesql-Exchange.MSSQL$ACRONIS.MSSQL$BKUPEXEC.MSSQL$MICROSOFT##SSEE.MSSQL$SBSMONITORING.MSSQLServerADHelper.MySQL.SQLBrowser.SQLWriter.MSExchangeADTopology.MSExchangeAntispamUpdate.MSExchangeEdgeSync.MSExchangeFDS.MSExchangeImap4.MSExchangeIS.MSExchangeMailboxAssistants.MSExchangeMailSubmission.MSExchangeMonitoring.MSExchangePop3.MSExchangeRepl.MSExchangeSA.MSExchangeSearch.MSExchangeServiceHost.MSExchangeTransport.MSExchangeTransportLogSearch.msftesql-Exchange.wsbexchange.Acronis VSS Provider.AcronisAgent.AcronisFS.AcronisPXE.AcrSch2Svc.AMS.MMS.MSSQL$ACRONIS.StorageNode.PleskControlPanel.PleskSQLServer.plesksrv.PopPassD.Apache2.2.Apache2.4.memcached Server.MMS.ARSM.AdobeARMservice.AcrSch2Svc.AcronisAgent.CrashPlanService.SPAdminV4.SPSearch4.SPTraceV4.SPWriterV4.Altaro.Agent.exe.Altaro.HyperV.WAN.RemoteService.exe.Altaro.SubAgent.exe.Altaro.UI.Service.exe.MELCS.MEMTAS.MEPOCS.MEPOPS.MESMTPCS.postgresql-9.5
http://p9.qhimg.com/t01f18a8a7e8980d402.png
除了停止服务外,Sorebrect程序硬编码了一段CRC32的值,如果小写的进程名的CRC32值和硬编码的值相同则尝试终止该进程。
http://p4.qhimg.com/t01002452a262d66d60.png
http://p1.qhimg.com/t01dd88d96277f22e7a.png
加密操作
Sorebrect会对主机上的文件进行加密,并在C:ProgramData目录下生成密钥,根据提示信息,受害者想要解密必须将该文件发送给攻击者。
http://p9.qhimg.com/t013397d13beb71c574.png
Sorebrect病毒使用AES-NI指令集完成加密。AES-NI是一个x86指令集架构的扩展,用于Intel和AMD微处理器,由Intel在2008年3月提出。该指令集的目的是改进应用程序使用AES执行加密和解密的速度。
http://p6.qhimg.com/t0154be3c1c9b00dd02.png
http://p6.qhimg.com/t014cd19691edf82249.png
如代码所示,将EAX寄存器设置为0之后执行CPUID指令返回的制造商标识存放在EBX,ECX和EDX寄存器中。如果既不是GenuineIntel的处理器也不是AuthenticAMD的处理器则认为该处理器不支持AES-NI指令集。将EAX寄存器设置为1之后执行CPUID指令通过ECX寄存器中的标志位进一步判断处理器是否支持AES-NI指令集。
http://p4.qhimg.com/t013aaefac0b0e66e76.png
http://p0.qhimg.com/t01a486d58c0dfd9b1f.png
局域网感染
Sorebrect在加密操作完成之后,会进一步探测局域网,并通过IPC$共享的方式来进行局域网内的感染。
http://p8.qhimg.com/t01bb46fc48c6d91d6d.png
http://p3.qhimg.com/t01b181f433acdb99f0.png
设置LegalNoticeCaption和LegalNoticeText注册表项,内容分别为Microsoft Windows Security Center和Dear Owner. Bad news: your server was hacked. For more information and recommendations, write to our experts by e-mail. When you start Windows,Windows Defender works to help protect your PC by scanning for malicious or unwanted software.
系统启动时会弹出这个对话框。
https://p4.ssl.qhimg.com/t01210a86fdaf61545c.png
https://p0.ssl.qhimg.com/t01ebb28cfc3dbd4d74.png
对抗恢复2
删除所有卷影副本。
0x03 防范建议
重要数据、文件备份
网络犯罪分子往往使用重要和个人数据的潜在损失作为恐吓手段来强迫受害者支付赎金。因此公司和个人用户可以备份重要数据、文件以消除其影响力:至少保留三份副本,其中两个存储在不同的设备中,另一个存储在非现场或安全位置。
保持系统补丁更新
确保操作系统和其它应用程序安装了最新的补丁,阻止威胁将安全漏洞用作系统或网络的门户。
安装可靠的终端安全防护软件
在保证定期更新补丁的基础上,通过安装可靠的终端安全防护产品来进行进一步的安全防御。
0x04 时间线
2017-6-15趋势科技捕获到病毒并命名为Sorebrect
2017-7-7 360CERT完成对病毒的分析
0x05 参考文档
http://blog.nsfocus.net/hardware-accelerate-extortion-software-xdata/
https://www.cylance.com/en_us/blog/threat-spotlight-aes-ni-aka-sorebrect-ransomware.html
https://blog.trendmicro.com/trendlabs-security-intelligence/analyzing-fileless-code-injecting-sorebrect-ransomware/
本文由安全客原创发布
转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/86496
安全客 - 有思想的安全新媒体
安全知识
360CERT 认证 分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
2018安恒杯11月赛-Web&Crypto题解
2018-11-26 10:02:02
U2F安全协议分析
2018-11-24 10:00:48
二十年重回首——CIH病毒源码分析
2018-11-23 15:20:19
Cookie Maker:隐藏在Google Docs中的恶意网络
2018-11-23 14:30:40
|发表评论
发表你的评论吧
昵称
Ping溢出大神
换一个
|评论列表
还没有评论呢,快去抢个沙发吧~
360CERT
360CERT是360成立的针对全球重要网络安全事件进行快速预警、应急响应的安全协调中心。
文章
338
粉丝
53
TA的文章
11月26日每日安全热点 - Lazarus对金融机构进行攻击
2018-11-26 09:39:27
11月25日每日安全热点 - 北京首起“盗挖币”案告破:前员工挖矿赚钱
2018-11-25 10:06:39
11月24日每日安全热点 - 诈骗者通过SIM交换从硅谷高管窃取100万美元
2018-11-24 09:02:11
漏洞预警 | 大量Android第三方ROM未正确配置导致信息泄漏预警
2018-11-23 17:12:15
11月23日每日安全热点 - 利用Safari 恶意网站可攻击macOS系统
2018-11-23 09:30:21
输入关键字搜索内容
相关文章
360 | 数字货币钱包APP安全威胁概况
以太坊智能合约安全入门了解一下(下)
对恶意勒索软件Samsam多个变种的深入分析
360 | 数字货币钱包安全白皮书
Json Web Token历险记
揪出底层的幽灵:深挖寄生灵Ⅱ
简单五步教你如何绕过安全狗
热门推荐
安全客Logo
安全客
安全客
关于我们
加入我们
联系我们
用户协议
商务合作
合作内容
联系方式
友情链接
内容须知
投稿须知
转载须知
合作单位
安全客
安全客
Copyright © 360网络攻防实验室 All Rights Reserved 京ICP备08010314号-66
Loading...0daybank
文章评论