第 2 章 黑客与攻击技术

33
第2第 第第第第第第第 2.1 第第第第 2.1.1 黑黑黑黑黑黑黑 1 黑黑黑黑黑 黑黑黑“ Hacker” 黑黑黑 黑黑黑黑 Hack 黑黑黑黑黑黑黑“黑黑 黑黑黑黑 黑黑黑” 黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑 黑黑黑黑黑黑黑黑 黑黑黑黑黑黑黑黑黑黑黑黑 。。, 黑黑 黑黑黑黑 黑 黑黑黑黑黑黑黑黑黑黑 黑 黑黑黑黑黑黑黑黑黑黑黑黑黑 (、 、),。 黑黑黑黑黑“黑黑”黑黑黑黑黑Cracker 黑黑黑黑 黑 黑黑黑黑黑黑黑黑黑黑 ,),, 黑黑黑黑黑黑黑 黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑 黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑黑 ,, 黑黑黑黑黑

description

第 2 章 黑客与攻击技术. 2.1  黑客概述 2.1.1 黑客与黑客守则 1 .什么是黑客 黑客是 “ Hacker ” 的音译,源于动词 Hack ,其引申意义是指 “ 干了一件非常漂亮的事 ” 。这里说的黑客是指那些精于某方面技术的人。对于计算机而言,黑客是指既具有高超的专业技术(精通网络、系统、外设以及软硬件技术),又能遵守黑客行为准则的人。 - PowerPoint PPT Presentation

Transcript of 第 2 章 黑客与攻击技术

第 2 章 黑客与攻击技术 2.1  黑客概述 2.1.1 黑客与黑客守则 1 .什么是黑客 黑客是“ Hacker” 的音译,源于动词 Hack ,其引申意义是指

“干了一件非常漂亮的事”。这里说的黑客是指那些精于某方面技术的人。对于计算机而言,黑客是指既具有高超的专业技术(精通网络、系统、外设以及软硬件技术),又能遵守黑客行为准则的人。

通常所说的“黑客”指的是骇客( Cracker ,破坏者),是那些怀有不良企图,强行闯入他人系统或以某种恶意目的干扰他人的网络,运用自己的知识去做出有损他人权益的事情的人,也称入侵者。

2 .黑客守则 任何职业都有相关的职业道德,黑客也有其“行规”,一些守则是必须遵守的,归

纳起来就是“黑客守则”。

( 1 )不要恶意破坏任何系统,否则会给自己带来麻烦。 ( 2 )不要破坏别人的软件和资料。 ( 3 )不要修改任何系统文件,如果是由于进入系统的需要,则应该在目的达到后将其恢复原

状。 ( 4 )不要轻易地将你要黑的或者黑过的站点告诉不信任的朋友。 ( 5 )在发表黑客文章时不要用自己的真实名字。 ( 6 )正在入侵的时候,不要随意离开自己的电脑。 ( 7 )不要入侵或破坏政府机关的主机。 ( 8 )将自己的笔记放在安全的地方。 ( 9 )已侵入的电脑中的账号不得清除或修改。 ( 10 )可以为隐藏自己的侵入而作一些修改,但要尽量保持原系统的安全性,不能因为得到系

统的控制权而将门户大开。 ( 11 )勿做无聊、单调并且愚蠢的重复性工作。 ( 12 )要做真正的黑客,读遍所有有关系统安全或系统漏洞的书籍。

1 .信息收集 黑客首先要确定攻击的目标,然后利用社会学攻击、黑客技术等方法和手段收集目标主机的各种信息。收集信息并不会对目标主机造成危害,只是为进一步攻击提供有价值的信息。2 .入侵并获得初始访问权 黑客要想入侵一台主机,必须要有该主机的账号和密码,。所以黑客首先要设法盗取账户文件,并进行破解,以获得用户的账号和密码,然后以合法的身份登录到被攻击的主机上。3 .获得管理员权限,实施攻击 有了普通账号就可以侵入到目标主机之中,由于普通账号的权限有限,所以黑客会利用系统的漏洞、监听、欺骗、口令攻击等技术和手段获取管理员的权限,然后实施对该主机的绝对控制。4 .种植后门 为了保持对“胜利果实”长期占有的欲望,在已被攻破的主机上种植供自己访问的后门程序。5 .隐藏自己 当黑客实施攻击以后,通常会在被攻击主机的日志中留下相关的信息,所以黑客一般会采用清除系统日志或者伪造系统日志等方法来销毁痕迹,以免被跟踪。

2.1.2 黑客攻击的步骤

