科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道轻轻松松解密各种网页木马

轻轻松松解密各种网页木马

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

借助工具很多网马都被轻松的解开,如:unescape加密,Encode加密,js变异加密,US-ASCII加密,但是如果是手头没有工具呢?或者遇到连工具都无法解开的加密呢?轻言放弃可不是我们的作风哦!今天就为大家讲解一些总结出来的实用的解密方式和新方法。

作者:论坛整理 来源:zdnet网络安全 2008年2月25日

关键字: 杀毒软件 木马 反病毒 病毒防范 防病毒 病毒

  • 评论
  • 分享微博
  • 分享邮件
网马

或许大家已经看过很多解密网马的办法。借助工具很多网马都被轻松的解开,例如:unescape加密,Encode加密,js变异加密,US-ASCII加密,但是如果是手头没有工具呢?或者遇到连工具都无法解开的加密呢?轻言放弃可不是我们的作风哦!今天就为大家讲解一些总结出来的实用的解密方式和新方法。

首先大家要理解一个问题,所有的网马加密方式,再客户端都必须被识别,如果无法转换为浏览器可以识别的标准代码的话,是无法被运行的!所以理论上所有网马的加密方式都是可以解密的。我们就拿几个典型的例子来讲解吧。

首先是我最近遇到一个网马,加密结果如下:

是不是看的很头疼啊?乱七八糟的,无从下手了,不是简单的解密工具就行了吧?我们一起来动手解决掉它吧!首先我们来一起了解两个关键词“document.write”和“eval”。

“document.write”在JAVASCRIPT是一条打印语句,而“eval”指的是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。如果在JS的加密代码中碰上document.write,我们一般把它改成“alert”,如果遇到“eval”一般改成“document.write”。我们首先吧eval改为document.write然后运行看看结果:

OK!已经初步解密,从最后调用realexploit()这个自定义函数,可以看出。这个就是最近刚出的realplay的漏洞利用网马了。至于里面的unescape加密的部分就不用我解释了吧?最快的办法是复制那部分代码。然后加到百度搜索关键词地址后面即可。

这段代码,最快的防翻译办法就是加入上面百度搜索地址中,返回的结果是:

下面我们一起看看天网被挂过的一个网马:

一堆乱七八糟的,都不知道是什么。如何解读?其实在最快最简单的办法就是浏览这个页面,保存时候选择中欧(ISO)编码就可以了。

得到结果:

更多内容请看加密与解密技术、木马专区、安全频道专题,或进入讨论组讨论。

与此相类似的还有US-ACSII加密方式的网马,也可以通过这个方式来解密。

保存时候依然选择中欧(ISO)编码即可得到如下结果:

接下来就来看一个有貌似点难度的了。最近黑客防线出的《黑暗网马》使用了火狐里一个人出的加密工具。解密过程需要提供密码,难道是为了防止修改?看起来有点类似md5加密,难道真的不可逆?1K的网马可以加密到15K甚至更大,太可怕了吧?让我们一起来把他解密出来吧!

 

var pass="TEST.WWW.CUTEQQ.CN";

if(pass){

pass=unescape(pass);

var cuteqq,cuteqq2,cuteqq3;

cuteqq=XOR(unescape(Qq_784378237),STR.md5(pass));

cuteqq2=XOR(unescape(Qq784378237),STR.md5(pass));

cuteqq3=cuteqq+www_cuteqq_cn_s+cuteqq2;

document.write(cuteqq3);

return(false);

}

意思就是调用pass验证函数,如果为真,就继续执行里面的内容。XOR是运算符,对两个表达式进行逻辑“异或”运算。这里就不详细了解了。关键是最后的Document.write(cuteqq3)了解网页代码的人就知道这段具体的意思就是,如果密码验证正确。就输出cuteqq3这个函数里的内容。当我们遇到document.write的时候我们一般把它改成“alert”得到初步解密:

这里我们就遇到一个问题。Alert根据里显示器的大小显示内容。无法完整显示出内容。怎么办?我们引入一段javascript代码:document.getElementById('textfield').value=cuteqq3;替换掉原来的document.write(cuteqq3);然后在页面的

之间添加一段,效果如下:

 

这里的意思是建立一个文本框,然后吧刚才的cuteqq3的内容赋值给文本框,Textfield是文本框的名称。可以自己修改。但是必须修改document.getElementById('textfield').value里对应的名称,再次运行刚才的网马得到结果:

解密后是:

至于里面的\x72\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79这样的代码,我们就可以用简单的办法突破了。

十六进制转义字符串如下:

就可以显示出来了,顺便说下。刚才的加密页面里用到了防止查看源代码的技术。就是适用下面的代码。这里的noscript元素用来定义在脚本未被执行时的替代内容(文本),此标签可被用于可识别。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章