“隐藏虚拟目录”再分析

转载 2006年06月01日 21:03:00

看了一下冰狐的"隐藏虚拟目录曝光记",觉得还不错,就顺手向下分析了一下,全当狗尾续貂了。
    一、重述一下隐藏的步骤:
    1、在指定网站http://127.0.0.1的实际目录(如"f:/web/")下创建一个目录,如"coolersky";
    2、打开iis管理器,在coolersky目录下创建虚拟目录,如"cool",指向位置为f:/cool/;
    3、删除创建的coolersky目录;
    这样,在iis管理器中无法看到虚拟目录cool,却可以通过http://127.0.0.1/coolersky/cool/来访问虚拟目录,从而达到隐藏网站的目的。这应该算是MS的一个bug吧。
    二、win2k下的分析
    对于这个问题,冰狐给出的解决办法是使用pws工具来查看,但是个人认为并没有实际的意义。
    为什么这么说呢?我们知道:pws可以在win95/98下搭建web服务,在win2k-pro版中,延续了pws的部分内容,所以在c:/winnt/system32/inetsrv/下有pws.exe文件,可以比较方便的管理虚拟站点,当然我们隐藏在默认站下的虚拟目录也逃不过pws的管理。
    但是有几个人用win2k-pro版做自己的web服务器呢?!因为pro版没有办法创建新站点,而只能创建虚拟目录。而在win2k-ser,win2k-adv下,可以创建新站点,系统在c:/winnt/system32/inetsrv/下也没有自带pws.exe,即使从pro下拷贝一份,也只能管理默认站点的虚拟目录,对其他新建站点还是无能为力。
    为了方便分析,写一个监控目录和文件的程序,用来监控c:/winnt/system32/inetsrv/目录,一番操作后,监控窗口居然没有任何显示,而目录中也仅仅是MetaBase.bin一个文件被修改。但在重起IIS或者使用pws编辑的时候,窗口会显示:
Added    - MetaBase.bin.tmp
Modified - MetaBase.bin.tmp
Modified - MetaBase.bin.tmp
Rename   - MetaBase.bin MetaBase.bin.bak
Modified - MetaBase.bin.bak
Rename   - MetaBase.bin.tmp MetaBase.bin

Added    - MetaBase.bin.tmp
Modified - MetaBase.bin.tmp
Rename   - MetaBase.bin MetaBase.bin.bak
Modified - MetaBase.bin.bak
Removed  - MetaBase.bin.bak

 
    基本能说明操作的过程,而用UE打开MetaBase.bin文件,发现是用二进制写入的,搜索"c o o l e r s k y",倒是能看到
/ W 3 S V C / 3 / R o o t / c o o l e r s k y / c o o l /  

 
    但是这毕竟是我知道的情况下操作的,而管理员也不可能去这样去做。
    三、win2003下的分析
    在win2003下也存在这个问题,也没有了pws.exe,使用监控目录的程序,只监控C:/WINDOWS/system32/inetsrv/。多次监控后发现会出现如下内容(可能跟操作有关,不是每一次都有所有内容):
