20199303 2019-2020-2 《网络攻防实践》第5周作业
基础知识
TCP/IP协议栈攻击概述
网络安全属性与攻击模式
- 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常运行,网络服务不被中断。
- 网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
- 网络攻击基本模式:截获、中断、篡改和伪造。截获是一种被动的攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反。中断攻击是使目标的正常网络通信和回话无法继续,是对可用性的破坏。伪造则是假冒网络通信方的身份,欺骗通信对方达到恶意目的。篡改则是对网络通信过程的内容进行修改
网络层协议攻击
- 欺骗技术:需要攻击者伪装出特制的网络数据报文,发送给目标主机,使其在接受处理这些伪造报文时遭受攻击。
- 原始套接字:绕过TCP/IP协议栈的报文封装处理和验证,构造出任意的数据报文。需要特权用户权限。
IP源地址欺骗
- 首先对受信任主机进行攻击,使其丧失工作能力。
- 采样猜测目标服务器的初始序列号ISN,再返回SYN/ACK报文的时候设置为ISN+1。
- 伪造源地址为受信任的主机IP的SYN数据包
- 伪装成被信任主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+1。
- 建立连接,假冒被信任主机与主机进行通信。
ARP欺骗
- ARP协议工作原理:ARP协议用千将网络主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通估。
- ARP欺骗攻击技术原理:ARP欺骗攻市的根源在千ARP协议在设计时认为屈域网内部的所有用户都是可信的,是遵循协议设计规范的,但事实上并非如此
- ARP欺骗技术的应用场景:利用 ARP 欺骗技术进行局域网中的嗅探,利用 ARP 欺骗构造中间人攻击,ARP 欺骗技术目前也被恶意代码所普遍使用
- ARP欺骗攻击过程图:
传输层协议攻击
TCP RST攻击
TCP RST攻击原理:TCP协议头中有一个reset位置,用来表示会话中断。通过设置合理的seq和ack字段就可以达到关闭连接的效果。
攻击的示意图:
攻击步骤:
-
(1)攻击主机C可以通过嗅探方式监视通信双方A、B之间的TCP连接。
-
(2)在获得源、目标IP地址及端口、序列号之后,接可以结合IP源地址欺骗技术伪装成通信一方,发送TCP重置报文给通信另一方。
-
(3)在确保端口号一致及序列号落入TCP造成通信双方正常网络通信的中断,达到拒绝服务的效果。
实践过程
1. IP源地址欺骗
把kali机子切换到桥接模式连接上本机的网络,然后查看ip地址:
安装两个包:netwox和netwag
打开wireshark开始抓包,kali终端中输入命令行netwox 41 -l 192.168.200.180 -m 192.168.200.2
netwox 41表示netwox第41号工具构造ICMP数据包并且需要设定IP地址;-l 表示显示与审计相关的模块;192.168.200.180为伪造的源地址;-m表示显示与暴力破解相关的模块;192.168.200.2表示目标IP地址。
此命令的原理与Ping命令类似,都是需要ARP协议转换IP到MAC才能进行数据传输,因此可以看到下图的蓝色的框就是kali主机192.168.1.100先向网关192.168.1.1(由于不在一个局域网中所以需要通过网关)发送数据然后得到kali的MAC地址,再进行IP数据的传输,则就是下面红色的框进行广播询问是否有源IP地址发出的数据告诉kali,至此完成了IP源地址的欺骗。
打开netwag软件在search下面找到38号工具(38:Spoof Ip4 packet)
进入38号工具的form设置页面,设置IP源地址欺骗的IP源地址和IP目标地址和上面一致,点击run执行即可
点击netwag的running也可以查看到设置的IP数据包的详细信息
2. ARP欺骗
选择A、B、C三个虚拟机,其具体的IP和MAC地址如下表:
主机 | IP地址 | mac地址 |
---|---|---|
A(Metasploitable_Linux) | 192.168.200.125 | 00:0c:29:d3:ef:a1 |
B(SEEDubuntu) | 192.168.200.5 | 00:0c:29:be:27:28 |
C(kali) | 192.168.200.2 | 0:0c:29:be:31:86 |
打开kali的IP转发功能: | ||
使用命令行netwox 33 -b A_MAC -g B_IP -h A_MAC -i A_IP | ||
-b: 显示网络协议下相关的模块;-g:显示与客户端相关的模块;-h:显示与服务器相关的模块;-i:显示与检测主机连通性相关的模块; | ||
从图中可以看到this address的地方已经实现IP(B)/MAC(C)的ARP欺骗 | ||
使用命令行netwox 33 -b B_MAC -g A_IP -h B_MAC -i B_IP实现IP(A)/MAC(C)的ARP欺骗 | ||
B->A通信:在B中执行命令ftp 192.168.200.125输入A主机账号和密码登录成功,此过程在主机的wireshark上捕获 | ||
3. ICMP路由重定向攻击
查看seed的路由表信息:
netwox 86 -f "host B_IP" -g IP_A -i 路由IP,抓包结果如下
4.SYN Flood攻击
在攻击之前,使用xpattacker向主机Metasploitable登录 telnet 192.168.200.125
在攻击机kali上使用Netwok中的76号工具,对靶机的23号端口进行SYN Flood攻击,还未来得及登录就被挤下线了
5.TCP RST攻击
xpattacker向MetaSploitable2发起登陆,然后在Kali上利用命令:netwox 78 -i 192.168.200.125,即使用netwox的78号工具对MetaSploitable进行TCP RST攻击
然后我们打开SEED,发现连接已经断开。
6.TCP会话劫持攻击
主机 | IP地址 | mac地址 |
---|---|---|
A(Metasploitable_Linux) | 192.168.200.125 | 00:0c:29:d3:ef:a1 |
B(xpattacker) | 192.168.200.3 | 00:0c:29:c0:1c:ce |
C(kali) | 192.168.200.2 | 00:0c:29:be:31:86 |
kali中打开Ettercap工具,选择“eth0”作为嗅探监听接口 | ||
Hosts 菜单中选择 Scan for hosts 扫描局域网内攻击目标,并随后在菜单 Hosts list 中,选择 | ||
192.168.200.3 和 192.168.200.125 分别为target1和target2,如下图所示: | ||
别在主机A和B中执行 arp -a 查看MAC地址缓存,发现ARP欺骗攻击已经成功。00:0c:29:be:31:86均可以被查找到 | ||
在主机A-WinXP上执行 telnet 192.168.200.125 ,在kali中的Ettercap菜单栏上选择View-Connections,可以看到Ettercap已经截获了telnet登录的两个主机的信息:
并且用户名和密码也都被截获了
实践总结
问题1:ICMP路由重定向攻击失败
问题1解决方案:原来的靶机用的是仅主机模式,将其修改为NAT模式重定向就可以成功
问题2:开启kali广播的时候有些命令不好使
问题2解决方案:直接修改对应的配置文件