免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6105 | 回复: 22
打印 上一主题 下一主题

和一个恶心病毒的交锋 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-16 03:13 |只看该作者 |倒序浏览
今天在网上查ldconfig的资料,结果ZA忽然出现说orz.exe想通过Explorer.EXE上网,当时感觉有问题就把它拒绝了,然后又弹出说Windows Explorer要访问外部网络也拒绝了。
此时感觉不对,已经知道有问题了,只是奇怪为啥会这样。先查找文件,结果在C:\Documents and Settings\用户名\Local Settings\Temp目录下找到这一文件。上网查了一下说是利用Flash9.0的一个漏洞搞的,查了一下Firefox确实用的9.0的一个比较老的版本:
You have version 9,0,47,0 installed


但此时不知道是哪个网站,反正病毒已经运行了,再运行也无所谓,所以就把新打开的两个网页各刷新一次,结果发现问题出在这里:
http://www.91linux.com/html/article/program/cpp/20090101/15191.html

刷新后ZA又出现提示,拒绝后发现orz.exe已经更新。同一时间还在同一目录下生成另外两个文件;在被拒绝上网之前生成一个大小为0的随机文件名,拒绝之后又被删除了。按说Firefox本身已经被设置为写RAM盘位置X:\FFCache\Cache了,这两个时间相同的文件很可能和病毒都有关系,不过没进一步分析。

后来升级为Flash 10之后再测试不出问题了。

用好久没用过的ClamWin扫描这个文件认不出来,但随便扫描了一下内存却发现问题:
Scan Started Fri May 15 21:50:26 2009
-------------------------------------------------------------------------------

*** Scanning Programs in Computer Memory ***
*** Memory Scan: using ToolHelp ***


*** Scanned 51 processes - 594 modules ***
*** Computer Memory Scan Completed ***


C:\WINDOWS\system32\qmid.dll: Trojan.Spy-13381 FOUND
----------- SCAN SUMMARY -----------
Known viruses: 549445
Engine version: 0.94.1
Scanned directories: 0
Scanned files: 645
Infected files: 1

Data scanned: 393.35 MB
Time: 145.500 sec (2 m 25 s)
--------------------------------------
Completed
--------------------------------------


看了一下文件生成时间,是紧跟在orz.exe后生成的;试着删除却被拒绝了,所以知道病毒还是生效了。

用tasklist /m查看进程,结果发现这个dll已经注入了许多程序中,如:
firefox.exe                 2484 ntdll.dll, kernel32.dll, js3250.dll,         
                                 nspr4.dll, ADVAPI32.dll, RPCRT4.dll,         
                                 Secur32.dll, WSOCK32.dll, WS2_32.dll,        
                                 msvcrt.dll, WS2HELP.dll, WINMM.dll,         
                                 GDI32.dll, USER32.dll, xpcom_core.dll,      
                                 plc4.dll, plds4.dll, SHELL32.dll,            
                                 SHLWAPI.dll, ole32.dll, VERSION.dll,         
                                 smime3.dll, nss3.dll, softokn3.dll,         
                                 ssl3.dll, xpcom_compat.dll, comdlg32.dll,   
                                 COMCTL32.dll, OLEAUT32.dll, WINSPOOL.DRV,   
                                 IMM32.DLL, LPK.DLL, USP10.dll, uxtheme.dll,  
                                 sm19help.dll, WININET.DLL, Normaliz.dll,     
                                 iertutil.dll, sm28help.dll, sm49help.dll,   
                                 fgmgr.dll, nview.dll, PSAPI.DLL,            
                                 NTMARTA.DLL, SAMLIB.dll, WLDAP32.dll,        
                                 NVWRSZHC.DLL, MSCTF.dll, msctfime.ime,      
                                 SETUPAPI.dll, CLBCATQ.DLL, COMRes.dll,      
                                 myspell.dll, qmid.dll, mswsock.dll,         
                                 hnetcfg.dll, wshtcpip.dll, iphlpapi.dll,     
                                 jar50.dll, DNSAPI.dll, winrnr.dll,           
                                 qfaservices.dll, FULLSOFT.DLL, msimtf.dll,   
                                 xpsp2res.dll, spellchk.dll, msimg32.dll,     
                                 rasadhlp.dll, freebl3.dll, nssckbi.dll,      
                                 hkvolkey.dll, CRYPT32.dll, MSASN1.dll,      
                                 urlmon.dll, mlang.dll, WINTRUST.dll,         
                                 IMAGEHLP.dll, wdmaud.drv, msacm32.drv,      
                                 MSACM32.dll, midimap.dll, schannel.dll,      
                                 NETAPI32.dll, USERENV.dll, RASAPI32.dll,     
                                 rasman.dll, TAPI32.dll, rtutils.dll,         
                                 msv1_0.dll, sensapi.dll, nvwddi.dll,         
                                 NPSWF32.dll, mscms.dll                       