2.1.3 黑客常用的攻击手段 目前常见的黑客攻击手段主要有以下几种: 1 .社会工程学攻击 社会工程学攻击是指利用人性的弱点、社会心理学等知识来获得

目标系统敏感信息的行为。攻击者如果没有办法通过物理入侵的办法直接取得所需要的资料时,就会通过计策或欺骗等手段间接获得密码等敏感信息,通常使用电子邮件、电话等形式对所需要的资料进行骗取,再利用这些资料获取主机的权限以达到其攻击的目的。

( 1 )打电话请求密码 尽管不像前面讨论的策略那样聪明,但打电话寻问密码却经常奏效。在社会工程中那些黑客冒充失去密码的合法雇员,经常通过这种简单的方法重新获得密码。

( 2 )伪造Email 通过使用 telnet黑客可以截取任何用户 Email的全部信息,这样的 Email 消息是真实的,因为它发自于合法的用户。利用这种机制黑客可以任意进行伪造,并冒充系统管理员或经理就能较轻松地获得大量的信息,以实施他们的恶意阴谋。

2 .信息收集型攻击 信息收集就是对目标主机及其相关设施、管理人员进行非公开的了解,用于对攻击目标安全防卫工作情况的掌握。

( 1 )简单信息收集。可以通过一些网络命令对目标主机进行信息查询。如,Ping、 Finger 、Whois、 Tracerroute等。

( 2 )网络扫描。使用扫描工具对网络地址扫描、开放端口等情况扫描。 ( 3 )网络监听。使用监听工具对网络数据包进行监听,以获得口令等敏感信息。

3 .欺骗型攻击 通常利用实体之间的信任关系而进行的一种攻击方式,主要形式有: ( 1 ) IP欺骗。使用其它主机的 IP地址来获得信息或者得到特权。 ( 2 )Web欺骗。通过主机间的信任关系,以Web形式实施的一种欺骗行为。 ( 3 )邮件欺骗。用冒充的 Email地址进行欺骗。 ( 4 )非技术类欺骗。主要是针对人力因素的攻击,通过社会工程技术来实现。

4 .漏洞与缺陷攻击 通常是利用系统漏洞或缺陷进行的攻击。 ( 1 )缓冲区溢出:是指通过有意设计而造成缓冲区溢出的现象,目的是使程序运行失败,或者为了获得系统的特权。

( 2 )拒绝服务攻击:如果一个用户占用大量资源,系统就没有剩下的资源再提供服务的能力,导致死机等现象的发生,如,死亡之Ping、泪滴( Teardrop)、UDP洪水、SYN洪水、 Land攻击、邮件炸弹、 Fraggle攻击等。

( 3 )分布式拒绝服务攻击:攻击者通常控制多个分布的“傀儡”主机对某一目标发动拒绝服务的攻击。

5 .利用型攻击 利用型攻击是指试图直接对主机进行控制的攻击,常见有: ( 1 )猜口令。通过分析或暴力攻击等手段获取合法账户的口令。 ( 2 )木马攻击。这里的“木马”是潜在威胁的意思,种植过木马的主机将会完全被攻击者掌握和控制。

6 .病毒攻击 是指使目标主机感染病毒从而造成系统损坏、数据丢失、拒绝服务、信息泄密、

性能下降等现象的攻击。病毒是当今网络信息安全的主要威胁之一。

2.1.4 黑客入侵后的应对措施

1 .发现黑客 发现信息系统是否被入侵不是件容易的事,即使已经有黑

客入侵,也可能永远发现不了。如果黑客破坏了站点的安全性,则就追踪他们 .

2 .应急操作 ( 1 )估计形势 ( 2 )切断连接 ( 3 )分析问题 ( 4 )采取行动 3 .抓住入侵者

2.1.5 黑客与信息安全

进入 21世纪,黑客的行为又呈现出新的特点,主要表现为:( 1 )群体组织化( 2 )地域全球化( 3 )构成大众化( 4 )阵容年轻化( 5 )技术智能化( 6 )手段多样化( 7 )动机商业化( 8 )身份合法化( 9 )行为军事化

2.2 网络扫描 2.2.1 扫描的概念

网络扫描就是对计算机系统或者其他网络设备进行与安全相关的检测,以找出目标系统所放开放的端口信息、服务类型以及安全隐患和可能被黑客利用的漏洞。它是一种系统检测、有效防御的工具。当然如果被黑客掌握,它也可以成为一种有效的入侵工具。

