20199327 2019-2020-2 《网络攻防实践》-第五次作业
理论学习
1. 网络安全属性与攻击模式
网络安全属性:机密性、完整性、可用性、可控性,不可否认性;
网络攻击的基本模式(主动攻击与被动攻击):截获、中断、篡改、与伪造;
TCP/IP网络协议栈安全缺陷与攻击技术:
设计之初的目标是使用一个共用互联网络协议,环境内的用户都是可信任的。
分层模式:分别为网络接口层、互连层、传输层与应用层;
欺骗技术:需要攻击者伪装出特制的网络数据报文,发送给目标主机,使其在接受处理这些伪造报文时遭受攻击。
原始套接字:绕过TCP/IP协议栈的报文封装处理和验证,构造出任意的数据报文。需要特权用户权限。
2. 网络层协议攻击
2.1 IP源地址欺骗
IP源地址欺骗可以实现的根本原因在于:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
IP源地址欺骗过程:
IP源地址欺骗的防范措施:
-
(1)使用随机化的初始序列号;
-
(2)使用网络层安全传输协议如IPsec;
-
(3)避免采用基于IP地址的信任策略;
-
(4)在路由器和网关上实施包过滤是对抗IP源地址的一种主要技术;
2.2 ARP欺骗
ARP协议完成IP地址到MAC地址映射的过程:
-
当一台主机需要将数据包发送到目标主机时,首先会检查自己的ARP缓存中是否存在目标主机IP地址所对应的MAC地址。如果有,则直接将数据包发送到这个MAC地址;如果没有,就向本地局域网段发送一个ARP请求广播包,查询目标主机IP地址所对应的MAC地址。
-
本地局域网段所有主机收到ARP请求包后,检查自己与请求包中的IP是否一致。一致则将源IP和MAC地址更新到自己的ARP缓存表中,再向源主机发送一个ARP应答包;不一致则忽略。
-
源主机将收到的应答包中的IP地址和MAC地址添加到自己的ARP缓存表,并开始数据包传输。
ARP欺骗攻击技术原理:源主机以向本地局域网段发送广播包来获取目标主机的MAC,而并没有对目标主机发来的应答包进行验证的机制,ARP欺骗也是因此而发生的。
ARP欺骗攻击过程:
工具:DSniff套装中的Arpspoof工具、arpoison、 Ettercap、 Netwox 工具集等。
netwox 33 -b MAC(A) -g IP(B) -h MAC(A) -i IP(A)欺骗A,使A收到IP(B)/MAC(C)的映射。
防范措施:静态绑定关键的主机的IP地址与Mac地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑,并加密传输数据以降低ARP欺骗攻击放如危害后果等。
arp -s IP地址 MAC地址
检测措施:
-
Ping网关IP地址,使得在本机上有相应IP地址的ARP缓存;
-
利用arp -a 命令查看Arp缓存,即可见到网关IP地址所对应的MAC地址;
-
用LANSEE之类的局域网工具软件;
2.3 icmp路由重定向攻击
ICMP路由重定向机制原理:网络拓扑结构发生变化、网络出现故障时,主机采用非优化的路由发送数据,路由使用ICMP重定向报文对主机路由表更新,使得主机选择更优化的路由传输。
ICMP路由重定向攻击过程:
-
攻击节点利用IP源地址欺骗冒充网关IP发送ICMP重定向报文。
-
被攻击节点选择攻击节点作为新路由。
-
攻击节点作为中间人开启全程监听。
-
根据重定向机制,攻击节点又向被攻击节点发送ICMP重定向报文,指定更优路径,即原先正确的路由。
ICMP路由重定向攻击技术:netwox 86 -f "host 靶机IP" -g 攻击机IP -i 网关IP意思是嗅探到数据包的源或目的IP地址时,就以网关IP的名义向源地址(靶机)发送一个ICMP重定向报文,使之使用攻击机IP作为默认的路由。
防范措施:根据类型过滤一些ICMP数据包,设置防火墙过滤,对于ICMP重定向报文判断是不是来自本地路由器等。
3. 传输层协议攻击
3.1 TCP RST 攻击
TCP RST 攻击原理:TCP协议头的标志位中的“reset”比特位置1,则将断开TCP会话连接。
TCP RST 攻击过程:
攻击机C通过嗅探监听到通信双方A、B的IP、端口和序列号。
利用IP源地址欺骗技术伪装成主机A,向B发送TCP重置报文,达到双方通信中断。
netwox进行攻击:netwox 78 -i 靶机IP
3.2 TCP 会话劫持攻击
TCP会话攻击原理:在双方建立TCP会话之后再进行劫持,避免需要进行身份验证。
TCP会话攻击过程:
靶机与服务器建立连接
服务器向靶机发送响应包(含SVR_SEQ),期望靶机发送下一个序列号(含SVR_ACK)。
攻击机利用ARP欺骗,假冒靶机的身份向服务器发送数据包。
攻击机向靶机发送TCP重置掉靶机与服务器的连接,避免被网络管理员发现。
3.3 TCP SYN Flood 拒绝服务攻击
原理:利用TCP三次握手协议的缺陷,向目标主机发送大量伪造源地址的SYN连接请求,消耗靶机的资源,从而不能运作。
攻击过程:
netwox 76 -i 靶机IP -p port
防范措施:SYN-Cookie技术和防火墙地址状态监控技术
3.4 UDP Flood 拒绝服务攻击
原理:向靶机和网络发送大量的UDP数据包,造成靶机负载提升,或靶机网络拥塞,达到拒绝服务攻击。
4.TCP/IP网络协议栈攻击防范措施
4.1 检测、预防与安全加固
无法从根本上改变目前网络面临严重安全威胁的状况,通过部署一些监测,预防和安全加固的防范措施,是增强网络对已知攻击抵御能力不可或缺的环节
4.2 网络安全协议
理论实践
攻击机 kali 192.168.200.8 00:0c:29:7c:89:09
靶机 meta 192.168.200.5 00:0c:29:6d:9a:7f
客户 seed 192.168.200.13 00:0c:29:77:9b:d9
其三台虚拟机在同一局域网中。
ARP缓存欺骗攻击
原理说明:这个攻击的目的就是攻击机向局域网内发送广播,将靶机的ip地址与攻击机的mac地址形成映射关系,使得seed在访问metas的时候,会变成访问kali。
1.用seed ping metas,先建立arp缓存表,然后arp -a查看一下缓存表,如下图所示。
2.在kali上执行下边代码
netwox 80 -e 00:0c:29:7c:89:09 -i 192.168.200.5 //80代表netwox的第80个工具,-e代表要改的mac地址,-i代表要修改的ip地址
执行后kali就会在局域网内广播这条命令,让局域网内主机修改自己的arp缓存表。
可以看到seed的arp修改了
3.验证一下,seed机 ping一下192.168.200.5,在kali上用wireshark抓取一下数据包,可以看到数据包发到了kali上,mac地址变了
ICMP重定向攻击
攻击原理:这个攻击是通过修改被劫持主机的路由表来实现劫持主机向外发送数据包时,会经过攻击机节点。
1.查看seed的路由表信息
netstat -rn
2.在kali上输入如下命令
netwox 86 -f "host 192.168.200.13" -g 192.168.200.8 -i 192.168.200.2
3.在seed上ping 192.168.200.5,发现其访问靶机的数据包被重定向到kali上了。
SYN FLOOD攻击
攻击原理:通过伪造大量的源ip地址向靶机发送TCP SYN包,使得靶机无法响应别的机器的访问。
1.用seed上的telnet访问靶机,telnet 192.168.200.5
2.在kali上利用netwox的76号工具对靶机的23号端口进行SYN FLOOD攻击
netwox 76 -i 192.168.200.5 -p 23
3.在kali上打开wireshark可以看到有大量伪造ip向靶机发送SYN连接请求
4.在seed上尝试使用telnet访问靶机,端口瘫痪无响应
TCP RST攻击
攻击原理:这个攻击类似上边的SYN FLOOD攻击
1.在kali上用netwox的78号工具对靶机进行TCP RST攻击
netwox 78 -i 192.168.200.5
2.使用seed访问靶机,发现无法访问
TCP会话劫持攻击
攻击原理:攻击机监听劫持机的会话,然后顺着TCP的SEQ和ACK值向靶机发送伪造数据包。以此达到会话劫持的目的。
1.使用seed登录靶机。telnet 靶机ip。打开kali的wireshark,监听。
2.在Linux靶机上随便输入个命令,我输入了ls,然后用kali的wireshark查看监听的数据包,发现了如下两个包的数据,一个是l,一个是s
3.查看Data是s的数据包的tcp报文,可以看到net seq和ack,源端口,目的端口。
4.在kali中输入下面指令
netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.13 --ip4-dst 192.168.200.5 --tcp-src 53986 --tcp-dst 23 --tcp-seqnum 150 --tcp-acknum 703 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
这么长的一串其实就是伪造的报文。
5.在wireshark中发现了tcp dup和tcp retranismission,说明劫持成功了。
相关问题
虚拟机无法上网
分别进行了开服务,编辑虚拟机,编辑虚拟网络编译器,重新设置了nat模式和dtcp,因前段时间做fiddler实践查询了代理,运用电脑自带的疑难杂症分析出了问题,然后将虚拟机移除并重新导入,仍未解决,最后重按重配,问题解决。
疑难杂症:
开启服务:
DCHP设置:
nat设置:
编辑虚拟机:
查询代理:
主IP地址:因为是虚拟机,nat模式故可以上网
最后全部重新配置,才可以上网
总结
通过实践,可以克服眼高手低,可以更高的理解理论知识
参考
自己的虚拟机环境配置博客;
虚拟机无法上网的相关博客;
主IP地址:无法访问的相关博客;
疑难杂症诊断出关于VMnet8 dhcp相关问题的博客
冯文浩的博客;