专栏首页FreeBufQQ三国盗号木马分析报告

QQ三国盗号木马分析报告

一.背景介绍

近年来网络游戏越来越火,人们充值大量金钱玩一个心爱的游戏已成常态,所以有些游戏账号非常值钱,特别是QQ三国这种每次更新都要氪金的游戏,虽然只剩下部分老玩家在玩,但他们中的大部分账号都有许多值钱的装备和物资。使得某些不法分子将目光放在了这些游戏账号上面,他们编写盗号木马,通过各种手段让玩家运行,窃取到账号后会盗取装备和物资,以换取金钱。

二.概述

该木马运行后会在QQSG.exe所在目录释放Tsg1.dll(盗号模块),并修改三个dll的入口地址,使得QQSG.exe运行时加载这三个dll的其中一个后也会加载Tsg1.dll。该盗号模块加载时会创建一个线程,负责将本地的网卡、系统版本等信息提交到编写者的服务器。然后修改QQSG.exe的关键地址,以截取账号密码等信息,发送到编写者的服务器。

图-盗号流程

三.详细分析

1.母体木马qqsg501.exe

MD5:10BFAF8079777878CFB155B87651DE5A

1.1 进程提权

图-进程提权

1.2 寻找QQSG.exe

创建进程快照,寻找QQSG.exe,找不到则查询注册表项,还找不到就遍历硬盘寻找。

图-在进程和注册表中寻找QQSG.exe

图-遍历硬盘寻找QQSG.exe

1.3 关闭QQSG.exe

关闭后,玩家只能重新登录,然后被后面注入的模块盗取账号。

图-关闭QQSG.exe

1.4 释放盗号模块Tsg1.dll

图-释放Tsg1.dll

1.5 修改三个dll

修改三个dll(dsound.dll、Zlib1.dll、DisplayD3D8_Dll.dll)的DLLMain入口地址,使其被加载时顺便加载盗号模块Tsg1.dll,加载完会自我修复。

图-修改dll

1.6 自我删除

做完dll注入的工作后,会自我删除。

图-自我删除

2.盗号模块Tsg1.dll

MD5:065AB6C5416DC2168B83FD178A68895

2.1 检测加载该dll的进程

图-检测进程

2.2 发送本机信息

创建一个线程获取本机的网卡、系统等信息,然后发送到HTtp://cda3.dnsdate.com:6299,并会请求文件,写入临时文件夹,因为域名已无法访问,该行为无法明确。

图-发送请求

图-发送内容

2.3 HOOK QQSG.exe关键指令

从QQSG.exe代码起始地址开始寻找匹配、修改某些位置的代码,因为QQSG.exe加了PELock壳保护,只能结合其余5个未被该dll调用却会发送数据或截屏给编写者服务器的函数(sub_10004C04、sub_10004C97、sub_10004C48、sub_10004D44、sub_10004D70),猜测这段代码是HOOK了5个关键位置代码,分别跳转到这5个函数,并向编写者服务器发送各种账号信息。

图-修改代码

2.4 发送账号信息

sub_10004C04会检查通过HOOK传递过来的参数是何种账号信息,并决定将其发送到编写者服务器的哪个地址,地址由函数sub_100043DB解密得到。

有三个接收地址:

http://222.186.55.213:8107/gk/lin.asp

http://222.186.55.213:8107/gk/mb.asp

http://222.186.55.213:8107/gk/pic.asp

图-检查传递过来的参数

图-发送账号信息

2.5 发送截图

sub_10004D70通过HOOK得到执行机会后会创建线程,进行截屏并且发送图片到编写者的服务器,可能是想得到密保卡。

图-截屏

图-发送图片

四.总结

该木马运用了在资源表隐藏文件、DLL入口劫持和优先加载当前目录下dll方式实现DLL注入、HOOK游戏关键指令获取账号密码、截屏、发送请求等技术来实现盗号的功能,全程十分隐蔽。

*本文原创作者:RNGorgeous,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入解析新型加密货币挖矿恶意软件ZombieBoy

    延续了2018年加密货币挖矿恶意软件的趋势,我发现了另一种类似于5月初发现的“MassMine”的挖矿恶意软件。我把这个家族称为ZombieBoy,因为它使用了...

    FB客服
  • 一个工控漏洞引发的思考(续)

    阿基米德曾经说过:给我一个支点,我就能撬起地球。”那么,在漏洞挖掘的过程中,如果给你一个支点(pivot),能否快速发掘更多漏洞呢?上一篇分析了研华公司(Adv...

    FB客服
  • 还在使用TrueCrypt?当心这两个危险漏洞

    著名安全专家James Forshaw发现了TrueCrypt中的两个重要漏洞,这两个漏洞存在于TrueCrypt安装在Windows系统上的驱动程序中。此外,...

    FB客服
  • 我整理了 50 页 PPT 来解释 SVM

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    红色石头
  • IntelliJ IDEA 2018.3 正式版发布!

    IntelliJ IDEA 今年的最后一次大版本更新 2018.3 现已正式发布,值得关注的更新包括支持 Java 12、Git submodule、GitHu...

    Java技术栈
  • 运营类收藏

    前端GoGoGo
  • 缺少动态连接库.so--cannot open shared object file: No such file or directory

    总结下来主要有3种方法: 1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边

    Aichen
  • OL3和echart的结合

    2、通过监控view的propertychange和map的zoomend实现echart的更新;

    lzugis
  • 探索变量与指针的关系——从内存中观察

    C语言中,指针是很重要的一个功能,但想要用好指针却不是一件容易的事,本篇从内存存储的数据出发,通过对比变量与指针在内存中究竟是怎么存储的,来对指针有...

    xxpcb
  • 聊聊dddsample-core的Specification

    dddsample-core的Specification接口定义了isSatisfiedBy、and、or、not方法;AndSpecification、OrS...

    codecraft

扫码关注云+社区

领取腾讯云代金券