授之以鱼不如授之以渔!五分钟教会您手工查杀***!
经常看到有人求助~
为什么我的主页被改了,死活改不回来呀?
这个进程是不是正常进程呀?
这个程序是什么程序呀?为什么死活杀不掉呢?
.......
总有热心的版主、网友来要一份求助者的系统信息记录,来帮着分析解答。
但这肯定不是一个很好的办法,新问题在不断发生,解答问题的人即使不怕累,相信求助的人也都不好意思了。
本着“授之以鱼不如授之以渔!”的精神,偶决定开一个贴子专门教你怎么手工查杀流氓软件***插件,让您由求助者变为救助者。
工欲善其事,必先利其器,手工查杀离不开有力的工具。
具体使用哪一个或哪几个,看个人习惯而定,只要能达到同样的目的就行。本贴中所用到的工具,会列出下载地址,以方便各位使用。
为了描述方便,对流氓软件、***、广告插件等通一以“***”来称呼,查杀方法不特别指出的,都适用于全部。
第一章是理论基础,让您了解一下***的养成;第二章是动手基础,教您实际动手跟踪一下***的工作过程,对***有个切身的体会;
第三章,检测***,教您如何在一台电脑上找到马儿;第四章,清除***,也就是最终的杀马吃肉了!
可以从头看到尾,也可以直接跳到感兴趣的一章看~权力掌握在老大你的手里。
第一章、理论基础
呵呵,这个是简单的让您了解一下马儿,不感兴趣的可以跳过不看,直接看下一篇。
首先是进入环节:
1、当你访问一个网站时......呵,小心的就是网页***!你一旦打开一个被挂接了***的网页,网页***就会利用系统漏洞,将***程序下载到您的机器上并执行~
至于执行的是***~还是病毒~或者是广告插件~就看你的运气了。嘿,如果你人品够那个,可能会吃套全餐也不一定。
2、当你下载一个程序时.....恭喜,你很有可能会被买一送一,下载的程序中捆绑了一个小程序,当你执行你下载的程序时,那个小程序就会同样被执行,从此就在你的脑上安了家。当然了,相信他安家时是不会通知你的。
3、当你打开邮件时、当你打开图片时、当你播放电影时,当你.....都可能会中招。有朋友要骂了“还要不要人活了?偶什么都不做总可以吧?”呵呵,请听我接着说下去......
4、当你什么都没做时.....咳,这些罪恶的幽灵仍然不会放过你,利用系统漏洞主动连接你的电脑,调用系统本身的FTP程序到他的服务器把***下载到你的机器上运行.....呵呵,是不是有种找铁锤砸电脑的冲动了?
别怕,当你看完本文章时,这些对你来说就是练手的好机会,从此你会开始发愁,咋俺就遇不到***呢
~~歌声:小马儿小马儿你在哪里,哥哥好想你。。。
再看工作环节:
1、首先这些外来客要保证自己每次开机都能运行起来,不然费劲八虎的进去,只运行一次就收工,也太浪费了。怎么才能运行起来呢?最常见的也是最普遍的是加到注册表的启动项中,一台机器中可以开机自动启动及加载程序的地方有好几百个,随便加在哪里都行。
一般水平的呢,就大咧咧的放Run下面了,想删除就删吧,俺不在乎你一家半家的,这种马儿要的是量,总有不删的吧?。水平高点的呢,就找个一般人不知道的地方,再把自己起个与系统一样的名字,嘿,想找偶出来?累死你!水平更高的呢,随便加到一个地方,然后,搞个HOOK,HOOK-API、HOOK-SSDT、INLINE-HOOK......呵呵,随便哪一种,你就看不到了。(HOOK是什么,就不解释了,您只需要了解是种技术就行了,想详细了解的去网上搜吧)
2、然后的工作呢,当然要把自己的文件本身隐藏起来了。初级的就把自己加到系统目录中,反正里面有几千个文件,偶来个鱼目混珠,相信你也不好发现吧。高级点儿的呢就弄个文件过滤的驱动,把自己过滤掉,让你打开文件夹时根本就看不到它。还有比较恶心的呢,干脆就用自己把系统中原有的文件替换了,来个狸猫换太子。
3、好了,现在马儿安全了,每天隐藏在幕后,默默的伴随着你,辛苦的工作着......而你却一直都无视它的存在,多伤马儿的心啊~QQ 你的账号、密码、照片、日记、情书......咳,后面的就不说了,反正你最不想让人看到的东西,马儿的主人都能看到,等哪天你的玉照满天飞时,千万不要奇怪哦~~
第二章、动手基础
OK,了解了马儿的大概情况后,我们再实际动手看一下儿马儿在你的电脑上是如何一步一步安家的,“只有了解了敌人才能对付敌人”,这是谁说的来着?
首先准备好工具,下面的几个方案中任选一个:
方案一:“Filemon + Regmon + ProcessExplorer” 的组合,这三个在[url]www.sysinternals.com[/url]可以下载到最新版,不过都是英文版的,E文不好的,就去网上找汉化版,一搜一堆。
方案二:狙剑-系统清理修复大师 在这里可以下载到最新版:[url]www.ZhuLinFeng.com[/url] ,一个国产的小工具。
方案三:“Filemon + Regmon + IceSword”,前两个跟第一方案中的是一样的,后面的就是冰刃了,比较好找自己网上找吧。
方案四:其它能满足注册表监视、文件监视、进线程监视、驱动监视的工具或工具组合。
(以下试验以第二方案为例说明。)
其次,准备一个试验用的程序,我选择了CNNIC的中文上网程序为例。
好了,当当当当。。。。。。好戏上演了。
先打开工具,勾选上“程序运行控制”、“监视注册表改变”、“监视进线程改变”、“监视文件改变”。再把拦截规则改为“拦截后询问”。还要记得把“预防病毒感染”与“禁止驱动加载”前面的勾去掉,不然CNNIC运行不起来。
然后,运行CNNIC(文件名Setup_nt.exe),如果被拦载,就一路点允许。让程序运行起来。
好了,等运行完毕后,我们打开文件监视面板,里面是CNNIC在你电脑上的活动记录,在列表上按右键可
选择“保存监控记录”将记录保存为文本文件,在注册表监控中同样可以将注册表监控记录保存下来,
启动项中也有保存为文本文件的功能。(提示:狙剑是收费软件,试用时会随机的试用3-30分钟,天知道什么时候它会重启,一重启我们的记录就没了,所以把记录保存下来是个不错的选择,这样试用版也就够我们用了。)我下面贴出了我电脑上保存的记录:
记录开始:先看看记录的原始资料,后面是详细分析讲解。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
文件或进线程:setup_nt.exe
操作:开始运行
父进程或目的:C:\WINDOWS\Explorer.EXE
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1.tmp
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1.tmp
操作:被删除父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\cdn.dll
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\cdnprot.sys
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\cdnsign.dll
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\cdntran.sys
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\cdnuc.exe
操作:新建父进程或目的:
文件或进线程:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
操作:新建父进程或目的:
......
...... (由于太长了,这里删减了30多条新建文件的记录)
......
文件或进线程:setup.exe
操作:开始运行父进程或目的:D:\SnipeSword\setup_nt.exe
文件或进线程:setup_nt.exe
操作:结束运行父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\idnconv.dll
操作:新建父进程或目的:
文件或进线程:C:\WINDOWS\system32\cdn.dll
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnvers.dat
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnunins.exe
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnup.exe
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\client.dll
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnuc.exe
操作:新建父进程或目的:
......
...... (由于太长,这里删减了30多条新建文件的记录)
......
文件或进线程:system32\drivers\cdntran.sys
操作:驱动装入父进程或目的:C:\WINDOWS\system32\services.exe
文件或进线程:C:\Program Files\CNNIC\Cdn\imaoe.dll
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\wmhlpr.dllT
操作:新建父进程或目的:
文件或进线程:C:\WINDOWS\system32\drivers\cdntran.sys
操作:新建父进程或目的:
文件或进线程:C:\WINDOWS\system32\cdnns.dll
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdntdns.dll
操作:新建父进程或目的:
文件或进线程:C:\WINDOWS\system32\drivers\cdnprot.sys
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnprh.dll
操作:新建父进程或目的:
文件或进线程:C:\WINDOWS\system32\cdnprot.dat
操作:新建父进程或目的:
文件或进线程:C:\Program Files\CNNIC\Cdn\cdnprev.dat
操作:新建父进程或目的:
文件或进线程:system32\drivers\cdnprot.sys
操作:驱动装入父进程或目的:C:\WINDOWS\system32\services.exe
文件或进线程:C:\WINDOWS\system32\drivers\eiifibeb.sys
操作:新建父进程或目的:
文件或进线程:system32\drivers\eiifibeb.sys
操作:驱动装入父进程或目的:C:\WINDOWS\system32\services.exe
文件或进线程:C:\WINDOWS\Prefetch\SETUP.EXE-24313ED5.pf
操作:新建父进程或目的:
文件或进线程:cdnup.exe
操作:开始运行父进程或目的:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
文件或进线程:cdnup.exe
操作:线程注入父进程或目的:explorer.exe
文件或进线程:ipconfig.exe
操作:开始运行父进程或目的:C:\Program Files\CNNIC\Cdn\cdnup.exe
文件或进线程:csrss.exe
操作:线程注入父进程或目的:ipconfig.exe
文件或进线程:setup.exe
操作:结束运行父进程或目的:
文件或进线程:conime.exe
操作:开始运行父进程或目的:C:\WINDOWS\system32\ipconfig.exe
文件或进线程:ipconfig.exe
操作:结束运行父进程或目的:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
记录结束
好累啊~~什么?问我哪里累?当然不是进行监控累了,是写这个贴子累~~
好了,现在我们开始解析这份记录:
首先,看第一条记录:
文件或进线程:setup_nt.exe
操作:开始运行
父进程或目的:C:\WINDOWS\Explorer.EXE
这条记录的意思是,C:\WINDOWS\Explorer.EXE 这个程序启动了setup_nt.exe这个程序,setup_nt.exe
开始运行了。(呵,一个小常识,我们主动用鼠标点击运行的程序,都是由Explorer.exe来启动的。)
下面的记录又是什么呢,是一堆的程序、动态库及文件被创建在了C:\DOCUME~1\ADMINI~1.000
\LOCALS~1\Temp\1\这个目录里,这个目录是临时目录。(再来个小常识,临时目录中的文件基本上都是
可以清除了,以节省硬盘空间。)
再下面的记录是这个:
文件或进线程:setup.exe
操作:开始运行父进程或目的:D:\SnipeSword\setup_nt.exe
意思是:D:\SnipeSword\setup_nt.exe 这个程序启动了setup.exe这个程序,setup.exe开始运行了。
什么?你问我setup.exe这个程序是哪里来的?好晕哦~~仔细看看记录去,Setup.exe这个程序是被D:\SnipeSword\setup_nt.exe创建的。
接下来的记录显示,Setup.exe运行后,Setup_nt.exe就结束运行了,很显然,Setup_nt.exe的任务就是把所有的文件释放到临时文件夹中,然后启动Setup.exe。
再向下看,Setup.exe又做了些什么,很明显,下面的N条记录表明,他把临时文件夹中的文件又给倒弄到C:\Program Files\CNNIC\Cdn\这个文件夹中了。
再向下看这一条:
文件或进线程:system32\drivers\cdntran.sys
操作:驱动装入父进程或目的:C:\WINDOWS\system32\services.exe
驱动system32\drivers\cdntran.sys被C:\WINDOWS\system32\services.exe装入
services.exe这个程序是系统程序,是管理服务、装载驱动用的,
后面还有system32\drivers\cdnprot.sys
system32\drivers\eiifibeb.sys被创建及装入。由此可知,我们跟踪的程序是内核级别的,要小心了哦
~
下面这条:
文件或进线程:cdnup.exe
操作:开始运行父进程或目的:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
Setup.exe又把cdnup.exe启动了起来。
这条又需要注意了:
文件或进线程:cdnup.exe
操作:线程注入父进程或目的:explorer.exe
cdnup.exe把线程注入到了explorer.exe中,explorer.exe可是个根正苗红的正宗系统程序,CNNIC把线
程注入到系统程序中做什么呢?呵呵,先不管它做什么,至少有了这条记录后,以后explorer.exe做了
什么坏事儿,你就都可以把账记到cdnup.exe的头上去了。因为,有了这个线程的注入,cdnup.exe就可以打着explorer.exe的旗号去做事情了。
下面这条记录又是什么呢?
文件或进线程:ipconfig.exe
操作:开始运行父进程或目的:C:\Program Files\CNNIC\Cdn\cdnup.exe
从记录看cdnup.exe启动了ipconfig.exe,ipconfig.exe这个程序又是做什么的呢?这是一个配置本机网络环境的系统程序,CNNIC不是中文上网程序么,它调用ipconfig.exe,显然也很正常喽~~
下面这条记录显然是系统记录,记录下了ipconfig.exe的工作情况,有些系统功能是要由Csrss.exe来完成的。
文件或进线程:csrss.exe
操作:线程注入父进程或目的:ipconfig.exe
这条是CNNIC安装结束的标志
文件或进线程:setup.exe
操作:结束运行父进程或目的:
这条记录也是ipconfig.exe的记录,conime.exe是控制台输入,而ipconfig.exe则是控制台程序,所以为调用它。
文件或进线程:conime.exe
操作:开始运行父进程或目的:C:\WINDOWS\system32\ipconfig.exe
文件或进线程:ipconfig.exe
操作:结束运行父进程或目的:
至此,文件部分的分析就结束了~~
×××××××××××××××××××××××××××××××××××
再打开注册表监视,同样因为不能截图,我导出了一份注册表监视的文本记录,记录比文件监视更长,
所以,就找了几段有代表性的贴在下面:
》下面是它在注册驱动:
程序:C:\WINDOWS\system32\services.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\eiifibeb
注册项:ImagePath
注册值:system32\drivers\eiifibeb.sys
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\cdnprot
注册项:ImagePath
注册值:system32\drivers\cdnprot.sys
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\cdntran
注册项:ImagePath
注册值:system32\drivers\cdntran.sys
......省略其它
......
》下面是在注册通讯模块:
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinSock2
\Parameters\NameSpace_Catalog5\Catalog_Entries\000000000003
注册项:LibraryPath
注册值:%SystemRoot%\System32\mswsock.dll
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinSock2
\Parameters\NameSpace_Catalog5\Catalog_Entries\000000000002
注册项:LibraryPath
注册值:%SystemRoot%\System32\winrnr.dll
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinSock2
\Parameters\NameSpace_Catalog5\Catalog_Entries\000000000001
注册项:LibraryPath
注册值:%SystemRoot%\System32\mswsock.dll
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\WinSock2
\Parameters\NameSpace_Catalog5\Catalog_Entries\000000000004
注册项:LibraryPath
注册值:C:\WINDOWS\system32\cdnns.dll
......省略其它
......
》下面是在注册IE扩展:
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\AdvancedOptions\CDNCLIENT\MAIL\MAIL_WEB
注册项:Text
注册值:启用中文域名邮件对Web Mail 的支持
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\AdvancedOptions\CDNCLIENT\MAIL
注册项:Bitmap
注册值:C:\WINNT\system32\inetcpl.cpl,4497
......省略其它
......
》下面是在注册插件:
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8CDCBBA0-4BE1-4199-8389-1B19ED41D3E8}
\InprocServer32
注册项:
注册值:C:\PROGRA~1\CNNIC\Cdn\wmhlpr.dll
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F5824EFB-728A-4726-A5A5-85A68B20EDC3}
\VersionIndependentProgID
注册项:
注册值:WMHlpr.WMHlprObj
......省略其它
......
》下面这几个是注册到“IE属性-高级选项卡” 里面的东东:
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\AdvancedOptions\CDNCLIENT\UPDATE\COLLECT
注册项:Text
注册值:允许收集用户使用中文上网的相关信息
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\AdvancedOptions\CDNCLIENT\IDNKW\COMMAND
注册项:Text
注册值:启用中文域名命令行支持
程序:C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\1\setup.exe
注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\AdvancedOptions\CDNCLIENT\IDNKW\RIGHT
注册项:Text
注册值:鼠标右击菜单中添加“访问通用网址”选项
......省略其它
......
***************************************************************************
至此,注册表分析结束!
如果你把监视到的注册表值改回去,再把文件监视中看到的文件全部删除,也就彻底的手工清除了CNNIC
。
听到这句话,你是不是有揍我一顿的冲动?呵呵,别生气,偶只是说理论上是如此的。
实际上当然存在点问题啦~
偶也知道,垃圾软件很可能是不知不觉的进去的,而你更可能并没有开着监控,所以并不知道他建了哪些文件,改了哪些注册表。
所以,我们才有第三章的出现,***的检测!
第三章:***的手工检测
当有一个很烂很烂的电脑摆在你的面前时、当有一个朋友用崇拜的眼神看着你希望你能帮她时,你会如何?
你会不会脸红红的告诉她,虽然你已使用电脑很多年,但你也是天天被流氓软件蹂躏的对像?
如果你是那样回答的,那肯定是你看偶这篇文章以前的事情了。
如果是看过以后,你会用力的一挼袖子,很拽的说“看偶地!”
当你面对一台陌生的电脑去检查马儿时,首先要看的是什么?有人说“进程”,要偶说不对~因为很多***是无进程的,比如:系统注入型的。
(有脾气不好的听众开始目露凶光的瞪着俺“调胃口?找扁啊?快说!”)
呃,是看启动项!
***检测的第一步:查看启动项
因为前面我们说过了,马儿要想天天陪着你,肯定要使自己每次开机都自动运行起来。只要把他的自启动项找到并做掉,即使不杀马儿,马儿也就变成死马了,留在机器上也只是马肉,不会咬人不会踢人了
~
那咋看启动项呢?有人说了“用msconfig呗”,晕倒~~左看看右看看,偷偷的小声的告诉那人“兄弟,别说你听过俺的课啊,俺怕丢人~”。嘿,总算有明白人说话了“那得用专业的工具看,用msconfig看,小学生养的马儿都能在那里面隐藏”。
那到底用什么工具好呢? 说实话,网上查看启动项的工具很多,有国内的有国外的,可说各有千秋。要想确定用哪一个,得看看他们枚举启动项时用的是什么技术,什么样的技术能列出什么样层次***的启动项是铁定不会改变的。
下面俺就开始讲一讲当前流行的***的“注册表隐藏方法”及“查找***注册表的技术”:
0、***没隐藏,只是找了个隐蔽点儿的地儿而已,这就比一下儿哪个程序枚举的项更多了。
1、***隐藏在应用层次,HOOK了Win32API中的相关注册表枚举函数,这样的马儿很容易检测,任何一个驱动级别的检测程序都可以胜任。
2、***隐藏在内核层,HOOK了SSDT(系统服务描述表),这样的马儿,一般的就不行了,得找能恢复SSDT的专业检测程序。
3、***隐藏在内核层且很无耻,INLINE-HOOK了相关服务函数,这样的马儿绝大多数检程序就都不行了,需要找能恢复INLINE-HOOK的程序。
4、***隐藏在最底层,通过查找特征码的方法HOOK了微软未公开的底层函数如Cm*系列的函数,嘿,已经很难再比它更底层了,这样的马儿只有采用HIVE文件扫描方式的检测程序才能找到它。
5、对HIVE还能隐藏的,偶是没听说过了~~你要是知道记得告诉偶啊~
呵呵,越向下层的***,马儿就越少,但查杀起来就越难,当你用某一检查工具,什么都没查到,换个工具却查出一堆来时,千万别撞墙,这很正常。
知道了上面的对应关系,找什么工具查杀,就明白了吧。什么?不知道哪个工具是采用的什么技术?笨
啊~~去问工具的开发公司或开发者啊~~难道人家还能骗你不成?
让我说一说?开玩笑呢吧老大?想让我被群欧至死啊?
好了,为了俺的生命安全,俺决定不扯这个话题了,开始进行实际的检测启动项的操作步骤详解:
打开窗口,单击“自启动项管理”左边是不是列出了N多的自启动项啊?偶的XP机器上是584个,你的更多?呵,当然了,你的机器比偶的住的马儿多嘛~~
这么多项怎么来判断哪个是系统的哪个是马儿的呢?
教你两个方法:一个是凭感觉,感觉哪个不顺眼呢,就抄下文件名,发到网上问高手去~~(一堆香焦皮、鸡蛋之类的投了过来,夹杂着怒骂声“娘希皮的,问高手还来听你在这儿几几歪歪啊~~你给的渔呢?)呃,偶错了~~马上改正~~
一面擦脸上的蛋清蛋黄之类的,一面陪笑说:“老大们觉得第一种不好就用第二种方法喽,不用生气嘛”在列表中按右键,看到没看到有个“数字签名验证”?咳,就他了,点一下儿,然后,这584个启动程序的前面会多出各种样式不同的图标,这是采用的微软数字签名验证技术,对自启动程序进行验证,各个图标有不同含义,把Windows的系统文件、第三方正规公司的程序、其它程序都分开了。再选隐藏信任项,把系统文件与通过签名认证的第三方程序隐藏起来,剩下了多少了?偶的剩下了15个,你滴尼?呵呵,这15个就是可疑的了,从15个里面找马儿不难了吧?怎么?还是难~~我晕哦~~墙呢~~墙在哪儿呢~~偶要撞墙!
唉,谁让俺是好人呢~~送佛送到西吧~~在托盘的右键菜单里,选帮助--再勾选“打开提示窗口”,然后再单击你不能确定是否为马儿的程序,新打开的小窗口中是不是有这个程序的说明了?没有?~~呃,明明大部分都有的嘛~~(偶的就是那小部分~快想办法)那就按右键,查看“文件信息”,呼(狠狠的擦把汗)~~这次总有了吧~~什么?是英文的你看不懂~~偶的神啊~~快来救救我吧~~神说“点右键,选程序备份,把那个程序备份下来,发给写文章的这小子,让他帮你看。记住,不要采用发文件名的方式在网上求助了,文件名不仅偶们神会改,连不会养马儿的小屁孩儿都会改,哪能做准啊?呵呵,就是求助也要加上文件的全路径嘛~~(哄,一堆西瓜皮投了过去,“神”报头鼠窜而去)”什么?还有问题?问我数字签名验证准不准?会不会被人伪造?呃,老大,这我哪知道啊~~这得跑到美国问WINDOWS的娘家“微软”因为数字签名验证是由他提供滴,当当当~好戏开场喽~这是***高手与微软的PK~~你猜谁会胜出?猜对了有奖~~还有些***不是通过注册表,而是通过特殊文件,如:AutoExec.nt、Config.nt 或在各盘建立AutoRun.inf再修改相应设置,使用户在打开磁盘分区时就运行***程序,就是俗称的感染硬盘其它分区,及感染U盘等手段来启动。但这些基本都在专业检测工具的检测范围之内。但,最后偶还要负责任的说一句,有的马儿还真的是不用启动项来启动的~这就是文件替换修改型***,也就是偶接下来要说的***检测的第二个方法,文件扫描!
***检测的第二步:检查系统文件的完整性
1、***替换掉了系统中的某个文件,这样,在启动项中看到的就是系统文件的启动项。(这个应该是一半不用启动项了)
2、***修改了系统文件的导入表,让系统文件运行时自动加载***程序。(这个就是完全不用启动项了)
这个就需要验证系统文件的完整性来检测了,上面已经说过如何对文件进行数字签名验证了,这里就不多说了,只是再提供一个小知识“系统本身提供了这一功能:在运行中输入“sfc /scannow”来运行系统文件扫描修复,输入“sigverif”来运行系统文件数字签名验证。)
需要特别指出的是,杀毒软件会全盘扫描文件,因为他们带有庞大的病毒特征库,(就像公安局的罪犯档案)可以自文件中查找病毒特征码(与罪犯的照片对比),并以此来判断该文件是恶意程序(如果一模一样就是了),并杀之~但这有一定局限性,就是对病毒库中没有收录进去的新的病毒,作用不大。
(偶没前科,没在局子里留案底) 还存在误杀的可能。(娘啊,你怎么把我生的跟罪犯一个样呢)
嘿,当然了,也就因为如此,才有手工查杀马儿的事情出现啊~如果不是因为安全产品存在上面的问题,偶们何必费这么大劲自己来动手尼~
闲话少说,咱接着咱的讲......
检查了启动项、检查了文件(记得是检查哦,修复在进程运行期间是修不了的,时刻记得偶这一讲是检测***而不是清除),最后才是检查进程,而不是大多数人所说的,先看进程,至于为什么最后检查进程,请看下面偶为你一一道来。
***检测的第三步:进程检查
进程检查是说的最多的,也是研究的最多的,同样也是隐藏方法最多的,最难彻底检查的。按照惯例,偶先说他的隐藏方法及对应的检查技术。
注意:是查不是杀哦!有些技术比如INLINE-HOOK,很少用于隐藏进程,因为有更好更容易的方法,但却经常用于防杀。我们这里只讲查不讲杀。
想了解杀进程,请看第四章,***的清除。
0、初级隐藏,查找任务管理器窗口枚举子窗口找到列进程的列表框,把自己的名字抺去~,这种用一般专业工具即可查。
1、中级隐藏,HOOK Win32API 过滤掉马儿自己的进程。只要是驱动级别的进程管理工具基本都可以查。
2、中高级隐藏,HOOK SSDT NtQuerySystemInformation,过滤掉马儿自己的进程,具有恢复SSDT功能的
驱动级工具可查。
3、次高级隐藏,INLINE HOOK,过滤掉自己进程,恢复INLINE的或直接枚举进程链的可查。
4、准高级隐藏,自活动进程链中摘除自己的进程,基于线程调度链表检测技术的工具可查。
5、高级隐藏,绕过内核调度链表隐藏进程,基于HOOK-KiReadyThread技术来检测的工具可查。
6、超高级隐藏,呵呵,再高的偶也不知道了,别笑俺 ,俺就知道这么多了。
其实,如果有高级隐藏的***到了你的电脑上,你应该感到荣幸才对~~高手上门了,要热情招待啊~
~
另外,上面说的检查技术是举例的,而不是说某级别隐藏除了偶说的技术其它技术就查不出了~这偶可没说(一定是你说的~~老大们去扁他)
上面是说隐藏进程的,其实有时候也没必要死乞白咧的非要隐藏进程,搞个无进程***比隐藏进程更容易。
但有时候高手们偏偏会舍易取难,只因为那些高手们一旦兴致上来了,并不见得会考虑结果如何会更好,反而成了纯技术的比拼,我就是要隐藏,偶就是要检查~~呵呵,较上劲了。
下面偶再介绍一下儿,无进程的马儿:
0、初级无进程,DLL动态库随启动加载型。将DLL写到注册表中的特定键,然后开机时就有程序自动去装载它了。用启动项扫描工具可查装载项,用进程管理工具可查进程加载模块。
1、DLL动态注入型,这样的比较难一点,需要用到一个注入程序,由注入程序把DLL动态的注入到其它的进程中,比如Explorer.exe中。由于注入程序注入完成后,就功成身退了,所以,进程列表中并不会新增进程,但用模块查看工具,会发现Explorer.exe中新增加了一个模块。
3、线程注入型,这个就更难一点儿了。并不存在DLL,而只是一段代码被写入到其它进程中以线程的方式执行。嘿,这个真是查无可查了,因为每个进程启动多少线程是在不断变化的,新增也不代表什么,
而且线程没有名字没有文件,新增的是做什么的,神仙老儿也不知道。
OK,了解了隐藏及检查技术后,就可以开始检查了,检查过程是这个样子滴:
打开“进程管理”,喏,是不是列出了一堆进程呢?列的全不全?有没有列出隐藏的?这俺哪里知道啊
~这跟偶们的操作没关系,全看所使用工具的能力强弱了。列的进程很多不知道哪个是正常的哪个是非正常的?汗~~参照对自启动程序的判断方法,数字签名验证之~~
咳,经过一翻辛苦劳作后,进程总算干净了,可模块呢?
唉,偶已经把大半个渔杆都给你了,老大就不能试着吊一把?聪明的同学开始行动“在进程上按右键,查看模块~晕,又列出这么多,老方法,数字签名验证之,嘿,还真有几个带红叉的,查看帮助信息?
没有~~管它呢~~反正没通过验证,至少肯定不是系统的了”
等等,那个怪吓人的线程注入型马儿咋办尼?
嘿,听俺接着向下讲:
查找这种***就要寻根求源,从注入程序入手,但注入程序注入后就结束了,是无进程的啊?呵呵,再教你一招,在进程列表中按右键,看到没有?有一个查看历史进程的功能,查看一下,有哪个陌生程序是一运行就退出的。他干嘛一运行就退出呢?问我啊?你猜呢?
当然了,这并不是好方法,也不准确,不过,偶们是在做试验,当然要看一看喽。最好的方法,还是需要从启动项入手查,因为注入程序也要启动来完成注入工作啊,它怎么来启动自己呢?当然也离不开自启动项了,现在明白偶为什么说检查启动项是最重要的了吧?
(小知识:DLL是什么东东啊?它的学名叫“动态链接库”偶们叫它模块,是为程序提供某一功能的。每个进程都加载了若干个这样的模块来实现不同的功能)
呼~~伸个懒腰~第三章总算也结束了~~接下来,就看偶们怎么杀马吃肉了~~
第四章,***的手工清除
当当当~~最后一讲开始喽~~讲完后,偶要请大家吃全马肉大餐~~
按照惯例~~讲清除,咱先了解马儿的自我保护~
1、禁删禁杀保护,禁者不许也~~当你找到马儿的启动项、马儿的进程、马儿的文件后,想一删为快时,咚的一声,弹出一个框“禁止删除”,是不是很郁闷~很扫兴?禁杀,基本上都是HOOK类的,HOOK了相关的应用层或底层的删除函数或服务,发现删除的是自己,就返回一个错误给你。根据其HOOK的层次与方法不同,需要选择不同的清除工具。应用层HOOK的,用内核级的清除工具就可以清除。内核HOOK的,看用的是哪一种,HOOK SSDT的要求能恢复SSDT的工具,采用INLINE-HOOK的要求能恢复INLINE-
HOOK的工具...... 不过,可以轻松一点儿的事情是,对于禁杀,高手们用的心思并不多(至少比隐藏要少多了),更多的心思还是用在隐藏上~让你找不到,才是最好的。找到后死乞白咧的不走~~那个也太丢人了点儿,这不是和偶们广大人民群众对着干嘛~专了他丫滴~~~(好像目前禁止删除也就止于INLINE-HOOK与文件过滤系统了~~偶是还没发现更深层次滴~)
2、回写保护,主要指注册表的回写~~删除后,马上就又有了~最常见的是IE的首页,改过后,再打开,还是他丫滴~~郁闷~~这没啥稀奇的技术,一般的是采用定时器,定时检查,发现没了就写回去。高级的是注册一个回调函数,当监控项发生改变后,系统会调用这个函数,在涵数中他做的唯一工作就是回写。
3、双进程多进程互保,这个主要是指进程喽~刚结束了他,他又起来了~~没完没了的。这采用的技术一般是多进程自我保护,进程间互相监控,发现另一个不在了,就马上重新启它。变异点的还会与进程注入结合起来,这样看起来就一个进程,但同样杀不胜杀。
4、文件重建,这个是应用于文件的,删除后又有了~这个一般是在隐密的地方留了一个备份,然后用进程监控起来,发现源文件被删除后,就用备份来恢复这个源文件。还有的是文件本身就在程序的资源中,一旦发现文件不在了,就重新释放一份。
了解了马儿的自我保护后,咱们就讲一讲如何杀马吃肉~~
先介绍个粗暴的方法:“强制清除”,采用强力工具,暴力的与马儿对着干,就跟×××似的,硬顶死磕!这类工具一般都是牛人写的,是不需要重启电脑就可以杀马的工具。(至于重启后删除,就没啥了,写过程序的都知道,不就是一个MoveFileEx么~~不在讨论之列),这类暴力删除工具都用到了内核驱动,如果没用到驱动,他就说可以暴力删除,那是他逗你玩儿的~~比如某个非常流行的强制删除工具就一直在逗广大人民群众玩儿~名字偶就不说了,怕什么?怕挨骂呗~~这类工具的使用很简单,看得不爽的就杀呗(通过前面几章的学习,相信你已经把令你不爽的东东找出来了吧?)~见佛杀佛,遇魔
屠魔~~爽之又爽~~一直爽到一不小心机器重启为止~~这种方式无法保证系统的隐定,比如某一程序接管了系统的某一功能,却被强制干掉了,当再有程序用到这一功能时仍然会调用已经不存在的那个程序,这时后果如何呢?轻则死机、重则蓝屏~除非你的运气非常的好~~所以,这种较粗暴的清除方式,请勿必慎用!
好了,下面偶介绍几种当前流行的较文雅的方式:
1、先去站岗型的:嘿,名字都是偶取的啊~~如有雷同纯属巧合~先去站岗不知道啥意思?(偶不得不怀疑你的语文水平)~~先去站岗就是“在别人进来前,先跑到门口去站岗,非法分子一率不准去内”。360安全卫士是此类的一个典型,采用各种手段来争取自己是第一个被系统装载的,然后尼,就卡在门口,不爽的一率不准入内,将那些非法的东东,很文明的过滤掉,马儿跟本就没机会进入,当然也就不会搞破坏啦~能否有效的关键当然是跑的要快啦~不然的话,自己还没跑到门口,人家都已经进去坐下喝茶了,当然就不行啦~~
2、后面清尾型的:这回不会不理解了吧?就是跟在后面清除尾巴呗~这个以Windows优化大师(忘记杀***的叫什么了,反正它们是一家的,宣传错了也是肥水不落外人田^-^)为典型,在系统关机时开始清理不爽的启动项,让马儿在下次开机时不再能启动。呵,可怜的小马儿,还以为可以休息了呢~就早早的回家睡觉了,没想到却被人抄了后路~~这个能否有效的关键是小马儿是否做过特殊的加班处理~如果马儿决定要加班到最后一刻钟,呵,能否再抄它后路就看谁更狠了~~
3、反客为主型的:什么叫反客为主型呢?就是跟马儿调个身份啊~本来是偶们想办法杀马,现在反过来让马儿想法法杀偶们哦。狙剑-系统清理修复大师就是这类的典型。在自动清理系统时,会利用***的防护技术也就是马儿常用的HOOK啦一类的东西,禁止任何程序再重新写入注册项。马儿发现自己的启动项没有了,想写回去时,就会发现~它首先要做的是它对手经常做的,恢复HOOK!呵呵,这就叫反客为主啊~~什么时候把马儿都逼成了安全专家就好喽~~即然马儿的启动项写不回去了,那重启计算机后,它就成死马了。先把马儿变为死马,没了保护能力,再慢慢的清理文件啦之类的。能否有效,也是技术之间的PK啦~~不过也够搞笑啦~~马儿拼命的要把系统恢复正常,而杀马儿的却努力的保持不让马儿恢复,呵呵......看谁更胜一筹啦~
OK,讲完了,现在我们要做最后的一项工作,介绍几种常见问题的手工解决方案:
1、更改IE首页并不断回写的。(这类的也包括其它的回写注册表的马儿),杀马儿要先找到马儿,怎么找呢?打开注册表监视,然后,把IE首页改了,或把马儿回写的地方改动一下儿。这时马儿会怎样呢?它们检测到改动,并马上回写回去~OK,这不就被我们监控到了么~~看看是哪个程序回写的,这就是马儿了。如果显示的是正常进程又怎么办呢?那就是注入型的啦~检查该进程的模块呗~找到后,杀之就行啦~对回写型的最好用自动清理,因为自动清理时,会禁止马儿的回写啊~~
2、多进程保护的,结束了又起来的东东。先打开文件监视、及程序运行控制~把拦截规则改为“全部拦截询问”,然后再结束掉它,马儿会监测到伙伴被结束了,接着它就会马上重新创建新进程,而创建的新进程就会被拦下来,这时可以看到这个进程是由哪个程序创建的。先别管被拦住的进程,先把创建新进程的进程也给结束了,嘿,这样有几个结束几个一直到全部做掉为止。所有新建的都被拦住了,自然也就无法互相保护了。
3、对于禁杀的无赖,要想强制做掉,就只有拼技术啦~~对马儿多种方法组合保护的,你也可以多种工具组合杀之嘛~呵呵,咱不是有渔了么~~还怕没鱼呀?
4、实在找不到马儿藏在哪里的~还有一招就是打开全部的监控后,再重新去中马的地儿逛逛或重新安装一次马儿,争取让马儿再来你家溜溜,这样它就中你的计了~~它所有的活动及藏身之地就全被你看到了~~(技术提示:马儿为了减小块儿头,会尽量的减少代码量,所以一般不会有检测是否已经中马儿的代码存在,很大部分马儿如果被重复运行都会再重复安装一次,这样就被你监控到了。)
5、如果还不行咋办?各种方法用尽了,就是不行,马儿就是死乞白咧的不走~~我汗~~那就教你最后一招~在DOS下恢复WINDOWS系统到初装状态!不会用DOS?晕~~偶没说让你用DOS啊~~在托盘区的右键菜单上单击,有没有发现一个“安装紧急修复”,OK,就是它了,安装完紧急修复后,在开机时,就会选择进入操作系统的选项,平时当然是进入WINDOWS了,一旦出现马儿死活不走,而又没有任何其它办法时,就可以进入“狙剑-系统紧急修复”选项了,进入后,会有一大堆初始化的黑底白字,这些你不用管它,一直等到出现一个WINDOWS的标准对话框“您是否确定要把系统恢复到初装状态?”时,选择“确定”,就OK了,再开机时,你看到了什么?汗~~是不是跟你刚装完系统时是一模一样的?这是绝对的恢复,什么马儿也逃不过~~不过,这种恢复不会删除你的任何程序与文档,只是把全部注册表还原了,自然什么马儿也启动不起来了,自然也没什么马儿的保护了。所以,再次进去后,再检查一下儿文件、程序,就可以干净的把马儿删除了。
注意哦~如果你用的是网上流传的万能GHOST来装的系统的话,那恭喜你,你可能无法这样来恢复,因为,呃~~不是你装的哪有啥子初装状态~初非你运气相当的好~~也许能用~咳,给你个建议,最好是自己装一遍系统,然后,用自己的机器自己的系统做一份自己的GHOST准备恢复用。偶发现有很多万能GHOST系统,里面的系统文件都被修改或替换了~偶怎么知道的?晕~~数字签名验证啊~~为什么替换?问谁呐?偶哪里知道为什么呀~也许~~(奸笑,只是也许哦~~会是一只小马儿也不一定哦)
6、不要告诉我还不行哦?什么真的还不行?晕~~偶看出来了,老大你在故意的考验我呢~~嘿,你以为偶就再也没办法了?偶有,快去偿试GHOST还原、重装系统、格式化硬盘、不行就低格~~再不行~~拿铁锤砸电脑?不用,偶哪会出这种糟主意~实在不行,你就在你的桌面上面写上下面这几行字,最好用红色的,血淋淋的那种红色:“警告各位小马儿的主人,你再不把你家的马儿牵走,偶就死给你看~让你吃刑事官司~人命官司,让你成为杀人犯!限时7天~~7天以后要么马儿走,要么偶离开这个马儿横行的人世间~”杀了马后,如何吃肉呢?(什么?不懂?吃肉就是提取病毒样本啊~),这个应该不用我教了吧?删除文件时选择“删除前备份”就可以了,备份文件夹中的文件就是病毒啊~~送给某个安全研究专家,就可从中提取出病毒特征码,就可以加到病毒特征库,你的杀毒软件下次升级后,就可以杀这种病毒***了~~
呼~~终于完成了~~希望对天天被流氓软件蹂躏的善良网民们有所帮助~~
转载于:https://blog.51cto.com/xiong/18145