1. 基本情况
北京时间2017年6月27日晚21时左右,外媒消息报道乌克兰遭受Petya勒索程序大规模攻击,感染数量达12500多台。之后蔓延到欧洲和其他区域,包括比利时、巴西、德国、俄罗斯和美国等国家。
2. 病毒概况
Petya此次使用的攻击手法与之前的WannaCry类似,并且结合利用了RTF漏洞(CVE-2017-0199)进行邮件钓鱼攻击,该病毒最初就是利用此漏洞进行定向投递,所以欧洲感染较多。该病毒和WannaCry类似,都是加密文件然后索要赎金,与传统勒索软件不同的是它并不会对每个文件都进行加密,而是通过加密硬盘驱动器主文件表(MFT)等让电脑无法正常启动。
3. 样本分析
3.1 样本概况
拿到DOC看起来跟正常的word文档无异,启动时会访问84.200.16.242这个IP的80端口,目前该地址已经不能访问,也有安全厂商说Petya跟CVE-2017-0199并无直接关系,这里就只对Petya主要的功能模块做分析。
3.2 perfc.dat主模块分析
perfc.dat为病毒的主要功能模块,该DLL文件导出了一个名为perfc_1的函数,通过rundll32去调用
C:\\Windows\\system32\\rundll32.exe\” \”C:\\ProgramData\\perfc.dat\”,#1 30
首先提升自己进程的权限,为后面的操作做准备,另外对几个进程名做了简单加密判断处理,如果得到的值为0x6403527E 或者 0x651B3005,那么后面将不会对MBR进行感染
如果是0x2E214B44的话,后面将不进行局域网攻击。
3.3 MBR感染分析
修改MBR的过程如下,首先获取操作系统所在的物理磁盘号并打开
获取分区的详细信息
读取原始的MBR数据
加密保存原始的MBR数据,处理下自己MBR数据并写入
之后会通过定时任务让系统在10分钟之后重启
重启之后系统便会被改写后的MBR代码接管,恶意的MBR代码又会加密MFT,并阻止系统正常启动
最后提示用户按照要求支付赎金。
3.4 局域网攻击分析
病毒创建线程去获取来获取局域网的一些信息,包括获取DHCP分配的机器信息,和一些局域网中的服务器,这个不受g_ProcessTag全局标志位的影响。此线程只是为了生成可感染内网主机列表,并不进行任何攻击操作。
然后根据是否是64位来释放不同的资源到临时目录,释放的文件为修改的Mimikatz,并且创建管道来与子进程通信。
接着释放ID为3的资源到windows目录,修改名字为dllhost,其本身是PsExec.exe
使用Windows设备管理命令行(WMIC)找到远程共享,将自身复制整个网络,并且远程执行
3.5 445传播分析
满足进程条件的话就会进入SMB攻击部分,此程序使用的PayLoad与WannaCry是一样的,
后面便是发送PayLoad处理socket数据的过程
4. 防范措施
Petya的传播途径跟WannaCry大同小异,并且Mbr感染模块兼容性比较好,在此提醒大家一定要及时更新操作系统补丁,禁用Windows系统下的管理控件WMI服务,对重要数据及时备份,以防万一。