| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • 如何一次性删掉木马

  • 木马是怎样突破QQ防御中心的

  • 用Windows自带工具打造“免检…

  • 怀疑PC安装木马?学学网络安…

  • 关于木马隐藏一个的新方法

  • 让木马不在兴风作浪:解析木…

  • 巧妙配合asp木马取得管理权限

  • 服务器如何防范asp木马

  • 黑客种植木马的方法及防范策…

  • 自己动手清除电脑中的木马程…

  • Q
    您现在的位置: 我是IT人 >> 菜鸟黑客 >> 黑客攻防 >> 文章正文
    动态嵌入式DLL木马发现与清除           
    动态嵌入式DLL木马发现与清除
    作者:网络 文章来源:转载 点击数: 更新时间:2006-1-20
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
     

        随着MS的操作系统从Win98过渡到Winnt系统(包括2k/xp),MS的任务管理器也一下子脱胎换骨,变得火眼金睛起来(在WINNT下传统木马再也无法隐藏自己的进程),这使得以前在win98下靠将进程注册为系统服务就能够从任务管理器中隐形的木马面临前所未有的危机,所以木马的开发者及时调整了开发思路,所以才会有今天这篇讨论如何清除动态嵌入式DLL木马的文章。

        首先,我们来了解一下什么是动态嵌入式木马,为了在NT系统下能够继续隐藏进程,木马的开发者们开始利用DLL(Dynamic Link Library动态链接库)文件,起初他们只是将自己的木马写成DLL形式来替换系统中负责Win Socket1.x的函数调用wsock32.dll(Win Socket2中则由WS2_32.DLL负责),这样通过对约定函数的操作和对未知函数的转发(DLL木马替换wsock32.dll时会将之更名,以便实现日后的函数转发)来实现远程控制的功能。但是随着MS数字签名技术和文件恢复功能的出台,这种DLL马的生命力也日渐衰弱了,于是在开发者的努力下出现了时下的主流木马--动态嵌入式DLL木马,将DLL木马嵌入到正在运行的系统进程中.explorer.exe、svchost.exe、smss.exe等无法结束的系统关键进程是DLL马的最爱,这样这样在任务管理器里就不会出现我们的DLL文件,而是我们DLL的载体EXE文件.当然通过进一步的加工DLL木马还可以实现另外的一些如端口劫持/复用(也就是所谓的无端口)、注册为系统服务、开多线程保护、等功能。简而言之,就是DLL木马达到了前所未有的隐蔽程度。

    那么我们如何来发现并清除DLL木马呢?

    一,从DLL木马的DLL文件入手,我们知道system32是个捉迷藏的好地方,许多木马都削尖了脑袋往那里钻,DLL马也不例外,针对这一点我们可以在安装好系统和必要的应用程序后,对该目录下的EXE和DLL文件作一个记录:运行CMD--转换目录到system32--dir *.exe>exeback.txt& dir *.dll>dllback.txt,这样所有的EXE和DLL文件的名称都被分别记录到exeback.txt和dllback.txt中,日后如发现异常但用传统的方法查不出问题时,则要考虑是不是系统中已经潜入DLL木马了.这是我们用同样的命令将system32下的EXE和DLL文件记录到另外的exeback1.txt和dllback1.txt中,然后运行CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比较前后两次的DLL和EXE文件,并将结果输入到diff.txt中),这样我们就能发现一些多出来的DLL和EXE文件,然后通过查看创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马光顾了。没有是最好,如果有的话也不要直接DLL掉,我们可以先把它移到回收站里,若系统没有异常反应再将之彻底删除或者提交给杀毒软件公司。

    二、上文也曾提到一些系统关键进程是这类木马的最爱,所以一旦我们怀疑系统已经进驻了DLL木马,我们当然要对这些关键进程重点照顾了趺凑展耍空饫锿萍鲆桓銮看蟮耐芽枪ぞ吖ぞ逷rocedump.exe他可以帮您看出进程到底调用了那些DLL文件(如图1)但是由于有的进程调用的DLL文件非常多,使得靠我们自己去一个核对变的不太现实,所以我们会用到一个shotgun写的NT进程/内存模块查看器ps.exe,用命令ps.exe/a /m >nowdlls.txt将系统目前调用地所有DLL文件地名称保存到nowdlls.txt,然后我们再用fc将之于事先备份dllback.txt比较一下,这样也能够缩小排查范围。

    [1] [2] 下一页  

    文章录入:54iter    责任编辑:54iter 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |