论坛: 电脑门诊 标题: ��(转帖)授之以鱼不如授之以渔!五分钟教会您手工查杀木马! 复制本贴地址    
作者: a7657155 [a7657155]    论坛用户   登录


����授之以鱼不如授之以渔!五分钟教会您手工查杀木马!
  
  经常看到有人求助~
  为什么我的主页被改了,死活改不回来呀?
  这个进程是不是正常进程呀?
  这个程序是什么程序呀?为什么死活杀不掉呢?
  .......
  
  
  总有热心的版主、网友来要一份求助者的系统信息记录,来帮着分析解答。
  但这肯定不是一个很好的办法,新问题在不断发生,解答问题的人即使不怕累,相信求助的人也都不好
  意思了。
  
  本着“授之以鱼不如授之以渔!”的精神,偶决定开一个贴子专门教你怎么手工查杀流氓软件木马插件
  ,让您由求助者变为救助者。
  
  工欲善其事,必先利其器,手工查杀离不开有力的工具。
  具体使用哪一个或哪几个,看个人习惯而定,只要能达到同样的目的就行。本贴中所用到的工具,会列
  出下载地址,以方便各位使用。
  为了描述方便,对流氓软件、木马、广告插件等通一以“木马”来称呼,查杀方法不特别指出的,都适
  用于全部。
  

  第一章是理论基础,让您了解一下木马的养成;第二章是动手基础,教您实际动手跟踪一下木马的工作
  过程,对木马有个切身的体会;
  第三章,检测木马,教您如何在一台电脑上找到马儿;第四章,清除木马,也就是最终的杀马吃肉了!
  可以从头看到尾,也可以直接跳到感兴趣的一章看~权力掌握在老大你的手里。
  

  第一章、理论基础
  
  呵呵,这个是简单的让您了解一下马儿,不感兴趣的可以跳过不看,直接看下一篇。
  
  首先是进入环节:
  
  1、当你访问一个网站时......呵,小心的就是网页木马!你一旦打开一个被挂接了木马的网页,网页
  
  木马就会利用系统漏洞,将木马程序下载到您的机器上并执行~
  至于执行的是木马~还是病毒~或者是广告插件~就看你的运气了。嘿,如果你人品够那个,可能会吃
  
  套全餐也不一定。
  
  2、当你下载一个程序时.....恭喜,你很有可能会被买一送一,下载的程序中捆绑了一个小程序,当你
  
  执行你下载的程序时,那个小程序就会同样被执行,从此就在你的脑上安了家。当然了,相信他安家时
  
  是不会通知你的。
  
  3、当你打开邮件时、当你打开图片时、当你播放电影时,当你.....都可能会中招。有朋友要骂了“还
  
  要不要人活了?偶什么都不做总可以吧?”呵呵,请听我接着说下去......
  
  4、当你什么都没做时.....咳,这些罪恶的幽灵仍然不会放过你,利用系统漏洞主动连接你的电脑,调
  
  用系统本身的FTP程序到他的服务器把木马下载到你的机器上运行.....呵呵,是不是有种找铁锤砸电脑
  
  的冲动了?
  
  别怕,当你看完本文章时,这些对你来说就是练手的好机会,从此你会开始发愁,咋俺就遇不到木马呢
  
  ~~歌声:小马儿小马儿你在哪里,哥哥好想你。。。
  
  再看工作环节:
  
  1、首先这些外来客要保证自己每次开机都能运行起来,不然费劲八虎的进去,只运行一次就收工,也
  
  太浪费了。怎么才能运行起来呢?最常见的也是最普遍的是加到注册表的启动项中,一台机器中可以开
  
  机自动启动及加载程序的地方有好几百个,随便加在哪里都行。
  一般水平的呢,就大咧咧的放Run下面了,想删除就删吧,俺不在乎你一家半家的,这种马儿要的是量,
  
  总有不删的吧?。水平高点的呢,就找个一般人不知道的地方,再把自己起个与系统一样的名字,嘿,
  
  想找偶出来?累死你!水平更高的呢,随便加到一个地方,然后,搞个HOOK,HOOK-API、HOOK-SSDT、
  
  INLINE-HOOK......呵呵,随便哪一种,你就看不到了。(HOOK是什么,就不解释了,您只需要了解是
  
  种技术就行了,想详细了解的去网上搜吧)
  
  2、然后的工作呢,当然要把自己的文件本身隐藏起来了。初级的就把自己加到系统目录中,反正里面
  
  有几千个文件,偶来个鱼目混珠,相信你也不好发现吧。高级点儿的呢就弄个文件过滤的驱动,把自己
  
  过滤掉,让你打开文件夹时根本就看不到它。还有比较恶心的呢,干脆就用自己把系统中原有的文件替
  
  换了,来个狸猫换太子。
  
  3、好了,现在马儿安全了,每天隐藏在幕后,默默的伴随着你,辛苦的工作着......而你却一直都无
  
  视它的存在,多伤马儿的心啊~QQ 你的账号、密码、照片、日记、情书......咳,后面的就不说了,
  
  反正你最不想让人看到的东西,马儿的主人都能看到,等哪天你的玉照满天飞时,千万不要奇怪哦~~
  第二章、动手基础
  
  OK,了解了马儿的大概情况后,我们再实际动手看一下儿马儿在你的电脑上是如何一步一步安家的,“只
  
  有了解了敌人才能对付敌人”,这是谁说的来着?
  
  首先准备好工具,下面的几个方案中任选一个:
  方案一:“Filemon + Regmon + ProcessExplorer” 的组合,这三个在www.sysinternals.com可以下载
  
  到最新版,不过都是英文版的,E文不好的,就去网上找汉化版,一搜一堆。
  方案二:狙剑-系统清理修复大师 在这里可以下载到最新版:www.ZhuLinFeng.com ,一个国产的小工
  
  具。
  方案三:“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天以后要么马儿走,要么偶离开这个
  
  马儿横行的人世间~”
  
  
  杀了马后,如何吃肉呢?(什么?不懂?吃肉就是提取病毒样本啊~),这个应该不用我教了吧?删除
  
  文件时选择“删除前备份”就可以了,备份文件夹中的文件就是病毒啊~~送给某个安全研究专家,就
  
  可从中提取出病毒特征码,就可以加到病毒特征库,你的杀毒软件下次升级后,就可以杀这种病毒木马
  
  了~~
  
  呼~~终于完成了~~希望对天天被流氓软件蹂躏的善良网民们有所帮助~~(注:没帮助也不要找偶
  
  哦~~找你也找不到~~呵呵~留名?留名你也找不到~~MuseHero是偶的名字~~找得到么?)~~


地主 发表时间: 07-02-07 15:00

论坛: 电脑门诊

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号