原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-worm-capabilities/?platform=hootsuite

未完全按原文翻译。

在2017年6月27日,一款勒索软件开始在欧洲大范围传播。我们注意到攻击从乌克兰开始,超过12,500台机器遭到威胁。随后勒索软件传播超过64个国家,包括比利时,德国,俄罗斯和美国。

这款新的勒索软件具备蠕虫特性,使得它可以通过网络对外传播。基于我们的研究,这款新的勒索软件是Ransom:Win32/Petya的一个变种,较之前的版本更加附加和强大。

为了保护用户,我们发布了更新补丁,用户可以到Malware Protection Center去下载。

0.1 传送和安装

最初的攻击起源于乌克兰的一家名为M.E.Doc的公司,微软根据相关证据证明勒索软件的下载安装使用了 “软件供应链攻击”方式。

我们检测到MEDoc软件的更新程序EzVit.exe执行了一个命令行命令,在6月27日10:30左右。下图演示了执行流程,但是EzVit.exe执行恶意命令的原因目前还未知。

Petya

0.2 单勒索软件,多方位传播技术

这个勒索软件,起初只感染了一台电脑,然后通过网络对外传播。它使用的到的基本技术包括:

.窃取凭证或者重用当前会话\
.通过文件共享在内网传播恶意文件\
.通过合法途径执行负载,或者利用SMB漏洞(未打补丁的机器)

下面我们深入了解下这些技术的细节。

0.3 通过凭据窃取和身份伪造传播

勒索软件释放一个和Mimikatz类似的dumping工具(通常是放到%Temp%文件夹下的一个.tmp文件),区分32位和64位版本。因为用户通常使用具有本地管理员权限的账号登录电脑,并且和内网内多台机器保持通讯连接,被窃取的凭据很可能具有其他电脑上同样用户的访问级别。一旦勒索软件获取了有效的凭证,它会扫描局域网,并尝试通过139和445端口和其他电脑建立连接。对于域控制账号或者域服务器具有一个特殊的行为:勒索软件尝试调用 DhcpEnumSubnets() 方法,在扫描tcp/139 和 tcp/445端口之前,先枚举所有DHCP子网内的主机( to enumerate DCP subnets all hosts on all DHCP subnets before scanning for tcp/139 and tcp/445 services)。如果得到相应,勒索软件使用窃取到的凭据尝试向其他主机传输一个二进制文件,通过常规的文件传输方法。

之后它尝试通过PSEXEC 或WMIC 工具执行拷贝到远程主机上的恶意程序。

这个勒索软件试图从软件内嵌的资源中释放一个psexec.exe文件(通常会重命名为dllhost.dat)。然后它扫描局域网内admin$分享文件夹,通过网络拷贝自身到远程主机,并通过psexec.exe执行拷贝到远程主机的二进制文件。

为了凭据窃取,勒索软件尝试通过调用CredEnumerateW方法获取所有其他用户存储在机器上的凭据。如果一个凭据的名称以“TERMSRV/”开头并且类型设置为1,这个凭据会被用来在整个网络内传播。

Petya

勒索软件也使用Windows Management Instrumentation Command-line (WMIC)来寻找共享文件夹(NetEnum/NetAdd)从而传播自己。如果当前主机和远程主机存在链接,它会使用当前活跃链接的token进行数据传输,如果没有连接,会通过用户名密码的方式建立连接。

Petya

0.4 通过永恒之蓝( EternalBlue)和永恒浪漫(EternalRomance)传播

这款勒索软件也通过对 CVE-2017-0144 (also known as EternalBlue)的漏洞攻击直接传播。另外,它还使用第二个漏洞攻击CVE-2017-0145。

我们已经发现该勒索软件通过构造SMBv1数据包 全部是 XOR 0xCC 加密)来触发漏洞,代码分析如下:

Petya

Petya

这两个漏洞是Shadow Brokers泄漏出来的,微软已经在4月14日发布了补丁。用户可以通过安装补丁security update MS17-010或者禁用SMBV1 来抵御此种类型的攻击。有关这两个漏洞的更多信息可以参考我们的博客

