轻松突破windows文件保护功能

好几年没写了,懒了,把发到黑防的文章贴进来,热闹点.

轻松突破windows文件保护功能

masepu

(本文已发表于黑客防线,转载请注明出处)

一、概述
Windows 文件保护 (WFP) 是微软操作系统防止用户或程序替换重要的 Windows 系统文件而设置的重要功能。WFP 可保护Windows 的一部分重要系统文件(例如,带有 .dll、.exe、.ocx 和 .sys 扩展名的文件及某些 True Type 字体)。WFP 使用文件签名和代码签名所生成的编录文件来验证受保护的系统文件是不是正确的 Microsoft 版本。除了通过几种系统授权的机制来替换受保护的系统文件外,如果使用其他方法替换受保护的文件,则 WFP 会还原原始文件。通过保护这些文件,可以防止程序和操作系统出现问题。现在各种恶意软件为了能够逃过主动防御软件和防火墙的限制和封堵,真是想尽了各种办法,对操作系统文件可谓是垂涎三尺,希望能够用自己替换掉合法的系统程序,”名正言顺”的在系统里运行,同时大部分防火墙软件对系统自带的一些程序常常是”网开一面”,一律放行。那木马穿透防火墙也就不是问题了。下面就让我们仔细看看如何突破WFC的防护功能的。

二、WFP 功能的工作方式
Windows操作系统启动后,WFP 功能就会在后台运行。当我们更改了受保护目录中的文件后,就会触发这种保护机制。WFP 收到这一通知后,就会确定更改了哪个文件。如果此文件是受保护的文件,WFP 将在编录文件中查找文件签名,以确定新文件的版本是否正确。如果此文件的版本不正确,WFP 将使用高速缓存文件夹(如果文件位于高速缓存文件夹中)或安装源中的文件替换新文件。WFP 按下面的顺序在下列位置搜索正确的文件: 1. 高速缓存文件夹(默认位置是 %systemroot%/system32/dllcache)。
2. 网络安装路径(如果系统是通过网络安装的)。
3. Windows CD-ROM(如果系统是从 CD-ROM 安装的)。
如果 WFP 在高速缓存文件夹中找到此文件,或者自动找到安装源,WFP 就会替换文件而不给出提示。如果 WFP 在所有这些位置均无法自动找到此文件,将会出现提示消息,告诉用户重要文件已被替换且无法恢复,从而使文件替换失败。隐蔽突破WFC防护的方法有多种,如修改相关注册表键值,使用未公开函数SetSfcFileException等方法(网上有详细论述,不再重复),下面我们用一种最直接的方法来替换系统文件,突破系统文件保护功能。

三、另类方法突破系统文件保护功能
首先我们选定一个我们要替换的系统文件,这里我们选system32目录下tftp.exe这个文件,同时它在system32/dllcache目录下有一个备份,我们要替换掉tftp.exe文件就必须要将这两处的tftp.exe文件同时替换,这样才能防止被替换的tftp.exe文件被恢复回来。我们将这两处的tftp.exe文件同时替换过后系统出现了以下提示窗体(如图一):
 
                    图一
这个讨厌的窗体完全暴露了我们的替换行为,如何不让系统弹出这个窗体呢?答案就是关闭它。当然不是用鼠标关,而是用程序快速关闭。我们找到该窗体的句柄,向它发送关闭消息将其关闭。整个的文件替换工作就完成了。代码如下:
BoxHandle = FindWindow(NULL,"Windows 文件保护");   //简体中文版操作系统提示窗标题
  if (BoxHandle)
  {
PostMessage(BoxHandle,WM_QUIT,0,0);
return 0;
  }
有人问是否关闭时会有窗口闪过,我们可以将以上代码放到循环语句当中,缩小检测窗口的间隔时间,我在我的机器上测试多次都没有问题,我相信不会引起大多数人的注意的。以上代码在WindowsXP SP3简体中文版下测试通过,针对不同的语言版本可以更改或添加关闭窗口的标题,以适应不同的环境。完整代码见附件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值