BadRabbit勒索病毒分析

目录

 

0x00 简介

0x01 样本概况

特征信息

0x02 样本行为

病毒危害

创建恶意文件

加密文件

注册表

端口通信

修改MBR

0x03 详细分析


0x00 简介

勒索病毒“Bad Rabbit”采用水坑攻击的方式传播,通过伪装成Adobe flash player欺骗用户安装,感染后会在局域网内扩散。勒索病毒运行后会两次重启电脑,分别进行加密文档和锁定整个磁盘的操作。

0x01 样本概况

特征信息

样本的名称,大小和hash值如下表所示:

样本文件名称Install_flash_player.exe
样本文件大小441899 Bytes
样本文件版本27,0,0,170
MD5FBBDC39AF1139AEBBA4DA004475E8839
SHA1DE5C8D858E6E41DA715DCA1C019DF0BFB92D32C0
CRC325FA1C9A5

样本会伪装成正常的flash player安装程序:

查看样本的属性,有Symantec的数字签名:

测试环境及工具

  • 测试环境:Win7 X86虚拟机
  • 工具:OD,IDA,火绒剑

0x02 样本行为

病毒危害

加密计算机中的文件,修改MBR使计算机无法正常启动,只有通过比特币购买解锁密钥才能够解锁计算机

创建恶意文件

  • C:\WINDOWS\infpub.dat
  • C:\WINDOWS\cscc.dat
  • %ALLUSERSPROFILE%\dispci.exe
  • 注:(%ALLUSERSPROFILE% {所有用户文件目录 - C:\Documents and Settings\All Users})
  • 释放恶意文件到局域网共享文件夹下
  • 资源文件

1/2号资源对应tmp文件

7/8号资源对应cscc.dat

9号资源对应dispci.exe

加密文件

  • 加密指定后缀的文件

注册表

  • 设置注册表键值用于启动服务

端口通信

  • 通过局域网利用139/445端口和其他计算机进行socket通信

修改MBR

修改MBR,并且创建关机任务,在重启之后用户无法正常开机,界面显示勒索信息

0x03 详细分析

病毒样本

创建文件

  • 创建infpub.dat,并往里面写入数据

  • 通过rundll32.exe执行infpub.dat

  • 执行完infpub.dat之后退出进程
  • 在C:\WINDOWS目录下找不到infpub.dat,因为在该文件执行完功能之后会被删除

infpub.dat

  • 该文件由样本生成,执行完功能之后会自动删除,所以需要用OD单步调试得到文件
  • C:\Windows\system32\rundll32.exe C:\Windows\infpub.dat,#1 15 
    

    rundll32.exe调用了1号导出函数,参数为15

  • 在IDA中查看,这个文件有两个导出函数,infpub_1和infpub_2

 

  • 对自身进程进行提权操作

  • 遍历进程

  • 将自身拷贝到堆内存中并在堆中执行代码

  • 获取主机名称生成字符串,并创建以此为名的互斥体

  • 先判断cscc.dat是否存在,如果存在则退出当前进程;如果不存在,则创建cscc.dat,路径为C:\windows\cscc.dat

  • 创建dispci.exe

  • 利用schtasks.exe创建计划任务

  • 释放文件到共享局域网下

  • 局域网弱口令传播

  • 用户名

  • 密码

加载cscc.dat,创建服务,服务运行完成之后自动删除

  • 私钥

  • 公钥

  • 遍历文件,并加密指定后缀文件

  • 指定后缀

  • 加密文件

  • 在加密后的文件末尾加上了 encrypted

  • 执行完加密操作后创建Readme.txt,并写入勒索信息

  • 清除日志,关机

dispci.exe

  • 主函数

  • 加密MBR

  • 关机

使用yarGen扫描样本

/*
   YARA Rule Set
   Author: yarGen Rule Generator
   Date: 2018-11-25
   Identifier: bad
   Reference: https://github.com/Neo23x0/yarGen
*/

/* Rule Set ----------------------------------------------------------------- */

import "pe"

rule BadRabbit {
   meta:
      description = "bad - file BadRabbit.exe"
      author = "yarGen Rule Generator"
      reference = "https://github.com/Neo23x0/yarGen"
      date = "2018-11-25"
      hash1 = "630325cac09ac3fab908f903e3b00d0dadd5fdaa0875ed8496fcbb97a558d0da"
   strings:
      $s1 = "FlashUtil.exe" fullword wide
      $s2 = "https://d.symcb.com/rpa06" fullword ascii
      $s3 = "http://rb.symcb.com/rb.crt0" fullword ascii
      $s4 = "http://sf.symcb.com/sf.crt0" fullword ascii
      $s5 = "(Symantec SHA256 TimeStamping Signer - G2" fullword ascii
      $s6 = "(Symantec SHA256 TimeStamping Signer - G20" fullword ascii
      $s7 = "C:\\Windows\\infpub.dat" fullword wide
      $s8 = "http://rb.symcd.com0&" fullword ascii
      $s9 = "https://d.symcb.com/rpa0" fullword ascii
      $s10 = "http://s.symcd.com0" fullword ascii
      $s11 = "http://sf.symcb.com/sf.crl0W" fullword ascii
      $s12 = "http://rb.symcb.com/rb.crl0W" fullword ascii
      $s13 = "infpub.dat" fullword wide
      $s14 = ",Symantec Class 3 SHA256 Code Signing CA - G2" fullword ascii
      $s15 = ",Symantec Class 3 SHA256 Code Signing CA - G20" fullword ascii
      $s16 = "%ws C:\\Windows\\%ws,#1 %ws" fullword wide
      $s17 = ")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" fullword ascii
      $s18 = " 1996-2017 Adobe Systems Incorporated" fullword wide
      $s19 = "1111111111111111111111111111111111111111111111111111111111111111111111111" ascii
      $s20 = "))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" fullword ascii
   condition:
      uint16(0) == 0x5a4d and filesize < 1000KB and
      ( pe.imphash() == "e3bda9df66f1f9b2b9b7b068518f2af1" or 8 of them )
}

防范措施

定期更新补丁

安装杀毒软件

重要资料备份

关闭139/445端口

 

搜索关注公众号[逆向小生],不定期更新逆向工程师需要掌握的技能,包括Windows和Android方面的逆向,还有作为一个逆向工程师的思维模式。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值