常见的攻击方式详解

来源:互联网 发布:微信小说网站源码 编辑:程序博客网 时间:2024/04/27 03:48

Dos/DDos攻击:
Dos攻击是拒绝服务攻击,是指故意攻击网络协议的缺陷或者直接通过野蛮的手段残忍地手段耗尽被攻击对象的资源,目的就是让目标计算机或者网络无法提供正常的服务或者资源访问,使目标计算机停止甚至崩溃。这并不包括入侵目标计算机服务器或目标计算机。
DDos是分布式拒绝服务,借助客户机/服务器技术,将多个计算机联合在一起来攻击目标计算机,从而成倍的提高拒绝服务的攻击威力。

死亡之Ping :
死亡之Ping是一种拒绝服务攻击,方法是由攻击者故意发送大于65535个字节的IP数据包给对方,发送的IP数据包由于受链路层的MTU控制,所以在传输的过程中会分片,但是在重组报文的总长度会超过65535个字节,这时就会出现服务器不能正常运行或者崩溃情况。
原理: 攻击者向目标计算机发送一个ICMP报文(ICMP报文是和IP数据包封装在一起的,ICMP报头占8个字节【类型、代码、检验和、标识符、序列号】,ip报文头占20字节)
,发送ICMP echo request 报文的命令是ping,由于ip数据包最大长度是65535字节。而ICMP报头位于数据包之后,并与IP数据包封装在一起,因此ICMP数据包最大尺寸不超过65515字节,可以向主机发送回送请求,这样在最后分段中,改变其正确的偏移量和段长度组合,使系统在接受到全部的分段并重组的报文时总长度超过65535字节,这时主句就会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。

Teardrop:
攻击者A向受害者B发送一些分片的IP报文,并且故意将13位偏移量设置为错误值,致使B在重组这些IP分片报文的时候,会使B系统发生崩溃。
1. 获取被攻击主机的IP地址或者主机号
2. 发送自己封装的IP报文。
3. 设置偏移量和检验和。

SYN flood:
SYN flood是利用TCP缺陷,发送大量的伪造的TCP连接请求,致使被攻击的主机瘫痪。

原理: SYN flood是在客户机/服务器之间用TCP连接时候,在三次握手中完成的。
在三次握手中,首先客户端向被攻击的主机发送大量的SYN=1,序列号seq=x的TCP数据包,(序列号seq表示TCP从发端到收端发送数据的字节流,它表示在这个报文段中的第一个字节,而确认序列号seqack表示表示所接受到的下一个序列号即seq+1),被攻击的主机接受到这个客户机请求之后,返回到客户机中一个(SYN=1,ACK=1,seq=y,ack=x+1)的数据包,自己处于SYN_RECV状态,但是在返回时候由于客户机发送的TCP连接请求是伪造的,(即源地址不存在)没法返回数据,此时服务器端需要超时重传。因为客户机发送大量的伪造的TCP连接,在超时重传时间内,服务器端为了维护一个非常大的半连接列表从而消耗非常大的资源,其中简单的保存和遍历就会消耗很大的资源。最终产生堆栈溢出崩溃或者服务器也忙于处理伪造的TCP连接请求而无法处理客户端正常请求。

1、获取被攻击主机的IP地址或者主机号
2、封装TCP报文头协议
3、伪造TCP报头信息,发送给被攻击主机大量的伪造的TCP报头数据
Smurf攻击
使用IP欺骗和ICMP回复方法使大量的网络传输充斥目标系统,从而引起目标系统为拒绝正常系统进行服务。

原理:发送伪造的ICMP数据包(包含IP数据包头),将目的地址设为某个网络广播地址(主机号全为1),源地址设为要攻击的目标主机。

如何实现上述步骤:
1. 锁定一个被攻击主机,获取其ip地址和端口号
2. 寻找作为中间代理的站点,通常选择多个。以便更好的隐藏自己,伪装攻击。
3. 给中间代理站点的广播地址发送大量的ICMP包(源地址是被攻击的目标主机),(发送的ICMP必须是请求回显得报头),
4. 中间代理向其所在的子网上的所有主机发送源IP地址欺骗的数据包。
5. 中间代理主机对被攻击的网络进行响应。

备注:中间代理如何获取
IP欺骗:
行动产生的IP数据包为伪造的源IP地址,以冒充其他系统或发件人的身份。

LAND攻击:
LAND攻击是一种使用相同的源的目的主机和端口号发送数据包到某台机器的攻击。结果通常使存在漏洞的机器崩溃。

原理:
在LAND攻击中,一个特别打造的SYN包中的源地址和目标地址都被设置成某一个服务器的地址。这时将导致接受服务器对它自己的地址发送SYN-ACK消息。结果导致这个地址又发回ACK消息并创建一个空连接。每一个这样的连接都将保留直到超时掉。

  1. 获取被攻击主机的IP地址和端口号
  2. 打造一个TCP数据包(源地址和目标地址都设置为被攻击主机的地址)
  3. 客户机发送这个数据包给被攻击的主机。
    4.被攻击的主机收到这个数据包之后,返回的消息发给了自己。

    中间人攻击:
    一种”间接“的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间。

