1.概述

安天威胁态势感知系统2015年12月2日捕获到有新的传播特点的敲诈者变种邮件,其不再采用直接发送二进制文件载荷的传播模式,而是以一个存放在压缩包中的JS脚本为先导。

安天追影分析小组对相关事件和样本进行了分析。该样本系TeslaCrypt的另一个变种TeslaCrypt 2.x,邮件附近是一个zip压缩文件,解压zip文件得到一个js文件,运行js文件,会下载TeslaCrypt2.x运行,遍历计算机文件,对包括文档、图片、影音等186种后缀格式文件进行加密,加密完成后打开敲诈者的主页,在指定期限内需要支付500美元才能得到解密密钥,过期需要支付1000美元。因为TeslaCrypt2.x变种改变了密钥的计算方式,采用了ECDH算法,黑客与受害者双方可以在不共享任何秘密的情况下协商出一个密钥,采用此前思科等厂商发布的TeslaCrypt解密工具[1]已经无法进行解密。

2.社工邮件传播

TeslaCrypt2.x版本通过发送大量邮件进行传播,邮件截图如下:

邮件直接称呼Hello,没有给出具体的姓名,邮件正文:“请查收附件,电子邮件的文档会邮寄给您,本电子版本是发送给您方便查看“。为了表明邮件的重要性敲诈者在邮件中强调邮件正通过传统方式邮寄,这样收件人认为可能是重要的邮件而查看相关附件。

邮件的附件为invoice_06796407.zip ,经过解压获得INVOICE_main_BD3847636213.js文件,是一个下载者功能,用来下载TeslaCrypt 2.x并执行。

3.事件样本分析

3.1js脚本文件

INVOICE_main_BD3847636213.js文件采用了变形加密躲避杀软检测,通过Eval函数进行自解密可以获得明文代码,当用户双击这个js文件,其会从三个网络地址顺序下载可执行文件到Temp目录下并执行。如果第一个地址下载成功并运行,则后续两个地址就不会进行下载。网络地址以空格分割:

74.117.183.84/76.exe

5.39.222.193/76.exe

bestsurfinglessons.com/wp-includes/theme-compat/76.exe

相关代码在解密前后的内容对照如下:

3.2  对应敲诈者样本分析

该变种和此前的Tesla报告中恶意行为大致相同,可以参考另一安全团队isightpartners之前发布的报告[2]。样本运行后对文档进行AES256加密,保存恢复文件所需信息到注册表和文本文件。并发送相关信息给黑客控制的Tor服务器。

样本使用花指令以及反调试技术,会以挂起方式启动自身,读取自身数据解密后重写入新的挂起进程,并判断自身路径是不是指定的一个Application Data文件路径,若不是则移到该目录并修改文件名为随机5位字母-a.exe,(例如mghsd-a.exe)。 创建一个固定的互斥量值“78456214324124” 动态分析环境下追影设备也发现了其采用bcedit禁用安全模式、恢复模式,在注册表创建自启动项:HCURSoftwareMicrosoftWindowscurrentVesionrun。

接下来创建多个工作线程,其中一些关键线程行为分析如下:

1)删除系统里的卷影副本,vssadmin.exe delete shadows /all /Quiet

2)启动线程遍历进程路径,如果路径中包含Taskmgr、procexp、regedit、msconfig、cmd.exe任意一个字符串则结束相关进程, 这样CMD、任务管理器,进程查看工具无法打开,就无法查看和结束恶意样本进程。

3)另一个线程主要进行联网上报信息给黑客控制的服务器,连接的网址主要有如下几个:

其中访问 myexternalip.com/raw获取受害主机的外网IP信息。

访问下面的网络地址提交信息:

表 3-1 访问网络域名列表

域名

IP

regiefernando.me

192.185.5.252

schriebershof.de

78.46.79.167

apotheke-stiepel.com

81.169.145.157

woodenden.com

23.229.206.40

leboudoirdesbrunettes.com

213.186.33.87

Albanytotalwellness.com

66.147.244.93

djepola.com

174.136.13.48

aprenderabailarsevillanas.com

5.56.57.101

基本上都是Get请求连接PHP文件,请求中的参数组成格式以及某次请求数据如下:

Sub=%s&key=%s&dh=%s&addr=%s&size=%lld&version=%s&OS=%ld&ID=%d&gate=%s&ip=%s&inst_id=%X%X%X%X%X%X%X%X,实际发送的数据如下图所示:

4)        再一个线程就是恶意的核心功能了加密特定后缀文件:

首先获取本地系统上存在的所有磁盘信息,如果是本地磁盘和网络磁盘的话,遍历磁盘所有文件,当文件名含有recove、.vvv就直接放行,如果没符合的,就检测文件的扩展名,如果扩展名匹配了下列中任意一个就会开始恶意加密文件:

.r3d .css .fsh .lvl .p12 .rim .vcf .3fr .csv .gdb .m2 .p7b .rofl .vdf .7z .d3dbsp .gho .m3u .p7c .rtf .vfs0.accdb .das .hkdb .m4a .pak .rw2 .vpk .ai .dazip .hkx .map .pdd .rwl .vpp_pc .apk .db0 .hplg .mcmeta .pdf .sav .vtf .arch00 .dba .hvpl .mdb .pef .sb .w3x .arw .dbf .ibank .mdbackup .pem .sid .wb2 .asset .dcr .icxs .mddata .pfx .sidd .wma .avi .der .indd .mdf .pkpass .sidn .wmo .bar .desc .itdb .mef .png .sie .wmv .bay .dmp .itl .menu .ppt .sis .wotreplay .bc6 .dng .itm .mlx .pptm .slm .wpd .bc7 .doc .iwd .mov .pptx .snx .wps .big .docm .iwi .mp4 .psd .sql .x3f .bik .docx .jpe .mpqge .psk .sr2 .xf .bkf .dwg .jpeg .mrwref .pst .srf .xlk .bkp .dxg .jpg .ncf .ptx .srw .xls .blob .epk .js .nrw .py.sum .xlsb .bsa .eps .kdb .ntl .qdf .svg .xlsm .cas .erf .kdc .odb .qic .syncdb .xlsx .cdr .esm .kf .odc .raf .t12 .xxx.cer .ff .layout .odm .rar .t13 .zip.cfr .flv .lbf .odp .raw .tax .ztmp.cr2 .forge .litemod .ods .rb .tor .crt .fos .lrf .odt .re4 .txt .crw .fpk .ltx .orf .rgss3a .upk

相关的加密过程以及加密文件格式可以参考卡巴的分析文章,主要是采用了ECDH算法进行加密密钥的生成[3]。之前的思科Tesla解密工具[2]可以解密Tesla早期变种,其早起变种会保存密钥到文件“key.bat”。而Tesla2.x变种的密钥生成和保存发生变化,会保存在注册表。

HKCUHKEY_CURRENT_USERSoftwareHKEY_CURRENT_USERSoftwareCE14F27E7D3E895,其中7CE14F27E7D3E895是个人标识码,每个用户不同,黑客服务器上根据这个标识来识别用户。注册表中保存的信息和下面生成的recover_file_*.txt相同。

加密后的数据覆盖源文件,然后重新修改文件名。除了感染本机,还会试图枚举网络中的计算机,尝试感染加密其中的文件。当全部加密完成后,就会在My Documents目录下生成跟文件恢复相关recover_file_*.txt的文件,其中的内容如下:

然后在用户桌面上生成如下三种格式的Howto_RESTORE_FILES文件并打开,用来提醒用户用的:

最后弹出警告页,提示访问敲诈者的主页,提示密钥被加密,可以访问敲诈者的服务器获取密钥。

需要在指定期限支付500美元才能得到解密秘钥,过期需要支付1000美元。

4.Tesla2.x网络架构分析

安天分析工程师发现为了躲避追踪,敲诈者的网络服务器是隐藏在Tor网络之后。点击敲诈者提供的访问页面效果如下:需要输入验证码,可以防止自动化的遍历查询中毒者信息。

经过关联数据发现下面几个网址的指向的服务器是相同的,都是这个特斯拉2.x敲诈者变种的服务器,尝试使用相同的ID在这三个网站进行查询到的信息是一样的。

psbc532jm8c.hsh73cu37n1.net

alcov44uvcwkrend.onion.to

7vhbukzxypxh3xfy.onion.to

受害者IP120.72.5.187,可以看到两个网址返回的数据一致。

如果敲诈者使用的上报服务器被网络安全设备拦截,无法接收到上报的加密信息,到这个查询页面利用个人码查询的时候,会提示登录不成功,为了能够提供解密服务,敲诈者设计了一个功能就是将“我的文档“文件夹下面保存的recover_file_xxxxx.txt文件上传即可获取被加密的相关信息。如下图:

通过对网络架构的关联发现一个解密的URL程序

http://psbc532jm8c.hsh73cu37n1.net/decrypt.zip

MD5:AE3E2206ACB24A60FF583F2CF0C77E59

其中包含PDB信息C:wrkdecryptdecryptReleasedecrypt.pdb,从样本功能中可以看到利用OpenSSL ECDH 方法的公私钥加密解密算法。也印证了这个版本采用ECDH密钥对文件加密的密钥进行加密的方法。

5.总结

敲诈者软件此前通过邮件打包传播可执行PE载荷,通过双扩展名、SCR扩展名等技巧进行传播,而在这一轮传播攻势中,其利用js格式的伪装性,逃避杀软的检测和防御。同时,特斯拉2.x敲诈者采用ECDH加密算法,其已经无法再通过此前的逆向获取密钥的方式来解密文件,对用户的数据安全,具有更大的威胁。

从我们过去的监测发现,敲诈型恶意代码的威胁对象,的受害对象,正在从原有的个人用户,广泛的延伸到企业用户,甚至出现了服务器被感染的案例。安天已经在PTD探海威胁检测系统、IEP智甲终端防御系统中,专门强化了对敲诈者木马的检测防御能力。

随着数据安全威胁日益增长,行业企业用户同样需要通过能力型网络安全产品有效改善感知防御盲区,建立纵深防御体系,并通过威胁情报平台及时获取威胁信息。快速发现威胁,降低风险进一步扩散。

