QQ也来玩0day漏洞(杂志版带执行)
此文以发布在200709期X档案
转载请著明出自http://www.52cmd.cn
QQ也来玩0day漏洞
雕牌/杜华军(52cmd.cn)
再次申明:当您看到本文的时候,TX已经封了此漏洞,但是大家不要灰心,因为还可以突破,此文只是把具体执行写清楚了。图略
一,起因
起初研究这个漏洞并不是我发起的,上次写的那个baidu挂马的文章相信大家已经看了,那天教主忽然找我,说那QQ场景是比较脆弱的地方,也许能加载swf文件。后来失败告终。教主差不多放弃了,我闲着也是闲着。继续研究场景……
二,测试+利用
1,传任意文件
测试swf挂马的时候,是想把mp3直接换成swf,让场景播放器直接加载。没想到TX是用的自己的播放器。至于怎么传swf(或者传任意文件)。这个相信大家很想知道,先要去下一个QQ的场景编辑器(光盘中)。安装之后就把你要传的文件改成mp3格式。因为QQ的场景编辑器是不能识别其他的文件的。QQ的场景背景图,最好设置一下,不然白色背景对话全是黑色。一看就感觉不对劲。然后添加动作,在在属性设置里面添加音乐——图1。然后把改了后缀的音乐添加进去。然后用16进制编辑器——图2,把里面的EOOOOO1.mp3编辑成E000001.exe。再把安装文件Config.qqs里面的
<Normal>
<SOUND Loop="true" SourcePath="E000001.exe"/>
</Normal>
<Action name="动作01" type="1">
<ActionData>
<SOUND UseNormalSound="false" Loop="false" SourcePath="E000001.exe"/>
对应改一下就可以了(当你们看到此文的时候估计TX已经封了)
2,运行VBS脚本
自己做过QQ场景的朋友对这几个文件应该比较熟悉了,Config.qqs,Setup.ini,VBScript.qqs。几个文件的具体作用,感兴趣的可以在网上搜搜,相关的资料。这里只说说VBScript.qqs这个文件,先看看部分代码,
code:
'动画参数
Dim g_bLoop(1)
Dim g_nMaxTime(1)
Dim g_nImageFrameCount(1, 0)
Dim g_bFrameImageAnimate(1, 0, 0)
Dim g_nFrameImageTime(1, 0, 0)
Dim g_nFrameImageLeft(1, 0, 0)
Dim g_nFrameImageTop(1, 0, 0)
…………
Sub Scene_OnInit(cx, cy)
'初始化帧动画参数
InitData
g_nCurAction = -1
g_nCurTime = 0
…………
'初始化背景图片位置
Scene_OnSize cx,cy
End Sub
到这里不少朋友应该知道这东西怎么利用了,这里是一写QQ场景的动画参数和始初化的参数。VBS脚本的作用大家最清楚的莫过于VBS下载者了。这里简单演示一下。函数msgbox,弹个警告框,可别小看这东西,帅哥可以泡MM,发些甜言蜜语。菜菜可以发这个吓吓大虾。在代码处——图3。下面加一句 “msgbox "QQ 0day by:www.52cmd.cn"”,再和别人聊天的时候发送场景——图4。场景是默认接受的,但是在对方会显示正在传送场景可以取消。一般人是不会怀疑那个东西,TX的东西嘛。传送完毕后会在对方。和本地出现——图5。
3,执行文件
执行文件是可以的,如果直接执行VBS下载者会出错,提示找不到对象wscript。原因是因为这个VBS脚本不是用winds下的vbscript.dll解析的,而是用的QQ自己目录下的一个vbscript.dll文件解析的。jiajia这家伙测试成功了,呵呵,编程厉害,我实在无言。下面简单说说方法,jiajia和我说的是TX过滤了部分危险字符,输出的时候就过滤了,像这个代码:
set objshell = wscript.createOBject("wscript.shell"),
加载在QQ场景里面提示出错,改成:
set objshell = createOBject("wscript.shell") ,就不出错但是不执行。经过测试发现要写成这样"CreateObject("Wscript.Shell").Run "C:\1.exe",0",才能成功。配合上面的传任意文件就能达到很好效果。但是传文件有时候会大大延长传场景的时间。有时候还会把对方QQ搞崩溃。jiajia想到一种好的方法,既免杀又方便。exe2bat大家都清楚吧。首先利用CreateObject("Scripting.FileSystemObject")把转过之后的代码通过fso.opentextfile,echo写到一个文件中,再用wscript.shell执行。具体点,首先BAT转EXE小工具把木马转成bat,图6。在把转过的代码通过fso写入文件。具体文件我打包了,大家一看就明白。大家如果对这个漏洞还有兴趣,可以自己去测试测试,但是估计大家看到此文的时候漏洞已经被TX封了。这里打包几个VBS脚本,留给有兴趣的人研究。还有什么不明白的去我blog看吧(www.52cmd.cn)最后感谢测试中帮助我的兄弟,教主,十三,jiajia
工具打包:qq_exp.rar