找回密码
 立即注册
搜索
查看: 156|回复: 2

关于 infostealer.gampass病毒处理

[复制链接]

30

主题

1698

回帖

2296

积分

论坛元老

积分
2296
发表于 2007-5-28 18:24:51 | 显示全部楼层 |阅读模式
今天遇到的一台机器,symantec antivirus报告c:\windows\system32\jusodl.exe感染了trojan.pws.qqpass和infostealer.exe病毒,清除失败;重启进入安全模式,打开隐藏文件功能无效,360安全卫士无法启动,注册表编辑器无法启动,心想是病毒驻留内存所致;用维护光盘启动,切换到硬盘windows目录,删除了以下文件:
c:\windows\system32\jusodl.exe
c:\windows\system32\jusodl.dll
c:\windows\system32\severe.exe
c:\windows\system32\drivers\conime.exe
c:\windows\system32\drivers\pnvifi.exe
c:\windows\system32\verclsid.dat(可疑)

启动注册表编辑器

查找 我的电脑\HKLM\software\microsoft\windows\currentversion\run\,删除pnvifi.exe和severe.exe加载项
我的电脑\HKLM\software\microsoft\windowsNT\currentversion\winlogon\shell,将explorer.exe后面的尾巴去掉;
从硬盘winxp启动后,想运行regedit.exe修复隐藏文件显示和,却被告知regedit.exe文件不存在,把c:\windows\regedit.exe改名为regedit.com仍然被告知文件不存在,再从正常机器上复制一个regedit.exe过来还是不行,奇怪了。

重新用光盘引导,运行注册表编辑器(针对硬盘系统),搜索regedit.exe,终于发现了秘密:
在:我的电脑\HKLM\software\microsoft\windowsNT\currentversion、Image File Execution Options\分支下;regedit.exe,regedit.com....若干防病毒厂商的可执行文件,超级兔子,windows优化大师,360度安全卫士,冰刃等可执行文件都被加入其中,右边的键值是"Debugger"="pnvifi.exe"

因为木马文件pnvifi.exe被删,导致无法启动,删除之,重启动正常

30

主题

1698

回帖

2296

积分

论坛元老

积分
2296
 楼主| 发表于 2007-5-28 18:26:48 | 显示全部楼层

对一个注册表项的粗略分析(转载)

对一个注册表项的粗略分析 (论坛里面有,没找到,再贴一次吧,病毒作者难说不是受此启发)

Author: tombkeeper
Email: [email protected]
Homepage:http://www.whitecell.org


[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]

注册表的这个项大家可能还不太熟悉,因为这个主要是用来调试程序用的,对一般用户
意义不大。默认是只有管理员和local system有权读写,一般user只读。

先做个实验:在这个项下新建一个子项“test.exe”,再建一个字串值“Debugger”,
数值数据设为“cmd.exe /c echo”,随便把一个EXE文件改名为“test.exe”,然后在命令
行调用“test.exe”,得到的屏幕输出不是test.exe的输出,而会是这样:

E:\>test
test

E:\>test.exe
test.exe

Windows NT系统在执行一个从命令行调用的可执行文件运行请求时,首先会检查这是否
是一个可执行文件,如果是,又是什么格式的,然后就会检查是否存在:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageName]

如果存在,首先会试图读取这个键值:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageName]
"Debugger"="debug_prog"

如果存在,就执行“debug_prog ImageName”,刚才的例子中,其实系统真正执行的是:

cmd.exe /c echo test
cmd.exe /c echo test.exe

如果“debug_prog”设为一个不在搜索路径中的程序,会得到一个很有趣的提示:“系
统找不到文件 E:\test.exe”。而事实上test.exe就在当前目录下,这里所谓找不到的其实
是那个“debug_prog”。而只要设置了test.exe这个项,既使test.exe不存在,也不会提示
“系统找不到文件”,控制台上不会返回任何输出。

系统在运行任何一个可执行程序时都会先检查这个键值。这个特性可以被用来放置后门。
这一点,在以往的Windows 安全资料中尚未提到过。如果你有一个Windows 2000安全检查列
表,请把它加进去。