一般采用SMB回话劫持和DNS欺骗。
回话劫持:
是一种结合了嗅探以及欺骗技术在内的攻击手段。简单的说就是攻击者把自己插入受害者和目标机器之间。并设法让受害者和目标机器之间的数据通道变成受害者和目标机器之间存在的一个代理机器的数据通道。
嗅探技术:网络嗅探需要用到网络嗅探器,查找网络漏洞和检查网络性能。
1.首先如何插入目标计算机和受害者之间。(嗅探技术和欺骗技术)
2.一个受害者主机,一个攻击者插入的代理机器,一个目标主机,攻击者插入的代理机器(通过嗅探和欺骗技术插入的),插入的机器可以对这二台主机进行信息篡改或者监听。

DNS欺骗:
攻击者通过入侵DNS服务器、控制路由器等方法把受害者要访问的目标机器域名对应的IP解析为攻击者所控制的机器,这样受害者原本要发送给目标机器的数据就发到了攻击者的机器上,这时攻击者就可以监听甚至修改数据。

  1. 如何入侵DNS服务器、控制路由器
  2. DNS欺骗具体流程详细分析

原理:
Client的DNS查询请求和DNS Server的应答数据包是依靠DNS报文的ID标识来相对应的。在进行域名解析时,Client首先用特定的ID号向DNS Server发送域名解析数据包。这个ID是随机产生的,DNS Server找到结果后使用此ID向Client发送应答数据包。Client接受到此包后,将接受到ID与请求包的ID对比,如果相同则说明接受到数据包是自己需要的,如果不同就丢弃此包。

不同攻击方法实现:
1. 因为DNS Message 仅使用一个简单的认证码来实施真实性验证,认证码是由Client程序产生,并由DNS server返回结果的,客户机只是使用这个认证码来辨别应答与申请查询是否匹配,这就使得针对ID认证码的攻击收到威胁。
2. 在DNS Request Message中可以增加信息,这些信息可以与客户机所申请查询的内容没有必然联系,因此攻击者就能在Request Message中根据自己的目的增加虚假的信息,比如增加其他Domain Server的Domain Name及其IP Address。此时Client在收到攻击的Domain Server上查询申请均被转向此前攻击者在Request Message中增加的虚假Domain Server,由此DNS 欺骗得以产生并对网络构成威胁。
3. 当DNS Server接受到Domain Name和IP Address相互映射的数据时,就将其保存在本地的Cache中,若再有Client请求查询此Domian Name对应的IP Address,Domain Server就会从Cache中将映射信息回复给Client,无需在Database中再次查询。如果黑客将DNS Request Message 的存在周期设定较长时间,就可以进行长期欺骗。

2.2 DNS欺骗攻击的方式
DNS欺骗技术常见的有内应攻击和序列号攻击两种。

内应攻击即黑客在掌控一台DNS Server后,对其Domain Database内容进行更改,将虚假IP Address指定给特定的Domain Name,当Client请求查询这个特定域名的IP时,将得到伪造的IP.

序列号攻击是指伪装的DNS Server在真实的DNS Server之前向客户端发送应答数据报文,该报文中含有的序列号ID与客户端向真实的DNS Server发出请求数据包中含有的ID相同,因此客户端会接收该虚假报文,而丢弃晚到的真实报文,这样DNS ID序列号欺骗成功。客户机得到的虚假报文中提供的域名的IP是攻击者设定的IP,这个IP将把客户带到攻击者指定的站点。

2.3 DNS 序列号欺骗攻击原理
DNS 序列号(ID)欺骗以侦测ID和Port为基础。在Switch构建的网络中,攻击方首先向目标实施ARP欺骗。当Client、攻击者和DNS Server同在一个网络时,攻击流程如下:①攻击方向目标反复发送伪造的ARP Request Message,修改目标机的ARP 缓存内容,同时依靠IP续传使Data经过攻击方再流向目的地;攻击方用Sniffer软件侦测DNS请求包,获取ID序列号和Potr;②攻击方一旦获得ID和Potr,即刻向客户机发送虚假的DNS Request Message,Client接收后验证ID和Potr正确,认为接收了合法的DNS应答;而Client得到的IP可能被转向攻击方诱导的非法站点,从而使Client信息安全受到威胁;③Client再接收DNS Server的Request Message,因落后于虚假的DNS响应,故被Client丢弃。当Client访问攻击者指向的虚假IP时,一次DNS ID欺骗随即完成

