灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4550回复:0

技术分析:“Q币大盗”如何诱使你主动交出密码

楼主#
更多 发布于:2011-12-21 17:58

一、基本信息


图片:28_3710_39568b14aaacaf1.png



                                                                                   图1 病毒程序图标

    这是一个以盗Q币为主要目的的盗号木马,采用UPX加壳。
        典型行为:
        1.在登陆qq的机器上,QQ会莫名其妙的退出;
        2.QQ有的时候会弹出彩色的异常登录提示框,提示用户输入验证码;
        3.QQ的Bin目录下出现MSIMG32.dll、SVulStrong.dat等文件。
        4.如果被盗的QQ里有Q币、Q点,则下手窃取。否则,就不动声色继续潜伏。
        5. 病毒由一个母体文件释放的多个不同文件共同完成盗取Q币或Q点的目的,各病毒组件的结构关系如下图所示:

        

图片:28_3710_238f2730921d00d.png



                                                                                图2 盗Q病毒关系结构图

二、概述  
      
        1.病毒通过钩子技术盗取qq的用户名和密码。
        2.查询用户QQ账户信息,查询Q币或Q点,余额不为0的,就盗号,将QQ账户和密码发到病毒服务器。

三、盗QQ母体文件-----21.exe
      
        母体文件行为较为简单:检测qq,如果存在的话则结束qq,并且释放病毒文件到QQ的Bin目录,为盗取QQ及相关财产做前期铺垫工作。
        1.创建名称为“...TM345”的互斥量,如果创建失败,退出自身进程,防止多个实例运行,然后释放该互斥量。
        2.创建进程快照,遍历进程查找是否有QQ.exe或者TM.exe进程运行。
        3.如果没有找到QQ.exe进程,通过注册表判断当前系统是否已经安装qq,并尝试通过注册表获取QQ安装路径。
        病毒遍历注册表项
        HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellNoRoamMUICache下的键值,查找是否有QQ2011、QQ2010、QQ、QQ2009、TM2009的键值信息,用于查看用户是否安装了QQ并找到该目录文件。如果没有找到,会继续创建进程快照查找是否存在qq.exe进程,如果没有找到,会循环遍历进程查找QQ进程。
        4.删除QQ相关记录信息,使得QQ无法自动登录,需手动输入密码。(狡猾的病毒作者用这招来欺骗用户重新输入QQ帐号密码)
        A.如果找到QQ.exe进程,查找QQ安装目录的bin目录下是否存在AutoLogin.dat、msimg32.dll,存在则删除相应文件。
        B.如果有文件C:ProgramFilesTencentQQUsersAll UsersQQRegistry.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.dll被QQ加载运行,并执行以下行为:
        1.加载系统真正的msimg32.dll文件
        2.修改qq载入的文件,从而hook关键函数,获得账号密码。
            A.使用多种方法干扰QQ帐号保护模块的正常运行,截取QQ帐号。
            B.在MSIMG32.dll内存块中搜索用户输入的QQ密码。


图片:28_3710_d8f657fc00057b0.jpg




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

       3. 传输QQ账号密码,查询q币和q点信息。
           A.检测QQ是否上线成功。
           B.上线成功,则检测当前用户Q币Q点的情况。
        病毒使用URL的方式访问我的钱包,登陆之后查询QQ币信息,把需要的验证码下载到本地,以虚假的异常登陆方式骗取用户输入验证码。
        1)  病毒在后台,偷偷通过URL直接访问“我的钱包”。
        正常情况下,QQ用户这样访问“我的钱包”:点击QQ主程序界面左下角的企鹅图标->所有服务->财付通->我的钱包。如下图所示:


图片:28_3710_7ecea7381f256e1.png



                                                                              图4 正常访问我的钱包

       而病毒程序MSIMG32.dll则通过以下地址(URL),直接访问“我的钱包”
      http://ptlogin2.tenpay.com/clien ... s;ADUIN=%s;ADSESSIO
      https://wallet.tenpay.com/main/c ... n=%s;COOKIE_skey=%s



图片:28_3710_44840c6a915296a.png



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

       2)查询QQ币信息和QQ点信息。
       A.通过https://www.tenpay.com/cgi-bin/v1.0/getimage.cgi?t=1320%lu获得验证码的图片

图片:28_3710_6bbfa78a6d48f7b.png



                                                                                 图6 通过URl获得相关验证码

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

图片:28_3710_87d84a0eaa10a1b.png



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

        通过SVulStrong.dat,创建假冒的QQ异常对话框,诱骗用户输入验证码。(见接下来对病毒组件SVulStrong.dat的分析)
        C.解析相关XML文件,得到Q币Q点信息。
        具体:通过URL可以获得一个包含有Q币Q点等QQ帐户信息的XML文件,通过解析XML文件,即可以得到想要知道的Q币Q点等信息。
        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点)的信息。
        4.向病毒服务器发送QQ账号密码。
        A.如果成功返回,则判断QQ币和QQ点是否为零。
        B.不为零,则向病毒服务器发送QQ账号和密码。
        服务器地址为:asp" target="_blank">http://121.10.107.117:8015/kkasdf1/lldfa1.asp,经查证,此IP为淮安市残联,黑客霸占了这台服务器,用来收集盗窃来的QQ帐号密码。

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

    此文件功能较为简单,主要就是弹出假冒的QQ异常框。
    参考下图可以识别“帐号存在异常”对话框的真假,其中彩色验证码图片为假:

图片:28_3710_c24d82eb4a4718e.png



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

六、技术点剖析    
 
       1. 释放虚假的系统文件msimg32.dll到qq目录中,使得QQ自动加载,运行病毒。
       2.然后通过挂接键盘输入来截取用户输入的帐号密码,同时修改QQ安全保护相关代码,破坏qq的密码保护机制。
       3.获得账号密码之后,后台偷偷查询Q币、Q点信息,再欺骗用户填写验证码。将Q点或Q币余额不为零的帐号密码发送到黑客服务器。
       4.病毒突破了qq的密码保护,在同类病毒中尚不多见

喜欢0 评分0
游客

返回顶部