Board logo

标题: 轻轻松松解密各种网页木马 [打印本页]

作者: faye    时间: 2008-7-18 17:38     标题: 轻轻松松解密各种网页木马


轻轻松松解密各种网页木马
或许大家已经看过很多解密网马的办法。借助工具很多网马都被轻松的解开,不如: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加密的部分就不用我解释了吧?最快的办法是复制那部分代码。然后加到百度关键词地址后面即可,http://www.baidu.com/s?wd=,例如document。
作者: wds    时间: 2008-7-18 17:38

这段代码,最快的防翻译办法就是加入上面地址中http://www.baidu.com/s?wd=document,返回的结果是:


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



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

    得到结果:
生活中若没有朋友,就像生活中没有阳光一样。
作者: 珠海小西    时间: 2008-7-18 17:38

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


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

    接下来就来看一个有貌似点难度的了。最近黑客防线出的《黑暗网马》使用了火狐里一个人出的加密工具。解密过程需要提供密码,难道是为了防止修改?看起来有点类似md5加密,难道真的不可逆?1K的网马可以加密到15K甚至更大,太可怕了吧?让我们一起来把他解密出来吧!
生活中若没有朋友,就像生活中没有阳光一样。
作者: find-ok    时间: 2008-7-18 17:38

在长长的代码最后我们看到了
      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);然后在页面的</head>
<body>和<script></script>之间添加一段,效果如下:
    <html>
    <head>
    <title>网马</title>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="">
    <label>
    <textarea name="textfield" cols="100" rows="50"></textarea>
    </label>
    </form>
    <script>
    ….这里省略解密部分
    </script>
    这里的意思是建立一个文本框,然后吧刚才的cuteqq3的内容赋值给文本框,Textfield是文本框的名称。可以自己修改。但是必须修改document.getElementById('textfield').value里对应的名称,再次运行刚才的网马得到结果:


生活中若没有朋友,就像生活中没有阳光一样。
作者: procar    时间: 2008-7-18 17:38

刚才加密过代码大小是:

    解密后是:
    至于里面的\x72\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79这样的代码,我们就可以用简单的办法突破了。
    十六进制转义字符串如下:
    <SCRIPT LANGUAGE="JavaScript">
    alert("\x72\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79")
    </SCRIPT>
    就可以显示出来了,顺便说下。刚才的加密页面里用到了防止查看源代码的技术。就是适用下面的代码
    <noscript>
    <iframe src=*>
    </iframe>
    </noscript>
    这里的noscript元素用来定义在脚本未被执行时的替代内容(文本),此标签可被用于可识别<script>标签但无法支持其中的脚本的浏览器。但当浏览器支持javascript脚本时,就起到隐藏noscript标签中间内容的作用,所以导致无法查看源代码。很多时候我们要盗取别人的网马的时候就会遇到这样的问题,怎么办呢?简单!我们前面说道,所有网马要被执行都要先转换为浏览器可以识别的代码,另外,网马执行的同时也是要保存到浏览器的缓存中的。默认位置是:C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files,打开你要盗取的网马的页面前先清空下你的IE缓存,然后刷新网马页面,就会发现网马乖乖的躺再里面了!(本地测试的网页是不会保存到缓存的所以这里不截图了) 生活中若没有朋友,就像生活中没有阳光一样。
作者: 吉普2020    时间: 2008-7-18 17:38

下面我们再来看一种加密方式


    这个是申通快递被挂马的时候抓到的,后来无意中得知这个加密方式用到的是JS混淆,http://www.cha88.cn/safe/JSencode.php这个网站有这个加密方式,但是没有解密方式。怎么办?简单!
    大家一起看看最后这段代码:
    t=utf8to16(xxtea_decrypt(base64decode(t), '\x64\x63\x75\x6d\x65\x6e\x74'));//对t数组进行提取、重组、解密处理
    window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"] (t);//输出加密后的t的内容
    是不是有什么感觉?觉得像什么?
    我们把\x64\x6f\x63\x75\x6d\x65\x6e\x74和\x77\x72\x69\x74\x65分别用我们刚才的alert的办法解密出来,他们分别对应的是document和write,也就是说最后这2行的意思就是对t数组进行提取、重组、解密处理并输出最后正确的结果。知道这个我们就很容易理解了,所有网马到最后为了输出让浏览器识别,都要进行最后的解密输出。通常就是document.write和eval里的内容了。那么我们用刚才的document.getElementById('textfield').value=t;替换掉window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"] (t);并再页面顶端的<body>下面加入如下代码:
    <form id="form1" name="form1" method="post" action="">
    <label>
    <textarea name="textfield" cols="100" rows="50"></textarea>
    </label>
    </form>
    再次运行网马。即可得到第一层解密的结果:


    这还不是我们要的最终结果。还记得上面讲过的?遇到eval就替换为alert:
生活中若没有朋友,就像生活中没有阳光一样。
作者: kinsaang    时间: 2008-7-18 17:38

大家快来学习哦生活中若没有朋友,就像生活中没有阳光一样。
作者: 叶王子    时间: 2008-7-18 17:38

这个不错!
作者: zzw167    时间: 2008-7-18 17:38

我的神阿…… 学习ing~
作者: 东莞军人    时间: 2008-7-18 17:38

密密麻麻的看不懂!
作者: sam_slk    时间: 2008-7-18 17:38

看不懂!
作者: 大胃仔    时间: 2008-7-18 17:38

收藏...遇到就来找找..

作者: gaofeng    时间: 2008-7-18 17:38

好高深的学问啊 人似秋鸿来有信,事如春梦了无痕。
作者: sunmm    时间: 2008-7-18 17:38

我的神阿.......................................................................................................................................................................................................!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! {yct12}
作者: 紫禁城    时间: 2008-7-18 17:38


作者: ewin    时间: 2008-7-18 17:39

DDDDDDDDD  写得好
作者: 游大海    时间: 2008-7-18 17:39

http://www.kztechs.com/sreng/download.htmlSystem Repair Engineer下载
作者: 醉鞭名马    时间: 2008-7-18 17:39

hao  好学习   学习~~~~~~~~~~~~顶




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com/) Powered by Discuz! 7.2