这样看不出来是什么文件了可鉯使用杀毒软件查杀一下。
使用腾讯电脑管家杀毒软件全面的查杀病毒程序,总计四大反病毒引擎:腾讯电脑管家云引擎、金山云查杀、小红伞本地查杀引擎、趋势本地引擎也就是说腾讯电脑管家电脑管家除了自家的云查杀引擎,还应用了国外两大品牌的本地查杀引擎有力的保障了对病毒的精准查杀!!可以彻底的清理干净病毒木马程序!!
本来这应该是一个分析贴的,泹是没想到ESET老早就有分析过看来是撞了样本了,一脸懵逼.jpg 看到黑哥(知道创宇的hi_heige)前段时间还撞了洞,而且我也晚了ESET一个月再加上ESET汾析的比我有条理啊,我也就觉得这不算什么了所以它现在被我改写成了翻译贴,求大神们别一言不合就拍砖 我先贴上自己的一些分析技巧,把JS本身还原下边就由ESET的Donny装逼了,哦不咳咳,由Donny展示了 其实之前已经遇到过这个Nemucod,以前的版本没有太多套路就不好意思发論坛上,而是丢知乎上当作科普文了现在也已经也加了ESET相关文章的翻译了。具体链接: 警惕钓鱼邮件——近期勒索软件高发我这次收集箌的那个样本跟ESET文章中说到的第一个非常相似这里为了跟ESET的分析保持一致,我就直接拿ESET的样本开刀了 首先用UltraEdit或者NotePad++打开,一看这一坨代碼立马就处女癌发作,拿到xx工具站去进行格式化处理 然后这才发现,原来开头那个变量是一条执行语句啊 那就run一下,show出这个语句来吧run一下有很多种方法,有用IE Developer Tool的有用Chrome的,更多人用火狐的firebug但是,这怎么能显示出我的非主流杀马特风格 点击运行,即可解出代码鉯下是前后对比: 接下来就简单了,从解出来的code我们可以看到从第333行才是真正函数开始的地方。 我们要做的是保留之前的变量值然后茬之后的代码中加入无数Console.log(""),分段用/**/注释代码然后可以就可以得到真正的代码了。比如下图我先注释了下边的代码,去获取ahtc的结果得箌ahtc的结果后,我把这些花指令直接改成真正的结果然后接着运行下一段。 然后发现它在bcollisionend这句报错了,这是因为这个在线的解释器不支歭WScript对象(也不可能支持)这时我们可以把它分为两句,分别输出结果然后组成:varbcollisionend = 最终,可还原出所有JS代码 当然,有一部分Web大牛可能還是更喜欢用浏览器的调试功能来弄我是web菜鸟,这里就说下我菜鸟的方法了! 先是找个目录创建个html文件把如下内容拷进去,然后把我們刚才解出来的代码放进去用IE打开。 这时你会发现这个页面上有个ClickMe。先别点按F12打开开发人员工具,下好断点然后点“ClickMe”就可以动態调试了。 功夫活儿就不再赘述很快,你就能得到结果 这里请注意,ESET分析的时候把函数名也改成有意义的了,这个我之前倒没改过对照着翻译就完了,这里也就不改了 各位想动手试试看官可以也改一改,可以改的跟ESET一样方便理解。
前段时间我们详细描述了. 从那之后,“Nemucod”(这是一个JS下载脚本主要用来下载和执行恶意软件,比如Locky. 译者注:一款主要通过Nemucod传播的勒索软件)的创造者就开始努力去改進他们的代码(译者注:通俗点,就是做免杀了)
最新的版本相比之前的版本有了一些显著的变化。在过去流程很简单:“用户打开惡意文件→ 文件下载payload→ payload执行”。但是在最近的几个版本中情况有点不简单了。 让我们仔细看看这些代码干啥了原始的代码已经被严重混淆了,为了让代码更具备可读性,我们已经对这些代码解混淆了 套路1 – 多种可供使用的连接方式(译者注:step的翻译是步骤,但好基友觉嘚套路更接地气) 早先的一些版本只用了一种方式去连接网络然而因为不同的基础网络配置,这有可能会失败 为了提供更好的兼容性,作者写了一个试着用多种方式联网的函数 图1 图中所示的第一种方式就是它常用的方式 套路2 –多个下载地址 直到最近,Nemucod都是只附带一个哋址(通常是一个被攻陷的服务器译者注:这里原意不是特别明确,结合之前的文章这样写的)用来下载payload这也是一个单点故障:一旦payload被移除,攻击(下载)就会失败 或许是希望能够增加成功几率吧,最近的几个版本已经包含了好几个下载地址如下图所示。 代码遍历仩述地址直到有一个下载成功。 套路3 – 第一轮解密 在过去Nemucod都是下载".exe"文件格式的payload,然后直接执行但是,下载exe文件会被一些安全设备比洳:有状态防火墙IDS,UTM等设备拦截或者直接拒绝下载。 为了避免这种情况最新的版本下载了一个加密的文件。首先JS会把这个文件下載到受害者的“%temp%”文件夹中: 等Payload文件保存好,下边这个函数会把文件内容交给“deobRound1”来执行第一轮解密: 正如下图展示的这样第一轮解密昰一个简单的树枝代换。文件中的所有字符被转化为16进制数值如果数值大于127,这个字符会被替换成一个预定义的数组中的相应值;如果尛于127那么字符不会产生变化: 套路4 – 第二轮解密 第一轮解密之后,文件内容会传给另外一个函数做第二轮解密这一轮解密有三个步骤:
这一步会对Payload进行一个基本的检查。
如果任何一项没通过它就返回第二步去下载下一个下载地址中的payload。 套路6 – 最后一次解密 如果所有的检查都已经通过文件就会被写到"%temp%"蕗径下。 这个名叫deobRound3(译者注: 第三轮解密)的函数又把文件内容做了一次类似于套路3的解密这些字符替换像是为了消除第二轮中解密中的“宽字符“问题。 最终所有字符都被转化为十进制,并且文件内容也成了一个有效的Windows可执行文件 现在payload已经就绪,但是它并不会被直接執行换了一个新把戏,写了一个bat文件然后用这个bat来启动payload。 如果“不出意外”用户就被感染了。 大家可以看得出来Nemucod的作者一直忙于妀进这个下载脚本来增强免杀能力。通过这些新特性大家可以推测出,作者(们)在努力提高它在企业环境中的成功率(企业环境中代{過}{滤}理服务器和UTM网关可能在过去阻止了他们的payload) 分割线下是样本,密码52Pojie: // 这个中文的冒号代表下边是样本冏 |
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。