Added    - MetaBase.xml.tmp
Modified - MetaBase.xml.tmp
Added    - History/MetaBase_0000000036_0000000000.xml
Modified - History/MetaBase_0000000036_0000000000.xml
Added    - History/MBSchema_0000000036_0000000000.xml
Modified - History/MBSchema_0000000036_0000000000.xml
Removed  - History/MetaBase_0000000026_0000000000.xml
Removed  - MetaBase.xml.tmp
Modified - History

 
    根据监控情况会发现,每打开一次iis,在C:/WINDOWS/system32/inetsrv/History下都会创建两个新文件MBSchema_0000000036_0000000000.xml与MetaBase_0000000036_0000000000.xml,其内容分别是C:/WINDOWS/system32/inetsrv/MBSchema.xml和C:/WINDOWS/system32/inetsrv/MetaBase.xml每打开一次数值增一;当超过10个时,会自动删除最早的。
    个人分析:在打开iis管理器的时候,创建MetaBase.xml.tmp,我们修改的部分会临时存放在这个文件中,接着系统创建MetaBase_0000000036_0000000000.xml文件,内容原始文档MetaBase.xml的内容;接着用MetaBase.xml.tmp文件的内容修改或覆盖MetaBase_0000000036_0000000000.xml,当然这个过程中系统还会重新生成ChangeNumber、HistoryMajorVersionNumber、SessionKey、AdminACL等值用以证实文件的合法性。其中ChangeNumber为递增,HistoryMajorVersionNumber为当前的36,SessionKey为320字节,AdminACL为496字节。在关闭iis管理器后,使用MetaBase_0000000036_0000000000.xml文件覆盖原始文档MetaBase.xml。
    打开MetaBase.xml文件:
<IIsConfigObject    Location ="/LM/W3SVC/1724929141/root/coolersky">
</IIsConfigObject>
<IIsWebVirtualDir   
    Location ="/LM/W3SVC/1724929141/root/coolersky/cool"
    AccessFlags="AccessRead | AccessScript"
    AppFriendlyName="cool"
    AppIsolated="2"
    AppRoot="/LM/W3SVC/1724929141/Root/coolersky/cool"
    DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize |
DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
    Path="F:/Cool"
>
</IIsWebVirtualDir>

 
    我们可以看到我刚才创建的虚拟目录,尽管在iis管理器中看不到,但是在这里是可以看到的,而通过History目录下的文件及MetaBase.xml的修改时间、HistoryMajorVersionNumber等可以很快判断出iis是否被别人改动过。
    四、总结
    根据分析,个人认为:在win2k及win2003服务上,使用该方法创建隐藏目录确实比较难以发现,管理员除了做好安全设置外,还要定义检查一下文件修改时间,当然经常备份IIS也是个不错的习惯。
    另外,定期查看IIS日志也应该的,或者使用一些专业的日志分析工具,将大大减轻管理员的工作量。
    以上只是经过简单测试得出的结论,限于个人水平,不当之处敬请指正!
    补充:刚才跟冰狐交流了一下,发现adsutil.vbs可以直接操作MetaBase.bin,这才想起以前在图片后门中曾经遇到过,真是孤陋寡闻啊!:)


Tomcat虛擬目錄設定

  • 2013年06月19日 17:52
  • 19KB
  • 下载

IIS虚拟目录设置

  • 2013年10月15日 11:38
  • 249KB
  • 下载

Tomcat8.0 虚拟目录配置案例

第一步当然是创建一个文件夹作为虚拟目录,然后在虚拟目录下加入一个项目文件夹.我所创建的虚拟目录的路径为D:\Software_address\TomCat\TomCatVirtual,我在TomCat...

apache配置虚拟目录

  • 2013年05月21日 14:00
  • 147KB
  • 下载

hfs2CN虚拟目录

  • 2014年02月26日 10:08
  • 1.15MB
  • 下载

IIS7中的站点、应用程序和虚拟目录详细介绍

这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录(virtual directory)概念与作用,已及这三个东西在IIS6与I...
  • whatday
  • whatday
  • 2014年11月21日 09:42
  • 2373

喳喳鸟聊天室(免虚拟目录)

  • 2004年08月20日 00:04
  • 452KB
  • 下载

IIS中FTP虚拟目录的妙用

相信不少朋友一定都用过微软自带的IIS中的FTP来架设自己的FTP站点吧!我开始学习FTP架站时就是从它开始的。后来玩的多了,发现FTP虚拟目录有一个非常有趣的地方。并且,我们完全可以利用这点来达到隐...

流星花园江湖无错免虚拟目录版

  • 2002年12月28日 00:00
  • 7.87MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:“隐藏虚拟目录”再分析
举报原因:
原因补充:

(最多只允许输入30个字)