网络攻击技术原理课件_第1页
网络攻击技术原理课件_第2页
网络攻击技术原理课件_第3页
网络攻击技术原理课件_第4页
网络攻击技术原理课件_第5页
已阅读5页,还剩142页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要讲授:

1、网络欺骗

2、嗅探技术

3、扫描技术

4、口令破解技术

5、缓冲区溢出

6、拒绝服务攻击网络攻击技术原理1网络攻击技术原理网络欺骗

一、IP欺骗 二、电子邮件欺骗 三、Web欺骗 四、非技术类欺骗 五、网络欺骗的防范

网络欺骗是指攻击者通过伪造自己在网络上的身份,从而得到目标主机或者网络的访问权限。2网络攻击技术原理网络欺骗

一、IP欺骗 使用虚假IP地址来达到欺骗目的。 1、基本地址变化;

2、使用源路由选项截取数据包;

3、利用UNIX主机上的信任关系;

4、TCP会话劫持3网络攻击技术原理网络欺骗 1、基本地址变化 发送的数据包带有假冒的源地址(攻击者可得到被假冒放的权限;不能根据IP找到攻击源)。

修改数据包的IP地址必须通过底层的网络编程实现。

Windows平台使用原始套接字可以手工构造IP包。4网络攻击技术原理网络欺骗 2、源路由攻击 源路由:TCP/IP协议提供的一种机制,可让源主机指定通过互联网的路径。

如果攻击者使用源路由选项并保证自己在所指定的路径上,那么他就能得到应答包。5网络攻击技术原理

一个IP数据包由包头和数据体两部分组成。包头由20字节的固定部分和变长的可选项成。

6网络攻击技术原理网络欺骗 3、信任关系

UNIX中,用户为方便同时使用多个主机,经常在主机之间建立信任关系。

远程用户启动rlogin访问本地Linux主机。 在/home/.rhosts找远程主机名及用户名;7网络攻击技术原理网络欺骗 1)编辑xinetd配置文件rsh,rexec,rlogin

;

2)配置securetty echo“rsh”>>/etc/securetty

;

echo“pts/0”>>/etc/securetty

;

3)配置.rhosts

这个文件存放在每个用户的根目录中,包含了允许客户端登陆的IP地址和用户名,如:

echo"9root">>/root/.rhosts表示允许9的IP地址以root用户登陆本机

。8网络攻击技术原理网络欺骗4)重新启动xinetd

#servicexinetdrestart

;5)测试在9的机器上使用rlogin命令远程登陆:

#rlogin8

9网络攻击技术原理网络欺骗

欺骗过程:

1)选定目标主机,挖掘信任模式,找到被目标主机信任的主机;

2)采用某种方法使得被信任的主机丧失工作能力;

3)伪装成倍信任的主机,建立于目标主机的机遇地址验证的连接。

欺骗过程:

1)选定目标主机,挖掘信任模式,找到被目标主机信任的主机;

2)采用某种方法使得被信任的主机丧失工作能力;

3)伪装成被信任的主机,建立与目标主机的基于地址验证的连接。10网络攻击技术原理1.5TCP/IP协议基础4、TCP会话劫持TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。11网络攻击技术原理1.5TCP/IP协议基础

SEQ:当前数据包第一个字节序号;

ACK:期望收到对方数据包第一个字节序号;12网络攻击技术原理网络欺骗在每一个数据包中,都有两段序列号,它们分别为:

SEQ:当前数据包中的第一个字节的序号

ACK:期望收到对方数据包中第一个字节的序号13网络攻击技术原理网络欺骗A和B进行一次TCP会话,C为攻击者,劫持过程如下:

A向B发送一个数据包

SEQ:XACK:Y包大小为:60

B回应A一个数据包

SEQ:YACK:X+60包大小为:50

A向B回应一个数据包

SEQ:X+60ACK:Y+50包大小为:40

B向A回应一个数据包

SEQ:Y+50ACK:X+100包大小为:30攻击者C冒充主机A给主机B发送一个数据包

SEQ:X+100ACK:Y+80包大小为:20B向A回应一个数据包

