详解替换系统“rpcss.dll”文件的病毒和具体解决办法

简单描述:

该病毒会通过替换系统“rpcss.dll”文件来实现开机自启动。是一个专门窃取QQ网络游戏帐号的木马程序。同时,它还会窃取QQ网络游戏用户的密码保护资料。

中毒现象:

1、杀毒后系统不能上网。

2、杀毒后系统粘贴功能失效。

3、杀毒后系统任务栏上的部分信息不能正常显示。

4、杀毒后系统桌面程序“explorer.exe”启动非常慢,等好长时间才能显示出来桌面。

病毒主程序“TrojanSpy.OnLineGames.iyo”部分的分析:

释放恶意DLL组件:

ASCII "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ddc967.tmp" 文件大小:34,816 字节,文件名称随机。

病毒主程序通过“rundll32.exe”进程调用运行病毒释放出来的DLL组件文件:

00402209 FF15 00204000 CALL DWORD PTR DS:[402000] ; kernel32.CreateProcessA

0012FC18 00000000 |ModuleFileName = NULL

0012FC1C 0012FCB4 |CommandLine = "rundll32 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ddc967.tmp INS C:\Documents and Settings\Administrator\桌面\new13.10260422.exe"

0012FC20 00000000 |pProcessSecurity = NULL

0012FC24 00000000 |pThreadSecurity = NULL

0012FC28 00000000 |InheritHandles = FALSE

0012FC2C 00000000 |CreationFlags = 0

0012FC30 00000000 |pEnvironment = NULL

0012FC34 00000000 |CurrentDir = NULL

0012FC38 0012FC44 |pStartupInfo = 0012FC44

0012FC3C 0012FC88 \pProcessInfo = 0012FC88

病毒主程序在被感染计算机系统中安装完毕后会自我删除。

病毒释放组件“~ddc967.tmp”部分的分析:

采用高级语言编写,可能加壳。

该DLL组件一般会被插入到“explorer.exe”、“csrss.exe”、“svchost.exe”等系统进程,以及几乎所有用户级权限的进程中加载运行,并在被感染计算机系统的后台执行恶意操作,隐藏自我,防止被用户发现、被安全软件查杀。

1、插入系统进程“csrss.exe”:

监视DLL组件是否被调用,如果发现不存在(发现被关闭掉)则重新调用,达到自我保护的目的。

2、插入系统进程“explorer.exe”:

调用病毒组件“C:\WINDOWS\system32\gdipro.dll”运行。躲避安全软件主动防御和监控等,达到自我保护的目的。

3、插入系统进程“svchost.exe”:

(1)、自我复制为“C:\WINDOWS\system32\gdipro.dll”

(2)、通过“sfc_os.dll”来去除系统“C:\WINDOWS\system32\rpcss.dll”文件的保护:

10012D03 FF15 C0200110 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>; kernel32.LoadLibraryA

0006F340 10012B2C \FileName = "sfc_os.dll"

10012D10 FF15 C4200110 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; kernel32.GetProcAddress

0006F33C 76C30000 |hModule = 76C30000 (sfc_os)

0006F340 00000005 \ProcNameOrOrdinal = #5

10012D38 FFD6 CALL ESI ; sfc_os.#5

0006F338 00000000

0006F33C 0006F348 UNICODE "C:\WINDOWS\system32\rpcss.dll"

(3)、用“DeleteFileA”删除系统文件“C:\WINDOWS\system32\..\ServicePackFiles\i386\rpcss.dll”和“C:\WINDOWS\system32\dllcache\rpcss.dll”。

(4)、用“MoveFileExA”移动系统文件“C:\WINDOWS\system32\rpcss.dll”到“C:\WINDOWS\system32\srpcss.dll”处。

