大多数的攻击者都知道操作系统存放文件的缺省位置。如果部门的管理者使用Windows98操作系统和Microsoft Word, Excel或Access,他很可能使用\deskto\My documents目录。攻击者同样知道\windows\start\menu\programs\startup目录的重要性。攻击者可能不知道谁在使用操作系统或文件和目录的布局情况。通过猜测电子表格,数据库和字处理程序缺省存储文件的情况,攻击者可以轻易地获得信息。
虽然攻击者无法通过浏览器控制系统,但这是建立控制的第一步。利用Cross-frame browsing bug获得的信息要比从网络侦查和渗透阶段获得的信息更详细。通过阅读文件的内容,攻击者会从服务器上获得足够的信息,要想阻止这种攻击手段,系统管理员必须从根本上重新配置服务器。
审计UNIX文件系统
Root kit充斥在互联网上,很难察觉并清除它们。从本质上来说,root kit是一种木马。大多数的root kit用各种各样的侦查和记录密码的程序替代了合法的ls,su和ps程序。审计这类程序的最好方法是检查象ls, su和ps等命令在执行时是否正常。大多数替代root kit的程序运行异常,或者有不同的的文件大小。在审计UNIX系统时,要特别注意这些奇怪的现象。下表1列出了常见的UNIX文件的存放位置。
文件名
存放位置
/
根目录
/sbin
管理命令
/bin
用户命令;通常符号连接至/usr/bin
/usr
大部分操作系统
/usr/bin
大部分系统命令
/usr/local
本地安装的软件包
/usr/include
包含文件(用于软件开发)
/usr/src
源代码
/usr/local/src
本地安装的软件包的源代码
/usr/sbin
管理命令的另一个存放位置
/var
数据(日志文件,假脱机文件)
/vr/log
日志文件
/export
被共享的文件系统
/home
用户主目录
/opt
可选的软件
/tmp
临时文件
/proc
虚拟的文件系统,用来访问内核变量
审计Windows NT
下列出了在Windows NT中通常文件的存放位置
文件名
位置
\winnt
系统文件目录;包含regedit.exe和注册表日志
\winnt\system32
包含许多子目录,包括config(存放security.log,event.log和application.log文件)
\winnt\profiles
存放与所有用户相关的信息,包括管理配置文件
\winnt\system32\config
包含SAM和SAM.LOG文件,NT注册表还包含密码值
\inetpub
缺省情况下,包含IIS4.0的文件,包括\ftproot,\wwwroot
\program files
服务器上运行的大多数程序的安装目录
L0phtCrack工具
L0phtCrack被认为是对系统攻击和防御的有效工具。它对于进行目录攻击和暴力攻击十分有效。它对于破解没有使用像!@#¥%^&*()等特殊字符的密码非常迅速。L0phtCrack可以从http://www.l0pht.com上获得。
L0pht使用文字列表对密码进行字典攻击,如果字典攻击失败,它会继续使用暴力攻击。这种组合可以快速获得密码。L0pht可以在各种各样的情况下工作。你可以指定IP地址来攻击Windows NT系统。然而,这种方式需要首先登录到目标机器。L0pht还可以对SAM数据库文件进行攻击。管理员从\winnt\repair目录拷贝出SAM账号数据库。第三中方式是配置运行L0pht的计算机嗅探到密码。L0pht可以监听网络上传输的包含密码的会话包,然后对其进行字典攻击。这种方式使用L0pht需要在类似Windows NT这样的操作系统之上,并且你还需要物理地处于传输密码的两个操作系统之间。
John the Ripper和Crack是在基于UNIX的操作系统上常见的暴力破解密码的程序。这两个工具被用来设计从UNIX上获取密码。所有版本的UNIX操作系统都将用户账号数据库存放在/etc/passwd或/etc/shadow文件中。这些文件在所有UNIX系统中存放在相同的位置。为了使UNIX正常运行,每个用户都必须有读取该文件的权限。
John the Ripper和Crack是最常见的从shadow和passwd文件中获得密码的程序。这些工具将所有的密码组合与passwd或shadow文件中加密的结果进行比较。一旦发现有吻合的结果就说明找到了密码。
在你审计UNIX操作系统时,请注意类似的问题。虽然许多扫描程序,如NetRecon和ISS Internet Scanner可以模仿这种工具类型,许多安全专家还是使用像L0pht和John the Ripper来实施审计工作。
信息重定向
一旦攻击者控制了系统,他便可以进行程序和端口转向。端口转向成功后,他们可以操控连接并获得有价值的信息。例如,有些攻击者会禁止像FTP的服务,然后把FTP的端口指向另一台计算机。那台计算机会收到所有原来那台主机的连接和文件。
相似的攻击目标还包括重定向**TP端口,它也允许攻击者获得重要的信息。例如,攻击者可以获得所有使用**TP来传送E-mail账号的电子商务服务器的信息。即使这些传输被加密,攻击者还是可以获得这些传输的信息并用字典攻击这些信息。
通常,攻击者渗透你的操作系统的目的是通过它来渗透到网络上其它的操作系统。例如,NASA服务器是攻击者通常的攻击目标,不仅因为他们想要获取该服务器上的信息,更主要的是许多组织都和该服务器有信任的连接关系,比如Department of Defense。
因此,许多情况下,攻击者希望攻击其它的系统。为了防止类似的情况发生,美国政府要求那些直接连到政府部门的公司必须按照Rainbow Series的标准来实施管理。从1970年开始,该系列标准帮助系统确定谁可以安全的连接。这个系列中最长被使用的是Department of Defense Trusted Computer System Evaluation Criteria,该文件被成为Orange Book。例如,C2标准是由Orange Book衍生出来并被用来实施可以信任的安全等级。这个等级是C2管理服务(C2Config.exe)在Microsoft NT的服务补丁基础上提供的。
控制方法
新的控制方法层出不穷,原因有以下几个。首先是因为系统的升级不可避免的会开启新的安全漏洞,二是少数黑客极有天赋,他们不断开发出新的工具。大多数的UNIX操作系统都有C语言的编译器,攻击者可以建立和修改程序。这一部分讨论一些允许你控制系统的代表性程序。
系统缺省设置
缺省设置是指计算机软硬件“Out-of-the-box”的配置,便于厂商技术支持,也可能是因为缺乏时间或忽略了配置。攻击者利用这些缺省设置来完全控制系统。虽然改变系统的缺省设置非常容易,但许多管理员却忽视了这种改变。其实,改变缺省设置可以极大地增强操作系统的安全性。
合法及非法的服务,守护进程和可装载的模块
Windows NT运行服务,UNIX运行守护进程,Novell操作系统运行可装载的模块。这些守护进程可以被用来破坏操作系统的安全架构。例如,Windows NT的定时服务以完全控制的权限来执行。如果用户开启了定时服务,他就有可能运行其它的服务,(例如,域用户管理器),从而使用户更容易控制系统