一些问题 | 简单的解答 |
---|---|
这个作业属于哪个课程 | 网络攻防实践 |
这个作业的要求在哪里 | 作业要求 |
参考文献 | 一些网络资源 |
知识梳理和总结
ARP缓存欺骗攻击
- 什么是ARP协议?
ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议
- 什么是ARP缓存?
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
- 什么是ARP缓存欺骗攻击?
ARP欺骗攻击的根源在于ARP协议在设计时认为局域网内部的所有用户都是可信的,是遵循协议设计规范的,但事实上并非如此,局域网内可以存在内部攻击者,或者已渗透进入局域网的外部攻击者或恶意代码。ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,一方面采用 了广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证的技术流程与方法,而另一方面ARP协议为提高效率,设计了ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
ICMP重定向攻击
- 什么是ICMP协议?
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
- 什么是ICMP重定向攻击?
ICMP路由重定向攻击是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。
SYN Flood攻击
- 什么是SYN Flood攻击?
SYN Flood 是种典型的DoS (Denial of Service,拒绝服务) 攻击。效果就是服务器TCP连接资源耗尽,停止响应正常的TCP连接请求。
- 其实更著名的是DDOS攻击,即Distributed denial of service attack,分布式拒绝服务攻击,可以瞬间让大型网站瘫痪。
TCP RST攻击
- 什么是RST?产生的原因是什么?
有三个条件可以产生RST(Reset the connection)包:
- 建立连接的SYN到达某端口,但是该端口上没有正在监听的服务
如:IP为192.168.1.33的主机上并没有开启WEB服务(端口号为0x50),这时我们通过IE去访问192.168.1.33,通过Wireshark抓包,可以看到,对此SYN包的回复为RST。说明此服务器(即IP192.168.1.33)是存在的,不过其上并没有运行WEB Server(如apache)的程序- TCP想取消一个已有连接
基于什么样的情况才会取消一个已有的连接?- TCP接收到了一个根本不存在的的连接上的分节
我们知道,TCP在数据传输前,要通过三路握手(three-way handshake)建立连接,即连接建立起后,服务器和客户端都有一个关于此连接的描述,具体形式表现为套接口对,如果收到的某TCP分节,根据源IP,源tcp port number,及目的IP,目的tcp port number在本地(指服务器或客户端)找不到相应的套接口对,TCP则认为在一个不存在的连接上收到了分节,说明此连接已错,要求重新建立连接,于是发出了RST的TCP包!
- 什么是 TCP RST攻击?
- RST攻击 这种攻击只能针对TCP,对UDP无效。RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。
TCP会话劫持攻击(bonus)
- 什么是TCP会话劫持攻击(bonus)?
- 由于TCP协议并没有对TCP的传输包进行身份验证,所以在我们知道一个TCP连接中的seq 和ack的信息后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为TCP会话劫持(TCP Session Hijacking)
实践说明
请在网络攻防实验环境(以SEED_VM作为攻击机,Linux Metasploitable/windows Metasploitable作为靶机)中完成TCP/IP协议栈重点协议的攻击实验,具体包括
- ARP缓存欺骗攻击
- ICMP重定向攻击
- SYN Flood攻击
- TCP RST攻击
- TCP会话劫持攻击(bonus)
编号 | 对应的虚拟机 | MAC地址 |
---|---|---|
A | META-LINUX | 00:0c:29:d9:78:2d |
B | SEED | 00:0c:29:fd:06:9d |
C | KALI | 00:0c:29:d1:c2:59 |
实践过程
- 先将kali攻击机改成桥接模式(说白了,就是链接自己电脑的网络),然后看一下ip
- 安装工具:netwox和netwag,后面会用到
- 打开自己电脑的wireshark开始抓包,输入命令:netwox 41 -l 192.168.200.181 -m 192.168.0.103
41表示netwox的41号工具,用来伪造ICMP数据包,-l(哎呦,不是一)表示显示与审计相关的模块,192.168.200.x表示伪造的源地址,-m表示与暴力破解相关的模块;192.168.0.103表示目标IP地址
一个众所周知的协议,就是ARP协议,把IP转换到对应的MAC地址,这就是上面wireshark对应的内容。
ARP缓存欺骗攻击
打开KALI的IP转发功能
使用命令:netwox 33 -b A_MAC -g B_IP -h A_MAC -i A_IP
使用命令:netwox 33 -b B_MAC -g A_IP -h B_MAC -i B_IP
在SEED里面尝试登录META-LINUX,成功
ICMP重定向攻击
先看一下SEED的路由表
输入命令:netwox 86 -f “host 靶机的ip” -g 攻击机的ip -i 靶机路由的ip
这时候我们ping META-linux,会发现重定向到KALI-LINUX了
SYN FLOOD 攻击
再winxp上telnet一下META-LINUX
然后在kali攻击机上,使用netwox的76号工具,对靶机的23号端口进行泛洪攻击,明明有巨量的TCP请求,结果发现一点用没有
TCP RST 攻击
先在SEED上登录,然后再KALI-LINUX上对TCP进行RST攻击:netwox 78 -i 192.168.200.6
发现已经登录不上了
TCP会话劫持
主机 | IP | MAC地址 |
---|---|---|
META-LINUX | 192.168.200.6 | 00:0c:29:d9:78:2d |
XP | 192.168.200.4 | 00:0c:29:6f:c2:2a |
KALI | 192.168.200.2 | 00:0c:29:d1:c2:59 |
在kali中打开ETTER,并相应配置
选择 192.168.200.6和192.168.200.4分别作为两个目标
在刚刚的两个主机上看一下MAC地址缓存
发现已经欺骗成功了。
继续在XP上登录META-LINUX
到刚刚那个ETTERCAP上看一下,发现账号密码都在上面
遇到的问题以及总结
Q1:出现了连通性问题。
A1:打开蜜网就好了。
Q2:META-LINUX的IP地址在蜜网打开前后不一致。
A2:打开蜜网后,应该是DHCP自动分配的。
Q3:SYN FLOOD 攻击没有效果?
A3:这个和RST攻击的方式很像,但是一个成功了,一个失败了,应该的META-LINUX当时分配的资源太多了。我电脑的内存是20G,当时可能分配的多了点。
Q4:为什么TELNET登录的时候没有出现METASPLOITABLE大图标
A4:可能我用的是ubuntu版本的原因?不得而知
实践总结
又是一个使用工具的实践,不过结合前面几章学习的知识,还是有不少收获的。