这个项支持的值,在Windows 2000下我找到的有:

ApplicationGoo
Debugger
PageHeapFlags
DisableHeapLookAside
DebugProcessHeapOnly
PageHeapSizeRangeStart
PageHeapSizeRangeEnd
PageHeapRandomProbability
PageHeapDllRangeStart
PageHeapDllRangeEnd
GlobalFlag
BreakOnDllLoad

这些项的工作都只与文件名有关,与路径无关。

其中,Debugger上面讲过了。DisableHeapLookAside可以用来纠正一些应用程序运行时
的问题。从Windows NT SP4开始,Windows 系统使用了新的堆(heap)管理机制,新的动态
内存分配使得应用程序占用更少的内存(也使写Exploit更加困难:-)),但是也有些应用程
序在这种机制下无法正常运行,会挂起或出错。这种情况下,以该文件名建一个项,并把
DisableHeapLookAside 设为“1”,会强迫系统对此应用程序不使用新的堆管理机制。(基
于一般系统的堆溢出 Exploit,在应用程序改变了运行方式后是不是会失效?那么,对关键
程序使用这一手段,在某种意义上,也是一种抵御溢出攻击的方法。)

关于DisableHeapLookAside更多的信息请参考微软知识库:Q252902,Q195008,Q195009。

有趣的是,Windows 2000在安装的时候,就预设了这几个文件名的DisableHeapLookAside:

enc98.EXE
f32main.exe
prwin8.EXE
ps80.EXE
qfinder.EXE
qpw.EXE
ua80.EXE
wpwin8.EXE

大概是微软收到了有关这些应用程序运行异常的报告吧:-)。

BreakOnDllLoad 是用来调试DLL的,譬如某个ISAPI。可以在DLL刚一装入就设置断点。
可以参考Rick Strahl的《Debugging IIS5 ISAPI Applications with VC++》

ApplicationGoo我没有找到相关资料,但从微软预设的值来看,这个项里存放的是文件
的版本信息。我猜想是否用这个来匹配特定版本的文件。

剩下来的这几个值虽然我知道它们是确实存在的,却无法找到任何有关的资料,甚至在
MSDN里也只字未提,还好它们的名称基本上已经把用处说清楚了:-),都是用来控制heap 的。
希望这几个值对正在埋头研究Windows堆溢出的朋友们能有一点点帮助。


附加信息:

在XP中,这个项下面还支持ShutdownFlags这个值。下面是微软的描述:

Leak Detection when the Process Is Exiting

Leak detection is made every time a process is cleanly exiting.
It doesn't work if the process is terminated with TerminateProcess()
or TerminateThread() / ExitThread() for the last thread in the process;
but for most applications this is not a problem.

To enable leak detection when the process is exiting, set the registry key as follows:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageName]
"ShutdownFlags"="3"

--------------------
回复

使用道具 举报

30

主题

1698

回帖

2296

积分

论坛元老

积分
2296
 楼主| 发表于 2007-5-28 18:31:31 | 显示全部楼层

烧香的熊猫——可以这样玩儿死它~~(老帖重新转发)

(杀毒软件----可以这样玩死它,---病毒作者如是说)

试验流程及结果如下:

1、打开注册表编辑器,在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\分支下建立一个子键,命名为FuckJacks.exe(熊猫烧香的病毒主体文件名,见图1)。
在FuckJacks.exe子键中建立一个字符串键值,键值名为Debugger,数据为FuckJacks.exe。

2、然后,运行“熊猫烧香”样本。FuckJacks.exe虽然释放到了system32下,但是,loading dll环节反复执行了2000余次,一只未能成功(Debugger导致的死循环生效)。

3、双击system32下的FuckJacks.exe看看————“烧香的熊猫”确实被玩儿死了!!

-------------------------------------------------------------------------------------
提醒各位大侠;今后手工杀毒的时候,除了其它的启动项之外,在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ 这个注册表键值也要列入检查项了
360度安全卫士3.3版至今对此键值进行检查,扫描过程中报告一切正常
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-22 04:42 , Processed in 0.085729 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表