原文发布时间为:2016-04-25

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

邮件发送JS脚本传播敲诈者木马的分析报告相关推荐

  1. linux 将新密码邮件发送,linux脚本实现自动发送和收取邮件的设置方法

    linux脚本实现自动发送和收取邮件的设置方法 更新时间:2013年05月11日 19:51:45   作者: 这篇文章主要是介绍linux下通过脚本自动发送和收取邮件的设置方法,有需要的朋友可以参考 ...

  2. wpf tabcontrol嵌套自动跳转上层_Python Selenium包应对嵌套网页的方法和简单 js 脚本运行的实现...

    最近用selenium写一个网页游戏里自动购买物品的脚本的时候,发现元素一直无法正确定位,检查网页源码以后发现网页包含了两个<html>标签,导致使用 xpath 方法定位时,无论是绝对路 ...

  3. Python邮件发送SMATP模块详细总结(含qq邮箱及163邮箱服务开启及授权码获取,多附件发送)

    Python实现电子邮件发送 在生活中或许我们多数都在用微信或者是QQ,但是工作中就会涉及邮件了,我也是最近在工作中用到了,所以找了些资料,有的较为完备有的就特别零散,所以自己也来整理分享一下.这里主 ...

  4. 常见邮件发送失败原因分析以及解决方法

    一.发到 sina.com 的邮件会被退回 二.发到 tom.com 的邮件会被退回 三.发到 aol.com 的邮件会被退回 四.发到 163 的邮件会被退回 五. 收到退信错误提示为"5 ...

  5. JavaMail邮件发送不成功的那些坑人情况及分析说明

    前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文注解.但是由于JavaMail的机制设置不够完善,特别是异常出错时的参考信息太少,给初学者造成了不少麻烦,而我就是 ...

  6. node.js发送html,利用Node.JS实现邮件发送功能

    第一步.配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本. 关于这个库的文档参见nodemailer 第二步.库的一些使用介绍 这个库使 ...

  7. 百度统计的JS脚本原理分析 2013年文章转载

    首先,百度统计会要求我们在要统计的页面中嵌入一段js语句,类似如下: <script type="text/javascript"> var _bdhmProtocol ...

  8. 阿里云Linix上 python脚本 发邮件发送不出去问题

    脚本在本地发送没问题,但是同样的系统环境,在阿里云上就是发送不出去 报错信息只能看出 是连接的问题 原因 可能是阿里云 把 你使用的那个端口封了 网上找到的解决办法: 修改连接部分代码 换端口号 换成 ...

  9. JavaMail邮件发送不成功的那些坑人情况及分析说明(巨坑跳出专用姿势)

    https://blog.csdn.net/xyw591238/article/details/69530950 前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文 ...

  10. Linux shell脚本、定时备份mysql数据库、sendMail邮件发送

    数据库备份 定时任务 邮件发送 一.数据库备份 vim /sqlbackup/mysql_backup.sh#!/bin/sh ###定义变量#### date=`date "+%Y-%m- ...

最新文章

  1. Python 爬虫1——爬虫简述
  2. 指针:调用自定义交换函数,完成三个数整从小到大排列
  3. C语言检查一个字符串是否为另一个字符串的子字符串的算法(附完整源码)
  4. 深度学习训练时GPU利用率忽高忽低如何解决?
  5. ACM学习历程—HihoCoder1309任务分配(排序 贪心)
  6. CSS Hide(隐藏元素)
  7. 电脑无法读取移动硬盘_移动硬盘U盘提示:文件或目录损坏且无法读取如何解决?...
  8. 数据库设计经验浅谈(3,4,5)转载
  9. 【渝粤题库】陕西师范大学500017 基础物理专题(光、近代)作业
  10. python程序设计语言中的小于等于号_Python(matplotlib)小于或等于tex中的符号
  11. 删除Windows中设备与驱动器下的多余图标
  12. 【mcuclub】MQ系列气体传感器
  13. 科技爱好者周刊(第 208 期):晋升制度的问题
  14. Java创建线程(Lambda表达式创建线程)
  15. [转]超级强大的SVG SMIL animation动画详解
  16. 小游戏算年龄(Java)
  17. (操作系统) 常见面试题整理
  18. 区块链与联邦学习的研究
  19. 使用C#版本GDAL读取复数图像
  20. 周鸿祎:成功是熬出来的,像阿甘坚持到最后一分钟

热门文章

  1. 485通讯协议_终于有人把RS485通讯协议应用及缺点分析清楚了,看完收获多多
  2. oracle中on和where的区别,Oracle里面的外连中where和on之后and有啥区别
  3. 本地怎么传文件到服务器,本地传输文件到服务器
  4. python dateutil安装_Python时间处理-dateutil模块
  5. 图神经网络 图像处理,神经网络图像修复
  6. Linux下基于LDAP统一用户认证的研究
  7. 天气类App原型制作分享-ColorfulClouds
  8. 大数据实战——微博舆情大数据分析
  9. 万科java_万科面试总结
  10. Quick Batch File Compiler(BAT转EXE工具)bat文件转换成exe文件(启动jar包和自动打开浏览器)