资讯中心

金山毒霸:Q币大盗分析报告

2011-12-21来源:金山安全中心

摘要:Q币大盗分析报告

关键词:Q币大盗 分析 报告



一、基本信息

病毒程序图标

图1 病毒程序图标

这是一个以盗Q币为主要目的的盗号木马,采用UPX加壳。

典型行为:

1.在登陆QQ的机器上,QQ会莫名其妙的退出;

2.QQ有的时候会弹出彩色的异常登录提示框,提示用户输入验证码;

3.QQBin目录下出现MSIMG32.dllSVulStrong.dat等文件。

4.如果被盗的QQ里有Q币、Q点,则下手窃取。否则,就不动声色继续潜伏。

5.病毒由一个母体文件释放的多个不同文件共同完成盗取Q币或Q点的目的,各病毒组件的结构关系如下图所示:

盗Q病毒关系结构图

二、概述

1. 病毒通过钩子技术盗取qq的用户名和密码。

1. 查询用户QQ账户信息,查询Q币或Q点,余额不为0的,就盗号,将QQ账户和密码发到病毒服务器。

三、盗QQ母体文件-----21.exe

母体文件行为较为简单:检测qq,如果存在的话则结束qq,并且释放病毒文件到QQBin目录,为盗取QQ及相关财产做前期铺垫工作。

1、创建名称为“...TM345”的互斥量,如果创建失败,退出自身进程,防止多个实例运行,然后释放该互斥量

2、创建进程快照,遍历进程查找是否有QQ.exe或者TM.exe进程运行。

3、如果没有找到QQ.exe进程,通过注册表判断当前系统是否已经安装qq,并尝试通过注册表获取QQ安装路径。

病毒遍历注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache下的键值,查找是否有QQ2011QQ2010QQQQ2009TM2009的键值信息,用于查看用户是否安装了QQ并找到该目录文件。如果没有找到,会继续创建进程快照查找是否存在qq.exe进程,如果没有找到,会循环遍历进程查找QQ进程。

4、删除QQ相关记录信息,使得QQ无法自动登录,需手动输入密码。(狡猾的病毒作者用这招来欺骗用户重新输入QQ帐号密码)

A.如果找到QQ.exe进程,查找QQ安装目录的bin目录下是否存在AutoLogin.datmsimg32.dll存在则删除相应文件。

B.如果有文件C:\ProgramFiles\Tencent\QQ\Users\All Users\QQ\Registry.db,则使用StgOpenStorage函数打开Registry.db文件,获得Main_LoginAccountList,销毁记录,从而再次登录时需要手动输入密码。

5、在QQ安装目录的bin目录下创建文件msimg32.dll(伪造系统文件SVulStrong.dat文件,并设置文件属性为系统隐藏。

注:QQ启动过程中会优先启动自身目录下的msimg32.dll

6、遍历进程查找QQ.exe进程,如果找到,结束该进程;然后继续遍历进程查找QQ.exe进程,查看是否已经结束该进程

7、创建进程,以命令行方式删除病毒源文件自身,退出自身进程。

8、QQ启动过程中,加载木马程序创建的msimg32.dll

四、盗取QQ密码,查询QQ币信息-----msimg32.dll

此模块为病毒核心模块,主要功能为盗取qq号和密码及对应QQ账号的QQ币、Q点。

此文件是伪造的系统文件,释放到qq的安装目录下会使得qq运行时自动加载此文件。当用户启动QQ后,伪造的msimg32.dllQQ加载运行,并执行以下行为:

1. 加载系统真正的msimg32.dll文件

2. 修改qq载入的文件,从而hook关键函数,获得账号密码。

a. 使用多种方法干扰QQ帐号保护模块的正常运行,截取QQ帐号。

b. 在MSIMG32.dll内存块中搜索用户输入的QQ密码。

Woshimima是病毒成功截取示例QQ登录密码

3. 传输QQ账号密码,查询q币和q点信息。

      A检测QQ是否上线成功。

      B.上线成功,则检测当前用户QQ点的情况。

病毒使用URL的方式访问我的钱包,登陆之后查询QQ币信息,把需要的验证码下载到本地,以虚假的异常登陆方式骗取用户输入验证码。

1) 病毒在后台,偷偷通过URL直接访问“我的钱包”。

