网络攻击技术原理共146页

上传人:公**** 文档编号:568835207 上传时间:2024-07-27 格式:PPT 页数:146 大小:642KB
返回 下载 相关 举报
网络攻击技术原理共146页_第1页
第1页 / 共146页
网络攻击技术原理共146页_第2页
第2页 / 共146页
网络攻击技术原理共146页_第3页
第3页 / 共146页
网络攻击技术原理共146页_第4页
第4页 / 共146页
网络攻击技术原理共146页_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《网络攻击技术原理共146页》由会员分享,可在线阅读,更多相关《网络攻击技术原理共146页(146页珍藏版)》请在金锄头文库上搜索。

1、主要讲授:主要讲授:1、网络欺骗、网络欺骗2、嗅探技术、嗅探技术3、扫描技术、扫描技术4、口令破解技术、口令破解技术5、缓冲区溢出、缓冲区溢出6、拒绝服务攻击、拒绝服务攻击网络攻击技术原理网络攻击技术原理1网络欺骗网络欺骗一、一、IP欺骗欺骗二、电子邮件欺骗二、电子邮件欺骗三、三、Web欺骗欺骗四、非技术类欺骗四、非技术类欺骗五、网络欺骗的防范五、网络欺骗的防范网络欺骗是指攻击者通过伪造自己在网络上的身份,网络欺骗是指攻击者通过伪造自己在网络上的身份,从而得到目标主机或者网络的访问权限。从而得到目标主机或者网络的访问权限。2网络欺骗网络欺骗一、一、IP欺骗欺骗使用虚假使用虚假IP地址来达到欺骗

2、目的。地址来达到欺骗目的。1、基本地址变化;、基本地址变化;2、使用源路由选项截取数据包;、使用源路由选项截取数据包;3、利用、利用UNIX主机上的信任关系;主机上的信任关系;4、TCP会话劫持会话劫持3网络欺骗网络欺骗1、基本地址变化、基本地址变化发送的数据包带有假冒的源地址发送的数据包带有假冒的源地址(攻击者可得到被假攻击者可得到被假冒放的权限;不能根据冒放的权限;不能根据IP找到攻击源找到攻击源)。修改数据包的修改数据包的IP地址必须通过底层的网络编程实现。地址必须通过底层的网络编程实现。Windows平台使用原始套接字可以手工构造平台使用原始套接字可以手工构造IP包。包。4网络欺骗网络

3、欺骗2、源路由攻击、源路由攻击源路由:源路由:TCP/IP协议提供的一种机制,可让源主机协议提供的一种机制,可让源主机指定通过互联网的路径。指定通过互联网的路径。如果攻击者使用源路由选项并保证自己在所指定的路如果攻击者使用源路由选项并保证自己在所指定的路径上,那么他就能得到应答包。径上,那么他就能得到应答包。5一个一个IP数据包由包头和数据体两部分组成。包头由数据包由包头和数据体两部分组成。包头由20字节的固定部分和变长的可选项成。字节的固定部分和变长的可选项成。 6网络欺骗网络欺骗3、信任关系、信任关系UNIX中,用户为方便同时使用多个主机,经常在主中,用户为方便同时使用多个主机,经常在主机

4、之间建立信任关系。机之间建立信任关系。远程用户启动远程用户启动rlogin访问本地访问本地Linux主机。主机。在在/home/.rhosts找远程主机名及用户名;找远程主机名及用户名;7网络欺骗网络欺骗1)编辑编辑xinetd配置文件配置文件rsh,rexec,rlogin ;2)配置配置securettyecho“rsh”/etc/securetty ;echo“pts/0”/etc/securetty ;3)配置配置.rhosts这个文件存放在每个用户的根目录中,包含了允许这个文件存放在每个用户的根目录中,包含了允许客户端登陆的客户端登陆的IP地址和用户名,如:地址和用户名,如:echo

5、192.168.4.49root/root/.rhosts表示允许表示允许192.168.4.49的的IP地址以地址以root用户登陆本机用户登陆本机 。8网络欺骗网络欺骗4)重新启动重新启动xinetd#servicexinetdrestart ;5)测试测试在在192.168.4.49的机器上使用的机器上使用rlogin命令远程登陆:命令远程登陆:#rlogin192.168.4.189网络欺骗网络欺骗欺骗过程:欺骗过程:1)选定目标主机,挖掘信任模式,找到被目标主机信选定目标主机,挖掘信任模式,找到被目标主机信任的主机;任的主机;2)采用某种方法使得被信任的主机丧失工作能力;采用某种方法

6、使得被信任的主机丧失工作能力;3)伪装成倍信任的主机,建立于目标主机的机遇地址伪装成倍信任的主机,建立于目标主机的机遇地址验证的连接。验证的连接。欺骗过程:欺骗过程:1)选定目标主机,挖掘信任模式,找到被目标主机信选定目标主机,挖掘信任模式,找到被目标主机信任的主机;任的主机;2)采用某种方法使得被信任的主机丧失工作能力;采用某种方法使得被信任的主机丧失工作能力;3)伪装成被信任的主机,建立与目标主机的基于地址伪装成被信任的主机,建立与目标主机的基于地址验证的连接。验证的连接。101.5 TCPIP协议基础协议基础4、TCP会话劫持会话劫持TCP会话劫持的攻击方式可以对基于会话劫持的攻击方式可

7、以对基于TCP的任何应用的任何应用发起攻击,如发起攻击,如HTTP、FTP、Telnet等。等。111.5 TCPIP协议基础协议基础SEQ:当前数据包第一个字节序号;当前数据包第一个字节序号;ACK:期望收到对方数据包第一个字节序号;期望收到对方数据包第一个字节序号;12网络欺骗网络欺骗在每一个数据包中,都有两段序列号,它们分别为在每一个数据包中,都有两段序列号,它们分别为:SEQ:当前数据包中的第一个字节的序号当前数据包中的第一个字节的序号ACK:期望收到对方数据包中第一个字节的序号期望收到对方数据包中第一个字节的序号13网络欺骗网络欺骗A和和B进行一次进行一次TCP会话,会话,C为攻击者

8、,劫持过程如下为攻击者,劫持过程如下:A向向B发送一个数据包发送一个数据包SEQ:XACK:Y包大小为包大小为:60B回应回应A一个数据包一个数据包SEQ:YACK:X+60包大小为包大小为:50A向向B回应一个数据包回应一个数据包SEQ:X+60ACK:Y+50包大小为包大小为:40B向向A回应一个数据包回应一个数据包SEQ:Y+50ACK:X+100包大小为包大小为:30攻击者攻击者C冒充主机冒充主机A给主机给主机B发送一个数据包发送一个数据包SEQ:X+100ACK:Y+80包大小为包大小为:20B向向A回应一个数据包回应一个数据包SEQ:Y+80ACK:X+120包大小为包大小为:10

9、14网络欺骗网络欺骗Hunt软件:能进行嗅探、截取、会话劫持;软件:能进行嗅探、截取、会话劫持;ntarzxvfhunt-1.5.tgzncdhunt-1.5nmaken./huntnlwsa15网络欺骗网络欺骗Hunt软件:测试;软件:测试;nWinxp:192.168.13.130;nLinux1:192.168.13.131;nLinux2:192.168.13.132;n实验:实验:WinxptelnetLinux1;Linux2作为攻击者;作为攻击者;nLinux2启动启动./hunt;测试;测试lwsa;nLinux需要安装需要安装telnet-server包;包;16网络欺骗网络

10、欺骗Linux上上Telnet服务开启;服务开启;检测检测telnet、telnet-server的的rpm包是否安装包是否安装rootlocalhostroot#rpm-qatelnettelnet-0.17-25/telnet*.rpm是默认安装的是默认安装的rootlocalhostroot#rpm-qatelnet-server空空/telnet*.rpm是默认没有安装的是默认没有安装的安装安装telnet-serverrootlocalhostroot#rpm-ivhtelnet-server*.i386.rpm17网络欺骗网络欺骗Linux上上Telnet服务开启;服务开启;修改修

11、改telnet服务配置文件服务配置文件vi/etc/xinetd.d/telnetdisable=no重新启动重新启动xinetd守护进程守护进程由于由于telnet服务也是由服务也是由xinetd守护的,所以安装完守护的,所以安装完telnet-server,要启动,要启动telnet服务就必须重新启动服务就必须重新启动xinetdrootlocalhostroot#servicexinetdrestart18网络欺骗网络欺骗 ARP欺骗:欺骗:利用利用ARP协议的缺陷,把自己伪装成协议的缺陷,把自己伪装成“中间人中间人”;ARP地址解析协议用于将计算机的网络地址地址解析协议用于将计算机的网

12、络地址(IP地址地址32位位)转化为物理地址转化为物理地址(MAC地址地址48位位),属于链路层协议。,属于链路层协议。 在以太网中,数据帧从一个主机到达局域网内的另一台在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据主机是根据MAC地址来确定接口的。地址来确定接口的。19网络欺骗网络欺骗(1)ARP协议有两种数据包:协议有两种数据包:请求包请求包(含有目的含有目的IP的以太网的以太网广播数据包广播数据包)、应答包、应答包(目标主机收到请求包,发现与本目标主机收到请求包,发现与本机机IP相同,则返回相同,则返回ARP应答包应答包);(2)ARP缓存表缓存表用于存储其他主机或网关的用于

13、存储其他主机或网关的IP地址与地址与MAC地址的对应关系,每台主机、网关都有一个地址的对应关系,每台主机、网关都有一个ARP缓存表缓存表(动态、静态动态、静态;arp -a);20网络欺骗网络欺骗21网络欺骗网络欺骗22网络欺骗网络欺骗 ARP欺骗的原理:欺骗的原理:主机在实现主机在实现ARP缓存表的机制中缓存表的机制中存在一个不完善的地方,当主机收到一个存在一个不完善的地方,当主机收到一个ARP应答包应答包后,它并不会去验证自己是否发送过这个后,它并不会去验证自己是否发送过这个ARP请求,请求,而是直接将应答包里的而是直接将应答包里的MAC地址与地址与IP地址对应的关地址对应的关系替换掉原有

14、的系替换掉原有的ARP缓存表里相应信息。缓存表里相应信息。23网络欺骗网络欺骗24网络欺骗网络欺骗 防范防范ARP欺骗欺骗* MAC地址绑定;地址绑定;* 使用静态的使用静态的ARP缓存表;缓存表;* 使用使用ARP欺骗防护软件;欺骗防护软件;25网络欺骗网络欺骗 防范防范IP欺骗:欺骗:* 防范地址变化欺骗防范地址变化欺骗(限制用户修改网络配置、入口限制用户修改网络配置、入口过滤、出口过滤过滤、出口过滤);* 防范源路由欺骗;防范源路由欺骗;* 防范信任关系欺骗;防范信任关系欺骗;* 防范会话劫持攻击防范会话劫持攻击(加密、使用安全协议、限制保加密、使用安全协议、限制保护措施护措施);26网

15、络欺骗网络欺骗二、电子邮件欺骗二、电子邮件欺骗1、电子邮件欺骗的原理及实现方法、电子邮件欺骗的原理及实现方法2、电子邮件欺骗的防御、电子邮件欺骗的防御27网络欺骗网络欺骗 1、电子邮件欺骗的原理及实现方法、电子邮件欺骗的原理及实现方法* 利用相似的电子邮件地址;利用相似的电子邮件地址;* 远程登录到远程登录到25端口;端口;* 修改邮件客户软件设置;修改邮件客户软件设置;28网络欺骗网络欺骗MDaemonMailServer :* md.exe,安装;,安装;* Start MDaemon;* 域名:域名:setup/Extra Domains;* 账户名:账户名:Accounts/New A

16、ccount;29网络欺骗网络欺骗MDaemonMailServer :* http:/192.168.19.5:3000;* http:/192.168.19.5:3001;30网络欺骗网络欺骗远程登录到远程登录到25端口:端口:* telnet 192.168.19.5 25;* helo test;* Mail from:;* Rcpt to:;* data;* to:;* from:;* subject:test-mail; * . /结束结束31网络欺骗网络欺骗Outlook设置:设置:* “工具工具”、”账户账户”、”添加邮件添加邮件”;* 设置显示用户名、回复地址;设置显示用户名

17、、回复地址;* 设置邮件服务器地址;设置邮件服务器地址;* 属性:回复地址;服务器选项卡:身份认证;属性:回复地址;服务器选项卡:身份认证;32网络欺骗网络欺骗 2、电子邮件欺骗的防御、电子邮件欺骗的防御* 邮件接收者;邮件接收者;* 邮件发送者;邮件发送者;* 邮件服务器;邮件服务器;* 邮件加密;邮件加密;33网络欺骗网络欺骗三、三、Web欺骗欺骗1、基本的网站欺骗、基本的网站欺骗2、中间人攻击、中间人攻击3、URL重写重写34网络欺骗网络欺骗1、基本的网站欺骗、基本的网站欺骗n目前在互联网上注册一个域名没有严格的审查,攻击目前在互联网上注册一个域名没有严格的审查,攻击者可以注册一个非常类

18、似的有欺骗性的站点。者可以注册一个非常类似的有欺骗性的站点。n典型的例子是假冒金融机构的网站,偷盗客户的信用典型的例子是假冒金融机构的网站,偷盗客户的信用卡、银行卡等信息。例如,中国工商银行网站为卡、银行卡等信息。例如,中国工商银行网站为“”,有人注册了网站,有人注册了网站“”,35网络欺骗网络欺骗n这种欺骗方式被专家定义为网络陷井程序,也叫做网这种欺骗方式被专家定义为网络陷井程序,也叫做网络钩鱼程序(络钩鱼程序(phishing),多以欺骗用户信用卡号、),多以欺骗用户信用卡号、银行帐号、股票信息等获取经济利益为目的。银行帐号、股票信息等获取经济利益为目的。n防止基本的网站欺骗是使用站点防止

19、基本的网站欺骗是使用站点服务器认证服务器认证。n服务器认证是服务器向客户提供的一个有效证书,它能服务器认证是服务器向客户提供的一个有效证书,它能证明谁是谁,可以把证书看作服务器的一张身份证。证明谁是谁,可以把证书看作服务器的一张身份证。36网络欺骗网络欺骗2、中间人攻击、中间人攻击n在中间人攻击中,攻击者找到一个位置,使进出受害方在中间人攻击中,攻击者找到一个位置,使进出受害方的所有流量都经过他。的所有流量都经过他。n攻击者通过某种方法把攻击者通过某种方法把目标机器的域名对应的目标机器的域名对应的IP更改为更改为攻击者所控制的机器,这样所有外界对目标机器的请求攻击者所控制的机器,这样所有外界对

20、目标机器的请求将发给攻击者的机器。将发给攻击者的机器。37网络欺骗网络欺骗DNS欺骗欺骗nDNS域名服务器,当一台主机发送要求解析某个域名时,域名服务器,当一台主机发送要求解析某个域名时,首先把解析请求发到自己的首先把解析请求发到自己的DNS服务器上;服务器上;nDNS的功能就是把域名转换成的功能就是把域名转换成IP地址;地址;nDNS服务器中存储了主机的域名和服务器中存储了主机的域名和IP地址的对应;地址的对应;38网络欺骗网络欺骗nDNS欺骗就是在服务器中伪造解析记录;欺骗就是在服务器中伪造解析记录;39网络欺骗网络欺骗n攻击者可以控制本地的域名服务器;攻击者可以控制本地的域名服务器;n攻

21、击者无法控制攻击者无法控制DNS服务器;服务器;40网络欺骗网络欺骗3、URL重写重写nURL重写是指修改(或重写)重写是指修改(或重写)Web内容中的内容中的URL,例,例如指向与原始如指向与原始URL不同位置的结果不同位置的结果URL的过程。的过程。41网络欺骗网络欺骗n浏览器的地址栏和状态栏可以显示连接中的浏览器的地址栏和状态栏可以显示连接中的Web站点站点地址及其相关的传输信息,用户可以由此发现地址及其相关的传输信息,用户可以由此发现URL重重写的问题。写的问题。n攻击者往往在攻击者往往在URL地址重写的同时,也要重写地址栏地址重写的同时,也要重写地址栏和状态栏,以达到其掩盖欺骗的目的

22、。和状态栏,以达到其掩盖欺骗的目的。42网络欺骗网络欺骗nASP中,安装中,安装IISRewrite组件后就可设置组件后就可设置URL重写;重写;n下载一个下载一个ISAPIRewrite的安装包;的安装包;nURL重写的配置文件默认为重写的配置文件默认为C:ProgramFilesHeliconISAPI_Rewrite目录下的目录下的httpd.ini文件,文件,在此文件中输入在此文件中输入Rewrite的规则即可。的规则即可。 nRewriteRule/books/index.html/books/secret/hello.asp43网络欺骗网络欺骗四、非技术类欺骗四、非技术类欺骗 其目

23、标是搜集信息来侵入计算机系统,其他目标包括侦其目标是搜集信息来侵入计算机系统,其他目标包括侦察环境,找出安装了什么硬件和软件、服务器上装载了察环境,找出安装了什么硬件和软件、服务器上装载了什么补丁等信息。什么补丁等信息。n社交工程的核心是,攻击者设法伪装自己的身份并设社交工程的核心是,攻击者设法伪装自己的身份并设计让受害人泄密私人信息。计让受害人泄密私人信息。44网络欺骗网络欺骗n攻击者打电话给帮助台要求建立一个新帐号。例如,攻击者打电话给帮助台要求建立一个新帐号。例如,攻击者假装是一名新员工,要求尽快建立一个新帐号。攻击者假装是一名新员工,要求尽快建立一个新帐号。n攻击者打电话给攻击者打电话

24、给IT部门,假装成一个查询公司正在运部门,假装成一个查询公司正在运行何种软件的卖主。行何种软件的卖主。n攻击者假冒经理让员工给他发建议书。攻击者假冒经理让员工给他发建议书。 45嗅探技术嗅探技术一、以太网的嗅探原理一、以太网的嗅探原理二、嗅探器的实现二、嗅探器的实现三、嗅探器的检测与防范三、嗅探器的检测与防范n嗅探器(嗅探器(Sniffer)是一种网络管理工具,它通过捕获)是一种网络管理工具,它通过捕获网络上传送的数据包来收集敏感数据,这些敏感数据网络上传送的数据包来收集敏感数据,这些敏感数据可能是用户的账号和密码。可能是用户的账号和密码。Sniffer在形式上可以是硬在形式上可以是硬件产品或

25、作为软件程序运行。件产品或作为软件程序运行。46一、以太网的嗅探原理一、以太网的嗅探原理n以太网中,如采用共享集线器作为网络互联设备,则以太网中,如采用共享集线器作为网络互联设备,则任两台主机的所有网络数据包都在总线上进行传送,任两台主机的所有网络数据包都在总线上进行传送,而总线上的任何一台主机都能够侦听到这些数据包。而总线上的任何一台主机都能够侦听到这些数据包。嗅探技术嗅探技术47n在正常情况下,一个合法的网络接口应该只响应这样在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:的两种数据帧:q帧的目标帧的目标MAC地址等于自己的地址等于自己的MAC地址的帧。地址的帧。q帧的目标地址

26、为帧的目标地址为“广播地址广播地址”的帧。的帧。嗅探技术嗅探技术n如果局域网中某台机器的网络接口处于如果局域网中某台机器的网络接口处于混杂混杂(promiscuous)模式)模式,即网卡可以接收其听到的所,即网卡可以接收其听到的所有数据包,那么它就可以捕获网络上所有的报文,有数据包,那么它就可以捕获网络上所有的报文,48通常将嗅探器放置在被攻击机器或网络附近;或者将其通常将嗅探器放置在被攻击机器或网络附近;或者将其放在网关放在网关路由器上;路由器上;嗅探技术嗅探技术49嗅探技术嗅探技术二、嗅探器的实现二、嗅探器的实现n例:例:使用原始套接字在使用原始套接字在Windows平台上编写一个捕平台上

27、编写一个捕获数据包的获数据包的sniffer程序程序,mysniffer;50嗅探技术嗅探技术三、三、嗅探器的检测与防范嗅探器的检测与防范nSniffer不会在网络上主动发送数据包,所以不易被不会在网络上主动发送数据包,所以不易被发现。可以检查计算机上当前正在运行的程序列表,检发现。可以检查计算机上当前正在运行的程序列表,检查是否有来历不明的程序正在运行。查是否有来历不明的程序正在运行。n在系统中搜索查找可疑的记录文件,该文件的特点是在系统中搜索查找可疑的记录文件,该文件的特点是其大小不断增加且时间不断更新;其大小不断增加且时间不断更新;n可检查系统中的网卡是否工作在混杂模式。可检查系统中的网

28、卡是否工作在混杂模式。51嗅探技术嗅探技术n为防止网络上的数据被为防止网络上的数据被Sniffer,特别是一些比较敏特别是一些比较敏感的数据如用户感的数据如用户ID或口令等等,可以使用加密手段。或口令等等,可以使用加密手段。n使用安全拓扑结构使用安全拓扑结构。将网络分为不同的网络段,一。将网络分为不同的网络段,一个网络段是仅由能互相信任的计算机组成的,网络段上个网络段是仅由能互相信任的计算机组成的,网络段上的计算机通过以太网的计算机通过以太网(Hub)连接,各网络段之间通过交连接,各网络段之间通过交换机换机(Switch)相互连接,交换机不会将所有的网络数据相互连接,交换机不会将所有的网络数据

29、包广播到各个网络段。包广播到各个网络段。52嗅探技术嗅探技术nSniffer往往是攻击者在侵入系统后用来收集有用信息往往是攻击者在侵入系统后用来收集有用信息的工具,因此防止系统被突破是关键。系统安全管理员的工具,因此防止系统被突破是关键。系统安全管理员要定期对网络进行安全测试,及时安装系统安全补丁,要定期对网络进行安全测试,及时安装系统安全补丁,防止安全隐患。要控制高级权限的用户的数量,同时也防止安全隐患。要控制高级权限的用户的数量,同时也要注意许多要注意许多Sniffer攻击往往来自网络内部。攻击往往来自网络内部。53扫描技术扫描技术n扫描器扫描器是一种自动检测远程或本地主机安全性弱点的程是

30、一种自动检测远程或本地主机安全性弱点的程序。扫描器通过发送特定的网络数据包,并记录目标主序。扫描器通过发送特定的网络数据包,并记录目标主机的应答消息,可收集到关于目标主机的各种信息。机的应答消息,可收集到关于目标主机的各种信息。n例如目标主机是否支持匿名登录、是否开放例如目标主机是否支持匿名登录、是否开放telnet服服务等;务等;54扫描技术扫描技术n可以手工进行扫描可以手工进行扫描,也可以使用扫描软件自动进行也可以使用扫描软件自动进行。在手工进行扫描时,需熟悉各种网络命令,对命令执在手工进行扫描时,需熟悉各种网络命令,对命令执行后的输出进行分析。用扫描软件进行扫描时,扫描行后的输出进行分析

31、。用扫描软件进行扫描时,扫描软件一般都有分析数据的功能。软件一般都有分析数据的功能。55扫描技术扫描技术一、网络扫描诊断命令一、网络扫描诊断命令二、端口扫描二、端口扫描三、操作系统探测三、操作系统探测四、漏洞扫描四、漏洞扫描56扫描技术扫描技术一、网络扫描诊断命令一、网络扫描诊断命令1、ping可以判断目标主机是否在运行,了解网络延时;可以判断目标主机是否在运行,了解网络延时;2、tracert/traceroute跟踪一个数据包发送到目标主机所经过的路由;跟踪一个数据包发送到目标主机所经过的路由;57扫描技术扫描技术3、telnet命令命令telnet命令缺省使用命令缺省使用TCP23号端口

32、,可登录到目号端口,可登录到目标计算机上进入标计算机上进入shell状态。状态。4、rusersfingerhost命令命令58扫描技术扫描技术二、端口扫描二、端口扫描端口端口是传输层的是传输层的TCP/IP协议与上层应用程序之间的协议与上层应用程序之间的接口点,不同的应用程序可以使用不同的端口调用接口点,不同的应用程序可以使用不同的端口调用传输层的服务。传输层的服务。端口扫描端口扫描就是向目标主机的指定端口发送数据包,就是向目标主机的指定端口发送数据包,根据目标端口的反应确定哪些端口是开放的,即根据目标端口的反应确定哪些端口是开放的,即哪些服务处于监听状态。哪些服务处于监听状态。59扫描技术

33、扫描技术端口扫描端口扫描TCPconnect扫描扫描(全连接扫描全连接扫描)TCPSYN扫描扫描(半连接扫描半连接扫描)秘密扫描秘密扫描其他端口扫描技术其他端口扫描技术60扫描技术扫描技术TCPconnect扫描扫描(全连接扫描全连接扫描)n与目标主机的某个端口建立与目标主机的某个端口建立TCP连接。连接。n如果目标主机上的某个端口处于侦听状态,则连接如果目标主机上的某个端口处于侦听状态,则连接成功,若目标主机未开放该端口,则成功,若目标主机未开放该端口,则connect操作操作失败。失败。6162for(i=1;i65535;i+)/尝试所有端口尝试所有端口server_addr.sin_p

34、ort=htons(i);if(sockfd=socket(AF_INET,SOCK_STREAM,0)=-1)fprintf(stderr,SocketError:%san,strerror(errno);exit(1);扫描技术扫描技术63/*与指定与指定IP的第的第i个端口连接个端口连接*/if(connect(sockfd,(structsockaddr*)(&server_addr),sizeof(structsockaddr)!=-1)printf(port%disopenn,i);close(sockfd);64扫描技术扫描技术TCPSYN扫描扫描(半连接扫描半连接扫描)n扫描主

35、机向目标主机的端口发送一个请求连接的扫描主机向目标主机的端口发送一个请求连接的SYN数据报文,如果目标主机返回数据报文,如果目标主机返回SYN|ACK,表示,表示端口处于侦听状态,若返回端口处于侦听状态,若返回RST数据包,表示端口没数据包,表示端口没有处于侦听态,从而可以判断端口是否开放。有处于侦听态,从而可以判断端口是否开放。65扫描技术扫描技术*如果收到一个如果收到一个SYN|ACK,则扫描程序发送一个则扫描程序发送一个RST数据包来终止这个连接。数据包来终止这个连接。*TCP的三次握手并没有完成,正常的的三次握手并没有完成,正常的TCP连接无法连接无法建立,这个扫描信息不会进入目标主机

36、的系统日志,建立,这个扫描信息不会进入目标主机的系统日志,一般不会在目标计算机上留痕迹。一般不会在目标计算机上留痕迹。6667使用使用Windows下的下的RawSocket编写一个编写一个TCP SYN扫扫描程序描程序 synscan;n第一部分:定义关键变量第一部分:定义关键变量n第二部分:创建套接字,设置选项第二部分:创建套接字,设置选项;n第三部分:构造第三部分:构造SYN数据包数据包;n第四部分:发送第四部分:发送n第五步:创建监听套接字,接收并分析应答第五步:创建监听套接字,接收并分析应答;扫描技术扫描技术68* F:tools源程序源程序第第5章局域网扫描章局域网扫描1.Sear

37、chIP*F:tools源程序源程序第第5章局域网扫描章局域网扫描2.PortScanner扫描技术扫描技术69扫描技术扫描技术秘密扫描秘密扫描n秘密扫描是一种不被入侵检测、防火墙、包过滤器秘密扫描是一种不被入侵检测、防火墙、包过滤器和日志审计等工具所检测的扫描技术;和日志审计等工具所检测的扫描技术;n该类技术不包含三次握手协议的任何部分,所有无该类技术不包含三次握手协议的任何部分,所有无法被记录下来,比半连接扫描更为隐蔽;法被记录下来,比半连接扫描更为隐蔽;n秘密扫描有秘密扫描有TCPFIN扫描、扫描、TCPACK扫描、扫描、NULL扫描、扫描、XMAS扫描和扫描和SYN/ACK扫描等扫描等

38、。70秘密扫描秘密扫描FIN 扫描扫描 n多数过滤器能过滤多数过滤器能过滤SYN数据报文,但是允许数据报文,但是允许FIN数数据报文通过,而且日志系统一般不会记录这种数据据报文通过,而且日志系统一般不会记录这种数据报文,利用这一特点的扫描就是报文,利用这一特点的扫描就是TCPFIN扫描。扫描。 71秘密扫描秘密扫描FIN 扫描扫描 n原理:原理:扫描主机向目标主机发送扫描主机向目标主机发送FIN数据包,若数据包,若FIN数数据包到达一个开放的端口,数据包将被丢弃,不返回据包到达一个开放的端口,数据包将被丢弃,不返回任何信息;相反,如果到达一个未开放的端口,任何信息;相反,如果到达一个未开放的端

39、口,TCP会把它判断成是错误,数据包被丢掉,并返回一个会把它判断成是错误,数据包被丢掉,并返回一个RST数据包,以此便可推断出目标端口是否开放。数据包,以此便可推断出目标端口是否开放。n这种方法和系统的实现有一定的关系,有的系统不管这种方法和系统的实现有一定的关系,有的系统不管端口是否打开都会回复端口是否打开都会回复RST,在这种情况下此种扫描,在这种情况下此种扫描就不适用了。就不适用了。72NULL扫描扫描 n扫描主机将发送的扫描主机将发送的TCP数据包中的数据包中的ACK、FIN、RST、SYN、URG、PSH标志位全部置标志位全部置0后发给目标主机。后发给目标主机。若目标端口开放,目标主

40、机将不返回任何信息,若目若目标端口开放,目标主机将不返回任何信息,若目标主机返回标主机返回RST信息,则表示端口关闭。信息,则表示端口关闭。n扫描的有效性和系统的实现有关。扫描的有效性和系统的实现有关。73XMAS扫描扫描 n扫描主机将发送的扫描主机将发送的TCP数据包中的数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置标志位置1后发给目标主机。若目后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主标端口开放,目标主机将不返回任何信息,若目标主机返回机返回RST信息,则表示端口关闭。信息,则表示端口关闭。74扫描技术扫描技术nFIN扫描、扫描、NULL扫描和扫描

41、和Xmax扫描的原理相同,都利用扫描的原理相同,都利用了了TCP的的RFC文档中的一些细节规定。文档中的一些细节规定。n在在RFC793中规定:中规定:“如果端口是关闭的(如果端口是关闭的(closed),),则对进入的任何不包含则对进入的任何不包含RST的包都回应一个的包都回应一个RST包包”以以及及“凡是发送到开放端口的不包含凡是发送到开放端口的不包含SYN、RST或者或者ACK标志的包,都认为是不该收到的包而被丢弃标志的包,都认为是不该收到的包而被丢弃”。75扫描技术扫描技术其他端口扫描技术其他端口扫描技术IP分片扫描分片扫描n不直接发送不直接发送TCP探测数据包,而是预先将数据包分成探

42、测数据包,而是预先将数据包分成两个较小的两个较小的IP数据包,传送给目标主机,目标主机收数据包,传送给目标主机,目标主机收到这些到这些IP段后会把它们组合还原为原先的段后会把它们组合还原为原先的TCP探测数探测数据包。据包。n将数据包分片的目的是使他们能够通过防火墙和包过将数据包分片的目的是使他们能够通过防火墙和包过滤器。滤器。76扫描技术扫描技术nTCPACK扫描:扫描:扫描主机向目标主机发送扫描主机向目标主机发送ACK数据包,数据包,根据返回的根据返回的RST数据包判断目标端口的信息。有两种数据包判断目标端口的信息。有两种方法可以用来进行判断:其一,若返回的方法可以用来进行判断:其一,若返

43、回的RST数据包数据包的的TTL值小于或等于值小于或等于64,则端口开放,反之端口关闭;,则端口开放,反之端口关闭;其二,若返回的其二,若返回的RST数据包的数据包的WINDOW值非零,则端值非零,则端口开放,反之端口关闭。口开放,反之端口关闭。77扫描技术扫描技术nSYN|ACK扫描:扫描:扫描主机不向目标主机发送扫描主机不向目标主机发送SYN数数据包,而是先发送据包,而是先发送SYN|ACK数据包。目标主机将报数据包。目标主机将报错,并判断为一次错误的连接。而且若目标主机端口错,并判断为一次错误的连接。而且若目标主机端口开放,目标主机将返回开放,目标主机将返回RST信息,反之,目标主机将信

44、息,反之,目标主机将不返回任何信息,数据包直接被丢掉。不返回任何信息,数据包直接被丢掉。78扫描技术扫描技术UDP端口扫描端口扫描n使用使用UDP协议,处于侦听状态的端口对扫描探测并不协议,处于侦听状态的端口对扫描探测并不发送一个确认,但向某些主机的未侦听发送一个确认,但向某些主机的未侦听UDP端口发送端口发送一个数据包时会返回一个一个数据包时会返回一个ICMP_PORT_UNREACH错错误,这样就可以判断出端口是否处于侦听状态。误,这样就可以判断出端口是否处于侦听状态。79扫描技术扫描技术三、操作系统扫描三、操作系统扫描n是发现目标主机操作系统类型和版本的一项技术。是发现目标主机操作系统类

45、型和版本的一项技术。n早期的简单探测方法:早期的简单探测方法:利用利用Telnet服务旗标、服务旗标、FTP服服务旗标、务旗标、HTTP信息等来进行探测信息等来进行探测;n栈指纹识别技术:栈指纹识别技术:TCP/IP栈指纹、栈指纹、ICMP栈指纹、被栈指纹、被动指纹识别等。动指纹识别等。80扫描技术扫描技术81扫描技术扫描技术栈指纹识别技术栈指纹识别技术nTCP/IP栈指纹识别栈指纹识别:由于各版本操作系统对由于各版本操作系统对TCP/IP协协议体系的具体实现上略有不同,通过提交不同的议体系的具体实现上略有不同,通过提交不同的IP数数据包并分析目标主机返回的响应数据包,比较其中各据包并分析目标

46、主机返回的响应数据包,比较其中各标记参数的不同就可以将不同的操作系统区分开。标记参数的不同就可以将不同的操作系统区分开。82扫描技术扫描技术nICMP栈指纹识别栈指纹识别主要是通过发送主要是通过发送UDP或或ICMP的请求的请求报文,然后分析各种报文,然后分析各种ICMP应答,根据应答包的差异应答,根据应答包的差异来区分不同操作系统。来区分不同操作系统。n被动指纹识别被动指纹识别:它不主动发送数据包,只是被动地捕它不主动发送数据包,只是被动地捕获远程主机返回的包来分析其操作系统类型和版本。获远程主机返回的包来分析其操作系统类型和版本。 83扫描技术扫描技术四、漏洞扫描四、漏洞扫描n除了扫描出远

47、程或本地主机的各种除了扫描出远程或本地主机的各种TCP/UDP端口分端口分配外,扫描器还可以自动地检测主机中是否存在漏洞配外,扫描器还可以自动地检测主机中是否存在漏洞,即安全脆弱点。即安全脆弱点。n漏洞,又称脆弱性,漏洞,又称脆弱性,是计算机系统在硬件、软件、协是计算机系统在硬件、软件、协议的具体实现和系统安全策略上存在缺陷和不足,从议的具体实现和系统安全策略上存在缺陷和不足,从而可使攻击者能在未授权的情况下访问或破坏系统。而可使攻击者能在未授权的情况下访问或破坏系统。84扫描技术扫描技术n在不同的软、硬件设备中,不同系统中或同种系统在在不同的软、硬件设备中,不同系统中或同种系统在不同的设置条

48、件下,都会存在各自不同的漏洞。而且不同的设置条件下,都会存在各自不同的漏洞。而且漏洞问题是不可避免的,它将长期存在。漏洞问题是不可避免的,它将长期存在。n漏洞本身并不能对系统安全造成什么损害,关键问题漏洞本身并不能对系统安全造成什么损害,关键问题在于攻击者可以利用这些漏洞引发安全事件。在于攻击者可以利用这些漏洞引发安全事件。85扫描技术扫描技术n从脆弱性来源划分从脆弱性来源划分q系统配置不当导致的脆弱性系统配置不当导致的脆弱性q各种系统软件、应用软件存在脆弱性各种系统软件、应用软件存在脆弱性q系统的某些功能自身存在安全隐患系统的某些功能自身存在安全隐患q操作系统本身存在安全隐患操作系统本身存在

49、安全隐患86扫描技术扫描技术n从网络攻击的角度从网络攻击的角度q非法获取系统操作权限非法获取系统操作权限q执行任意代码执行任意代码q非法读写系统文件非法读写系统文件q拒绝服务拒绝服务q口令获取口令获取q服务信息泄漏服务信息泄漏q伪造信息欺骗伪造信息欺骗q设置后门设置后门87扫描技术扫描技术n漏洞分级漏洞分级:根据对系统造成的潜在威胁以及被利用的可根据对系统造成的潜在威胁以及被利用的可能性可将各种安全漏洞进行分级,可以分为高、中、低能性可将各种安全漏洞进行分级,可以分为高、中、低3级级;n漏洞库漏洞库:漏洞库就是把所有系统安全漏洞及其相关信息漏洞库就是把所有系统安全漏洞及其相关信息存储到数据库中

50、,方便计算机用户更详细地了解系统安存储到数据库中,方便计算机用户更详细地了解系统安全漏洞,方便用户检索自己的系统会存在哪些漏洞,可全漏洞,方便用户检索自己的系统会存在哪些漏洞,可能对系统安全造成什么危害以及如何补救等等。能对系统安全造成什么危害以及如何补救等等。88扫描技术扫描技术n国内较知名的公布漏洞方面的站点国内较知名的公布漏洞方面的站点:q国家计算机网络入侵防范中心国家计算机网络入侵防范中心(http:/)q绿盟科技(绿盟科技(http:/)q安全焦点(安全焦点(http:/)q中国信息安全论坛(中国信息安全论坛(http:/)q安络科技(安络科技(http:/)q20CN网络安全小组(

51、网络安全小组(http:/)q中国计算机网络应急处理协调中心中国计算机网络应急处理协调中心(http:/ Overflow)1、什么是缓冲区溢出、什么是缓冲区溢出2、覆盖堆栈中变量的内容、覆盖堆栈中变量的内容3、覆盖堆栈中寄存器的内容、覆盖堆栈中寄存器的内容4、安全编程、安全编程98缓冲区溢出缓冲区溢出(Buffer Overflow)1、什么是缓冲区溢出、什么是缓冲区溢出由于数据处理的需要,程序会预留或分配一些逻辑由于数据处理的需要,程序会预留或分配一些逻辑上连续的数据区空间用于对数据的缓存,这类数据上连续的数据区空间用于对数据的缓存,这类数据区通常称为区通常称为缓冲区缓冲区。缓冲区溢出缓冲

52、区溢出:就是通过在程序的缓冲区写入超出其:就是通过在程序的缓冲区写入超出其长度的内容,从而破坏程序的堆栈,使程序转而执长度的内容,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。行其他指令,以达到攻击的目的。99n一个程序一个程序执行状行状态下下在内存中的存在内存中的存储通常通常分分为程序段、数据段程序段、数据段和堆和堆栈三部分。三部分。100n从从逻辑上上讲,进程的堆程的堆栈是由多个是由多个堆栈帧堆栈帧构成的,构成的,其中每个堆栈帧都对应一个函数调用。其中每个堆栈帧都对应一个函数调用。n当函数调用发生时,新的堆栈帧被压入堆栈;当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时

53、,相应的堆栈帧从堆栈中弹出。当函数返回时,相应的堆栈帧从堆栈中弹出。101nEIP:扩展指令寄存器,下扩展指令寄存器,下一条要执行的指令的地址;一条要执行的指令的地址;nESP:扩展堆栈寄存器,存扩展堆栈寄存器,存储栈顶指针;储栈顶指针;nEBP:扩展基址寄存器;扩展基址寄存器;102103104#includevoidfoo(intm,intn)intlocal;local=m+n;voidmain()intt1=0x1111;intt2=0x2222;foo(t1,t2);105n程序程序是从内存低端向高端按是从内存低端向高端按顺序存放的;序存放的;n输入的形参入的形参按照自右向左的按照自

54、右向左的顺序入序入栈;n而堆而堆栈的生的生长方向和内存的生方向和内存的生长方向相反方向相反,因此在,因此在堆堆栈中中压入的数据超入的数据超过预先先给堆堆栈分配的容量分配的容量时,就会出就会出现堆堆栈溢出溢出。106n1)攻攻击者可以用任意数据者可以用任意数据覆盖覆盖栈中中变量的内容量的内容;n2)覆盖堆覆盖堆栈中保存的寄存器内容中保存的寄存器内容,导致程序崩致程序崩溃;n3)把堆栈里面的返回地址覆盖把堆栈里面的返回地址覆盖,替换成一个自己指,替换成一个自己指定的地方,而在那个地方,可以植入一些精心设计定的地方,而在那个地方,可以植入一些精心设计了的代码以达到攻击的目的。了的代码以达到攻击的目的

55、。107缓冲区溢出缓冲区溢出(Buffer Overflow)2、覆盖堆栈中变量的内容、覆盖堆栈中变量的内容安全漏洞的一个经典例子是基于口令的认证,安全漏洞的一个经典例子是基于口令的认证,首先首先从本地数据库中读取口令并存储在本地变量中,然从本地数据库中读取口令并存储在本地变量中,然后用户输入口令,程序比较这两个字符串。后用户输入口令,程序比较这两个字符串。108缓冲区溢出缓冲区溢出(Buffer Overflow)3、覆盖堆栈中寄存器的内容、覆盖堆栈中寄存器的内容在栈上声明的各种变量的位置就紧靠着调用函数的返回在栈上声明的各种变量的位置就紧靠着调用函数的返回地址。地址。如果如果用户输入的数据

56、超过边界就会将调用函数的返回地用户输入的数据超过边界就会将调用函数的返回地址覆盖址覆盖,造成程序崩溃。,造成程序崩溃。109VC环境下一个环境下一个c语言程序的例子语言程序的例子#include#includecharname=abcdefghijklmnopqrstuvwxyz;intmain()charbuffer8;strcpy(buffer,name);return0;110111缓冲区溢出缓冲区溢出(Buffer Overflow)n发生溢出,因为字符串发生溢出,因为字符串name比目标比目标buffer要长。要长。n错误签名中的错误签名中的offset“706f6e6d”就是就是4

57、个字母个字母“ponm”对应的对应的16进制值,实际上是这进制值,实际上是这4个字母覆个字母覆盖了堆栈中函数返回值的位置,程序按照这个地址盖了堆栈中函数返回值的位置,程序按照这个地址去执行时发生了错误。去执行时发生了错误。112缓冲区溢出缓冲区溢出(Buffer Overflow)n下面再通过两个小程序的执行过程看看其中堆栈下面再通过两个小程序的执行过程看看其中堆栈的操作和溢出的产生过程。的操作和溢出的产生过程。(hiStackHack)n溢出攻击的基本流程:溢出攻击的基本流程:注入恶意数据;溢出缓冲区;注入恶意数据;溢出缓冲区;重定向控制流;执行有效载荷重定向控制流;执行有效载荷n溢出点定位

58、;覆盖执行控制地址;跳转地址的确定;溢出点定位;覆盖执行控制地址;跳转地址的确定;shellcode定位和跳转;定位和跳转;113缓冲区溢出缓冲区溢出(Buffer Overflow)缓冲区溢出漏洞的普遍性缓冲区溢出漏洞的普遍性nC/C+语言中,由于字符串处理函数语言中,由于字符串处理函数(gets、strcpy等等)没有对数组越界加以判断和限制,利用超长字符数没有对数组越界加以判断和限制,利用超长字符数组越界覆盖堆栈中的原有元素的值,可以修改堆栈中组越界覆盖堆栈中的原有元素的值,可以修改堆栈中的返回地址并执行由返回地址指向的代码。的返回地址并执行由返回地址指向的代码。n用于覆盖堆栈中返回地址

59、的数据和该返回地址指向的用于覆盖堆栈中返回地址的数据和该返回地址指向的指令是经过精心设计的。指令是经过精心设计的。4、溢出保护技术、溢出保护技术114缓冲区溢出缓冲区溢出(Buffer Overflow)n软件开发过程中的防范策略软件开发过程中的防范策略q编写正确的代码编写正确的代码q选用较为安全的语言,比如进行缓冲区长度检查的选用较为安全的语言,比如进行缓冲区长度检查的语言,语言,java、c#等,并且不启用不安全代码。等,并且不启用不安全代码。内存访问错误的检测和修改;缓冲区溢出的错误;指针内存访问错误的检测和修改;缓冲区溢出的错误;指针引用等;引用等;n使用缓冲区保护技术使用缓冲区保护技

60、术 115缓冲区溢出缓冲区溢出(Buffer Overflow)检测值保护:检测值保护:StackGuard方法;微软基于这个方法,添方法;微软基于这个方法,添加了一个编译器标记加了一个编译器标记(/GS);运行时拦截:运行时拦截:函数库函数库Libsafe修改了不安全修改了不安全C的标准库函的标准库函数,加入缓冲区边界检查,检查在调用这些函数时是数,加入缓冲区边界检查,检查在调用这些函数时是否发生缓冲区溢出;否发生缓冲区溢出;n使用缓冲区保护技术使用缓冲区保护技术 116拒绝服务攻击拒绝服务攻击(Dienial of Service) 1、拒绝服务攻击的根源、拒绝服务攻击的根源2、smurf

61、攻击攻击3、SYN洪泛攻击洪泛攻击4、Teardrop攻击攻击5、DDoS攻击攻击117拒绝服务攻击拒绝服务攻击 n攻击的目的攻击的目的是使目标主机停止网络服务,而其他攻击是使目标主机停止网络服务,而其他攻击的目的往往是欲获取主机的控制权。的目的往往是欲获取主机的控制权。n这种攻击的危险性这种攻击的危险性在于它可以在没有获得主机的任何在于它可以在没有获得主机的任何权限的情况下进行,只要主机连接在网络上就可能受权限的情况下进行,只要主机连接在网络上就可能受到攻击。到攻击。n攻击简单、容易达到目的、难于防止和追查困难。攻击简单、容易达到目的、难于防止和追查困难。118拒绝服务攻击产生的根源拒绝服务

62、攻击产生的根源n当一个对资源的合理请求大大超过系统的处理能力时当一个对资源的合理请求大大超过系统的处理能力时就会造成拒绝服务攻击。就会造成拒绝服务攻击。拒绝服务攻击拒绝服务攻击 例如,例如,对已经满载的对已经满载的Web服务器进行过多的请求,或者服务器进行过多的请求,或者不断生成新的文件将系统的磁盘空间耗尽。不断生成新的文件将系统的磁盘空间耗尽。n资源资源包括网络带宽、文件系统空间容量、进程或者内包括网络带宽、文件系统空间容量、进程或者内存空间、存空间、CPU处理能力、处理队列等。处理能力、处理队列等。119n还有一些恶意的拒绝服务攻击利用操作系统或软件的还有一些恶意的拒绝服务攻击利用操作系统

63、或软件的漏洞,产生特殊的请求使系统崩溃或进入等待状态,漏洞,产生特殊的请求使系统崩溃或进入等待状态,而正常的服务请求却无法得到响应而正常的服务请求却无法得到响应。拒绝服务攻击拒绝服务攻击 拒绝服务攻击的种类拒绝服务攻击的种类n利用软件实现的缺陷利用软件实现的缺陷n利用协议的漏洞利用协议的漏洞n合理请求大大超过系统的处理能力合理请求大大超过系统的处理能力120Smurf 攻击攻击n原理:原理:广播信息可以发送到整个网络中的机器;广播信息可以发送到整个网络中的机器;n当某台主机使用广播地址作为目标地址发送一个当某台主机使用广播地址作为目标地址发送一个ICMPecho请求包请求包时时(Ping),一

64、些系统会向该主机回,一些系统会向该主机回应应ICMPecho应答包应答包,也就是说发送一个包会收到,也就是说发送一个包会收到许多的响应包。许多的响应包。nSmurf发送出一个发送出一个ICMPecho请求包,目的地址为广请求包,目的地址为广播地址,播地址,源地址为假冒为被攻击主机的源地址为假冒为被攻击主机的IP地址,地址,大量大量的的ICMPecho应答包会发送到被攻击主机而消耗其应答包会发送到被攻击主机而消耗其网络带宽和网络带宽和CPU周期。周期。 121Smurf 攻击攻击122Smurf 攻击的抵御策略攻击的抵御策略 smurf要求路由器上启动了要求路由器上启动了IP广播功能。广播功能。

65、为防止系统为防止系统成为成为smurf攻击的平台,要将所有路由器上攻击的平台,要将所有路由器上IP广播功广播功能禁止。一般来讲,能禁止。一般来讲,IP广播功能并不需要。广播功能并不需要。攻击者也有可能从局域网内部发动一个攻击者也有可能从局域网内部发动一个smurf攻击,攻击,为了避免这样的攻击,许多操作系统都提供了相应设为了避免这样的攻击,许多操作系统都提供了相应设置,防止计算机对置,防止计算机对IP广播请求做出响应。广播请求做出响应。如果攻击者要成功地利用某个网络成为攻击平台,如果攻击者要成功地利用某个网络成为攻击平台,则连接该网络的路由器必须允许那些源地址不是该网则连接该网络的路由器必须允

66、许那些源地址不是该网络地址的数据包离开网络。络地址的数据包离开网络。123Smurf 攻击的抵御策略攻击的抵御策略 ISP则应使用网络入口过滤,则应使用网络入口过滤,以丢掉那些不是来自已以丢掉那些不是来自已知范围内知范围内IP地址的数据包。地址的数据包。对边界路由器的对边界路由器的ICMPechoreply数据包进行过滤,数据包进行过滤,然后丢弃它们,这样就能阻止然后丢弃它们,这样就能阻止Web服务器和内网被攻服务器和内网被攻击。击。124SYN 淹没(淹没(flood) 125SYN flood原理原理如果客户机只发送初始的如果客户机只发送初始的SYN包而不向服务器发送确包而不向服务器发送确

67、认的认的ACK包,则会导致服务器一直等待包,则会导致服务器一直等待ACK包直到超包直到超时为止;时为止;由于服务器在有限的时间内只能响应有限数量的连接,由于服务器在有限的时间内只能响应有限数量的连接,这就会导致服务器一直等待回应而无法响应其他机器这就会导致服务器一直等待回应而无法响应其他机器的连接请求。的连接请求。如果客户机连续不断地发送如果客户机连续不断地发送SYN包,使得目标无法响包,使得目标无法响应合法用户的连接请求,就发生拒绝服务。应合法用户的连接请求,就发生拒绝服务。126Teardrop攻击攻击nteardrop利用了系统在实现利用了系统在实现TCP/IP协议的处理程序中协议的处理

68、程序中的错误进行攻击。的错误进行攻击。n系统允许将一个系统允许将一个IP包分成几个分片打成包分成几个分片打成IP包发送到目包发送到目标,目标系统收到这些分片后要执行重组过程,将分标,目标系统收到这些分片后要执行重组过程,将分片的片的IP包组合成一个完整的包组合成一个完整的IP包。包。nTeardrop攻击利用了系统在处理分片重组时的错误进攻击利用了系统在处理分片重组时的错误进行攻击。行攻击。 127Teardrop攻击攻击当系统收到一个个当系统收到一个个IP包,送到包,送到IP层进行组装,以形成发送层进行组装,以形成发送端原来的端原来的IP包时,它将进入了一个循环中,将接收队列中包时,它将进入

69、了一个循环中,将接收队列中的一个个数据包中的有效数据,拷贝到一个新分配的缓冲的一个个数据包中的有效数据,拷贝到一个新分配的缓冲区中。区中。检查了每个分片数据是否过长,因为如果数据部分过长,检查了每个分片数据是否过长,因为如果数据部分过长,将会向内核拷贝过多的数据,引起内核发生某种危险;将会向内核拷贝过多的数据,引起内核发生某种危险;没有检查包中有效数据的长度是否过分小;没有检查包中有效数据的长度是否过分小;*在系统中负数可以看作更大的正数在系统中负数可以看作更大的正数;128n首先计算这一分片的终结位置:首先计算这一分片的终结位置:qend=offset+ntohs(iph-tot-len)i

70、hl;n如果发现当前包的段偏移在前一包数据内部如果发现当前包的段偏移在前一包数据内部if(prev!=NULL&offsetend)i=prev-end-offset;offset+=i;/*调整分片的偏移调整分片的偏移*/ptr+=i;/*调整分片的指针调整分片的指针*/*重新填写分片结构重新填写分片结构*/fp-offset=offset;fp-end=end;fp-len=end-offset;/fp-len是一个有符号整数是一个有符号整数129130 当前当前offset当前的当前的end当前长度当前长度 上个片段的上个片段的endend 新新endend 新新offsetoffset

71、上个片段的上个片段的endend131Teardrop攻击攻击防范许多早期的许多早期的Linux实现中都有这个错误,向实现中都有这个错误,向Linux发发送很少几个这样的数据包,便可以引起送很少几个这样的数据包,便可以引起Linux停机。停机。向向Windows95、WindowsNT发送发送1015个这样的个这样的包,也会引起死机。包,也会引起死机。最新的最新的TCP/IP协议已经充分考虑了这种情况,他们协议已经充分考虑了这种情况,他们一般会将这些分片丢弃。一般会将这些分片丢弃。132DDoS 攻击攻击 nDDoS中,攻击者将攻击工具驻留在其他众多主机上,利中,攻击者将攻击工具驻留在其他众多

72、主机上,利用这些主机来对同一个目标发送大量的请求。用这些主机来对同一个目标发送大量的请求。n这种攻击的根本原理就是人多力量大。这种攻击的根本原理就是人多力量大。 n99年后半年开始,年后半年开始,DDoS攻击在攻击在Internet上不断出现,并上不断出现,并在应用的过程中不断得到完善,截至目前在在应用的过程中不断得到完善,截至目前在Unix或或Windows环境上已有一系列比较成熟的软件产品。环境上已有一系列比较成熟的软件产品。133Trinoo攻击攻击nTrinoo是基于是基于UDPflood的攻击软件;的攻击软件;n它向被攻击目标主机随机端口发送全零的它向被攻击目标主机随机端口发送全零的

73、4字节字节UDP包,包,被攻击主机的网络性能在处理这些超出其处理能力的垃被攻击主机的网络性能在处理这些超出其处理能力的垃圾数据包的过程中不断下降,直至不能提供正常服务甚圾数据包的过程中不断下降,直至不能提供正常服务甚至崩溃。至崩溃。134nTrinoo攻击功能的实现,是通过攻击守护进程、攻击攻击功能的实现,是通过攻击守护进程、攻击控制进程以及客户端三个模块付诸实施。控制进程以及客户端三个模块付诸实施。135Trinoo攻击攻击n攻击守护进程(攻击守护进程(Ns):):Ns是真正实施攻击的程序是真正实施攻击的程序。Ns运行时,会首先向攻击控制进程运行时,会首先向攻击控制进程(Master)所在主

74、机所在主机的的31335端口发送内容为端口发送内容为HELLO的的UDP包,标示它自包,标示它自身的存在,随后攻击守护进程即处于对端口身的存在,随后攻击守护进程即处于对端口27444的的侦听状态,等待侦听状态,等待Master攻击指令的到来。攻击指令的到来。136Trinoo攻击攻击n攻击控制进程攻击控制进程(Master):Master在收到攻击守护进程在收到攻击守护进程的的HELLO包后,主服务器会记录并维护已激活的守护包后,主服务器会记录并维护已激活的守护程序清单程序清单。Master成功启动后,它一方面侦听端口成功启动后,它一方面侦听端口31335,等待攻击守护进程的,等待攻击守护进程

75、的HELLO包,另一方面侦包,另一方面侦听端口听端口27665,等待客户端对其的连接。当客户端连,等待客户端对其的连接。当客户端连接成功并发出指令时,接成功并发出指令时,Master所在主机将向攻击守护所在主机将向攻击守护进程进程Ns所在主机的所在主机的27444端口传递指令。端口传递指令。137Trinoo攻击攻击n客户端客户端:连接连接Master所在主机的所在主机的27665端口,输入密端口,输入密码后,即完成了连接工作,进入攻击控制可操作的提码后,即完成了连接工作,进入攻击控制可操作的提示状态示状态。138trinoo有六个命令有六个命令 nmtimer:设定攻击时长,如:设定攻击时长

76、,如mtimer60,攻击,攻击60秒,如秒,如果不设置的话,默认是无限果不设置的话,默认是无限ndos:对某一目标主机实施攻击,如:对某一目标主机实施攻击,如dos12.34.45.56nmdie:停止正在实施的攻击,使用这一功能需要输入口:停止正在实施的攻击,使用这一功能需要输入口令令killmenmping:请求攻击守护进程:请求攻击守护进程Ns回应,监测回应,监测Ns是否工作是否工作nmdos:对多个目标主机实施攻击:对多个目标主机实施攻击nmsize:设置攻击:设置攻击UDP包的大小包的大小139DDoS的预防的预防 检测自己的系统是否被植入了攻击守护程序,最简单检测自己的系统是否被

77、植入了攻击守护程序,最简单的办法,检测上述提到的的办法,检测上述提到的udp端口,如果处于监听状端口,如果处于监听状态,就要引起注意。或者用专门的检测软件发现攻击态,就要引起注意。或者用专门的检测软件发现攻击守护进程。守护进程。封掉不必要的封掉不必要的UDP服务,如服务,如echo、chargen等,减等,减少少udp攻击的入口。攻击的入口。在敏感主机如在敏感主机如www服务器使用服务器使用IP过滤软件。过滤软件。140口令破解(口令破解(Password Crack)n口令是很多系统认证用户的唯一标识;口令是很多系统认证用户的唯一标识;n口令破解口令破解就是尝试猜测或者解密用户的口令就是尝试

78、猜测或者解密用户的口令q离线口令破解离线口令破解:攻击者首先通过其他手段获取目标主攻击者首先通过其他手段获取目标主机上的用户口令文件(通常是加密的),然后脱离机上的用户口令文件(通常是加密的),然后脱离目标主机进行破解。目标主机进行破解。q在线破解:在线破解:在线破解就是通过网络反复登录系统或在线破解就是通过网络反复登录系统或者服务,直到猜中口令为止。者服务,直到猜中口令为止。141口令破解器口令破解器 n口令破解器口令破解器不是对加密后的口令执行解密操作以获取口不是对加密后的口令执行解密操作以获取口令,因为很多系统对口令的加密使用了不可逆的算法。令,因为很多系统对口令的加密使用了不可逆的算法

79、。142口令破解器口令破解器n口令加密过程:口令加密过程:就是用加密算法对从口令候选器送来的就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密文。候选口令进行加密运算而得到密文。q加密算法要采用和目标主机一致的加密算法,加密算加密算法要采用和目标主机一致的加密算法,加密算法有多种,通常与操作系统的类型和版本相关。法有多种,通常与操作系统的类型和版本相关。n口令比较口令比较就是将从候选口令计算得到的密文和文件中的就是将从候选口令计算得到的密文和文件中的保存的口令信息相比较,如果一致,那么口令破解成功,保存的口令信息相比较,如果一致,那么口令破解成功,可以使用候选口令和对应的帐号登录目

80、标主机;如果不可以使用候选口令和对应的帐号登录目标主机;如果不一致,则尝试下一个候选口令。一致,则尝试下一个候选口令。143候选口令的选择候选口令的选择n根据候选口令的产生办法不同,口令破解可以分为根据候选口令的产生办法不同,口令破解可以分为暴暴力破解和字典破解。力破解和字典破解。n暴力破解:暴力破解:就是利用无穷列举的方法尝试帐号或口令。就是利用无穷列举的方法尝试帐号或口令。暴力破解仅对非常简单的密码有效。暴力破解仅对非常简单的密码有效。n口令字典,就是攻击者认为一些网络用户经常使用的口令字典,就是攻击者认为一些网络用户经常使用的口令,将这些常用的口令集合在一起的一个文本文件。口令,将这些常

81、用的口令集合在一起的一个文本文件。所谓字典破解所谓字典破解就是对字典中的口令逐一进行测试发现就是对字典中的口令逐一进行测试发现口令的方法。口令的方法。144本章内容本章内容 1、网络欺骗、网络欺骗2、嗅探技术、嗅探技术3、扫描技术、扫描技术4、口令破解技术、口令破解技术5、缓冲区溢出、缓冲区溢出6、拒绝服务攻击、拒绝服务攻击145本章内容本章内容 1、什么是、什么是IP欺骗?欺骗?2、电子邮件欺骗的基本方法有哪些?、电子邮件欺骗的基本方法有哪些?3、为什么通过以太网可以获取许多信息?、为什么通过以太网可以获取许多信息?4、什么是扫描器,其主要功能是什么?、什么是扫描器,其主要功能是什么?5、什么是漏洞?通过漏洞扫描可以实现哪些目的?、什么是漏洞?通过漏洞扫描可以实现哪些目的?6、什什么么是是缓缓冲冲区区溢溢出出?缓缓冲冲区区溢溢出出攻攻击击都都有有哪哪些些方方法?法?146

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号