九零登录

[【通过】] 一个js木马的分析

[复制链接]
发表于 2016-9-20 18:22:24 | 显示全部楼层 |阅读模式
       勒索软件恶意样本分析
这是一个由js下载者下载执行的恶意勒索软件,此恶意软件由一个加密的js前端脚本下载,并拼装组成的一款加壳。
一 样本基本信息
    Js下载者:business card 4bf4c1e8-.js
    Js下载者:annual_budget_ 96eb85df~.js
    木马:rhgmkn7jqz31wt.exe
    木马:j5ZrfDYNDGbiq.exe
解压密码都是123
二病毒流程分析
    两款js病毒都是被混淆过的js前端代码,js负责下载一个文件,并组装成exe程序并执行,exe程序使用外壳进行防御,exe程序分为3部分:第一部分,代码固定,由js脚本中输入的解码key将exe解密,若key不对,exe中代码无法解密,程序无法执行,第二部分,一段加密壳程序,第四部分为代码主程序,调用windows的rsaenh.dll等加密库遍历文件进行读写操作,上传秘钥以及id识别码,并显示勒索信息,最后自删除。
三js流程
    Js是一个被前端加密混淆工具混淆过的代码,进行初步解码后结果为:


还是没法看懂,使用vs2010跟踪后,同时使用wireshark抓包,可以看到js的具体动作。



分别是两个网络动作一个是下载,一个是上传,上传不是js的的动作,而是后来exe的动作,监控磁盘C:\Documents and Settings\Administrator\Local Settings\Temp目录可以看见具体的下载动作。下载的其实只是一个文件并非pe结构的可执行文件,后续,js还会对其进行复杂的拼接处理,最终生成exe后缀的木马,并执行。
四exe的执行过程
Js:annual_budget_ 96eb85df~.js相对简单,生成的j5ZrfDYNDGbiq.exe相对比较简单,直接执行即可,但是js:business card 4bf4c1e8-.js生成的rhgmkn7jqz31wt.exe病毒就比较复杂,需要带参数323,需要以命令行带参数323执行,此参数的作用是是解码。

若无正确的参数进行解码病毒无法执行,增强了对杀软的生存能力。杀软没有解码key,根本无法发现木马的意图。
解码之后,exe执行到壳段,此壳是一个比较简单的加密壳,无程序主功能无关。
病毒以注册表键值做此电脑是否已经被感染判断

病毒使用2048位的rsa算法生成伪随机数种子,由于美国法律不允许2048位的rsa加密算法出口,但是可以允许生成加密种子,所以,病毒能调用rsaenh.dll等dll

此后,会选择地址进行上传操作

这便是生成的私钥使用aes对文件进行加密,看下加密过程,主要看下加密参数

看下加密后结果

然后是循环重复此过程


5结论
此勒索软件最终对文件进行加密的方法,是调用windows的标准加密库rsaenh.dll等dll进行加密,流程是先使用的是2048位rsa算法由真随机数生成伪随机数,以伪随机数为key,使用aes标准加密算法进行加密。此加密算法无key不解码,无法解密。
 楼主| 发表于 2016-9-20 18:24:13 | 显示全部楼层
word文档
 楼主| 发表于 2016-9-20 18:27:25 | 显示全部楼层
链接: http://pan.baidu.com/s/1nuFvsPb 密码: 9dw6
发表于 2016-9-20 21:32:46 | 显示全部楼层
样本能发一下吗
发表于 2016-9-20 22:37:17 | 显示全部楼层
图片上传一下 发表贴出来吧
发表于 2016-9-21 10:52:51 | 显示全部楼层
加密部分能再详细下就 好了,具体是怎么调用DLL加密的
发表于 2016-9-22 10:52:33 | 显示全部楼层
可以研究下这个样本了

九零

GMT+8, 2026-10-22 15:17

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表