正常情况下,QQ用户这样访问“我的钱包”:点击QQ主程序界面左下角的企鹅图标->所有服务->财付通->我的钱包。如下图所示:

正常访问我的钱包

而病毒程序MSIMG32.dll通过以下地址(URL),直接访问“我的钱包”

http://ptlogin2.tenpay.com/clienturl_wallet?clientuin=%s&clientkey=%s&mail=%s&ADUIN=%s&ADSESSIO
https://wallet.tenpay.com/main/cgi-bin/v1.0/wallet_loginto_cft.cgi?COOKIE_uin=%s&COOKIE_skey=%s

病毒通过Url直接访问我的钱包

图5 病毒通过Url直接访问我的钱包

2) 查询QQ币信息和QQ点信息。

  A.通过https://www.tenpay.com/cgi-bin/v1.0/getimage.cgi?t=1320%lu获得验证码的图片

通过URl获得相关验证码

B.获取到验证码的图片之后,会调用另一个病毒文件SVulStrong.dat的相关函数,来诱骗用户输入验证码,然后查询QQ币和QQ点信息。

查询Q币Q点信息填写验证码

图7 查询QQ点信息填写验证码

    病毒弹出的QQ异常对话框与正常对话框的对比通过SVulStrong.dat,创建假冒的QQ异常对话框,诱骗用户输入验证码。(见接下来对病毒组件SVulStrong.dat的分析)

   C.解析相关XML文件,得到QQ点信息。

具体:通过URL可以获得一个包含有QQ点等QQ帐户信息的XML文件,通过解析XML文件,即可以得到想要知道的QQ点等信息

XML中包含以下几个节点
<jifen_balance>15分</jifen_balance>
<not_check_dirty_list/>
<qb_balance>0.00</qb_balance>
<qb_balance>0.0</qd_balance>
<retcode>00</retcode>
<retmsg>交易成功</retmsg>
如果<retmsg>包含成功的字样,则证明已成功返回Q币等信息,进而读取节点<qb_balance>(Q币的信息)<qb_balance>(Q)的信息

1. 向病毒服务器发送QQ账号密码。

A.如果成功返回,则判断QQ币和QQ点是否为零。

B.不为零,则向病毒服务器发送QQ账号和密码。

服务器地址为:http://121.10.107.117:8015/kkasdf1/lldfa1.asp,经查证,此IP为淮安市残联,黑客霸占了这台服务器,用来收集盗窃来的QQ帐号密码。

五、创建假冒QQ异常登陆框,获取验证码----SVulStrong.dat

此文件功能较为简单,主要就是弹出假冒的QQ异常框。

参考下图可以识别“帐号存在异常”对话框的真假,其中彩色验证码图片为假:

病毒弹出的QQ异常对话框与正常对话框的对比

六、技术点剖析

1. 释放虚假的系统文件msimg32.dllqq目录中,使得QQ自动加载,运行病毒。

2. 然后通过挂接键盘输入来截取用户输入的帐号密码,同时修改QQ安全保护相关代码,破坏qq的密码保护机制。

3. 获得账号密码之后,后台偷偷查询Q币、Q点信息,再欺骗用户填写验证码。将Q点或Q币余额不为零的帐号密码发送到黑客服务器。

4. 病毒突破了qq的密码保护,在同类病毒中尚不多见。

更多>>免费杀毒下载

分享到: 复制地址 新浪微博 腾讯微博 QQ空间 朋友 开心网 人人网 百度空间 搜狐 网易 豆瓣 淘江湖 百度贴吧