这是一个网游盗号木马。它拥有非常多的变种,能盗窃几乎所有的网络游戏帐号。它同时还具备一定程度的对抗能力,会试图阻止安全软件的查杀。
这个系列的盗号木马,目标游戏非常的多,基本囊括了市面上大多数的游戏,例如魔兽世界,大话西游onlineII,elementclient.exe(完美系列游戏),梦幻西游,魔域,等等等等。。。。
这个木马将简单粗暴有效的盗号原则贯彻的非常彻底,对各种游戏采用的盗号手段非常一致,都是采用将自身dll加载到正常游戏中,然后针对具体游戏,拦截指定位置的内存数据,然后格式化成统一的数据格式,发送到病毒指定的网络地址。病毒作者应该有一个强大的数据库用来收集处理盗取到的帐号密码。
下面以盗取魔兽世界帐号的木马样本为例:
病毒运行后释放下列文件:
%sys32dir%\HBWOW.Dll (从病毒命名来看就知道是盗取WOW的木马,其他的系列也是一样,比如盗大话西游的叫HBXY2.Dll,盗梦幻西游的叫HBmhly.dll。。。。。)
%sys32dir%\System.Exe (负责添加服务,加载sys,完成自启动)
%sys32dir%\drivers\HBKernel32.Sys (这个是病毒的dll启动器,在sys中包含了一个含有全部病毒dll名的列表,病毒会更新,列表也在不断的扩大)
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs 中添加所有的Dll的启动项(不论系统中是否存在)
Dll分析
这个是病毒盗号的主模块:
1)
因为病毒会将dll无差别的注入到所有进程中去,所以,当玩家启动魔兽世界的时候,在wow.exe中已经被注入了HBXY2.Dll,HBKDXY.Dll等等各种各样的盗号dll,当然也包括了HBWOW.Dll这个盗取wow帐号的dll。
所有的dll在开头处都会检查当前运行的进程,文件名是否为"wow.exe",如果不是的话,就结束dll,
这里的HBXY2.Dll,HBmhly.dll也是一样会检查是否为"xy2.exe","my.exe",这里检查不到,所以会退出
但是HBWOW.Dll会检测到,所以继续到2)
2)
创建线程,开始检查客户端,执行盗号:
首先,等玩家3000ms,让他们输密码
然后校验客户端,判断41DB10h处是否为0E9h,是就结束(正常的wow这个地方应该为0E8h),如此判断几次,没有问题的话,继续
读取wow.exe目录下"\\realmlist.wtf"的配置文件,获取玩家的服务器信息(这里面保存了用户的游戏服务器,游戏大区,角色信息等,对于WOW这个只有不到10个大区的游戏还好,但是对于传奇这种动辄几百的个大区的游戏,病毒作者是不可能去一个个尝试的)。
然后就是读取WOW程序内存中指定位置的内容,获取帐号密码,发送到指定的asp页面。
System.exe
1)
创建名为"HBInjectMutex"的互斥体。
为"%sys32dir%\drivers\\HBKernel32.sys"创建对应的服务,DisplayName: "HBKernel32 Driver",ServiceName:"HBKernel32",开启服务。
发送控制码22E007h,回复SSDT, 过杀毒软件, 病毒驱动这一部分,代码有问题,会导致执行这一控制码时,发生冲突,清理专家蓝屏。
发送控制码22E00Bh,检查指定页面是否可读写。
创建窗口:
在Software\Microsoft\Windows\CurrentVersion\Run下添加system.exe启动项HBService32;在AppInit_Dlls中添加所有dll的启动项。
打开病毒Dll, 调用dll导出表函数StartServiceEx,启动dll。