- 1.实践内容
- 网络协议栈攻击
- 网络层协议攻击
- 1.IP源地址欺骗
- 2.ARP欺骗
- 3.ICMP重定向攻击
- 传输层协议攻击
- TCP RST 攻击
- TCP会话劫持
- TCP SYN Flood拒接服务攻击
- UDP Flood拒绝服务攻击
- 2.实践过程
- ARP缓存欺骗攻击
- ICMP重定向攻击
- SYN Flood攻击
- TCP RST攻击
- TCP会话劫持
- 3.学习中遇到的问题
- 4.感想
- 参考资料
1.实践内容
网络协议栈攻击
网络安全属性包括机密性、完整性、可用性、真实性、不可抵赖性五大属性。网络基本攻击模式包括以下四种:
- 截获:获取网络通信双方的通信内容,包括嗅探与监听技术。
- 终端:破坏正常的网络通信和会话。
- 伪造:假冒网络通信方的身份。
- 篡改:对网络通信过程的信息内容进行修改。
TCP/IP协议栈安全缺陷与攻击技术:
- 网络接口层:利用软件程序随意修改网卡的物理MAC地址,实现MAC地址欺骗。
- 互联层:IP协议只根据目的地址进行转发,不检查源IP地址是否真实有效,即缺乏IP地址身份认证机制,容易遭到IP地址欺骗。同时还包括源路由滥用、IP分片攻击,以及ARP欺骗、ICMP重定向、Smurf攻击等。
- 传输层:TCP建立会话之后的连接过程中,非常容易遭受伪造和欺骗攻击,攻击者可以进行TCP RST攻击直接中断会话过程。
- 应用层:一些流行的应用层协议HTTP、FTP、POP3/SMTP、 DNS等均缺乏安全设计。
下面来介绍攻击原理:
网络层协议攻击
1.IP源地址欺骗
原理
IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
因此攻击者可以修改IP协议包头,使其包含一个不同的虚假IP地址,使其从另一个地址发出。达到了欺骗目标和隐藏发送源的目的。
攻击步骤
- 进行DoS攻击,使受信任的主机丧失工作能力。
- 对目标主机的TCP初始序列号(ISN)进行取样与猜测。
- 伪造源地址为受信任主机IP的SYN数据包,发送给目标主机。
- 等待目标主机将SYN/ACK包发给已瘫痪的受信任主机。
- 再次伪装成被信任的主机向目标主机发送ACK包
- 链接建立,假冒被信任主机与目标主机通信。
防范方法
2.ARP欺骗
攻击者在有线以太网或无线网络上发送伪造ARP消息,对特点IP所对应的MAC地址进行假冒欺骗。
原理
ARP协议用于将网络主机的Ip地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。但是局域网内可以存在内部攻击者,或者已经渗透进局域网的外部攻击者或恶意代码。这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系。
攻击步骤
- 源节点A发送数据包给目的节点B时,会通过ARP协议在局域网段广播ARP请求包,询问节点B的IP地址所映射的MAC地址。
- 攻击节点C说IP目标IP地址所映射的MAC地址是他自己,并不断地向源节点发送ARP响应包。
- 由于攻击节点C不断地发送响应包,这样源节点上会强制以C发送响应包中的信息来更新ARP缓存。
- 当源节点A要再次发送数据包到节点B时,直接将数据包发送到C对应的MAC地址,即攻击节点C,这样C就通过欺骗假冒了目的节点B。
- 如果ARP欺骗攻击的是网关节点,将导致整个局域网所有节点经过网关出入的数据包都会首先通过攻击节点,可能被嗅探、监听和恶意修改。
防范措施
3.ICMP重定向攻击
攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击
原理
利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。
攻击步骤
- 冒充路由器发送ICMP重定向报文,使靶机使用自己为路由
- 靶机本应发送的路由数据包发送给了攻击机
- 靶机将攻击机的数据发给路由
- 攻击机发送ICMP重定向报文使得靶机重新恢复路由
传输层协议攻击
TCP RST 攻击
伪造TCP重置报文攻击。可以使攻击主机通过嗅探方式监听通信双方A、B之间的TCP链接,可以关闭这个TCP链接造成通信双方正常网络通信终端,达到拒绝服务的效果。
TCP会话劫持
劫持通信双方已建立的TCP会话链接,假冒其中一方(通常是客户端)的身份与另一方进行进一步通信。
- 禁用主机上的源路由
- 采用静态绑定IP-MAC映射表避免ARP欺骗
- 引用和过滤ICMP重定向报文
TCP SYN Flood拒接服务攻击
利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN链接请求,消耗目标主机的链接队列资源,从而不能够为正常用户提供服务。
防范措施
UDP Flood拒绝服务攻击
通过向目标主机和网络发送大量UDP数据包,造成目标主机显著的计算负载提升,或者通过网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
防范措施
- 禁用或过滤监控及响应服务。
- 禁用或过滤其他UDP服务。
2.实践过程
任务:在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
ARP缓存欺骗攻击
使用kali linux作为攻击机,ubantu和meta作为靶机,以下为其IP和MAC
机器 | IP地址 | MAC地址 |
---|---|---|
Kali Linux | 192.168.1.113 | 00:0c:29:21:fa:fd |
Linux MetaSploitable | 192.168.1.114 | 00:0c:29:f2:97:ac |
SEED Ubuntu | 192.168.1.112 | 00:0c:29:23:64:92 |
-
用SEED ping Meta,得到arp缓存表,并用arp -a查看arp缓存表,Meta的IP地址和MAC地址是对应的。
-
在kali中安装netwox,并执行命令 ** netwox 80 -e 00:0c:29:21:fa:fd -i 192.168.1.114**
其中mac地址为kali攻击机的,ip地址是meta的 -
随后再用 **arp -a **查看缓存表,发现meta的mac地址已经改变
同时在使用wireshark进行抓包,抓包为seed **ping **meta ,得到内容
ICMP重定向攻击
目的修改seed的路由表,在seed上访问www.baidu.com,使用wireshark查看流量
然后在kali上执行netwox 86 -f "host 192.168.1.112" -g 192.168.1.1 -i 192.168.1.113
目的是为了让kali嗅探到SEED的数据包192.168.1.112时,以192.168.1.1的名义发送ICMP重定向报文,使
Kali192.168.1.113成为其默认路由,然后观察wireshark的数据包的变换。
使用wireshark观察数据变化
可以发现流量包已经被重定向
SYN Flood攻击
使用SEED向靶机Meta发起telnet服务访问,用Kali攻击机攻击靶机的telnet服务端口,并用Wireshark查看。
使用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后输入账号密码,可正常登录。
然后在kali上通过指令76 -i 192.168.1.112 -p 23可对靶机seed的23号端口进行攻击
在访问meta发现无法登陆
打开wireshark可以发现主机发送了大量TCP包,占用了网络资源导致无法登陆
TCP RST攻击
使用seed 向靶机Meta发起telnet服务访问,用Kali攻击机对靶机发起TCP RST攻击。
- 使用seed 利用Telnet对meta进行访问telnet 192.168.1.114
- 登录后使用kali上的netwox工具进行攻击
netwox 78 -i 192.168.1.114
TCP会话劫持
1). 这里同样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问
2). 然后在kali上打开wireshark,设置过滤条件tcp.port == 23,然后在seed上输入ls,回到kali的wireshark查看,会有l 和 s的数据包。
3). 然后打开最后一个包,观察源端口,目的端口,NEXT Seq NMU和ACK的值
4). 在kali 上使用netwox进行伪造包
< netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.3.20 --ip4-dst 192.168.3.21 --tcp-src 40924 --tcp-dst 23 --tcp-seqnum 2 --tcp-acknum 2 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
5). 在wireshark上抓包发现helloworld内容 ,传输成功
3.学习中遇到的问题
关于netwox这个工具不太熟悉,很多地方都是参考了别人的文档内容。
不太理解TCP会话劫持的实际意义,参考了其他同学的操作才理解了这部分的内容。
4.感想
感觉学到现在工具是越用越多,感觉计算机网络安全这部分的内容还是博大精深。
参考资料
TCP会话劫持
netwox网络工具集入门教程