0.5 加密

该勒索软件的加密行为依赖于它获取的权限和在目标机器上运行的进程的权限。它对进程名称进行简单的XOR-based 哈希,然后通过哈希值进行行为决策。

6.png

.0x2E214B44-- 如果一个进程名的hash值是这个值的话,软件不会去感染MBR。

7.png

.0x6403527E 或者 0x651B3005 -- 如果这两个hash值被发现,勒索软件不会进行任何网络活动(比如攻击SMBv1 漏洞)

8.png

如果没有异常情况,软件会向MBR写入启动数据,然后重启电脑。它建了一个定时任务,在至少十分钟后关闭电脑。实际时间是随机的 (GetTickCount())。例如:

schtasks /Create /SC once /TN “” /TR “<system folder>\shutdown.exe /r /f” /ST 14:23

如果写入MBR成功,它会显示如下虚假的操作系统信息,提醒你设备错误,正在进行检查:

Petya

然后会显示勒索信息:

Petya
![Uploading 11_674996.png . . .]

只有在勒索软件获取足够高的权限的时候,它才会尝试覆盖MBR。

恶意软件尝试加密所有除C:\Windows文件夹之外的文件:

Petya

它使用file mapping APIs 而不是常规的 ReadFile()/WriteFile() API来加密文件:

Petya

和其他勒索软件不同,它没有添加一个新的文件扩展名到被加密的文件,而是覆盖了原文件。

它为每台机器生成一个AES秘钥,使用内置的 800-bit RSA公钥对其进行加密。

Petya

Petya

唯一的用于加密的AES Key以加密的形式被添加到README.TXT文件中,写在 “Your personal installation key:”一节下面。

除了加密文件,这个勒索软件同时尝试重写MBR的第一个节——VBR。如果它以SeShutdownPrivilege 或者 SeDebugPrivilege 或者 SeTcbPrivilege权限运行,就会重写MBR,同时直接访问drive0 \\.\PhysicalDrive0。

MBR overwrite pseudo code:

Petya

Overwriting the first sector of VBR:

Petya

加密之后,它释放一个 README.TXT文件:

17.png

最后勒索软件会清理 System, Setup, Security, Application event logs,删除NTFS 卷信息。

0.6 使用Windows Defender进行防御

无需安装更新,使用Windows Defender的高级防御功能就能进行防御..

(此处略过,感兴趣的可以查看原文)

0.7 通用防御措施

及时更新你系统。

尽量下载使用应用商店内的应用。

安装 MS17-010补丁。

如果未安装补丁,请按文档Microsoft Knowledge Base Article 2696547 和recommended previously禁用SMBv1服务。 在路由器添加对445端口的阻止规则。关闭139和445端口,禁用远程WMI服务和文件共享。

最后还是推荐使用Windows Defender监控网络,企业用户使用Device Guard进行防御。

---

0.jpg

关注玄魂工作室,更多教程,更多精彩