开始想可以是利用了AppInit_DLLs,但在注册表中却怎么也搜索不到qmid.dll。在网上查了一下,有提到这个的,但大小什么都不对,应该是新变种。它提到的WinSock2给了一些提示,折腾了一会儿总算发现它是用二进制的,字符串搜索没查到:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries\000000000027]
"PackedCatalogItem"=hex:43,3a,5c,57,49,4e,44,4f,57,53,5c,73,79,73,74,65,6d,33,\
  32,5c,71,6d,69,64,2e,64,6c,6c,00,2e,64,6c,6c,00,6b,73,74,61,74,69,6f,6e,5c,\
  76,73,6f,63,6b,6c,69,62,2e,64,6c,6c,00,00,00,00,00,00,00,00,00,00,00,00,00,\


然后把000000000027删除。为了防止病毒会回写注册表,删除之后隔段时间查了一下,发现没有;但还是把所有使用了这一DLL的进程直接杀掉了。然后重启计算机,这个文件可以删除了。

论坛徽章:
0
2 [报告]
发表于 2009-05-16 03:32 |只看该作者
住的地方蹭别人的无线,网络时通时断,所以分段发了。

文件虽然删除了,但却带来问题,就是每次启动时会报一个svchost.exe的错误。登录之后界面要很长时间才正常,有时候要注销一次再登录才恢复。看进程等实在是找不到可疑的,用抓包工具也看不到有可疑的数据发送。想到原来被注册的程序全部是使用网络的,而其中有一个svchost.exe,可能还是和网络有关,然后发现这一项:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9]
"Num_Catalog_Entries"=dword:0000001b
"Next_Catalog_Entry_ID"=dword:0000049e
"Serial_Access_Num"=dword:0000002e

这个值是27,而原来里面的项刚好是27。于是把它改为26。之后重启几次计算机,发现不再出问题了。

开始以为已经OK了,但拨号上了一下网又发现一个问题,用QQ等上网是好的,也能ping通,但浏览器却死活不上网。用抓包工具看发现计算机只发了DNS请求,成功之后根本就没发任何数据。然后发现ping虽然通但显示也不太正常,后面的[xxx.xxx.xxx.xxx]显示为[?]。后来想可能和协议等有关,然后用FTP测试了一下, 结果一连接就报“未知错误”。好像是TCP不通了。
到此大概可以确认WinSock2应该有一些设置没有还原导致的,但反复看不知道是哪个。最后实在没办法了,点开Catalog_Entries\000000000001发现它也指向了qmid.dll,然后直接把它删除,但项太多了没再重新排序,当时想系统会自动做。复位前试了一下问题还在,结果重新启动之后这一款又出现了。
难道还有病毒?仔细查找了没发现,最后想应该系统判断之后从ControlSet001或ControlSet003恢来的。于是老老实实把第一项删除之后重新排序,每一项名称的数据都减1。当然Num_Catalog_Entries每次都修改了。这次修改之后马上就能上网了,ping的响应也正常了。重启之后ControlSet001和ControlSet003也自动修改了。

至此感觉已经恢复了。

论坛徽章:
0
3 [报告]
发表于 2009-05-16 03:35 |只看该作者
一直知道在Windows下不应该用管理员,但总是不太习惯。用FreeBSD/Linux倒是习惯了平时用普通帐户,但Windows下的应用程序有许多没管理员还挺难用起来的,所以它空有很完善的授权机制,起不了多少作用。
一直知道防病一是备份,确保万一出问题数据有多大损失;二是审计,审计文件的变化、系统数据(如注册表)的变化,但到了日常工作人就会变懒,做着做着就不做了。以后如果系统直接把这些功能做进来能自动化处理就比较爽了。

[ 本帖最后由 Cyberman.Wu 于 2009-5-16 03:37 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-05-16 04:11 |只看该作者
不知道为啥发重了,还是半截,网络不好。不知道咋删掉它,所以清掉内容。

[ 本帖最后由 Cyberman.Wu 于 2009-5-16 20:37 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-05-16 15:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2009-05-16 20:37 |只看该作者
原帖由 无奈到底 于 2009-5-16 15:18 发表
乱七八糟的,看都看不懂。


看不懂就别看,没人非请着你看的。说句实话,如果这个看不懂,没必要来这个版块来逛。

论坛徽章:
0
7 [报告]
发表于 2009-05-18 08:50 |只看该作者
lz用的抓包工具是什么?

论坛徽章:
0
8 [报告]
发表于 2009-05-18 09:34 |只看该作者

回复 #7 flb_2001 的帖子

抓包我一般用Wireshark。

论坛徽章:
0
9 [报告]
发表于 2009-05-18 11:58 |只看该作者
lz对windows的内核应该了解很多,有没有资料让我学习学习啊

论坛徽章:
0
10 [报告]
发表于 2009-05-19 10:30 |只看该作者
总结的好,学习了。

问个不相关的问题:
如何找支持我无线网卡的sniffer软件? thx
ThinkPad 11a/b/g Wireless LAN Mini PCI Express Adapter
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP