中间人攻击(Kali)
一、内容:Kali中间人攻击
二、目标
使用kali系统模拟攻击者,利用中间人的攻击手段来获取用户登录的用户名与密码
主要明确原理与漏洞点(接下来讲的,所有的设备都有这个漏洞)
简单描述一下中间人攻击手段,就是两端通信,但是得经过中间人,然后这两个人还不知道数据已经经过了中间人,而他们的数据交互中间人一清二楚,也可以篡改,今天不做篡改,做窃听。
三、环境介绍及拓扑图
1.虚拟机软件:VMWare
2.虚拟机三台:WindowsXP——模拟客户机
Windows server 2003——模拟WEB及FTP服务器(密码123.com)
Kali——模拟攻击机(用户名root,密码123456),基于Ubuntu Linux系统的黑客经常用到的一些攻击工具
3.Web站点素材:zhivote
4.工具:ettercap(kali自带)
5.实验拓扑图
过程:
首先把这三台虚拟机组成局域网,把IP都给他们配好,保证他们三个都可以ping通。
然后把服务器做成Web服务器和FTP服务器两种,
交换机与路由器,交换机只能组件局域网,没有能力上网,而路由器没有组建局域网的能力,但能让局域网联网,而无线网不需要交换机也能组建局域网并能进行上网。
然后今天的实验主要针对虚拟机,所以可以在VMWare内组建三台虚拟机,作为局域网,然后还需要一个交换机,在VMWare里,其实自己内嵌了VMnet1~VMnet19的19根虚拟交换机,而VMnet0是指的我们真实机的真实网卡与虚拟机相同的网卡的一个交换机,也就是只要你的虚拟机用的是VMnet0交换机,那么你的虚拟机就跟你真机一样是连上了真实交换机的一台机器了,只是这台机器依然在你电脑上,以后想让虚拟机上网,就是直切桥接到VM0上。
我们可以把虚拟机设置里的网络适配器进行自定义网络:
用哪一根都行,假设都用VMnet1。虚拟机里的其实都是通过真实机上的网卡,真实机上的网卡既可以与互联网进行通信,也可以与虚拟网卡进行通信。
如果需要真实机也参与进来,只需要把虚拟机的那三个虚拟网卡与真实机的VMnet1网卡的网段配置成同一个网络即可,也就是说真实机可以通过真实网卡进行上网,也可以通过虚拟网卡进行通信。
如果真实机不是使用网线连接的,而是使用无线网卡的呢?其实无线网卡就相当于路由器,跟有线没什么区别,在虚拟机变成真实机,那就变成VMnet0。
就例如我有一个攻击虚拟机kali,我想攻击麦当劳里连接麦当劳路由器的其他用户,那么我就可以将我的kali虚拟攻击机,通过VMnet0桥接到里面去,当然也可以直接用真实机装kali系统进行攻击。那要是校园网呢???!!!
有一种情况可能会失败,就是当我真实机连接的是无线,但在kali虚拟机里我桥接认为是有线,反之真实机连的是有线,而kali桥接的是无线,那么就不会成功。如何实现一定成功?在VMWare内,点击编辑,点虚拟网络编辑器,再点击更改设置,再点击是,在最上方会出现VMnet0,如下图,这样改了之后,不让它自动选他就不会判断错误,就会按照你指定的网络即可,这会他就会按照你的真实机连接的是什么就桥接什么,真实机连接的是无线,那么他就桥接到无线去。
四、攻击基本原理(ARP欺骗)
参详中间人攻击原理。
1.原理
交换机只找MAC,在网线插上去,交换机就会生成一个MAC地址表。
首先发送者会创建一条TCP协议的信息,但是还不知道对方的MAC,只知道自己的MAC地址还有IP和端口,他就把这个协议信息往交换机上发,交换机此时接收到的这条TCP协议信息,他也只认MAC,所以他会看这个协议发上来的MAC,发现发送者发上来的目标MAC地址是FF,那么就会往交换机内的所有端口广播这条信息,直到对方对应IP接收到,接收到后,接收者把自己的MAC响应给交换机,同时自己创建ARP缓存表,把已知的MAC和IP都缓存到表内,此时交换机就直到接收者和发送者的MAC了,他们就可以正常通信了。
这个过程就是ARP协议。
ARP协议原理:
(1)发送ARP广播请求
(2)发送ARP单播应答
作用:已知IP解析MAC地址
2.漏洞
漏洞点就在ARP协议缓存表,他表内缓存方式是:谁后应答我选谁,也就是在ARP协议广播的时候,接收者先响应了,并指明身份,但是如果中间人进行伪装后响应,那么他就会默认后面响应的那个人,并保存它的MAC地址到缓存表内,认为他就是目标IP,其实是中间人的。
此时中间人会响应多次给发送者,这样就避免了随机性。
攻击实例1
如果接收者是服务器,发送者是客户端,而中间人就会一直接收客户端发送的私人信息(账号密码…),但这并不完善,想要长期监听,得给客户端一些回应,需要做的就是中间人接收到客户端的数据了,要再给他转发到服务器上去,然后如果服务器想要主动给客户端发数据,中间人也会进行IP地址伪装,并使用ARP漏洞,多次回应给服务器,这样服务器就认为中间人就是客户端,而客户端就认为中间人是服务器,这样才能来无影去无踪的在他们二者之间开启数据共享。
攻击实例2
主动监听:中间人可以在一个网段内发送多条ARP广播请求,而在这个网段的人的ARP缓存表会直接记录下来,虽然不是找他,但只要有广播,他就记录,并且默认这个IP就是对应的MAC,而且没有重复检测机制。所以中间人想要攻击所有网段内的人,那么只需要网网段内发送多条ARP广播,并把所有IP地址都广播出去,MAC地址都设置为中间人自己的MAC,这样这个网段内的所有人的ARP缓存表就认为你就是想要找的人,就不停地向你发送数据请求,但之前说过ARP缓存表只学习最后应答的那一个人,所以要不断地发送广播。
修补漏洞
暂时修补不了,且在所有的设备都会有ARP协议,现在人们暂时想不出如何解决身份验证。
3.ARP攻击原理总结
攻击人通过发送虚假的ARP应答,实现ARP缓存投毒!而受害人没有办法进行身份验证。
五、攻击流程
1.搭建环境:配置三台虚拟机,并选对快照,选择虚拟机内同一网段并配置好三台虚拟机的IP地址。
2.搭建WEB服务器,IIS是微软的发布WEB服务器的一个东西,类似于Apach,asp指的是一个动态界面,
3.省略
4.进入kali系统,打开ettercap软件,这个软件不仅可以做ARP投毒,DNS什么投毒都可以。
扫描主机后,添a加目标,然后如下图;
然后勾选第一个,随后就直接开始了。
cmd命令:arp-a显示ARP缓存表:
上面是只抓FTP密码,接下来抓HTTP密码:
这种是没有加密的,简单的http协议,一般都是https加密协议(什么非对称加密算法之类的什么算法)。