修改 IIS 的 Banner 实现操作系统版本的隐藏 www.isfocus.net - 1 - 修改 IIS 的 Banner 实现操作系统版本的隐藏 作者:SQL SQL@263.net 主页:www.isfocus.net 构建高安全级别的主机系统的时候,对于 NT 系统往往有一个很尴尬的地方就是 IIS 的返回 BANNER 会很容易的泄露当前主机上 NT 的版本。比如我们可以简单的 TELNET 到对方的 80 端口用 GET 命令来查看下结果: HTTP/1.1 400 Bad Request Server: Microsoft-IIS/5.0 Date: Wed, 31 Dec 1997 20:37:29 GMT Content-Type: text/html Content-Length: 87
ErrorThe parameter is incorrect. 又或者 FTP 过去看到: Connected to 127.0.0.1. 220 sql Microsoft FTP Service (Version 5.0). User (127.0.0.1:(none)): TELNET 到对方的 25 端口去发信的时候,会出现: 220 sql Microsoft ESMTP MAIL Service, Version: 5.0.2195.4453 ready at Thu, 1 Ja n 1998 04:47:48 +0800 看到没有服务器会很老实的告诉我们它是 IIS5.0,结果全世界都知道它是 WIN2000 了。也许你很费力安装防火墙然后禁止了 ICMP 的数据包,但 IIS 的 WEB FTP SMTP NNTP 还是会很轻易的把秘密给泄露出去。讨厌的是现在很多漏洞扫描和安全评估系统也会根据服务器所返回的标志来自动判断服务器的版本,然后从后台调用相应的漏洞资料数据库来调整下一步的扫描策略,最后在报告里还要说上一句告诉我们这是属于低风险的安全漏洞,实在是可恶。 其实虽然在 IIS 的管理器里面并没有提供给我们修改和隐藏 BANNER 的工具,但我们还是可以通过修改相应的 DLL 文件来实现的,当然这需要一点小技巧,可是并不复杂。 首 先 我 们 需 要 知 道 存 放IIS BANNER的DLL文 件 都 是 放 在C:\WINNT\SYSTEM32\INETSRV\ 目录下面的,其中对应关系是: WEB 是:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL FTP 是: C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL SMTP 是:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL 我们可以用 UltraEdit 将他们打开,然后查找我们想要找的 BANNER 的关键字,例如 IIS的 WEB 就是要找:Microsoft-IIS/5.0 , 修改 IIS 的 Banner 实现操作系统版本的隐藏 www.isfocus.net - 2 - 然后直接修改成我们想要修改...