2.2.2 网络扫描的原理 网络扫描的基本原理是通过网络向目标系统发送一些特征信息,然后根据反馈情况,获得有关信息。网络扫描通常采用两种策略:第一种是被动式策略,第二种是主动式策略。所谓被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他与安全规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。利用被动式策略扫描称为安全扫描,利用主动式策略扫描称为网络安全扫描。

2.2.3 网络扫描的防范 预防端口扫描的检测是一个大的难题,因为每个网站的服务

(端口)都是公开的,所以一般无法判断是否有人在进行端口扫描。但是根据端口扫描的原理,扫描器一般都只是查看端口是否开通,然后在端口列表中显示出相应的服务。因此,网络管理员可以把服务开在其他端口上,如可以将 HTTP 服务固定的 80端口改为其他端口,这样就容易区别合法的连接请求和扫描现象。实际上,防范扫描可行的方法是:

( 1 )关闭掉所有闲置的和有潜在威胁的端口。 ( 2 )通过防火墙或其它安全系统检查各端口,如果有端口扫描

的症状时,就立即屏蔽该端口。 ( 3 )利用特殊软件在一些端口上欺骗黑客,让其扫描和攻击

“陷阱”端口。

2.3 网络监听2.3.1 监听的概念

1 .什么是监听 网络监听也被称作网络嗅探( Sniffer )。它工作在网络的底 层,能够把网络传输的全部数据记录下来,黑客一般都是利用该技术来截取用户口令的。网络监听是一种常用的被动式网络攻击方法,能帮助入侵者轻易获得用其他方法很难获得的信息,包括用户口令、账号、敏感数据、 IP地址、路由信息、 TCP套接字号等。

2 .监听的特点 网络监听通常在网络接口处截获计算机之间通信的数据流,

是进行网络攻击最简单、最有效的方法。它具有以下特点: ( 1 )隐蔽性强。进行网络监听的主机只是被动地接收在

网络中传输的信息,没有任何主动的行为,既不修改在网络中传输的数据包,也不往链路中插入任何数据,很难被网络管理员觉察到。

( 2 )手段灵活。网络监听可以在网络中的任何位置实施,可以是网络中的一台主机、路由器,也可以是调制解调器。其中,网络监听效果最好的地方是在网络中某些具有战略意义的位置,如网关、路由器、防火墙之类的设备或重要网段;而使用最方便的地方是在网络中的一台主机中。

3 .监听的危害 监听虽然没有直接对系统发动破坏性攻击,但是其依旧是危险的,主要危害有:

( 1 )能够捕获口令。 ( 2 )能够捕获专用的或者机密的信息。 ( 3 )可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限。

( 4 )分析网络结构,进行网络渗透。

2.3.2 监听的原理 正常情况下,网卡只接收发给自己的信息,但是如果将网卡模式设

置为 Promiscuous(混杂模式),网卡进行的数据包过滤将不同于普通模式。本来在普通模式下,只有本地地址的数据包或者广播(多播等)才会被网卡提交给系统核心;否则这些数据包就直接被网卡抛弃。现在,混合模式让所有经过的数据包都传递给系统核心;然后被 Sniffer等程序利用。

所谓混杂接收模式是指网卡可以接收网络中传输的所有报文,无论其目的 MAC 地址是否为该网卡的 MAC 地址。正是由于网卡支持混杂模式,才使网卡驱动程序支持MAC 地址的修改成为可能;否则,就算修改了MAC 地址,但是网卡根本无法接收相应地址的报文,该网卡就变得只能发送,无法接收,通信也就无法正常进行了。要使机器成为一个 Sniffer ,需要一个特殊的软件(以太网卡的广播驱动程序)或者需要一种能使网络处于混杂模式的网络软件。

2.3.3 监听的防范

1 .检测网络嗅探 网络嗅探的检测其实是很麻烦的,由于嗅探器需要将网络中

入侵的网卡设置为混杂模式才能工作,所以可以通过检测混杂模式网卡的工具来发现网络嗅探。

还可以通过网络带宽出现反常来检测嗅探。通过某些带宽控制器,可以实时看到目前网络带宽的分布情况,如果某台机器长时间的占用了较大的带宽,这台机器就有可能在监听。通过带宽控制器也可以察觉出网络通信速度的变化。

对于 SunOS和其他的 BSD Unix系统可以使用 Lsof命令来检测嗅探器的存在。 Lsof的最初的设计目的并非为了防止嗅探器入侵,但因为在嗅探器入侵的系统中,嗅探器会打开 Lsof来输出文件,并不断传送信息给该文件,这样该文件的内容就会越来越大。如果利用 Lsof发现有文件的内容不断地增大,就可以怀疑系统被嗅探。

  2 .主动防御网络嗅探

