引言
Ettercap这款工具相信大家并不陌生。利用Ettercap实施中间人攻击在网上有很多教程,但都有很多重要的地方没有指出来。比如只说怎么做,但没说前提,在什么环境下做。
简介
Ettercap是一个综合性的中间人攻击工具,使用它可以进行ARP欺骗、拦截器、DNS欺骗等操作。借助于Ettercap嗅探软件,渗透测试人员可以检测网络内明文数据通讯的安全性,及时采取措施,避免敏感的用户名/密码等数据以明文的方式进行传输。Ettercap几乎是每个渗透测试人员必备的工具之一。
该款工具的图形版界面如下:
Ettercap工作原理
Ettercap进行MITM攻击,其原理是ARP投毒。在开启嗅探后,把目标机和攻击机设置为Target1和Target2,开启ARP投毒(ARP poisoning)即可。如下:
这个ARP poisoning非常重要,虽然Ettercap的功能很多,但是大部分攻击的前提就是ARP poisoning。比如流量监听、DNS劫持等,前提都是必须先进行ARP投毒。
ARP协议简单来说就是用于实现从 IP 地址到 MAC地址的映射。再简单点就是在计算机缓存里,有一张表,表中的每一行是一个IP地址和对应的MAC地址。数据包发送时就是先查这个表,也就是说,如果这个表IP和MAC对应错了,那我们的数据包也就会发送到别的计算机。
通过ARP欺骗,我们可以使得受害者将我们视为网关,而网关将我们视为受害者,这样就实现了从请求到响应的双向监听。
补充说明
1、首先是DNS劫持,我们在开启ARP poisoning后,便可以进行DNS劫持。一个经典的场景就是,你浏览一个网址,比如输入www.baidu.com,这需要经过DNS解析,而攻击机可以返回一个错误的IP给你。这个IP有攻击者搭建的网站,你就会访问到一个假的网站。
但是如果你输入的是https开头的网址,例如:https://www.baidu.com 那么便不会被攻击。浏览器会显示打不开。
2、流量监听。使用中间人攻击,可以让目标机的数据流量经过攻击者的机器,这样攻击者便可以查看目标主机的信息。比如经典场景就是查看目标流量的图片。如下:
注意:这是针对HTTP协议的网站,如果是HTTPS协议的话,那么是无法看到的。攻击者无法获取经过HTTPS加密的流量内容。
其实,Ettercap大部分攻击都只对HTTP协议有效,换成HTTPS协议就不灵了。有没有方法对付HTTPS协议呢,有。例如:SSLStrip。
SSL strip背景:在日常上网过程中,用户只是在地址栏中输入网站域名,而不添加协议类型,如HTTP和HTTPS。这时,浏览器会默认在域名之前添加http://,然后请求网站。如果网站采用HTTPS协议,就会发送一个302重定向状态码和一个HTTPS的跳转网址,让浏览器重新请求。浏览器收到后,会按照新的网址,进行访问,从而实现数据安全加密。由于存在一次不安全的HTTP的请求,所以整个过程存在安全漏洞。
sslstrip不针对程序错误,而是基于HTTPS体系实现的攻击方式。就是因为多数用户不会主动请求SSL协议来保护自己和服务器之间的通信,即在浏览器输入https访问域名。该攻击方式就是抓住了这个特点,在用户端接受到跳转信息之前通过明文HTTP协议去除掉HTTPS跳转的过渡,从而使得原先本应被加密的信息都明文呈现在了攻击者的面前,使得攻击者能够自由获取需要的信息。
也就是说,即使用ssl剥离的方法,也是有很大局限性的。例如网页中没有https,但是js代码绑定了跳转到https的协议请求的事件,那么sslstrip也就失效了。此外,如果用户打开网页的时候请求就是https, 会导致证书认证失败, 从而导致sslstrip攻击失效。
我们就假设用户粗心,没有输入https开头的网址,网站也没有js跳转https的请求。但是还有一项策略在保护我们,那就是HSTS。全称是HTTP Strict Transport Security(HTTP严格传输安全性)。HSTS是一个为了确保浏览器只使用https加密连接网站的安全措施,是对HTTP明文传输流量的零信任,得到了许多网站的支持。
我们偶尔会遇到浏览器警告:因为此网站使用了HSTS。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常。如下图:
此外,现在已经启动了DoT安全策略,进一步加强了通信的安全性。DoT全称DNS over TLS,是通过传输层安全协议(TLS)来加密并打包域名系统(DNS)的安全协议,工作在853端口,由RFC 7858及RFC 8310定义,旨在防止中间人攻击与控制DNS数据以保护用户隐私。还有一个DoH的安全策略也已经逐步实施。
值得一提的是,谷歌浏览器近些年不断加强其安全性,2021年开始,所有HTTPS证书有问题的网站,浏览器会强制断开访问。(在以前,会有一个警告,但是用户依然可以选择继续访问)。现在不再有“继续访问(不安全)”的选项,直接就是强制断开访问。
ok,以上就是关于Ettercap中间人攻击的一些额外补充,主要是谈其局限性。所以HTTPS协议还是很好的对抗MITM攻击的手段。Ettercap对有SSL/TLS证书保护的网站几乎束手无策,但也别掉以轻心,不断加强自身的网络安全意识才是最重要的。
更多内容敬请关注(公众号)“极客随想”: