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服务,对重要数据及时备份,以防万一。