10012E0D FF15 BC200110 CALL DWORD PTR DS:[<&KERNEL32.MoveFileEx>; kernel32.MoveFileExA

0006F45C 0006F67C |ExistingName = "C:\WINDOWS\system32\rpcss.dll"

0006F460 0006F578 |NewName = "C:\WINDOWS\system32\srpcss.dll"

0006F464 00000001 \Flags = REPLACE_EXISTING

(5)、用病毒释放出来的DLL组件文件“C:\WINDOWS\system32\gdipro.dll”来替换系统文件“C:\WINDOWS\system32\rpcss.dll”。

(6)、用“GetFileTime”、“SetFileTime”获取系统文件时间并重新设置被病毒替换后的DLL组件文件“C:\WINDOWS\system32\rpcss.dll”的时间(创建和修改日期),达到更好的自我隐藏的目的。

(7)、释放DLL组件“C:\WINDOWS\system32\sys17002.dll”(文件大小:23,040 字节)。

(8)、用“GetFileTime”、“SetFileTime”获取系统文件时间并重新设置被病毒替换后的DLL组件文件“C:\WINDOWS\system32\sys17002.dll”的时间(创建和修改日期),达到更好的自我隐藏的目的。

(9)、提升服务的权限,把“NT AUTHORITY\NetworkService”改为最高权限“LocalSystem”:

10013313 FF15 18200110 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKey>; ADVAPI32.RegOpenKeyExA

0006F754 80000002 |hKey = HKEY_LOCAL_MACHINE

0006F758 0006F770 |Subkey = "SYSTEM\CurrentControlSet\Services\rpcss"

0006F75C 00000000 |Reserved = 0

0006F760 000F003F |Access = KEY_ALL_ACCESS

0006F764 0006F878 \pHandle = 0006F878

10013340 FFD7 CALL EDI ; ADVAPI32.RegSetValueExA

0006F74C 10013342 /CALL 到 RegSetValueExA 来自 gdipro.10013340

0006F750 00000080 |hKey = 80

0006F754 10012C30 |ValueName = "ObjectName"

0006F758 00000000 |Reserved = 0

0006F75C 00000002 |ValueType = REG_EXPAND_SZ

0006F760 10012C3C |Buffer = gdipro.10012C3C(LocalSystem)

0006F764 0000000C \BufSize = C (12.)

10013352 FF15 10200110 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKey>; ADVAPI32.RegOpenKeyA

0006F75C 00000080 |hKey = 80

0006F760 10012C24 |Subkey = "Parameters"

0006F764 0006F874 \pHandle = 0006F874

10013372 FFD7 CALL EDI ; ADVAPI32.RegSetValueExA

0006F74C 10013374 /CALL 到 RegSetValueExA 来自 gdipro.10013372

0006F750 00000084 |hKey = 84

0006F754 10012C18 |ValueName = "ServiceDll"

0006F758 00000000 |Reserved = 0

0006F75C 00000002 |ValueType = REG_EXPAND_SZ

0006F760 10011404 |Buffer = gdipro.10011404(C:\WINDOWS\system32\rpcss.dll)

0006F764 00000038 \BufSize = 38 (56.)

(10)、“CreateRemoteThread”利用创建远线程的方式来调用运行“C:\WINDOWS\system32\gdipro.dll”。

该病毒利用进程守护功能来实现自我保护。

病毒释放组件“sys17002.dll”部分的分析:

加壳名称:dUP v2.x Patcher --> www.diablo2oo2.cjb.net *

采用高级语言编写。

文件大小:34,816 字节。

释放驱动文件“C:\WINDOWS\system32\drivers\hm17002.sys” ->文件大小:5,120 字节。

创建病毒配置文件“C:\WINDOWS\system32\sys17002.add”。

发现地址加密前:ASCII "7a^G?BBBaaa^3>"

发现地址解密后:ASCII "g1.worrr111.cn"

盗QQ网络游戏的密码保护等信息资料。

域名劫持(当用户访问如下网站时,会被定向到骇客服务器地址“212.103.11.59”上):

\drivers\etc\hosts

212.103.11.59\tpassport.wanmei.com

212.103.11.59\treg.163.com

212.103.11.59\tsde.game.sohu.com

212.103.11.59\taccount.ztgame.com

212.103.11.59\tpwd.sdo.com

212.103.11.59\treg.91.com

病毒释放驱动“hm17002.sys”部分的分析:

恶意驱动程序。

文件大小:5,120 字节。

可能是利用驱动安装钩子截取QQ网络游戏密码,达到盗游戏帐号的目的:

!This program cannot be run in DOS mode.

e:\qqsg\setloa~1\setloa~1\objfre_wnet_x86\i386\SetLoadHook.pdb

手动删除该病毒的方法步骤(经过实际测试绝对有效):

1、删除病毒文件“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~*.tmp”、“C:\WINDOWS\system32 \gdipro.dll”、“C:\WINDOWS\system32\drivers\hm17002.sys”、“C:\WINDOWS \system32\sys17002.dll”、“C:\WINDOWS\system32\sys17002.add”、“C:\WINDOWS \system32\rpcss.dll”

2、把系统文件“C:\WINDOWS\system32\srpcss.dll”改名为“C:\WINDOWS\system32\rpcss.dll”。

3、把注册表“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rpcss\ObjectName”键值改为“NT AUTHORITY\NetworkService”。

4、把注册表“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rpcss\Parameters\ServiceDll”键值改为“%SystemRoot%\system32\rpcss.dll”。

5、重新启动计算机系统,系统杀毒修复完毕(系统重新启动后就可以上网了,粘贴功能有效了,同时任务栏的显示也正常了)。

6、使用杀毒软件进行全盘查杀病毒(该病毒为木马下载器下载到您计算机中的病毒,那个木马下载器还下载了N多其它病毒也同时安装到了您的计算机系统中)。