1.中间人攻击 局域网ARP攻击
受害者经过攻击者向网关发送数据。当主机A、和主机B通信时,都由主机C来为其“转发”,如图一,而A、B之间并没有真正意思上的直接通信,他们之间的信息传递同C作为中介来完成,但是A、B却不会意识到,而以为它们之间是在直接通信。这样攻击主机在中间成为了一个转发器,C可以不仅窃听A、B的通信还可以对信息进行篡改再传给对方,C便可以将恶意信息传递给A、B以达到自己的目的。
2.ARP 16字节包头:6原Mac 6目的Mac 2:帧类型
3.s->setuid:临时提高权限,在程序运行时,临时提高为程序拥有者的权限
-rws(可读可写可提高权限) 文件一般有红色底色
4.ARP攻击:向外发送假的mac地址到其他路由器的arp缓存中,当其他机子想连接时发现无法找到目的主机.
两个虚拟机:1号机:ifconfig查看ip列表;若有2号机缓存则sudo arp -d ip地址删除arp缓存
2号机:ifconfig查看本机ip地址;sudo netwox 80 -e 伪装ip地址 -I 本机ip地址,向外发送假的Mac地址
1号机:ping 2号机ip地址时,ping失败
5.ip数据报
ttl:time to alive ,发送时初始一个TTL,每经过一个路由TTL-1,当TTL为-时不可达,RIP协议就是通过设置不同TTL来找经过的路由
IP分片
为什么分片?应为一个IP数据报可包含65535个字节,但一个MTU最大传输单元为1500字节。
如何分片?IP数据报有一个标识位,可以产生数据报标识(属于哪一个数据报),有一个标志位(MF为1:不是最后一个分片,MF=0,最后一个数据报,DF=0不允许分片,DF=1允许分片),有一个片偏移,可以知道是第几个分片
思考:
- 若有最后一个分片没收到,你怎么做?
- 若有分片的覆盖(第二个分片和第一个分片有重叠)你怎么做?
- 如果加上最后一个分片超过了数据包长度你怎么做?
IP攻击方法:
- DOS(Denial of service attack)
发送第一个分片便宜量:0,第二个分片的便宜量是64800,则目的主机将会分陪64000bit的空间,将会需要15-25秒的时间,几乎所有操作系统都会被攻击
2.Teardrop(泪滴攻击)
有两个分片,第一个分片和第二个分片有重叠部分,一般做法是将第一个分片的末尾字节-第二个分片的开始字节,这个值为重复的值,再用第二个分片的末尾字节-这个重复的值,讲剩余字节拼接到第一个分片之后,但有种特殊情况如图:
此时第二个分片的offset-(第一个分片的offset-第一个分片的开始字节)为一个负数,操作系统一般为无符号数,而此时的值实际为最高为为1的负数,但操作系统将他看为无符号的一个超级大的数,这样将会拷贝一个很长的数据导致内存溢出!
3.Tiny分片攻击 (Tiny fragment attack)
为防止SYN包攻击,检查所有TCP协议,将发送SYN包的报文丢弃,TCP报头在IP数据包的数据区域,一般IP数据报包头为20字节,TCP包头8字节(原端口和目的端口),这样即使IP数据报分片也只需检查第一个分片即可,其余分片不用检查,以此为漏洞,出现了Tiny分片攻击。根据IP协议文档,数据报不能小于68字节,但IP数据报报头可以扩充到60字节,加上TCP首部的8个字节,SYN包将会被分到第二个分片,此时防火墙不会检测第二个分片,等分片重组为IP数据报后就会发送SYN攻击
方法二:覆盖攻击(overlapping attack)若操作系统处理两个分片覆盖的方法是第二个分片覆盖第一个分片,可以将SYN包写入第二个分片内,通过覆盖的方法组合成IP数据包进行SYN攻击