瑞星卡卡安全论坛

首页 » 技术交流区 » 恶意网站交流 » 9周年活动,第二关网马解密方法详解(一)
networkedition - 2010-3-31 10:57:00
在这里就讲解一下,解密的技巧吧。  首先,源代码中很乱,有很多的空格字符,实际上是终止符(00),需要整理一下源代码,提供一个快速代码的方法,使用winhex工具来进行替换,此方法由小聪大牛提供。
使用winhex工具打开要解密的代码,截图如下:
源代码在11楼有下载



用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 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; InfoPath.2)
networkedition - 2010-3-31 11:06:00
上图中红色框标记出的就是终止符(00),需要将其进行替换。winhex工具点击搜寻下的替换十六进制数值,

参加下图设置:点击ok进行替换。





networkedition - 2010-3-31 11:11:00
替换完成后可以将代码另存为即可。

networkedition - 2010-3-31 11:19:00
分析一下整理后代码,里面有个document.write函数,由于代码太长,不建议使用将document.write替换为alert的方法(有截断代码现象),使用textarea这个文本区域的html标签,将代码执行后,执行结果在文本区域内显示出来。

networkedition - 2010-3-31 13:08:00
在整理好的代码头部和尾部分别添加如下代码:










完整代码见附件,直接打开附件里的网页,并允许执行被阻止的脚本或activex控件,可以看到执行后代码被输出值文本区域。textarea标签使用方法参考html教程,这里就不详细讲解了。

附件: jf1.rar
networkedition - 2010-3-31 13:18:00
执行结果详见下图:



ok,有我们非常熟悉的东西,unescape后面的一串是shellcode。接下来我们使用freshow或redoce工具来解密这段shellcode,发现无法解密出,使用freshow的enumxor无法枚举出网马地址。无固定XOR,在这里就需要考虑使用od来调试shellcode,得出最终的网马地址。
networkedition - 2010-3-31 13:25:00
下面讲解一下如何来调试shellcode,我们使用redcoe工具的执行下的:9>ShellCode至Exe,将shellcode生成为exe程序后,载入od进行调试。具体操作方法见下图:

networkedition - 2010-3-31 13:42:00
networkedition - 2010-3-31 13:46:00
通过以上方法生成exe程序后,将其载入至od里。在这里就不讲解如何来调试了,无非就是F7+F8一步一步来跟。最终的调试结果见下图:

Cool_wXd - 2010-3-31 13:55:00
膜拜版主~~~
networkedition - 2010-3-31 14:04:00
源代码见附件,补充一下,所利用的是极风漏洞,ie前段时间的那个KB980182漏洞。微软今天发布了更新的补丁,具体参看:http://www.microsoft.com/china/technet/security/bulletin/MS10-018.mspx

附件: jf.rar
FCOME - 2010-3-31 14:23:00
终于可以看到啦
孔子的文章就是不错啊
zxl0222 - 2010-3-31 14:25:00
先回帖,再学习!
梅罗 - 2010-3-31 15:38:00
学习了。。。。
wanmimi - 2010-3-31 17:46:00
非常不错!支持!
yishuad - 2010-4-3 12:32:00
版主真厉害!:kaka1:
微米天空 - 2010-4-3 22:43:00
厉害啊~~:kaka1:
念初 - 2010-4-5 22:51:00
传说中的剑盟管理员kongzi~:kaka7:
tonnys - 2010-8-31 12:55:00
膜拜楼主。
1
查看完整版本: 9周年活动,第二关网马解密方法详解(一)