深度剖析Petya病毒:反社会人格的恶性病毒 只为破坏不为牟利
一、概述
6月27日晚间,代号为"Petya"的勒索病毒肆虐全球,根据外国媒体报道,俄罗斯石油公司Rosneft、乌克兰国家储蓄银行和政府系统都受到了攻击,仅俄、乌两国就有80多家公司被该病毒感染,就连乌克兰副总理的电脑也不幸中招。其他受影响的国家包括英国、印度、荷兰、西班牙、丹麦等。
经过深度分析,火绒安全团队惊讶地发现,Petya和以往的勒索病毒有很大不同--病毒作者精心设计制作了传播、破坏的功能模块,勒索赎金的模块却制作粗糙、漏洞百出,稍有勒索病毒的常识就知道,病毒作者几乎不太可能拿到赎金--或者说,病毒作者根本没打算得到赎金。
这种行为非常不可思议,火绒安全工程师认为,与其说Petya是勒索病毒,不如说它是披着勒索病毒外衣的反社会人格的恶性病毒,就像当然臭名昭著的CIH等恶性病毒一样,损人不利己,以最大范围的传播和攻击破坏电脑系统为目的。
从传播能力来看,进入内网环境的Petya传播方式非常丰富:利用"永恒之蓝"和"永恒浪漫"两个漏洞进行传播;还通过内网渗透使用系统的WMIC和Sysinternals的PsExec传播……所以,即使电脑修复了"永恒之蓝"漏洞,只要内网有中毒电脑,仍有被感染的危险。因此,Petya的传播能力和威胁范围远远超过5月份震惊世界的WannaCry病毒。
从破坏能力来看,Petya除了像其他勒索病毒一样加密锁定文件之外,还会修改硬盘主引导记录(MBR)、加密硬盘文件分配表(MFT),导致电脑不能正常启动。
Petya病毒开出了常规的价值300美金的比特币赎金,但是却没有像常规勒索病毒一样向受害者提供可靠、便捷的付款链接,而是选择用公开的电子信箱来完成赎金支付,很显然,这样做特别粗糙和脆弱。病毒爆发后,邮件账户立刻被供应商Posteo关闭,导致赎金交付的流程中断。相比于"精巧"、多样的传播和破坏功能,病毒作者对赎金支付功能很不重视,用一种不可靠、简单的方式"敷衍了事",似乎并不关心能否收到赎金。
目前全球范围内没有一例成功支付赎金,进而解锁了文件和系统的报告。该病毒不光和其他勒索病毒迥然不同,更是违逆了近10多年来,各种病毒、木马大都已牟利为目的的"行业潮流"。
在病毒爆发的第一时间,火绒安全团队就紧急升级了病毒库。下载"火绒安全软件",保持默认的自动升级和防御设置即可拦截病毒。最后再强调一句,鉴于赎金支付流程已经中断,火绒安全团队建议受害者别再去尝试支付赎金。?
二、PetyanotPetya
火绒团队通过分析发现,此次攻击事件同上次的"WannaCry"类似,利用漏洞使得传播速度更快,但是对勒索病毒更应该关注的支付赎金流程都是草草处理,这一点很奇怪。尤其是新"Petya",在内网传播功能上病毒更是花费了心思。
新旧两个版本的"Petya"相比,旧版本"Petya"的更像是一个真正的勒索病毒,在支付赎金的手段上,它会为不同用户生成不同的暗网地址用户支付赎金。而新版本的"Petya"反而弱化了支付赎金流程,只是提供了一个简单的邮箱和黑客联系,如果病毒的目的是为了勒索,是旧版本的"Petya"升级,应该没有必要去掉这个流程。
旧版本"Petya"的支付赎金界面
新版本"Petya"的支付赎金界面
另外"WannaCry"和新"Petya"两个病毒通过勒索文件所得到的赎金有限,几乎所有的安全专家第一时间都建议不要支付赎金。普遍认为的原因是,在勒索病毒"Petya"蔓延后,电邮提供商Posteo直接封掉了"Petya"黑客收取赎金时用到的电子邮箱帐号。病毒制作者无法收到邮件,也就无法提供解密密钥。火绒团队分析后认为,更深的原因是即使该邮箱存在,使用邮件方式去确认感染数量众多的用户是否支付赎金,也不合乎常理。
病毒作者留下的联系邮箱,和模拟旧版本"Petya"相似的勒索界面还有加密方法,更像是一个个的"幌子",用于掩盖病毒疯狂传播造成更大"破坏"的目的。
新"Petya"病毒到底是利用CVE2017-0199漏洞攻击,或是利用MEDOC更新服务器推送病毒,无论这两种说法哪一个真的,都可以说明黑客精心设计和制作的攻击都不像是为了赚取赎金,更像是为了快速传播并造成更多损害。
新"Petya"的作者熟悉内网渗透流程,同"WannaCry"的传播相比,即使安装了Windows的全部补丁也不能阻止新"Petya"在内网的传播。"WannaCry"和"Petya"两次病毒的大面积爆发,更像是黑客攻击"预演"和"实战",是黑客对所有人的"力量展示"。
三、新"Petya"的传播分析
Petya病毒除了使用通过漏洞进行传播之外,还具有很强的内网渗透能力。其主要的内网传播方式主要有:
1.该病毒维护着一个主机密码表,通过CredEnumerateW函数获取用户凭据和使用mimikatz工具获取用户名密码这两种方式对密码表进行填充。其获取的密码表会在用于进行传播并使用wmic和psexec进行远程执行。
2.将其所有可以访问的主机都加入到另一个列表中,对列表中的每一个主机都进行一次远程传播和执行的尝试。由于同属于同一局域网中,有可能在被感染主机上依然存在对其他主机的网络访问权限,病毒利用该权限对内网环境进行传播。
3.通过EnternalBlue和EnternalRomance漏洞进行传播。
下面针对上述三种传播方式进行详细说明:
1.通过窃取密码进行远程传播和执行。
首先调用释放出来的mimikatz获取本地计算机用户名密码,之后通过读取命名管道的方式进行读取加入到密码表中。如下图所示:
释放调用mimikatz获取用户名密码
通过命名管道读取密码
通过调用CredEnumerateW函数通过Windows的凭据管理器获取系统中保存的用户凭据,当获取遍历到的CREDENTIAL结构中的Type字段为CERD_TYPE_GENERIC时就将当前结构中的UserName和CredentialBlob以用户名和密码的形式存放在密码表中。如下图所示:
获取用户凭据
利用密码表远程进行远程登录,登录后进行病毒传播,并通过wmic和psexec两种方式对病毒进行远程执行,如下图所示:
传播代码
远程传播执行
2.病毒通过三种不同的方式获取当前主机可以访问的有效主机地址加入IP列表,而不是像WannaCry病毒一样低效的进行IP遍历,此举大大的提高了局域网传播效率。如下图所示:
获取可访问主机地址
如上图红框中所示部分,其分别调用GetExtendedTcpTable、GetIpNetTable和NetServerEnum函数将可访问的主机地址加入到IP列表中。如下图所示:
利用GetExtendedTcpTable函数获取主机地址
利用GetTcpNetTable函数获取主机地址
利用NetServerEnum函数获取主机地址
在获取到IP列表之后,其会想之前利用密码列表进行传播一样,进行传播并利用wmic和psexec进行远程执行。如果当前系统用户拥有对其他计算机访问的权限,那么就可以传播成功,从而提高了内网传播的可能性。
利用IP列表尝试传播
3.利用之前获取到的IP列表进行漏洞传播,相关代码如下图所示:
漏洞传播代码
漏洞Payload
四、新"Petya"的危害分析
勒索主要模块是一个动态库,火绒检测名称是"Ransom/Petya.b",该动态库只有一个未命名的导数函数,该导出函数会被rundll32.exe调用,执行后勒索流程为分为两个部分,如下图所示:
病毒行为
1.修改MBR代码,这段代码会在用户重启后加密MFT(MasterFileTable)
2.在重启前针对特定后缀名的用户文件加密
3.添加计划任务,定时进行重启用于执行起MBR代码。
我们顺着加密流程进行代码分析:
1.桌面环境加密流程分析
病毒首先会遍历所有磁盘,对每个固定磁盘创建一个线程执行文件遍历,文遍历时会判断文件后缀,针对特殊目录该病毒硬编码跳过了"C:windows"目录,不会对该目录下的任何文件进行加密。
与加密相关的数据
该病毒只生成一次AES128密钥,用于加密所有文件。
加密流程
2、开机启动加密流程分析
被病毒替换的MBR启动后,会显示伪造的系统修复界面,如下图所示:
此时病毒已经通过保存的原始MBR查找到磁盘的MFT(MasterFileTable),在后台进行加密,代码如下图:
查找MFT
通过分析可以看出,在此时拔掉电源可以挽救加密MFT,但并不能挽回之前在桌面环境下已经被加密的用户文件。病毒加密完MFT之后会显示勒索界面,要求用户支付赎金后通过病毒作者留下的邮箱联系作者取得密钥,如下图:
勒索说明文字
用户输入得到的界面KEY后,进入如下流程:
获取输入
校验KEY长度,最小长度为0x20。
校验KEY长度
校验用户输入的KEY是否正确,如果不正确,则次要求输入,直到用户输入正确后才会解密被加密的MFT。
校验KEY
但是该解密密钥和桌面环境下加密文件的密钥没有直接关系,如需解密被加密的数据文件,则需要病毒作者提供另外的解密工具进行解密。
通过对新"Petya"分析,可以看到与一般勒索病毒相比,作者更熟悉内网渗透流程,在传播上花费了极大的心思。传播相关代码占到了病毒整个代码的70%以上,和"WannaCry"仅通过"永恒之蓝"这单一漏洞传播相比,新"Petya"还利用了"ShadowBrokers"泄露的另一个漏洞"永恒浪漫"。除了利用漏洞利用外,病毒还使用多种方式获取用户密钥或凭证进行内网渗透,即使安装了全部补丁的Windows系统,也不能阻止新"Petya"在内网的传播。
截至到目前为止,火绒没有监控到新"Petya"的真正变种,更多的都是加壳和修改版。病毒作者似乎销声匿迹,这一点上和"WannaCry"也非常相似,一样是疯狂传播,一样是没有通过赎金真正获利,但是对全球造成的破坏确是存在的。
"WannaCry"和"Petya"这两次相似病毒的大面积爆发,更像是黑客攻击"预演"和"实战",是对所有人的"力量展示"。
五、附录
文中涉及样本SHA1: