此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!
若被用于非法行为,与我本人无关
实验目的
- 理解IP源地址攻击概念
- 掌握源地址伪造的原理和防御方法
- 掌握Netwox等工具使用
实验环境
- 靶机:seed Ubuntu12.04
- 攻击机:kali linux 2.0
- 网络拓扑环境:攻击机和靶机处于同一内网
原理讲解
- IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。攻击者则会修改IP协议包头,使其包含一个不同的虚假IP地址,而接收到欺骗数据包的计算机则会向假冒的源地址发回响应包。
实验步骤
讲解
- 攻击节点Kali将利用Netwox软件向Seed节点发起源地址欺骗攻击,实验中将在Seed上设置IP过滤规则,Kali节点只有伪造IP数据包的源地址,才能顺利将数据包发送至Seed节点,而不会被防火墙丢弃
操作
- 在seed上开启tcpdump监听:
tcpdump -i eth0 tcp port 80 -n -nn
- 在Seed节点上设置防火墙规则,构造一个攻击机本身IP无法访问,但存在可访问IP名单的情景
sudo iptables -A INPUT -i eth0 -s 192.168.231.125/32 -j ACCEPT
sudo iptables -A INPUT -i eth0 -s 192.168.100.1/32 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p all -j DROP
- 查看一下当前防火墙状态
iptables -L
- 可以看到仅开放了这两个端口
- 在kali上利用netwox进行IP地址欺骗,伪装成192.168.231.125,突破防火墙限制:
- kali原本地址:192.168.231.135
- 准备伪造地址:192.168.231.125
- 目的IP地址:192.168.231.137
netwox 52 -E "0:1:2:3:4:5" -I "192.168.231.125" -e "00:0c:29:70:83:7e" -i "192.168.231.136"
-
记得更换成对于的MAC地址
-
查看监听终端的情况
-
一直在发包并且成功绕过了防火墙
-
在seed上分析,通过tcpdump可以看到seed向192.168.231.125返回了数据包,但实际上kali的ip是192.168.231.135;
-
syn flood是建立在ip源地址欺骗上的攻击。在kali上通过netwox进行syn泛洪攻击:
netwox 76 -i 192.168.231.137 -p 80
- 靶机监听结果
-用netstat查看连接情况,在防火墙作用下攻击并未成功
netstat -antu|grep :80
- 显然并未攻击成功建立有效的连接
- 关闭防火墙
iptables -F
iptables -X
iptables -L
netstat –antu|grep :80
- 在SYN flood的攻击下,靶机已经卡死了
- 但是可以确定是攻击成功了
实验总结
- IP地址欺骗的防御可在网关或防火墙中进行源IP地址过滤,即禁止源地址非本网段地址的数据包发出,从而从源头屏蔽伪造IP源地址的的数据包。
- 也可以采用基于加密算法的技术来进行身份认证,代替基于IP的信任策略。
end