dll清理工具 (清理dll文件)


前言
后门!我相信这个词对你来说并不陌生。它的危害不言而喻。然而,随着人们安全意识的逐步提高和杀毒软件的大力支持,传统的后门无法隐藏自己。任何有一点计算机知识的人都知道检查端口和查看过程,以便找到一些线索。因此,后门的作者及时调整了他们的想法,并将注意力集中在动态链接程序库上。也就是说,作成DLL然后是某个文件EXE作为载体,或使用Rundll32.exe启动,这样就不会有过程,不开口等特点,也就实现了隐藏的过程,端口。本文以“DLL的原理”“DLL的清除”“DLL以预防为主题,并展开讨论,旨在让大家对其进行讨论DLL后门快上手,不怕DLL后门。进入我们的主题。
一,DLL的原理
1.动态链接程序库
动态链接程序库,全称:Dynamic Link Library,简称:DLL,其功能是为应用程序提供扩展功能。要调用应用程序DLL从编程的角度来看,应用程序需要知道DLL文件导出的API可调用函数。由此可见,DLL文件本身不能运行,需要应用程序调用。正因为DLL文件运行时必须插入应用程序的内存模块,这表明:DLL不能删除文件。这是由于Windows内部机制造成的程序不能关闭。所以,DLL后门由此而生!
2,DLL后门的原理和特点
将实现后门功能的代码写成一个代码DLL然后插入文件EXE在文件中,它可以执行,因此不需要占用过程,也没有相应的PID也可以隐藏在任务管理器中。DLL文件本身和EXE文件差别不大,但必须使用程序(EXE)只有调用才能执行DLL文件。DLL需要执行文件EXE但是EXE想要加载DLL需要知道一个文件DLL文件的入口函数(即DLL因此,根据DLL文件编制标准:EXE必须执行DLL文件中的DLLMain()作为加载条件(如EXE的mian())。做DLL后门基本分为两种:1)所有功能DLL实现文件;2)把DLL制作启动文件,必要时启动普通文件EXE后门。
常用的写作方法:
(1),只有一个DLL文件
这种后门很简单,只把自己做成一个DLL注册表中的文件Run使用键值或其他可以由系统自动加载的地方Rundll32.exe自动启动。Rundll32.exe是什么?顾名思义,执行32位DLL文件”。它的作用是执行DLL文件中的内部函数,所以在过程中,只会有Rundll32.exe,而不会有DLL这样,后门的过程就实现了隐藏的过程。如果你在系统中看到多个系统Rundll32.exe,不要惊慌,这证明是有用的Rundll32.exe启动了多少个DLL文件。当然,这些Rundll32.exe执行的DLL我们可以从系统自动加载的地方找到文件。
现在,我来介绍一下Rundll32.exe该文件意味着上述功能是通过命令线调用动态链接程序库。还有一个系统Rundll.exe他的意思是执行16位DLL这里要注意文件。在来看看Rundll32.exe函数原型:
Void CALLBACK FunctionName (
HWND hwnd,
HINSTANCE hinst,
LPTSTR lpCmdLine,
Int nCmdShow
);
命令下的使用方法如下:Rundll32.exe DLLname,Functionname[Arguments]
DLLname需要执行的DLL文件名;Functionname前面需要执行的DLL文件的具体引出函数;[Arguments]引出函数的具体参数。
(2)替换系统DLL文件
这种后门比上面先进。它使实现后门功能的代码与系统匹配DLL文件,把原来的DLL文件改名。应用程序要求原始应用程序DLL文件时, DLL后门起转发作用,将参数传递给原来的DLL如遇特殊请求(如客户端),DLL后门开始,启动并运行。应用程序要求原始应用程序DLL文件时, DLL后门起转发作用,将参数传递给原来的DLL如遇特殊请求(如客户端),DLL后门开始,启动并运行。对于这种后门,所有的操作都在进行中DLL最安全的文件,但也需要很多编程知识,也很难写。因此,这种后门通常是手柄DLL在遇到特殊情况(如客户端请求)时,将文件制成启动文件,启动普通文件EXE后门;在客户端结束连接后EXE后门停了,然后DLL文件进入休息状态,不会在下一个客户端连接之前启动。但随着微软数字签名和文件恢复功能的出台,后门逐渐衰落。
提示:
在WINNTsystem32目录下,有一个dllcache文件夹里有很多DLL文件(也包括一些重要的文件)EXE文件),在DLL非法修改文件后,系统将从这里恢复修改DLL文件。若要修改一个DLL文件,首先要把dllcache目录下的同名DLL删除或更名文件,否则系统将自动恢复。
(3)动态嵌入式
这才是DLL后门最常用的方法。其意义是将DLL在正在运行的系统过程中嵌入文件。在Windows在系统中,每个过程都有自己的私有内存空间,但进入其过程的私有内存空间仍有多种方法,以实现动态嵌入式。由于系统的关键过程无法终止,这种后门非常隐蔽,很难查杀。常见的动态嵌入式有:挂接API全局钩子(HOOK)远程线程等。
远程线程技术是指通过在一个过程中创建远程线程来进入该过程的内存地址空间。当EXE载体(或Rundll32.exe)在被插入的过程中创建远程线程,并命令它执行某一点DLL我们的文件DLL后门挂起来执行。这里不会有新的过程。如果你想,DLL后门停了,只能让这个链接DLL终止后门的过程。但是,如果链接到某些系统的关键过程,则无法终止。如果您终止了系统过程,则Windows也立即终止!!!
3,DLL后门的启动特性
启动DLL后门的载体EXE它是必不可少的,也是非常重要的,它被称为:Loader。如果没有Loader,那我们的DLL如何启动后门?所以,好的DLL后门会尽力保护自己Loader不被查杀。Loader有很多方法可以为我们服务DLL后门是专门编写的后门EXE文件;也可以由系统自带Rundll32.exe,即使停止了Rundll32.exe,DLL后门的主体仍然存在。3721网络实名就是一个例子,虽然不是真的后门。
二,DLL的清除
本节以三款比较有名DLL后门例分别为后门例SvchostDLL.dll”“BITS.dll”“QoServer.dll”。详细说明其手工清除方法。希望大家看过这三款。DLL清除后门后,可以举一反三,灵活运用,不怕DLL后门。实际上,手工清除DLL后门还是比较简单的,无非是在注册表上写文章。具体怎么做,请看下面。
1,PortLess BackDoor
这是一个非常强大的功能DLL除了后门程序,还可以获得后门程序Local System权限的Shell此外,还支持检测克隆账户、安装终端服务等一系列功能(详见程序帮助)Windows2000/xp/2003等系统。程序使用svchost.exe启动,通常不打开端口,可以反向连接(最大特点哦),对于防火墙主机,这个功能很好。
在介绍清除方法之前,让我们简要介绍一下svchost.exe该系统的关键服务:
Svchost只是作为服务宿主,如果需要使用,本身并没有实现任何功能Svchost为了启动服务,服务是以DLL这种形式实现了DLL的载体Loader指向svchost,所以,启动服务时由svchost调用服务DLL实现启动的目的。使用svchost启动服务DLL文件由注册表中的参数决定,需要启动服务的下方有一个Parameters子键,其中ServiceDll显示服务由哪一个DLL文件负责,这个DLL必须导出一个文件ServiceMain()函数,支持处理服务任务。使用svchost启动服务DLL文件由注册表中的参数决定,需要启动服务的下方有一个Parameters子键,其中ServiceDll显示服务由哪一个DLL文件负责,这个DLL必须导出一个文件ServiceMain()函数,支持处理服务任务。
呵呵!看上面的理论,是不是有点蒙(我快睡着了),别担心,我们来看看具体的内容。我们HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs下的Parameters子键的键值为%SystemRoot%system32rpcss.dll。这说明:启动RpcSs服务时。Svchost调用WINNTsystem32目录下的rpcss.dll。
这是登记表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost,里边存放着Svchost启动组和组内的各种服务,包括netsvcs团队服务最多。要使用Svchost启动服务时,服务名将出现HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost下。有四种方法可以实现:
1, 添加新的组,并在组中添加服务名称
2, 在现有组中添加服务名称
3, 现有组中的服务名直接使用,但本机未安装
4, 在现有组中修改现有服务,把它的ServiceDll指向自己的DLL后门
我测试的PortLess BackDoor第三种方法。
嗯,我想在阅读了上述原则之后,你一定会想到我们去除它PortLess BackDoor正确的方法是在注册表中Svchost键下做文章。
嗯,我想在阅读了上述原则之后,你一定会想到我们去除它PortLess BackDoor正确的方法是在注册表中Svchost点击做文章。好吧,我们现在就开始。
注:由于本文只介绍了清除方法,使用方法在此省略。
后门的Loader把SvchostDLL.dll插入Svchost在这个过程中,我们先打开它Windows优化大师Windows进程管理2.5,查看Svchost过程中的模块信息,SvchostDLL.dll已经插入到Svchost在此过程中,根据直接使用现有组中的服务名,但我们可以得出结论,在管理工具-服务中会有新的服务。本服务名称证明了我的说法:IPRIP,由Svchost启动,-k netsvcs表示此服务包含在内netsvcs服务组中。
停止服务,然后打开注册表编辑器(开始-运行–regedit),来到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIPRIP下,查看其Parameters子键)。Program键的键值SvcHostDLL.exe为后门的Loader;ServiceDll的键值C:WINNTsystem32svchostdll.dll为调用的DLL文件,这是后门DLL文件。现在我们删除它IPRIP子键(或使用)SC来删除),然后来HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost下,编辑netsvcs服务组,把49 00 70 00 72 00 69 00 70 00 00 00删除,这里对应的是IPRIP的服务名。然后退出,重启。然后退出,重启。重启后删除。WINNTsystem32目录下的后门文件即可。
2,BITS.dll
这是榕哥的作品,也是榕哥的作品DLL后门,和SvchostDLL.dll原理基本相同,但这里采用了上述第四种方法,即修改现有组中的现有服务,并对其进行处理ServiceDll指向自己的DLL后门”。换句话说,后门修改了现有的X 一个