SEQ:Y+80ACK:X+120包大小为:1014网络攻击技术原理网络欺骗Hunt软件:能进行嗅探、截取、会话劫持;tarzxvfhunt-1.5.tgzcdhunt-1.5make./huntl\w\s\a15网络攻击技术原理网络欺骗Hunt软件:测试;Winxp:30;Linux1:31;Linux2:32;实验:WinxptelnetLinux1;Linux2作为攻击者;Linux2启动./hunt;测试l\w\s\a;Linux需要安装telnet-server包;16网络攻击技术原理网络欺骗Linux上Telnet服务开启;①检测telnet、telnet-server的rpm包是否安装

[root@localhostroot]#rpm-qatelnet

telnet-0.17-25//telnet*.rpm是默认安装的

[root@localhostroot]#rpm-qatelnet-server

空//telnet*.rpm是默认没有安装的②安装telnet-server

[root@localhostroot]#rpm-ivhtelnet-server*.i386.rpm17网络攻击技术原理网络欺骗Linux上Telnet服务开启;③修改telnet服务配置文件

vi

/etc/xinetd.d/telnet

disable=no④重新启动xinetd守护进程

由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd

[root@localhostroot]#servicexinetdrestart18网络攻击技术原理网络欺骗 ●ARP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”;ARP地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位),属于链路层协议。

在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据MAC地址来确定接口的。19网络攻击技术原理网络欺骗(1)ARP协议有两种数据包:请求包(含有目的IP的以太网广播数据包)、应答包(目标主机收到请求包,发现与本机IP相同,则返回ARP应答包);(2)ARP缓存表用于存储其他主机或网关的IP地址与MAC地址的对应关系,每台主机、网关都有一个ARP缓存表(动态、静态;arp-a);20网络攻击技术原理网络欺骗21网络攻击技术原理网络欺骗22网络攻击技术原理网络欺骗 ●ARP欺骗的原理:主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP地址对应的关系替换掉原有的ARP缓存表里相应信息。23网络攻击技术原理网络欺骗24网络攻击技术原理网络欺骗 ●防范ARP欺骗

*MAC地址绑定;

*使用静态的ARP缓存表;

*使用ARP欺骗防护软件;25网络攻击技术原理网络欺骗 ●防范IP欺骗:

*防范地址变化欺骗(限制用户修改网络配置、入口过滤、出口过滤);

*防范源路由欺骗;

*防范信任关系欺骗;

*防范会话劫持攻击(加密、使用安全协议、限制保护措施);26网络攻击技术原理网络欺骗

二、电子邮件欺骗1、电子邮件欺骗的原理及实现方法2、电子邮件欺骗的防御27网络攻击技术原理网络欺骗 1、电子邮件欺骗的原理及实现方法*

利用相似的电子邮件地址;*远程登录到25端口;*修改邮件客户软件设置;28网络攻击技术原理网络欺骗MDaemonMailServer

:*md.exe,安装;*

StartMDaemon;*域名:setup/ExtraDomains;*账户名:Accounts/NewAccount;29网络攻击技术原理网络欺骗MDaemonMailServer

:*

;*;30网络攻击技术原理网络欺骗远程登录到25端口:*telnet25;*

helotest;*

Mailfrom:;*Rcptto:;*

data;*to:;*

from:;*

subject:test-mail;*

.//结束31网络攻击技术原理网络欺骗Outlook设置:*“工具”、”账户”、”添加邮件”;*设置显示用户名、回复地址;*设置邮件服务器地址;*属性:回复地址;服务器选项卡:身份认证;32网络攻击技术原理网络欺骗 2、电子邮件欺骗的防御*

邮件接收者;*邮件发送者;*邮件服务器;*邮件加密;33网络攻击技术原理网络欺骗

