学号 2019-2020-2 《网络攻防实践》第X周作业
1.学习内容
TCP/IP网络协议栈攻击基本的知识
- 网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
- 网络攻击基本模式:
截获:嗅探、监听
中断:拒绝服务
篡改:欺骗
伪造
网络协议攻击及其原理过程
IP源地址欺骗攻击
- 原理:只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
- 过程:
对受信任的主机进行拒绝服务攻击
对目标主机的TCP初始序列号(ISN)进行取样和猜测
伪造源地址为受信任的主机IP的SYN数据包发送给主机
等待目标主机将SYN/ACK包发给已经瘫痪的受信任的主机
再次伪装成被信任的目标主机发送ACK包、建立连接。 - 工具:netwox;wireshark;nmap
- 防范措施:使用随机化的初试序列号;使用网络层安全传输协议;避免采用基于IP地址的信任策略;在路由器和网关上实施包过滤
ARP欺骗攻击
- 原理:攻击者在有线以太网或者无线网上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗
- 工具:DSniff中的Arpspoof;arpison;Ettercap;netwox
- 防范措施:静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密是传输数据
ICMP路由重定向攻击
- 原理:利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听
- 工具:netwox
- 防范措施:根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的
TCP RST攻击
原理:伪造TCP重置报文,断开TCP会话连接
TCP会话劫持攻击
原理:劫持通信双方已经建立的连接,假冒其中一方的身份与另一方进行进一步通信
TCP SYN Flood
原理:向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务
UDP Flood
原理:向目标主机和网络发送大量的UDP数据包,使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击
2.实践过程
实验一:ARP缓存欺骗攻击
MAC地址 IP地址
kali 00:0c:29:44:15:20 192.168.200.4
seed 00:0c:29:18:c4:15 192.168.200.3
win2kserver 00:0c:29:a4:bf:da 192.168.200.124
winxpp~ 192.168.200.2
这次实验中我们把seed和win2当作正常通信的主机,kali当作攻击机,首先在攻击机上安装netwox,在kali上输入命令
netwox 33 -b 00:0c:29:a4:bf:da -g 192.168.200.3 -h 00:0c:29:d1:2d:1d -i 192.168.200.124,这个命令是冒充seed欺骗win2。
观察攻击前后win2的arp缓存表发生了变化:
ICMP重定向攻击
查看windows靶机路由:
在kali中中使用使网关重定向为主机A的IP地址netwox 86 -f "host 192.168.200.2" -g 192.168.200.4 -i 192.168.200.1使网关重定向为kali的IP地址
再次查看widows路由表发生了变化:
实验三:TCP SYN Flood攻击
在seed中使用ftp 192.168.200.2,输入用户名administrator,密码mima1234,登陆winxp主机:
然后在kali中输入netwox 76 -i 192.168.200.3 -p 21进行攻击
然后再次在seed登陆发现登陆失败:
实验四:TCP RST攻击
和上一个实验类似,只不过在kali攻击机上的命令是netwox 78 -i 192.168.200.3攻击主机seed
然后再次在seed上远程登陆
连接都已经被关闭。
实验五:TCP会话劫持攻击
实验第一步就失败了,还没找到解决方法,应该是虚拟机的问题,再重装下。
然后换了台虚拟机,winxp和me-linux
在winxp上用telnet远程登陆me-linux,并输入一个命令:
在kali中打开wireshark会发现监听telnet,会监听到命令,命令是一个一个字符发送的:
这是发送包的信息,包括源端口等:
使用另一种方法,伪造包,把Next Seq Num作为下一个包的ACK,采用ACK作为下一个包的Seq。获取到信息之后,攻击机使用netwox工具伪造B给C发一个tcp包。
然后在攻击机上输入netwox 40 --ip4-offsetfrag 0 --ip4-ttl (登录者TTL) --ip4-protocol 6 --ip4-src (攻击者IP) --ip4-dst (服务器IP) --tcp-src (原始端口) --tcp-dst 23 --tcp-seqnum (抓包可以看见raw seqnum) --tcp-acknum (抓包可以看见 ACK number(raw)) --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"
回头去看wireshark抓到的包。会看到大片的红色错误报文,由两类报文组成:TCP Dup ACK XXXX和TCP Retransmission。其中TCP Dup ACK XXXX表示序号为XXXX的报文丢失,TCP Retransmission表示请求数据重传。
3.学习中遇到的问题及解决
- 问题1:虚拟机seed无法telnet登陆
- 问题1解决方案:在网上找了好多方法,还未解决
- 问题2:最后一个tcp会话劫持不会做,参考了孙启龙同学的
4.实践总结
动手能力太差还要加油啊。