【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性的更多相关文章

  1. 技术分析 | 新型勒索病毒Petya如何对你的文件进行加密

    6月27日晚间,一波大规模勒索蠕虫病毒攻击重新席卷全球. 媒体报道,欧洲.俄罗斯等多国政府.银行.电力系统.通讯系统.企业以及机场都不同程度的受到了影响. 阿里云安全团队第一时间拿到病毒样本,并进行了 ...

  2. 新特技软件(Analyzer)添加新用户

    新特技软件添加新用户的步骤比较多,记录下来,方便以后使用 安装完软件,处理好自己的AS以后,准备添加用户 步骤一: 我们要在安装Analyzer的服务器上添加新的Windows用户 步骤二:在Anal ...

  3. 360安全中心:WannaCry勒索软件威胁形势分析

    猫宁!!! 参考链接:http://zt.360.cn/1101061855.php?dtid=1101062360&did=210646167 这不是全文,而是重点摘要部分. 2017年5月 ...

  4. 不修改加密文件名的勒索软件TeslaCrypt 4.0

    不修改加密文件名的勒索软件TeslaCrypt 4.0 安天安全研究与应急处理中心(Antiy CERT)近期发现勒索软件TeslaCrypt的最新变种TeslaCrypt 4.0,它具有多种特性,例 ...

  5. 勒索软件Locky、Tesalcrypt等使用了新的工具躲避检测

    勒索软件Locky.Tesalcrypt等使用了新的工具躲避检测 今天我们发现Locky勒索软件家族使用一种新的工具来躲避检测,并且可能已经感染了很多节点. 自从我们通过AutoFocus智能威胁分析 ...

  6. 螣龙安科:威胁研究——与MAZE勒索软件事件相关的策略,技术和程序

    至少从2019年5月开始,恶意行为者就一直在积极部署MAZE勒索软件.勒索软件最初是通过垃圾邮件和漏洞利用工具包分发的,后来又转移到妥协后进行部署.根据我们在地下论坛中对涉嫌用户的观察以及整个Mand ...

  7. Android勒索软件研究报告

    Android勒索软件研究报告 Author:360移动安全团队 0x00 摘要 手机勒索软件是一种通过锁住用户移动设备,使用户无法正常使用设备,并以此胁迫用户支付解锁费用的恶意软件.其表现为手机触摸 ...

  8. ocky勒索软件恶意样本分析2

    locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...

  9. 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)

    卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...

随机推荐

  1. 基于三层交换机和基于路由子接口的vlan间路由

    1:通过三层交换机实现vlan间的通信:为三层交换机创建vlan,设置交换机的两个SVI,并配置IP地址. (在二层交换机上只能配置一个SVI端口,用来实现交换机交换机远程管理,在三层交换机上可以配置 ...

  2. 吕鑫VC6.0-VS2015 全套C/C++、MFC新手实战入门教程、Linux视频教程 最好的基础入门教程没有之一

    本课程包括:[1]C语言(1个月)[2]C++语法与数据结构(1个月)) [3]MFC项目开发(1个月)[4]Linux项目开发(1个月)往届的授课视频都已经上传到百度网盘,请同学们按照视频教程提前掌 ...

  3. 习惯的PHP命名规则

     从C++转PHP也已经很长一段时间了,一直有点代码洁癖,对于文件名,接口名,类名,方法名等都使用严格的驼峰命名法, 但是有时候会犹豫到底用首字母大写区分还是用下划线区分.今天简单总结和规约一下. 1 ...

  4. php 关于经纬度距离计算方法 成功版

    1.PHP实现通过经纬度计算距离 单位为公里 function getdistance($lng1,$lat1,$lng2,$lat2)//根据经纬度计算距离 { //将角度转为狐度  $radLat ...

  5. javaWeb学习总结(1)- JavaWeb开发入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  6. while循环 操作列表与字典

    1.在列表间移动元素 #!/usr/bin/env python #filename=list.py num1 = [1,3,5,7,9,11,13,15] num2 = [] while num1: ...

  7. 利刃 MVVMLight 10:Messenger 深入

    1.Messager交互结构和消息类型 衔接上篇,Messeger是信使的意思,顾名思义,他的目是用于View和ViewModel 以及 ViewModel和ViewModel 之间的消息通知和接收. ...

  8. js继承之原型链继承

    面向对象编程都会涉及到继承这个概念,JS中实现继承的方式主要是通过原型链的方法. 一.构造函数.原型与实例之间的关系 每创建一个函数,该函数就会自动带有一个 prototype 属性.该属性是个指针, ...

  9. centos 修改主机映射

    [root@m1 ~]# vi /etc/hosts

  10. C#基础篇--静态成员、抽象成员、接口

    1.静态成员: 静态成员(static).静态类与实例成员.类: 静态成员属于类所有,非静态成员属于类的实例所有. 静态成员不能标记为 Virtual,Abstract,Override,也就是说静态 ...