三、Web欺骗1、基本的网站欺骗2、中间人攻击3、URL重写34网络攻击技术原理网络欺骗1、基本的网站欺骗目前在互联网上注册一个域名没有严格的审查,攻击者可以注册一个非常类似的有欺骗性的站点。典型的例子是假冒金融机构的网站,偷盗客户的信用卡、银行卡等信息。例如,中国工商银行网站为“www.icbc.”,有人注册了网站“www.lcbc.”,35网络攻击技术原理网络欺骗这种欺骗方式被专家定义为网络陷井程序,也叫做网络钩鱼程序(phishing),多以欺骗用户信用卡号、银行帐号、股票信息等获取经济利益为目的。防止基本的网站欺骗是使用站点服务器认证。服务器认证是服务器向客户提供的一个有效证书,它能证明谁是谁,可以把证书看作服务器的一张身份证。36网络攻击技术原理网络欺骗2、中间人攻击在中间人攻击中,攻击者找到一个位置,使进出受害方的所有流量都经过他。攻击者通过某种方法把目标机器的域名对应的IP更改为攻击者所控制的机器,这样所有外界对目标机器的请求将发给攻击者的机器。37网络攻击技术原理网络欺骗DNS欺骗DNS域名服务器,当一台主机发送要求解析某个域名时,首先把解析请求发到自己的DNS服务器上;DNS的功能就是把域名转换成IP地址;DNS服务器中存储了主机的域名和IP地址的对应;38网络攻击技术原理网络欺骗DNS欺骗就是在服务器中伪造解析记录;39网络攻击技术原理网络欺骗攻击者可以控制本地的域名服务器;攻击者无法控制DNS服务器;40网络攻击技术原理网络欺骗3、URL重写URL重写是指修改(或重写)Web内容中的URL,例如指向与原始URL不同位置的结果URL的过程。41网络攻击技术原理网络欺骗浏览器的地址栏和状态栏可以显示连接中的Web站点地址及其相关的传输信息,用户可以由此发现URL重写的问题。攻击者往往在URL地址重写的同时,也要重写地址栏和状态栏,以达到其掩盖欺骗的目的。42网络攻击技术原理网络欺骗ASP中,安装IISRewrite组件后就可设置URL重写;下载一个ISAPIRewrite的安装包;URL重写的配置文件默认为C:\ProgramFiles\Helicon\ISAPI_Rewrite目录下的httpd.ini文件,在此文件中输入Rewrite的规则即可。

RewriteRule/books/index.html/books/secret/hello.asp43网络攻击技术原理网络欺骗

四、非技术类欺骗

其目标是搜集信息来侵入计算机系统,其他目标包括侦察环境,找出安装了什么硬件和软件、服务器上装载了什么补丁等信息。社交工程的核心是,攻击者设法伪装自己的身份并设计让受害人泄密私人信息。44网络攻击技术原理网络欺骗攻击者打电话给帮助台要求建立一个新帐号。例如,攻击者假装是一名新员工,要求尽快建立一个新帐号。攻击者打电话给IT部门,假装成一个查询公司正在运行何种软件的卖主。攻击者假冒经理让员工给他发建议书。

45网络攻击技术原理嗅探技术

一、以太网的嗅探原理 二、嗅探器的实现 三、嗅探器的检测与防范嗅探器(Sniffer)是一种网络管理工具,它通过捕获网络上传送的数据包来收集敏感数据,这些敏感数据可能是用户的账号和密码。Sniffer在形式上可以是硬件产品或作为软件程序运行。46网络攻击技术原理一、以太网的嗅探原理以太网中,如采用共享集线器作为网络互联设备,则任两台主机的所有网络数据包都在总线上进行传送,而总线上的任何一台主机都能够侦听到这些数据包。嗅探技术47网络攻击技术原理在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:帧的目标MAC地址等于自己的MAC地址的帧。帧的目标地址为“广播地址”的帧。嗅探技术如果局域网中某台机器的网络接口处于混杂(promiscuous)模式,即网卡可以接收其听到的所有数据包,那么它就可以捕获网络上所有的报文,48网络攻击技术原理通常将嗅探器放置在被攻击机器或网络附近;或者将其放在网关\路由器上;嗅探技术49网络攻击技术原理嗅探技术二、嗅探器的实现例:使用原始套接字在Windows平台上编写一个捕获数据包的sniffer程序,mysniffer;50网络攻击技术原理嗅探技术三、嗅探器的检测与防范①Sniffer不会在网络上主动发送数据包,所以不易被发现。可以检查计算机上当前正在运行的程序列表,检查是否有来历不明的程序正在运行。②在系统中搜索查找可疑的记录文件,该文件的特点是其大小不断增加且时间不断更新;③可检查系统中的网卡是否工作在混杂模式。51网络攻击技术原理嗅探技术④为防止网络上的数据被Sniffer,特别是一些比较敏感的数据如用户ID或口令等等,可以使用加密手段。⑤使用安全拓扑结构。将网络分为不同的网络段,一个网络段是仅由能互相信任的计算机组成的,网络段上的计算机通过以太网(Hub)连接,各网络段之间通过交换机(Switch)相互连接,交换机不会将所有的网络数据包广播到各个网络段。52网络攻击技术原理嗅探技术Sniffer往往是攻击者在侵入系统后用来收集有用信息的工具,因此防止系统被突破是关键。系统安全管理员要定期对网络进行安全测试,及时安装系统安全补丁,防止安全隐患。要控制高级权限的用户的数量,同时也要注意许多Sniffer攻击往往来自网络内部。53网络攻击技术原理扫描技术扫描器是一种自动检测远程或本地主机安全性弱点的程序。扫描器通过发送特定的网络数据包,并记录目标主机的应答消息,可收集到关于目标主机的各种信息。例如目标主机是否支持匿名登录、是否开放telnet服务等;54网络攻击技术原理扫描技术可以手工进行扫描,也可以使用扫描软件自动进行。在手工进行扫描时,需熟悉各种网络命令,对命令执行后的输出进行分析。用扫描软件进行扫描时,扫描软件一般都有分析数据的功能。55网络攻击技术原理扫描技术一、网络扫描诊断命令二、端口扫描三、操作系统探测四、漏洞扫描56网络攻击技术原理扫描技术一、网络扫描诊断命令1、ping可以判断目标主机是否在运行,了解网络延时;2、tracert/traceroute跟踪一个数据包发送到目标主机所经过的路由;57网络攻击技术原理扫描技术3、telnet命令

telnet命令缺省使用TCP23号端口,可登录到目标计算机上进入shell状态。4、rusers\finger\host命令58网络攻击技术原理扫描技术二、端口扫描

端口是传输层的TCP/IP协议与上层应用程序之间的接口点,不同的应用程序可以使用不同的端口调用传输层的服务。端口扫描就是向目标主机的指定端口发送数据包,根据目标端口的反应确定哪些端口是开放的,即哪些服务处于监听状态。59网络攻击技术原理扫描技术端口扫描

①TCPconnect扫描(全连接扫描)

②TCPSYN扫描(半连接扫描)

③秘密扫描

④其他端口扫描技术60网络攻击技术原理扫描技术①TCPconnect扫描(全连接扫描)与目标主机的某个端口建立TCP连接。如果目标主机上的某个端口处于侦听状态,则连接成功,若目标主机未开放该端口,则connect操作失败。61网络攻击技术原理62网络攻击技术原理for(i=1;i<65535;i++){//尝试所有端口

server_addr.sin_port=htons(i);if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){fprintf(stderr,"SocketError:%s\a\n",strerror(errno));exit(1);}扫描技术63网络攻击技术原理/*与指定IP的第i个端口连接*/if(connect(sockfd,(structsockaddr*)(&server_addr),sizeof(structsockaddr))!=-1){printf("port%disopen\n",i);}close(sockfd);}64网络攻击技术原理扫描技术②TCPSYN扫描(半连接扫描)扫描主机向目标主机的端口发送一个请求连接的SYN数据报文,如果目标主机返回SYN|ACK,表示端口处于侦听状态,若返回RST数据包,表示端口没有处于侦听态,从而可以判断端口是否开放。

65网络攻击技术原理扫描技术*

如果收到一个SYN|ACK,则扫描程序发送一个RST数据包来终止这个连接。*TCP的三次握手并没有完成,正常的TCP连接无法建立,这个扫描信息不会进入目标主机的系统日志,一般不会在目标计算机上留痕迹。66网络攻击技术原理67网络攻击技术原理使用Windows下的RawSocket编写一个TCPSYN扫描程序

synscan;第一部分:定义关键变量第二部分:创建套接字,设置选项;第三部分:构造SYN数据包;第四部分:发送第五步:创建监听套接字,接收并分析应答;扫描技术68网络攻击技术原理*F:\tools\源程序\第5章局域网扫描\1.SearchIP*F:\tools\源程序\第5章局域网扫描\2.PortScanner扫描技术69网络攻击技术原理扫描技术③秘密扫描秘密扫描是一种不被入侵检测、防火墙、包过滤器和日志审计等工具所检测的扫描技术;该类技术不包含三次握手协议的任何部分,所有无法被记录下来,比半连接扫描更为隐蔽;秘密扫描有TCPFIN扫描、TCPACK扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。70网络攻击技术原理秘密扫描-FIN扫描

多数过滤器能过滤SYN数据报文,但是允许FIN数据报文通过,而且日志系统一般不会记录这种数据报文,利用这一特点的扫描就是TCPFIN扫描。

71网络攻击技术原理秘密扫描-FIN扫描

原理:扫描主机向目标主机发送FIN数据包,若FIN数据包到达一个开放的端口,数据包将被丢弃,不返回任何信息;相反,如果到达一个未开放的端口,TCP会把它判断成是错误,数据包被丢掉,并返回一个RST数据包,以此便可推断出目标端口是否开放。这种方法和系统的实现有一定的关系,有的系统不管端口是否打开都会回复RST,在这种情况下此种扫描就不适用了。

72网络攻击技术原理NULL扫描

扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位全部置0后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。扫描的有效性和系统的实现有关。73网络攻击技术原理XMAS扫描

扫描主机将发送的TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。74网络攻击技术原理扫描技术FIN扫描、NULL扫描和Xmax扫描的原理相同,都利用了TCP的RFC文档中的一些细节规定。在RFC793中规定:“如果端口是关闭的(closed),则对进入的任何不包含RST的包都回应一个RST包”以及“凡是发送到开放端口的不包含SYN、RST或者ACK标志的包,都认为是不该收到的包而被丢弃”。75网络攻击技术原理扫描技术④其他端口扫描技术IP分片扫描不直接发送TCP探测数据包,而是预先将数据包分成两个较小的IP数据包,传送给目标主机,目标主机收到这些IP段后会把它们组合还原为原先的TCP探测数据包。将数据包分片的目的是使他们能够通过防火墙和包过滤器。76网络攻击技术原理扫描技术TCPACK扫描:扫描主机向目标主机发送ACK数据包,根据返回的RST数据包判断目标端口的信息。有两种方法可以用来进行判断:其一,若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭;其二,若返回的RST数据包的WINDOW值非零,则端口开放,反之端口关闭。77网络攻击技术原理扫描技术SYN|ACK扫描:扫描主机不向目标主机发送SYN数据包,而是先发送SYN|ACK数据包。目标主机将报错,并判断为一次错误的连接。而且若目标主机端口开放,目标主机将返回RST信息,反之,目标主机将不返回任何信息,数据包直接被丢掉。78网络攻击技术原理扫描技术UDP端口扫描使用UDP协议,处于侦听状态的端口对扫描探测并不发送一个确认,但向某些主机的未侦听UDP端口发送一个数据包时会返回一个ICMP_PORT_UNREACH错误,这样就可以判断出端口是否处于侦听状态。79网络攻击技术原理扫描技术三、操作系统扫描是发现目标主机操作系统类型和版本的一项技术。早期的简单探测方法:利用Telnet服务旗标、FTP服务旗标、HTTP信息等来进行探测;栈指纹识别技术:TCP/IP栈指纹、ICMP栈指纹、被动指纹识别等。80网络攻击技术原理扫描技术81网络攻击技术原理扫描技术栈指纹识别技术TCP/IP栈指纹识别:由于各版本操作系统对TCP/IP协议体系的具体实现上略有不同,通过提交不同的IP数据包并分析目标主机返回的响应数据包,比较其中各标记参数的不同就可以将不同的操作系统区分开。82网络攻击技术原理扫描技术ICMP栈指纹识别主要是通过发送UDP或ICMP的请求报文,然后分析各种ICMP应答,根据应答包的差异来区分不同操作系统。被动指纹识别:它不主动发送数据包,只是被动地捕获远程主机返回的包来分析其操作系统类型和版本。