最好的办法就是使网络嗅探不能达到预期的效果,使嗅探价值降低,可以使用的方法包括:

( 1 )采用安全的拓扑结构。 ( 2 )通信会话加密。 ( 3 )采用静态的 ARP或者 IP-MAC 对应表。

2.4 Web欺骗

2.4.1 Web欺骗的概念 Web欺骗是指攻击者建立一个使人相信的 Web 站点的

“拷贝”,这个Web 站点“拷贝”就像真的一样,它具有原页面几乎所有页面元素。然而攻击者控制了这个Web 站点的“拷贝”,被攻击对象和真的 Web 站点之间的所有信息流动都被攻击者所控制了。

2.4.2 Web攻击的原理 Web欺骗攻击的原理是打断从被攻击者主机到目标服务器之间的正常连接,并建立一条从被攻击主机到攻击主机再到目标服务器的连接。虽然这种攻击并不会直接造成被攻击者主机的软、硬件损坏,但是它所带来的危害也是不能忽视的。

2.4.3 Web欺骗的防范

1 .短期的解决办法 ( 1 )上网浏览时,最好关掉浏览器的 JavaScript,只有当访问熟悉

的 网站时才打开它,目的是使攻击者不能隐藏攻击的迹象。 ( 2 )不从自己不熟悉的网站上链接到其他网站,特别是链接那些需要输入个人账户名和密码的有关电子商务的网站。

( 3 )要养成从地址栏中直接输入网址来实现浏览网站的好习惯。 2 .长期的方法 ( 1 ) IP地址、子网、域的限制:它可以保护单个的文档,也可以保护整个的目录。如果浏览器的 IP不在授权的 IP地址之列,则它是无法与该文档进行连接的,即通过授权的方式对 IP地址、子网和域进行保护。

( 2 )用户名和密码:为获取对文档或目录的访问,需输入用户名和密码。

( 3 )加密:这是通过公开密钥技术实现的,所有传送的内容都是加密的,除了接收者之外无人可以读懂。

2.5  IP 地址欺骗 2.5.1  IP 地址欺骗的概念 1 . IP 地址盗用 IP 地址盗用是指一台主机有目的地使用他人合法的 IP 地址,

而不用自己的 IP 地址的行为。带有假冒的 IP 地址的 IP包既可能来自同一网段内部,也可能来自网段外部。不同的情况有不同的结果。

2 . IP 地址欺骗 所谓 IP地址欺骗,就是伪造某台主机的 IP地址的技术。其实质

就是让一台机器来扮演另一台机器,以达到蒙混过关的目的。被伪造的主机往往具有某种特权或者被另外的主机所信任。

2.5.2  IP欺骗的原理

IP 欺骗是利用主机之间的正常的信任关系来发动的,这种信任是有别于用户间的信任和应用层的信任的。黑客可以通过命令方式或扫描技术、监听技术来确定主机之间的信任关系。 

假如一个局域网内的主机间存在着某种信任关系,如果主机 A信任主机 B,主机 B信任主机 C ,为了侵入该网络,黑客可以采用以下方法:

( 1 )通过假冒主机 B来欺骗主机 A和主机 C; ( 2 )通过假冒主机 A和主机 C 来欺骗主机 B。 为了假冒 C 去欺骗主机 B,首要的任务是攻击主机 C ,使其瘫痪,即先实施拒绝服务攻击。值得注意的是,并不是在任何情况下都要使被假冒的主机瘫痪,但在 Ethernet网上的 IP 欺骗必须要这么做,否则会引起网络挂起。

2.5.3  IP欺骗的防范

( 1 )放弃基于地址的信任策略 IP 欺骗是建立在信任的基础之上的,防止 IP 欺骗的最好的方法

就是放弃以地址为基础的验证。当然了这是以丧失系统功能、牺牲系统性能为代价的。

( 2 )对数据包进行限制 对于来自网络外部的欺骗来说,防止这种攻击的方法很简单,可

以在局域网的对外路由器上加一个限制来实现。只要在路由器中设置不允许声称来自于内部网络中的数据包通过就行了。当实施欺骗的主机在同一网段,攻击容易得手,且不容易防范。一般通过路由器对数据包的监控来防范 IP地址欺骗。

( 3 )应用加密技术 对数据进行加密传输和验证也是防止 IP 欺骗的好方法。 IP地址

可以盗用,但现代加密技术在理论上是很难可破解的。

2.6 缓冲区溢出 2.6.1 缓冲区溢出的概念

缓冲区溢出攻击是一种系统攻击的手段,通过往缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。

2.6.2 缓冲区溢出的原理 void functon( char *str ) { char buffer[16 ] ; strcpy( buffer , str ); } 该程序的功能是通过 strcpy 函数把 str 中的字符串拷贝到数组buffer[16]中去,如果 str 的长度超过 16 就会造成数组 buffer的溢出,使程序出错。

2.6.3 缓冲区溢出的防范

( 1 )编写正确的代码 编写安全的程序代码是解决缓冲区溢出漏洞的最根本办法。在程序开发

时就要考虑可能 的安全问题,杜绝缓冲区溢出的可能性,尤其在 C程序中使用数组时,只要数组边界不溢出,那么缓冲区溢出攻击就无从谈起,所以对所有数组的读写操作都应控制在正确的范围内,通常通过优化技术来实现之。

( 2 )非执行的缓冲区 非执行的缓冲区技术是指通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被攻击程序输入缓冲区的代码。

( 3 )指针完整性检查 堆栈保护是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。指针完整性检查是指在程序指针被引用之前先检测它是否被改变,一旦改变主不会被使用。

( 4 )用好安全补丁 实际上,让普通用户解决其遇到的安全问题是不现实的,用补丁修补缺陷则是一个不错的,也是可行的解决方法。

2.7 拒绝服务攻击2.7.1 拒绝服务攻击的概念

DoS是一种简单有效的攻击方式,其目的是使服务器拒绝正常的访问,破坏系统的正常运行,最终使部分网络连接失败,甚至网络系统失效。从广义上来讲任何导致服务器不能正常提供服务的攻击都叫做拒绝服务攻击。

2.7.2 拒绝服务攻击的原理 DoS的基本原理是:首先攻击者向服务器发送大量的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的信息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再传送一批请求,在这种反复发送地址请求的情况下,服务器资源最终会被耗尽。

2.7.3 分布式拒绝服务攻击

DDoS是一种基于 DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,攻击者控制多个傀儡发起攻击,主要瞄准比较大的站点。

被分布式拒绝服务攻击时会出现下列现象: 被攻击主机上有大量等待的 TCP连接。 网络中充斥着大量的无用的数据包,源地址为假。 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。

利用受害主机提供的服务或传输协议上的缺陷,不断地向目标主机发出服务请求,使受害主机无法及时处理所有正常请求。

严重时会造成系统死机。

2.7.4 拒绝服务攻击的防范 ( 1 )与 ISP 合作 与 ISP配合对路由访问进行控制、对网络流量的监视,以实现对带宽总量的限制以及不同的访问地址在同一时间对带宽的占有率。

( 2 )漏洞检查 定期使用漏洞扫描软件对内部网现有的、潜在的漏洞进行检查,以提

高系统安全的性能。 ( 3 )服务器优化  确保服务器的安全,使攻击者无法获得更多内部主机的信息,从而无法发动有效的攻击。

( 4 )应急响应 建立应急机构和制度,制定紧急应对策略,以便拒绝服务攻击发生时

能够迅速恢复系统和服务。同时还要注意对员工进行相关的培训,使其掌握必要的应对措施和方法。

2.8 木马 2.8.1 木马的概念

1 .什么是木马 特洛伊木马( Trojanhorse )其名称取自希腊神话的特洛伊木马,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹;所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。

2 .木马的种类( 1 )破坏型( 2 )密码发送型( 3 )远程访问型( 4 )键盘记录木马( 5 ) DoS攻击木马( 6 )代理木马( 7 ) FTP木马( 8 )程序杀手木马( 9 )反弹端口型木马

3 .木马伪装的方法 ( 1 )修改图标 ( 2 )捆绑文件 ( 3 )出错显示 ( 4 )自我销毁 ( 5 )木马更名

2.8.2 木马的特点 1 .隐蔽性 2 .具有自动运行性3 .具备自动恢复功能 4 .自动开启特别的端口

5 .功能的特殊性

2.8.3 木马攻击的原理 1 .配置木马 2. 传播木马 3. 运行木马 4. 信息泄露 5. 建立连接

6. 远程控制

2.8.4 木马攻击的防范 1 .提高防范意识 2 .使用杀毒软件或木马专杀工具3 .发现系统导常及时断开网络4 .及时修补漏洞并关闭可疑的端口5 .运行实时监控程序