网络风暴:
由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量的复制,传播数据帧,导致网络性能下降,甚至网络瘫痪。
网络设备原因:交换机是一种基于MAC识别,能完成封装转发数据包功能的网络设备,交换机可以”学习“MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接受者之间建立一条临时的路径,使数据帧直接由源地址到达目的地址。集线器不是这样的。
网络环路:一条双绞线的两端插在同一个交换机的不同端口(现在交换机一般都带有环路检测功能。

网络病毒:Funlove、震荡波、RPC等病毒,一旦有机器中毒后,它们会立即通过网络进行传播。网络病毒传播,就会占据大量的网络带宽,引起网络堵塞,引起广播风暴

黑客常用的一些软件:网络执法官、网络剪刀手,对网吧内部进行网络攻击。

碎片攻击:
使用碎片网际协议(IP)分组的一个攻击。在这个攻击中,重新分组开始在另一个分组的中间。当操作系统接收到这些残缺的分组时,它分配内存来保留它们。这最后使用所有的内存资源来引起机器重启或者在系统处理分片时的逻辑不当导致接通崩溃的可能。

一般计算机存在的碎片攻击是IP碎片攻击,链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,如果IP层有数据包要传,而且这个数据包的长度超过了MTU,那么这个IP层就要对数据包进行分片操作,使每一片的长度都小于或等于MTU。假设要传一个UDP数据包,以太网的MTU为1500字节,一般IP首都为20字节,UDP首部为8字节,数据净荷部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。在分片中修改字段偏移量的值引起在目标计算机上重组的过程中出现重叠等问题,就是引起计算机出发处理,导致崩溃或者死机。
有teardrop ping of death jolt2

ARP欺骗:
ARP协议的原理:
在实现TCP/IP协议的网络环境下,一个ip包走到哪里都要考路由表定义,但是当ip包到达该网络后,哪台机器响应这个ip包确实靠该ip包中所包含的硬件mac地址来识别。,只有机器硬件mac地址和该IP包中的硬件mac地址相同的机器才会应答这个IP包。

同一网段ARP欺骗:
A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA
B:ip地址 192.168.0.2 硬件地址 BB:BB:BB:BB:BB:BB
C:ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC
一个位于主机B的入侵者想非法进入A的计算机,但是A有防火墙,但是搜集资料知道了A和C主机之间存在信任连接。开放端口(23端口),而他必须要使用telnet来进入主机A.
具体步骤:
1.先研究C主机,发现这台主机的漏洞。
2. 根据发现的漏洞,暂时停止工作。
3. 这段时间里,入侵者把自己的IP地址改为C主机的地址
4. 用工具发一个源ip地址为C主机ip地址,源MAC地址为B主机的MAC地址的包给主机A,要求主机A更新自己的arp转换表。
5. 主机更新了arp表中关于主机C的ip->mac对应关系。
6.防火墙失效,入侵的ip变成合法的mac地址,可以telnet了。

不同网段中ARP欺骗:
A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA
B: ip地址 192.168.1.2 硬件地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC

在现在的情况下,位于192.168.1网段的主机B如何冒充主机C欺骗主机A呢?显然用上面的办法的话,即使欺骗成功,那么由主机B和主机A之间也无法建立telnet会话,因为路由器不会把主机A发给主机B的包向外转发,路由器会发现地址在192.168.0.这个网段之内。
现在就涉及到另外一种欺骗方式―ICMP重定向。把ARP欺骗和ICMP重定向结合在一起就可以基本实现跨网段欺骗的目的。

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。

结合arp欺骗和ICMP重定向进行攻击的步骤:
1. 为了使自己发出去的非法ip包能在网络上能够存活长久一点,开始修改ip包的生存时间ttl(改为255),这有利于充足的广播。
2. 下载一个可以自由制作各种包的工具(hping2)
3. 寻找主机C的漏洞,然后按照这个漏洞当掉主机C
4.在该网络的主机找不到原来的192.0.0.3后,将更新自己的ARP对应表。于是他发送一个源ip地址为192.168.0.3硬件地址为BB:BB:BB:BB:BB:BB的响应包。
5.现在每台主机都知道了,一个新的MAC地址对应的192.168.0.3,一个新的ARP欺骗完成了。
6.但是每台主机都只会在局域网中找到这个地址而根本就不会发送一个192.168.0.3的ip包丢给路由。于是需要构造一个ICMP的重定向广播。
7.自己定制的一个ICMP重定向包告诉网络中的主机:“到192.168.0.3的路由最短路径不是局域网,而是路由,请主机重定向你们的路由路径,把所有到192.168.0.3的ip包丢给路由。
8.主机接受到这个合理的ICMP重定向,于是修改自己的路由路径,把对192.168.0.3的通讯都丢给路由器。
9.入侵者就可以在路由外收到路由内的主机ip包了。可以telnet主机A了。

但是使主机接受ICMP重定向也是有难度的:
限制条件:
1.新路由必须是直达的
2.重定向包必须来自去往目标的当前路由
3.重定向包不能通知主机用自己做路由
4.被改变的路由必须是一条间接路由

代理ARP应用:
一是有利的就是我们在防火墙实现中常说的透明模式的实现,另一个是有害的就是通过它可以达到在交换环境中进行嗅探的目的。

ARP攻击原理:
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络上产生大量的ARP通信量使网堵塞,攻击者只要持续不断发生伪造的ARP响应就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或者中间人攻击。

0 0