js混淆加密如何解密jse病毒专杀工具

随着软件安全技术的发展,PE类病毒的检测—清除—对抗技术不断发展,样本采用常规方法大规模感染的可能性越来越低。 Wanncry的爆炸性的击中是由于永恒的蓝色远程执行漏洞的出现。 另一方面,脚本类样本的模糊化方法容易发生变化,小型大部分脚本类样本为下载器,下载执行PE样本)容易普及,所以份额有上升的趋势。

分析

分析以前捕获的一张JS样本。 因为是脚本示例,所以在Notepad中打开混淆的原始代码。

P1-ObfuscateerCode

手动排除混淆

乍一看没有什么想法,但有两个明显的特征。 一个是作为变量名存在多个随机长度的字符串,另一个是函数主体部分存在多个数组和字符串的连接,并且数组中的最终项对应于之前的随机变量,推测其混淆的方法以字符串分割为基础,以数组选项为变形要理解这段代码的中心思想,只能快速替换数组和变量。 ‘ e ‘,ebylx,’ u ‘,’ f’][1]ebylx=’va ‘,即:[‘e ‘,ebylx,’ u ‘,’ f’][1]。

p2 -手动置换测试

手动替换后,明显可以看到js的语句’ varinkezs3=new enumerator ybdetof5)

Py脚本辅助分析

如果代码不是很短,手动替换将没有效率。 仔细分析模糊代码,在字符串分割后数组变形的过程有一定的规律性。 在此,我们考虑编写py脚本以消除模糊化。 程序主要使用正则表达式进行匹配和转换。 程序主要分为以下部分。

0x2.2.1区别存储随机变量和核心代码行

varLineDict={}

代码线列表=

写列表=[ ]

在线myjslog :

if ‘ var ‘在线和’=’在线: # varxnisd=’打开’;

ky=re.match[var] )3) ) s ) ) [a-z0-9a-z_],} ) s ) ) ).{1,$ )线路)

钥匙!=无:

varlinedict [键组1) ]=键组2)2)。

else:

代码线列表. append 线)

0x2.2.2阵列结构: [‘e”,ebylx,“u”,“f’][1] —ebylx

for line 12 _ spliti nre.find all ^\) )、line 3360索引=整数) ) re .匹配) )、line )、3360英寸

repstr=re.match ) .* ) ) )、线路12 _分割) .组1)1.分割)、) )、索引) )。

“替换脚本=re.com脚本) ) ) ) ) d ) ) ) ) ) ) ) ) ) ) )

line替换时间戳. sub repstr,line,count=1) )。

0x2.2.3替换变量为对应的值。 ebylx —‘va ‘

适用于varlinedict :的线路

if var线在线:

vartemp=re.compilevarline ) )。

line=var temp.sub varlinedict [ var line ],线)。

0x2.2.4替换“”为空格

plus=re.com pile r ‘ [\s\s\s ] ) [\s\s\s ] ‘ )

line=plus.sub ‘,line ) )。

0x2.3分析结果

P3-py透视2结果

经过一系列的py脚本解密,剩下的程序很容易被识别。 当然,也可以进行进一步的优化,但简单的样本分析就足够了。 结果显示,该示例是Js下载者,从http://xxx.uio下载文件并将其保存在临时目录中,下载完成后使用cmd命令运行。

在对解密样本的分析中,如果有“GET”、“http://xxx”、“runcmd.exe”和“GetTempName”,一般可以视为下载者。

vs调试

我以为静解析基本上满意,但是上次参加北京市的某个比赛时,遇到了求key的js解码代码。 简单分析的结果是,觉得p马上就需要的答案,不知怎么的马上就拿不到p的值,想了很久,最后通过调试不是在od上附加wscript.exe,而是vs直接调试js )取得p的值, 虽然主办方的wp编写并处理简单的py脚本,但是调试仍然提供了很大的便利。

P4-VS调试

病毒或工具?

分析该样本的难点在于消除混淆,结合动、静态分析,将该样本修改为下载壁纸的小工具,提高对病毒的认识。

调试结果发现了Get和http混淆的代码行。

p 4获取http线

变量ovfowqi和kredak之间连接着恶意的采样地址。 现在,将该地址更改为壁纸地址,将保存位置更改为c:\RandName.jpg进行下载。

P5 -下降墙

P6-DownWallpaperDebug

P7-URL检查

病毒并不是绝对的,只有连接的网站和下载文件不同,样本的性质才会发生变化,分析样本时要关注共同的特征,然后特例该样本的网站和下载文件

大小单双稳赢技巧0?from=pc”>

P3-py透视2结果

经过一系列的py脚本解密,剩下的程序很容易被识别。 当然,也可以进行进一步的优化,但简单的样本分析就足够了。 结果显示,该示例是Js下载者,从http://xxx.uio下载文件并将其保存在临时目录中,下载完成后使用cmd命令运行。

在对解密样本的分析中,如果有“GET”、“http://xxx”、“runcmd.exe”和“GetTempName”,一般可以视为下载者。

vs调试

我以为静解析基本上满意,但是上次参加北京市的某个比赛时,遇到了求key的js解码代码。 简单分析的结果是,觉得p马上就需要的答案,不知怎么的马上就拿不到p的值,想了很久,最后通过调试不是在od上附加wscript.exe,而是vs直接调试js )取得p的值, 虽然主办方的wp编写并处理简单的py脚本,但是调试仍然提供了很大的便利。

P4-VS调试

病毒或工具?

分析该样本的难点在于消除混淆,结合动、静态分析,将该样本修改为下载壁纸的小工具,提高对病毒的认识。

调试结果发现了Get和http混淆的代码行。

p 4获取http线

变量ovfowqi和kredak之间连接着恶意的采样地址。 现在,将该地址更改为壁纸地址,将保存位置更改为c:\RandName.jpg进行下载。

P5 -下降墙

P6-DownWallpaperDebug

P7-URL检查

病毒并不是绝对的,只有连接的网站和下载文件不同,样本的性质才会发生变化,分析样本时要关注共同的特征,然后特例该样本的网站和下载文件

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注