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


    6月27日晚间,一波大规模勒索蠕虫病毒攻击重新席卷全球。

    媒体报道,欧洲、俄罗斯等多国政府、银行、电力系统、通讯系统、企业以及机场都不同程度的受到了影响。

    阿里云安全团队第一时间拿到病毒样本,并进行了分析:

    这是一种新型勒索蠕虫病毒。电脑、服务器感染这种病毒后会被加密特定类型文件,导致系统无法正常运行。

    目前,该勒索蠕虫通过Windows漏洞进行传播,一台中招可能就会感染局域网内其它电脑。

    一、Petya与WannaCry病毒的对比

    1、加密目标文件类型

    Petya加密的文件类型相比WannaCry少。

    Petya加密的文件类型一共65种,WannaCry为178种,不过已经包括了常见文件类型。

    2、支付赎金

    Petya需要支付300美金,WannaCry需要支付600美金。

     

    二、云用户是否受影响?

    截止发稿,云上暂时未发现受影响用户。

    6月28日凌晨,阿里云对外发布了公告预警。

    三、勒索病毒传播方式分析

     Petya勒索蠕虫通过Windows漏洞进行传播,同时会感染局域网中的其它电脑。电脑感染Petya勒索病毒后,会被加密特定类型文件,导致电脑无法正常运行。

    阿里云安全专家研究发现,Petya勒索病毒在内网系统中,主要通过Windows的协议进行横向移动。

    主要通过Windows管理体系结构(Microsoft Windows Management Instrumentation),和PSEXEC(SMB协议)进行扩散。

    截止到当前,黑客的比特币账号(1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX)中只有3.39 个比特币(1比特币=2459美金),33笔交易,说明已经有用户支付了赎金。


    四、技术和加密过程分析

    阿里云安全专家对Petya样本进行研究后发现,操作系统被感染后,重新启动时会造成无法进入系统。如下图显示的为病毒伪装的磁盘扫描程序。

    Petya病毒对勒索对象的加密,分为以下7个步骤:

    首先,函数sub_10001EEF是加密操作的入口。遍历所有磁盘,对每个固定磁盘创建一个线程执行文件遍历和加密操作,线程参数是一个结构体,包含一个公钥和磁盘根路径。

    然后,在线程函数(StartAddress)中,先获取密钥容器,

    pszProvider="MicrosoftEnhanced RSA and AES Cryptographic Provider"  

    dwProvType=PROV_RSA_AES Provider为RSA_AES。

    调用sub_10001B4E,通过CryptGenKey生成AES128密钥,用于后边进行文件加密。

    如果生成密钥成功,接着调用sub_10001973和sub_10001D32,分别是遍历磁盘加密文件和保存密钥的功能。

    在sub_10001973函数中判断了只对特定文件后缀加密。

    sub_10001D32函数功能是将密钥加密并写入磁盘根路径的README.TXT文件中,

    该函数在开始时调用了sub_10001BA0获取一个程序内置的公钥

    之后,调用sub_10001C7F导出AES密钥,在这个函数中用前边的公钥对它加密。

    最后,在README.TXT中写了一段提示付款的文字,并且将加密后的密钥写入其中。

    因为密钥经过了程序中内置的公钥加密,被勒索对象必须要有黑客的私钥才能解密。这也就造成了勒索加密的不可逆性。

    五、安全建议

    • 目前勒索者使用的邮箱已经被关停,不建议支付赎金。

    • 所有在IDC托管或自建机房有服务器的企业,如果采用了Windows操作系统,立即安装微软补丁。

    • 对大型企业或组织机构,面对成百上千台机器,最好还是使用专业客户端进行集中管理。比如,阿里云的安骑士就提供实时预警、防御、一键修复等功能。

    • 可靠的数据备份可以将勒索软件带来的损失最小化。建议启用阿里云快照功能对数据进行备份,并同时做好安全防护,避免被感染和损坏。

    --------------------------------------------------------------

    * 作者:阿里云安全,更多安全类热点资讯及知识分享,请持续关注阿里聚安全

  • 相关阅读:
    vux 局部注册组件
    vux 全局注册组件
    axios请求本地json
    vux报错 this指针问题
    Vue如何引入远程JS文件
    报错 ERROR in static/js/vendor.b3f56e9e0cd56988d890.js from UglifyJs
    封装axios
    js判断手机型号
    js判断是否在微信浏览器打开
    nginx+tomcat实现负载均衡以及session共享(linux centos7环境)
  • 原文地址:https://www.cnblogs.com/alisecurity/p/7088711.html
Copyright © 2020-2023  润新知