原文链接: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. R语言结合概率统计的体系分析---数字特征

    现在有一个人,如何对这个人怎么识别这个人?那么就对其存在的特征进行提取,比如,提取其身高,其相貌,其年龄,分析这些特征,从而确定了,这个人就是这个人,我们绝不会认错. 同理,对数据进行分析,也是提取出 ...

  2. 基于ZKWeb + Angular 4.0的开源管理后台Demo

    这是一套基于ZKWeb网页框架和Angular 4.0编写的开源管理后台Demo,实现了前后端分离和模块化开发, 地址是: https://github.com/zkweb-framework/ZKW ...

  3. java下蛇形回环矩阵的实现

    前文废话:这个问题据说是腾讯之前的一道笔试题,由于当时没认真看,现在记不清这种矩阵是不是叫"蛇形回环矩阵"......请大家直接看图1,就是那个样子的矩阵. 问题描述:输入一个N, ...

  4. [刷题]算法竞赛入门经典(第2版) 5-12/UVa511 - Do You Know the Way to San Jose?

    题意:N张地图,查找某地点在不在某些地图上,若在,使用细节多的地图.使用哪个地图的破要求挺多,细心一点就好. 代码:(Accepted,0.000s) //UVa511 - Do You Know t ...

  5. 【 js 基础 】【 源码学习 】 setTimeout(fn, 0) 的作用

    在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); $.fn = { ready: function(callback){ // don ...

  6. Oracle 12C 新特性之 sqlplus查看History命令

    12c里,Oracle推出了 History 命令,这很像 Shell 中的 history ,减少了重敲 SQL ,带来了很多便利. 1. 查看history帮助SQL> help histo ...

  7. 深入理解Java虚拟机 - 学习笔记 1

    Java内存区域 程序计数器 (Program Counter Register) 是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器.在虚拟机的概念模型里,字节码解释器工作时就是通过 ...

  8. chrome的断点调试

    DOM节点变化时触发断点具体触发条件可分3种情况:子节点有变化.节点的属性发生变化或这个节点被删除.可以快速找到对应的事件处理函数. 条件断点 写一个表达式,表达式为 true 时才触发该断点. 在D ...

  9. 关于bootstrap table 的可编辑列表的实例

    最近被安排到一个新的项目里,首先被分配了一个成果管理的模块,虽然是简单的增删改查,但是也费了不少功夫. 其中耽误最长的时间就是form中嵌套了两个可编辑列表的子表.废话不说上干货 = = 参考资料 1 ...

  10. LINQ之LINQ to Objects(上)

    LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. 1.LINQ体系结构 从上图可以看出,L ...