IP安全:DoS攻击、tearDrop攻击和微小IP碎片攻击

版权声明:本文为博主原创,转载请注明出处。 https://blog.csdn.net/qq_33386311/article/details/89392847

攻击案例

IP欺骗,留后门

  1. 假设hack要攻击某主机x,x有一个terminal与某sever建立了连接。 假设tcp的seq是有规律的。
  2. hack 向server发syn洪泛,保证server在收到syn+ack后,不会发送RST
  3. hack 伪造ip(与server不同)向x-terminal发包,寻找seq的规律
  4. 冒充server_ip,根据seq规律,与x-terminal件里tcp连接
  5. 发包命令x-t将外界设置为信任,echo ++ > ./rhost

网络命令

  • route -n
  • 路由追踪 traceroute 实现原理用udp发包,TTL从1每次加1,直到N或目标主机,发包后根据收到的icmp超时报文计算时间差,当收到cimp端口不可达报文时,即到达目标主机。 https://zhuanlan.zhihu.com/p/36811672
  • RFC792 https://tools.ietf.org/html/rfc792
  • https://learningnetwork.cisco.com/thread/87662
  • 域名查询 nslookup www.baidu.com
  • whois
  • netstat -pnt 显示进程
  • nmap
  • netcat ip port 交互通信, net -pnt | grep port 侦察, nc -l port > 1.txt 传文件
  • tcpdump 截获和分析数据包的工具,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

arp安全

以太网帧的type =0806 表示arp
arp攻击:hack伪造arp应答包给target(当target使用arp广播寻找目的mac时,回答mac=hack)

ip安全

报文格式

20字节头部+最多40字节选项,IP数据报最长65535字节
MTU 1500字节,帧头6+6+2=14字节
常用ip头内容:
前4位,协议(ipv4 ipv6),然后是4位的头部长度,单位是4字节
标识字段用来唯一表示一个IP数据报,IP分片,根据标识和偏移重组,偏移量fragment offset的单位是8字节
checksum只校验头部
TTL,最大生存时间,即IP数据报被丢弃前,最多能经过几个节点,每过一节点,TTL减1,减到0时丢弃

DoS攻击

构造两个分片,第一个分片的偏移为0;第二个分片的偏移是64800。为了重组,目标主机会分配64k的缓存,可通过不断发包消耗目标内存。

tear drop攻击

利用系统处理IP分片重叠的漏洞
前提:当产生IP分片重叠时,系统采取这种策略——由第一分片覆盖重叠区域,并将第二分片的剩余部分重组到第一分片后。

先计算到底重叠长度,len=pre->end - p->offset;//pre代表前分片,p代表后分片
然后将指向第二个分片的指针朝后移动这个长度,p->offset += len;
接下来需要将第二个分片的剩余内容拷贝一下,以形成完整的数据报文。
首先需要计算第二个分片还剩余多少字节。unsigned short fp->len = p->end - p->offset;
接下来就可以从ptr开始,拷贝fp->len字节的内容,就完成了处理。
对于正常的重叠
在这里插入图片描述
对于不正常的重叠,fp->len 会产生溢出,len变成一个很大的数(2^16 + 负数),拷贝后,很容易把内存中系统内核部分覆盖,导致崩溃。
不正常的重叠

微小碎片攻击

包过滤防火墙,通过过滤SYN包,防止外部链接。假设防火墙filter的规则是:如果IP数据报的第一分片含有SYN,则拒绝这一分片,放行其他分片。
IP数据报最小分片长度为68字节,利用i选项字段填满ip头=60字节,,则第一分片数据部分可以只有8字节
第一分片只包含tcp头的前8字节,而syn被放在了第二分片,从而避开了filter。此时第二分片的offset为1。
微小碎片
如何防御:
如果第二分片offset ==1 且是tcp协议,则丢弃第二分片

参考:
https://zhuanlan.zhihu.com/p/58610182
《TCP/IP详解》

猜你喜欢

转载自blog.csdn.net/qq_33386311/article/details/89392847