83网络攻击技术原理扫描技术四、漏洞扫描除了扫描出远程或本地主机的各种TCP/UDP端口分配外,扫描器还可以自动地检测主机中是否存在漏洞,即安全脆弱点。漏洞,又称脆弱性,是计算机系统在硬件、软件、协议的具体实现和系统安全策略上存在缺陷和不足,从而可使攻击者能在未授权的情况下访问或破坏系统。84网络攻击技术原理扫描技术在不同的软、硬件设备中,不同系统中或同种系统在不同的设置条件下,都会存在各自不同的漏洞。而且漏洞问题是不可避免的,它将长期存在。漏洞本身并不能对系统安全造成什么损害,关键问题在于攻击者可以利用这些漏洞引发安全事件。85网络攻击技术原理扫描技术从脆弱性来源划分系统配置不当导致的脆弱性各种系统软件、应用软件存在脆弱性系统的某些功能自身存在安全隐患操作系统本身存在安全隐患86网络攻击技术原理扫描技术从网络攻击的角度

非法获取系统操作权限执行任意代码非法读写系统文件拒绝服务口令获取服务信息泄漏伪造信息欺骗设置后门87网络攻击技术原理扫描技术漏洞分级:根据对系统造成的潜在威胁以及被利用的可能性可将各种安全漏洞进行分级,可以分为高、中、低3级;漏洞库:漏洞库就是把所有系统安全漏洞及其相关信息存储到数据库中,方便计算机用户更详细地了解系统安全漏洞,方便用户检索自己的系统会存在哪些漏洞,可能对系统安全造成什么危害以及如何补救等等。88网络攻击技术原理扫描技术国内较知名的公布漏洞方面的站点:国家计算机网络入侵防范中心(http://)绿盟科技(http://)安全焦点(http://)中国信息安全论坛(http://)安络科技(http://)20CN网络安全小组()中国计算机网络应急处理协调中心(http://)等。89网络攻击技术原理扫描技术国际安全组织建立的漏洞库BugTraq漏洞库ICAT漏洞库CERT/CC漏洞库SANS漏洞库ISS的X-Force漏洞库Securityfocus漏洞库CVE(CommonVulnerabilityandExposures)漏洞库90网络攻击技术原理扫描技术根据扫描的目标,扫描器产品可分为基于主机的和基于网络的两种。基于主机的扫描是在被检查主机上运行扫描器,检查所在主机上面的漏洞;而基于网络的扫描是通过网络远程探测其他主机的安全漏洞。91网络攻击技术原理扫描技术根据扫描方法,可以将脆弱性扫描分为静态检查和动态测试法:静态检查:根据安全脆弱点数据库,建立特定于具体网络环境和系统的检测表,表中存放了关于已知的脆弱点和配置错误的内容,检查程序逐项检查表中的每一项并和系统进行对比。动态测试:应用特定的脚本或程序去检查或试探主机或网络是否具有某种脆弱点。92网络攻击技术原理XSCAN93网络攻击技术原理NMap扫描器Nmap(NetworkMapper)是一款开源的网络探测和安全审核的工具。它的设计目标是快速地扫描一个网络或一台主机上的开放的端口。除了端口表,Nmap还能提供关于目标主机的进一步信息,包括域名、操作系统、设备类型和MAC地址等。94网络攻击技术原理NMap扫描器Nmap使用原始IP包来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),使用什么类型的包过滤器/防火墙,以及一些其它功能。95网络攻击技术原理Nmap简介Nmap命令的使用方式为:nmap[扫描类型...][选项]{扫描目标说明}nmapnmap-sSnmap-sUnmap-O96网络攻击技术原理扫描技术分析PortScanner源码,了解基于libpcap开发扫描器的原理;97网络攻击技术原理缓冲区溢出(BufferOverflow)1、什么是缓冲区溢出2、覆盖堆栈中变量的内容3、覆盖堆栈中寄存器的内容4、安全编程98网络攻击技术原理缓冲区溢出(BufferOverflow)1、什么是缓冲区溢出

由于数据处理的需要,程序会预留或分配一些逻辑上连续的数据区空间用于对数据的缓存,这类数据区通常称为缓冲区。

缓冲区溢出:就是通过在程序的缓冲区写入超出其长度的内容,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的目的。99网络攻击技术原理一个程序执行状态下在内存中的存储通常分为程序段、数据段和堆栈三部分。100网络攻击技术原理从逻辑上讲,进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。101网络攻击技术原理EIP:扩展指令寄存器,下一条要执行的指令的地址;ESP:扩展堆栈寄存器,存储栈顶指针;EBP:扩展基址寄存器;102网络攻击技术原理103网络攻击技术原理104网络攻击技术原理#include<iostream.h>voidfoo(intm,intn){ intlocal; local=m+n;}voidmain(){ intt1=0x1111; intt2=0x2222; foo(t1,t2);}…00003333Oldebp:0012FF80Return:004010930000111100002222Main:esp=0012FF2C;…………105网络攻击技术原理程序是从内存低端向高端按顺序存放的;输入的形参按照自右向左的顺序入栈;而堆栈的生长方向和内存的生长方向相反,因此在堆栈中压入的数据超过预先给堆栈分配的容量时,就会出现堆栈溢出。106网络攻击技术原理1)攻击者可以用任意数据覆盖栈中变量的内容;2)覆盖堆栈中保存的寄存器内容,导致程序崩溃;3)把堆栈里面的返回地址覆盖,替换成一个自己指定的地方,而在那个地方,可以植入一些精心设计了的代码以达到攻击的目的。107网络攻击技术原理缓冲区溢出(BufferOverflow)2、覆盖堆栈中变量的内容

安全漏洞的一个经典例子是基于口令的认证,首先从本地数据库中读取口令并存储在本地变量中,然后用户输入口令,程序比较这两个字符串。108网络攻击技术原理缓冲区溢出(BufferOverflow)3、覆盖堆栈中寄存器的内容

在栈上声明的各种变量的位置就紧靠着调用函数的返回地址。

如果用户输入的数据超过边界就会将调用函数的返回地址覆盖,造成程序崩溃。109网络攻击技术原理VC环境下一个c语言程序的例子#include<stdio.h>#include<string.h>charname[]="abcdefghijklmnopqrstuvwxyz";intmain(){charbuffer[8];strcpy(buffer,name);return0;}110网络攻击技术原理111网络攻击技术原理缓冲区溢出(BufferOverflow)发生溢出,因为字符串name比目标buffer要长。错误签名中的offset“706f6e6d”就是4个字母“ponm”对应的16进制值,实际上是这4个字母覆盖了堆栈中函数返回值的位置,程序按照这个地址去执行时发生了错误。112网络攻击技术原理缓冲区溢出(BufferOverflow)下面再通过两个小程序的执行过程看看其中堆栈的操作和溢出的产生过程。(hiStackHack)溢出攻击的基本流程:注入恶意数据;溢出缓冲区;重定向控制流;执行有效载荷溢出点定位;覆盖执行控制地址;跳转地址的确定;shellcode定位和跳转;113网络攻击技术原理缓冲区溢出(BufferOverflow)缓冲区溢出漏洞的普遍性C/C++语言中,由于字符串处理函数(gets、strcpy等)没有对数组越界加以判断和限制,利用超长字符数组越界覆盖堆栈中的原有元素的值,可以修改堆栈中的返回地址并执行由返回地址指向的代码。用于覆盖堆栈中返回地址的数据和该返回地址指向的指令是经过精心设计的。4、溢出保护技术114网络攻击技术原理缓冲区溢出(BufferOverflow)软件开发过程中的防范策略编写正确的代码选用较为安全的语言,比如进行缓冲区长度检查的语言,java、c#等,并且不启用不安全代码。

内存访问错误的检测和修改;缓冲区溢出的错误;指针引用等;使用缓冲区保护技术

115网络攻击技术原理缓冲区溢出(BufferOverflow)检测值保护:StackGuard方法;微软基于这个方法,添加了一个编译器标记(/GS);运行时拦截:函数库Libsafe修改了不安全C的标准库函数,加入缓冲区边界检查,检查在调用这些函数时是否发生缓冲区溢出;使用缓冲区保护技术

116网络攻击技术原理拒绝服务攻击(DienialofService)

1、拒绝服务攻击的根源2、smurf攻击3、SYN洪泛攻击4、Teardrop攻击5、DDoS攻击117网络攻击技术原理拒绝服务攻击

攻击的目的是使目标主机停止网络服务,而其他攻击的目的往往是欲获取主机的控制权。这种攻击的危险性在于它可以在没有获得主机的任何权限的情况下进行,只要主机连接在网络上就可能受到攻击。攻击简单、容易达到目的、难于防止和追查困难。118网络攻击技术原理拒绝服务攻击产生的根源当一个对资源的合理请求大大超过系统的处理能力时就会造成拒绝服务攻击。拒绝服务攻击

例如,对已经满载的Web服务器进行过多的请求,或者不断生成新的文件将系统的磁盘空间耗尽。资源包括网络带宽、文件系统空间容量、进程或者内存空间、CPU处理能力、处理队列等。119网络攻击技术原理还有一些恶意的拒绝服务攻击利用操作系统或软件的漏洞,产生特殊的请求使系统崩溃或进入等待状态,而正常的服务请求却无法得到响应。拒绝服务攻击

拒绝服务攻击的种类利用软件实现的缺陷利用协议的漏洞合理请求大大超过系统的处理能力120网络攻击技术原理Smurf攻击原理:广播信息可以发送到整个网络中的机器;当某台主机使用广播地址作为目标地址发送一个ICMPecho请求包时(Ping),一些系统会向该主机回应ICMPecho应答包,也就是说发送一个包会收到许多的响应包。Smurf发送出一个ICMPecho请求包,目的地址为广播地址,源地址为假冒为被攻击主机的IP地址,大量的ICMPecho应答包会发送到被攻击主机而消耗其网络带宽和CPU周期。

121网络攻击技术原理Smurf攻击122网络攻击技术原理Smurf攻击的抵御策略

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

④ISP则应使用网络入口过滤,以丢掉那些不是来自已知范围内IP地址的数据包。⑤对边界路由器的ICMPechoreply数据包进行过滤,然后丢弃它们,这样就能阻止Web服务器和内网被攻击。124网络攻击技术原理SYN淹没(flood)

125网络攻击技术原理SYNflood原理①如果客户机只发送初始的SYN包而不向服务器发送确认的ACK包,则会导致服务器一直等待ACK包直到超时为止;②由于服务器在有限的时间内只能响应有限数量的连接,这就会导致服务器一直等待回应而无法响应其他机器的连接请求。③如果客户机连续不断地发送SYN包,使得目标无法响应合法用户的连接请求,就发生拒绝服务。126网络攻击技术原理Teardrop攻击teardrop利用了系统在实现TCP/IP协议的处理程序中的错误进行攻击。系统允许将一个IP包分成几个分片打成IP包发送到目标,目标系统收到这些分片后要执行重组过程,将分片的IP包组合成一个完整的IP包。Teardrop攻击利用了系统在处理分片重组时的错误进行攻击。

127网络攻击技术原理Teardrop攻击①当系统收到一个个IP包,送到IP层进行组装,以形成发送端原来的IP包时,它将进入了一个循环中,将接收队列中的一个个数据包中的有效数据,拷贝到一个新分配的缓冲区中。②检查了每个分片数据是否过长,因为如果数据部分过长,将会向内核拷贝过多的数据,引起内核发生某种危险;③没有检查包中有效数据的长度是否过分小;*在系统中负数可以看作更大的正数;128网络攻击技术原理首先计算这一分片的终结位置:

end=offset+ntohs(iph->tot-len)–ihl;如果发现当前包的段偏移在前一包数据内部if(prev!=NULL&&offset<prev->end){i=prev->end-offset;offset+=i;/*调整分片的偏移*/ptr+=i;/*调整分片的指针*/}/*重新填写分片结构*/fp->offset=offset;fp->end=end;fp->len=end-offset;//fp->len是一个有符号整数129网络攻击技术原理130网络攻击技术原理

当前offset当前的end当前长度

上个片段的end

新end

新offset上个片段的end131网络攻击技术原理Teardrop攻击防范①许多早期的Linux实现中都有这个错误,向Linux发送很少几个这样的数据包,便可以引起Linux停机。②向Windows95、WindowsNT发送10~15个这样的包,也会引起死机。③最新的TCP/IP协议已经充分考虑了这种情况,他们一般会将这些分片丢弃。132网络攻击技术原理DDoS攻击

DDoS中,攻击者将攻击工具驻留在其他众多主机上,利用这些主机来对同一个目标发送大量的请求。这种攻击的根本原理就是人多力量大。

99年后半年开始,DDoS攻击在Internet上不断出现,并在应用的过程中不断得到完善,截至目前在Unix或Windows环境上已有一系列比较成熟的软件产品。133网络攻击技术原理Trinoo攻击Trinoo是基于UDPflood的攻击软件;它向被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论