一旦黑客定位了你的网络,他通常会选定一个目标进行渗透。通常这个目标会是安全漏洞最多或是他拥有最多攻击工具的主机。非法入侵系统的方法有很多,你应当对这些方法引起注意。
常见攻击类型和特征
常见的攻击方法
你也许知道许多常见的攻击方法,下面列出了一些:
容易遭受攻击的目标
路由器
连接公网的路由器由于被暴露在外,通常成为被攻击的对象。许多路由器为便于管理使用SNMP协议,尤其是SNMPv1,成为潜在的问题。许多网络管理员未关闭或加密Telnet会话,若明文传输的口令被截取,黑客就可以重新配置路由器,这种配置包括关闭接口,重新配置路由跳计数等等。物理安全同样值得考虑。必须保证路由器不能被外人物理接触到进行终端会话。
过滤Telnet
路由器和消耗带宽攻击
· Tribal Flood Network(TFN)
· Tribal Flood Network(TFN2k)
· Stacheldraht(TFN的一个变种)
· Trinoo(这类攻击工具中最早为人所知的) 因为许多公司都由ISP提供服务,所以他们并不能直接访问路由器。在你对系统进行审计时,要确保网络对这类消耗带宽式攻击的反映速度。你将在后面的课程中学习如何利用路由器防范拒绝服务攻击。
· 雇员数据,如个人信息和薪金情况。
· 市场和销售情况。
· 重要的研发信息。
· 货运情况。
黑客可以识别并攻击数据库。每种数据库都有它的特征。如SQL Server使用1433/1434端口,你应该确保_blank">防火墙能够对该种数据库进行保护。你会发现,很少有站点应用这种保护,尤其在网络内部。
服务器安全
· 用户通过公网发送未加密的信息;
Web页面涂改
近来,未经授权对Web服务器进行攻击并涂改缺省主页的攻击活动越来越多。许多企业、政府和公司都遭受过类似的攻击。有时这种攻击是出于政治目的。大多数情况下Web页面的涂改意味着存在这入侵的漏洞。这些攻击通常包括Man-in-the-middle攻击(使用包嗅探器)和利用缓冲区溢出。有时,还包括劫持攻击和拒绝服务攻击。
邮件服务
广泛使用的SMTP、POP3和IMAP一般用明文方式进行通信。这种服务可以通过加密进行验证但是在实际应用中通信的效率不高。又由于大多数人对多种服务使用相同的密码,攻击者可以利用嗅探器得到用户名和密码,再利用它攻击其它的资源,例如Windows NT服务器。这种攻击不仅仅是针对NT系统。许多不同的服务共享用户名和密码。你已经知道一个薄弱环节可以破坏整个的网络。FTP和SMTP服务通常成为这些薄弱的环节。
与邮件服务相关的问题包括:
· 利用字典和暴力攻击POP3的login shell;
· 在一些版本中sendmail存在缓冲区溢出和其它漏洞;
· 利用E-mail的转发功能转发大量的垃圾信件
名称服务
攻击者通常把攻击焦点集中在DNS服务上。由于DNS使用UDP,而UDP连接又经常被各种_blank">防火墙规则所过滤,所以许多系统管理员发现将DNS服务器至于_blank">防火墙之后很困难。因此,DNS服务器经常暴露在外,使它成为攻击的目标。DNS攻击包括:
· 未授权的区域传输;
审计系统BUG
作为安全管理者和审计人员,你需要对由操作系统产生的漏洞和可以利用的软件做到心中有数。早先版本的Microsoft IIS允许用户在地址栏中运行命令,这造成了IIS主要的安全问题。其实,最好的修补安全漏洞的方法是升级相关的软件。为了做到这些,你必须广泛地阅读和与其他从事安全工作的人进行交流,这样,你才能跟上最新的发展。这些工作会帮助你了解更多的操作系统上的特定问题。
虽然大多数的厂商都为其产品的问题发布了修补方法,但你必须充分理解补上了哪些漏洞。如果操作系统或程序很复杂,这些修补可能在补上旧问题的同时又开启了新的漏洞。因此,你需要在实施升级前进行测试。这些测试工作包括在隔离的网段中验证它是否符合你的需求。当然也需要参照值得信赖的网络刊物和专家的观点。
审计Trap Door和Root Kit
Root kit是用木马替代合法程序。Trap Door是系统上的bug,当执行合法程序时却产生了非预期的结果。如老版本的UNIX sendmail,在执行debug命令时允许用户以root权限执行脚本代码,一个收到严格权限控制的用户可以很轻易的添加用户账户。
虽然root kit通常出现在UNIX系统中,但攻击者也可以通过看起来合法的程序在Windows NT中置入后门。象NetBus,BackOrifice和Masters of Paradise等后门程序可以使攻击者渗透并控制系统。木马可以由这些程序产生。如果攻击者够狡猾,他可以使这些木马程序避开一些病毒检测程序,当然用最新升级的病毒检测程序还是可以发现它们的踪迹。在对系统进行审计时,你可以通过校验分析和扫描开放端口的方式来检测是否存在root kit等问题。
审计和后门程序
通常,在服务器上运行的操作系统和程序都存在代码上的漏洞。例如,最近的商业Web浏览器就发现了许多安全问题。攻击者通常知道这些漏洞并加以利用。就象你已经知道的RedButton,它利用了Windows NT的漏洞使攻击者可以得知缺省的管理员账号,即使账号的名称已经更改。后门(back door)也指在操作系统或程序中未记录的入口。程序设计人员为了便于快速进行产品支持有意在系统或程序中留下入口。不同于bug,这种后门是由设计者有意留下的。例如,像Quake和Doom这样的程序含有后门入口允许未授权的用户进入游戏安装的系统。虽然看来任何系统管理员都不会允许类似的程序安装在网络服务器上,但这种情况还是时有发生。
从后门程序的危害性,我们可以得出结论,在没有首先阅读资料和向值得信赖的同事咨询之前不要相信任何新的服务或程序。在你进行审计时,请花费一些时间仔细记录任何你不了解它的由来和历史的程序。
审计拒绝服务攻击
Windows NT 易遭受拒绝服务攻击,主要是由于这种操作系统比较流行并且没有受到严格的检验。针对NT服务的攻击如此频繁的原因可以归结为:发展势头迅猛但存在许多漏洞。在审计Windows NT网络时,一定要花时间来验证系统能否经受这种攻击的考验。打补丁是一种解决方法。当然,如果能将服务器置于_blank">防火墙的保护之下或应用入侵监测系统的话就更好了。通常很容易入侵UNIX操作系统,主要因为它被设计来供那些技术精湛而且心理健康的人使用。在审计UNIX系统时,要注意Finger服务,它特别容易造成缓冲区溢出。
缓冲区溢出
缓冲区溢出是指在程序重写内存块时出现的问题。所有程序都需要内存空间和缓冲区来运行。如果有正确的权限,操作系统可以为程序分配空间。C和C++等编程语言容易造成缓冲区溢出,主要因为它们不先检查是否有存在的内存块就直接调用系统内存。一个低质量的程序会不经检查就重写被其它程序占用的内存,而造成程序或整个系统死掉,而留下的shell有较高的权限,易被黑客利用运行任意代码。
据统计,缓冲区溢出是当前最紧迫的安全问题。要获得关于缓冲区溢出的更多信息,请访问Http://www-4.ibm.com/software/developer/library/overflows/index.html
Windows中的Telnet一直以来都是网络管理员们最喜爱的网络实用工具之一,但是一个新的漏洞表明,在Windows2000中Telnet在守护其进程时,在已经被初始化的会话还未被复位的情况下很容易受到一种普通的拒绝服务攻击。Telnet连接后,在初始化的对话还未被复位的情况下,在一定的时间间隔之后,此时如果连接用户还没有提供登录的用户名及密码,Telnet的对话将会超时。直到用户输入一个字符之后连接才会被复位。如果恶意用户连接到Windows2000的Telnet守护进程中,并且对该连接不进行复位的话,他就可以有效地拒绝其他的任何用户连接该Telnet服务器,主要是因为此时Telnet的客户连接数的最大值是1。在此期间任何其他试图连接该Telnet服务器的用户都将会收到如下错误信息:
Microsoft Windows Workstation allows only 1 Telnet Client LicenseServer has closed connection
察看“列出当前用户”选项时并不会显示超时的会话,因为该会话还没有成功地通过认证。
Windows NT的TCP port 3389存在漏洞
Windows NT Server 4.0 终端服务器版本所作的 DoS 攻击。这个安全性弱点让远端使用者可以迅速的耗尽 Windows NT Terminal Server 上所有可用的内存,造成主机上所有登陆者断线,并且无法再度登入。
说明:
1. Windows NT Server 4.0 终端服务器版本在 TCP port 3389 监听终端连接 (terminal connection),一旦某个 TCP 连接连上这个端口, 终端服务器会开始分配系统资源,以处理新的客户端连接,并作连接的认证工作。
2. 此处的漏洞在于:在认证工作完成前,系统需要拨出相当多的资源去处理新的连 接,而系统并未针对分配出去的资源作节制。因此远端的攻击者可以利用建立大 量 TCP 连接到 port 3389 的方法,造成系统存储体配置达到饱和。
3. 此时服务器上所有使用者连接都会处于超时状态,而无法继续连接到服务器上,远端攻击者仍能利用一个仅耗用低频宽的程式,做出持续性的攻击,让此 服务器处於最多记忆体被耗用的状态,来避免新的连接继续产生。
解决方案:
1. 以下是修正程序的网址:
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40tse/hotfixes postSP4/Flood-fix/
[注意]:因为行数限制,上面网址请合并为一行。
2. 更详细资料请参考 Microsoft 网站的网址:
http://www.microsoft.com/security/bulletins/ms99-028.asp. 防范拒绝服务攻击
· 加强操作系统的补丁等级。
· 如果有雇员建立特定的程序,请特别留意代码的产生过程。
· 只使用稳定版本的服务和程序。
· NetBus
· BackOrifice 和 BackOrifice 2000
· Girlfriend
· 冰河2.X
· 秘密的建立共享的程序
许多程序将不同的非法服务联合起来。例如,BackOrifice2000允许你将HTTP服务配置在任意端口。你可以通过扫描开放端口来审计这类服务,确保你了解为什么这些端口是开放的。如果你不知道这些端口的用途,用包嗅探器和其它程序来了解它的用途。
特洛伊木马
特洛伊木马是在执行看似正常的程序时还同时运行了未被察觉的有破坏性的程序。木马通常能够将重要的信息传送给攻击者。攻击者可以把任意数量的程序植入木马。例如,他们在一个合法的程序中安放root kit或控制程序。还有一些通常的策略是使用程序来捕获密码和口令的hash值。类似的程序可以通过E-mail把信息发送到任何地方。
审计木马
扫描开放端口是审计木马攻击的途径之一。如果你无法说明一个开放端口用途,你也许就检测到一个问题。所以,尽量在你的系统上只安装有限的软件包,同时跟踪这些程序和服务的漏洞。许多TCP/IP程序动态地使用端口,因此,你不应将所有未知的端口都视为安全漏洞。在建立好网络基线后,你便可以确定哪些端口可能存在问题了。
蠕虫
Melissa病毒向我们展示了TCP/IP网络是如何容易遭受蠕虫攻击的。在你审计系统时,通常需要配置_blank">防火墙来排除特殊的活动。_blank">防火墙规则的设置超出了本术的范围。但是,作为审计人员,你应当对建议在_blank">防火墙上过滤那些从不信任的网络来的数据包和端口有所准备。
蠕虫靠特定的软件传播。例如,在2000年三月发现的Win32/Melting.worm蠕虫只能攻击运行Microsoft Outlook程序的Windows操作系统。这种蠕虫可以自行传播,瘫痪任何种类的Windows系统而且使它持续地运行不稳定。
结合所有攻击定制审计策略
例如,在实施IP欺骗时,攻击者通常会先实施拒绝服务攻击以确保被攻击主机不会建立任何连接。大多数使用Man-in-the-middle的攻击者会先捕获SMB的密码,再使用L0phtCrack这样的程序进行暴力破解攻击。
渗透策略
物理接触
如果攻击者能够物理接触操作系统,他们便可以通过安装和执行程序来使验证机制无效。例如,攻击者可以重启系统,利用其它启动盘控制系统。由于一种文件系统可以被另一种所破坏,所以你可以使用启动盘获得有价值的信息,例如有管理权限的账号。
操作系统策略
近来,美国白宫的Web站点(http://www.whitehouse.gov)被一个缺乏经验的攻击者黑掉。攻击者侦查出该Web服务器(www1.whitehouse.gov)运行的操作系统是Solaris 7。虽然Solaris 7被成为艺术级的操作系统,但管理员并没有改变系统的缺省设置。虽然该站点的管理员设置了tripwire,但攻击者还是使用phf/ufsrestore命令访问了Web服务器。
较弱的密码策略
上面白宫网站被黑的例子可能是由于该系统管理员使用FTP来升级服务器。虽然使用FTP来更新网站并没有错,但大多数FTP会话使用明文传输密码。很明显,该系统管理员并没有意识到这种安全隐患。又由于大多数系统管理员在不同的服务上使用相同的密码,这使攻击者能够获得系统的访问权。更基本的,你可以保证/etc/passwd文件的安全。
NetBIOS Authentication Tool(NAT)
当攻击者以WindowsNT为目标时,他们通常会使用NetBIOS Authentication Tool(NAT)来测试弱的口令。这个程序可以实施字典攻击。当然它也有命令行界面,这种界面的攻击痕迹很小。而且命令行界面的程序也很好安装和使用。在使用NAT时,你必须指定三个文本文件和IP地址的范围。当然,你也可以指定一个地址。NAT使用两个文本文件来实施攻击而第三个来存储攻击结果。第一个文本文件包含一个用户列表,第二个文件中是你输入的猜测密码。
当使用命令行版本时,语法格式为:
nat ?Cu username.txt ?Cp passwordlist.txt ?Co outputfile.txt
到此为止,你已经学习了一些外部攻击。然而,对于管理员来说最紧迫的是大多数公司都存在不好的安全策略。如果安全策略很弱或干脆没有安全策略,通常会导致弱的密码和系统策略。通常,公司并不采取简单的预防措施,比如需要非空的或有最小长度要求的密码。忽略这些限制会给攻击者留下很大的活动空间。