zoukankan      html  css  js  c++  java
  • ocky勒索软件恶意样本分析1

    locky勒索软件恶意样本分析1

    1 locky勒索软件构成概述

    前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析。样本主要包含三个程序:

    A xx.js文件:Jscript脚本文件,以脚本形式存在主要用于邮件传播和方便免杀杀毒软件,用于联网下载PE1

    B PE程序(PE1):外壳程序,主要负责解密内存load PE2。

    C PE程序(PE2):功能代码存在于该文件,主要负责和C&C服务器通讯获取加密密钥,遍历磁盘驱动器使用crypt系列windows函数对文件加密。

    PE1

    1

    PE2

    2-bak

    2 locky勒索软件行为分析

    2.1 XX.JS行为简要分析

    病毒的本体在通过邮件传播的时候可以就是一个xx.js的文件。

    3

    由于是脚本文件,病毒的原始JS样本已经截获累计到了5位数。

    4

    我们将手里的这个JS文件分别传到virtotal和virscan。

    5

    6

    由于脚本文件免杀较为容易,单纯只靠更新病毒库不容易将数以万计的js恶意样本完全拦截并报警。

    xx.js会同一台webserver 进行通讯,下载PE1

    7

    8

    我们查询了一下这个ip。

    9

    Locky病毒的作者将PE1文件部署在美国的服务器上。

    xx.js成功下载PE之后会将PE1至于当前用户的Temp文件夹中然后直接运行。

    10

    如果该JS被执行多次,可能会因为文件已经存在而弹出写入失败的对话框。

    11

    对应的该行的代码。

    12

    这点可能会被用户察觉。

    2.2 PE1 PE2行为简要分析

    PE1只是负责内存加载PE2。它的导入表的函数是伪造的,为了用于躲避某些对于导入表查杀敏感的杀软的查杀报警。

    对于PE1的查杀virtotal显示基本大部分杀软都已经入库查杀了。

    13
    Locky病毒首先使用RtlDecompressBuffer函数与内存中解出PE2

    13.1

       

    在内存加载的时候会不断的调用GetProcAddress动态的填充修正PE2的导入表的函数地址。

    15

    使用常规的函数来判断系统版本

    16

    尝试请求通讯服务器上的main.php并进行通讯

    18

    向如下通讯服务器通讯请求密钥并回传用户的编号。

    19

    20

    会尝试向注册表写入”SoftwareLocky”,证明该系统已经存在Locky病毒

    21

    会尝试向Run写入启动项

    22

    下面应该是打开文件并遍历文件使用微软提供的Crypt对文件进行加密的代码位置

    24

    25

    病毒使用CreateFileW打开文件,使用FindFirstFileW和FindNextFileW对文件进行遍历。

    使用微软提供的Crypt系列的函数对文件进行加密。

    目前会加密下列后缀名的文件。

    26

    对于路径和文件名包含下列字符的文件不进行加密

    27

    使用

    28

    删除全盘所有卷影副本,使受害系统不能够通过卷影副本进行系统还原。

    病毒完成执行成功后会设置如下背景图片进行勒索。

    29

    3 locky勒索软件分析总结

    通过目前的分析来看,勒索软件“Locky”的功能与之前分析的勒索软件的功能基本一致。勒索软件能给攻击者带来巨大的收益,因其使用比特币进行交易,所以很难追踪。一旦用户感染了勒索软件,只能付费进行解密或是丢弃这些文件。广大用户,为防止数据被加密,更应该注意勒索软件的防御,养成良好的上网使用习惯,不要轻易执行来历不明的文件。与其他勒索软件不同的是,”Locky”是首例具有中文提示的比特币勒索软件,这预示着勒索软件作者针对的目标范围逐渐扩大,勒索软件将发展出更多的本地化版本。今后中国将受到更多类似的勒索软件攻击。所以如何防御勒索便成为保卫网络安全的重要任务之一。

        

  • 相关阅读:
    shell脚本,文件里面的英文大小写替换方法。
    shell脚本,100以内的质数有哪些?
    shell脚本,当用sed删除某一文件里面的内容时,并追加到同一个文件会出现问题。
    shell脚本,按行读取文件的几种方法。
    shell脚本,锁机制
    shell脚本,通过一个shell程序计算n的阶乘。
    shell脚本,如何写进度条。
    shell脚本,判断给出的字符串是否相等。
    shell脚本,按空格开始60秒的倒计时。
    18:django 日志系统
  • 原文地址:https://www.cnblogs.com/xdans/p/5412883.html
Copyright © 2011-2022 走看看