第24篇:记2011年实战外网ARP欺骗拿权限的过程

2022-12-06 10:31:48 浏览数 (2)

Part1 前言

这是我在读研时期的一次真实的在外网进行ARP欺骗嗅探的实战案例,费时一周,一晃已经11年前了。技术难度不大,但是实战操作的技巧性大。笔者在实战过程中踩了一大堆的坑,如果对ARP欺骗的原理不清楚,一个错误操作都会造成目标网站的瘫痪,没有十足把握不要在生产环境中尝试!毕竟ARP欺骗嗅探在实战环境中和在虚拟机环境测试中是不一样的,会遇到各种各样想不到的问题。现在的ARP欺骗嗅探在外网环境基本上是极少遇到了,在内网环境中还会发挥作用。

这里要注意的是,在几乎所有的红队评估、攻防比赛项目中,ARP欺骗都是禁止使用的,但是把这个案例分享给大家的,让大家能够明白,渗透测试实战与在虚拟机环境下做实验,是完全不一样的。

Part2 技术研究过程

  • Cain工具介绍

Cain工具的全名是cain & abel,是一款“老牌”渗透工具,曾被评为“全球100款最佳安全工具”。它可以通过网络嗅探很容易的恢复多种口令,同时也是一款实施ARP欺骗攻击比较稳定的工具,也可以使用字典破解加密的口令,暴力口令破解,录音VOIP(IP电话)谈话内容,解码编码化的口令,获取无线网络密钥,恢复缓存的口令,分析路由协议等。(以下图片来源于网络)

  • 对目标进行漏洞挖掘

目标网站是一个discuz论坛(假设IP地址是211.99.99.111),首先对这个IP进行了各种层面的漏洞挖掘,具体如下:

1、寻找discuz已公开的各种漏洞;

2、扫描目录,扫描备份文件,发现可利用的只有一个admin.php后台;

3、爆破discuz论坛后台的账号密码;

4、只有一个80的web端口和服务器的3389端口,基本上无从下手。

5、对IP地址进行全端口扫描,发现只有80、3389端口开放。最终发现,没有可利用的漏洞。

6、记得当时还试过了同IP旁注,可惜此IP只绑定了2个域名,均没有什么可以突破的web漏洞。

此时按照10几年前那个年代的搞站思路,这时候通常会在C段(假设是211.99.99.1/24)内拿到一台服务器权限,在此服务器上安装工具实施ARP欺骗,使IP:211.99.99.111的流量经过这台服务器,从而嗅探到管理员或者普通用户的账号密码,然后做进一步深入。

  • ARP欺骗过程

如下图所示:在211.99.99.81这台服务器上进行ARP双向欺骗之后,用户访问discuz论坛的数据包流向先经过211.99.99.1/24的网关211.99.99.1服务器,然后再经过攻击者获取的服务器权限211.99.99.81,然后数据包才到达211.99.99.111的discuz论坛。这样攻击者就可以在211.99.99.81这台服务器上,嗅探到目标discuz论坛的账号密码了(具体的ARP欺骗过程可以查一下网上的资料,下面这张图没有体现MAC地址,不要被我画的图误导了)。

  • IIS PUT漏洞获取权限,但无法实施ARP攻击

接下来对C段(211.99.99.1/24)进行批量的漏洞扫描,很快通过IIS PUT写权限漏洞获取一个Webshell,紧接着获取IP:211.99.99.20这台服务器权限。在10年前IIS PUT这个漏洞在外网是广泛存在的,记得当时用的是桂林老兵的工具,现在的内网渗透中,有时候还能用到这个工具。

接下来就是在服务器上安装一个cain工具了,但是cain附带需要安装一个WinPcap驱动程序,在虚拟机里测试的话,可以随便安装。但是在真实环境中安装这个驱动怕出问题,影响服务器的网络。为了保险起见,当时从网上下载了一个绿色版的cain,双击即可使用。

设置好cain之后,开始实施ARP欺骗攻击。结果发现,刚过几秒钟,cain的丢包率就接近100%了。吓得我赶紧把cain给停止掉,因为丢包率一旦达到100%,服务器就挂了。丢包率为什么这么高呢?

简单分析一下,目标discuz论坛是一个有几万用户的流量很高的论坛,而这个IIS服务器是一个注册用户10几个人的小站。这也就引出了一个问题,也许这台IIS服务器的性能不行,承受不住并且处理不了来自discuz论坛的这么大的访问流量,导致IIS这台服务器上的cain丢包严重。

接下来怎么解决这个问题呢?后来经过一系列搜索,询问朋友,也试过各种方法,发现这个问题几乎是无解的,最终只能放弃这台机器,搞一个性能好的服务器权限去实施ARP欺骗攻击。

  • Dvbbs动网漏洞拿下权限

接下来对C段(211.99.99.1/24)在此进行批量的漏洞扫描,很快找到了一个dvbbs动网论坛(假设IP:211.99.99.81),这个IP看起来性能不错。通过上传漏洞,很快拿到了一个webshell,通过提权获取了3389服务器权限。10几年前dvbbs动网论坛还是比较流行的,那时候的动网论坛大致像这样子:

最终使用这台服务器实施ARP欺骗攻击,效果发现还是可以的,至少不会立即丢包。这时候又发现一个问题,使用cain进行ARP欺骗之后,大约每过5分钟,丢包率就会逐步的递增,由10%逐步递增至100%,接下来无论我怎么去调整cain的各种参数配置,始终无法解决这问题。哎,真是太难了。由此朋友们也可以发现了,实战ARP欺骗与虚拟机环境是完全不一样的,虚拟机下无论怎么测试,都不会有丢包现象。所以大家要多多实战操作,积累经验!

  • 土方法解决丢包问题

但是慢慢地我发现,cain至少在5分钟内不会丢包,丢包率太高的话,只要重启一下cain,重新实施ARP欺骗即可。这样我就想到了一个简单的方法去解决这个问题。用易语言写了一个小程序,每隔5分钟就关闭一下cain(把cain的进程关掉即可),接着停留100s,然后重启cain,这样周而复始,循环执行。以下是当时用易语言写的一个小工具,换到现在,我一定会改成命令行的,不要图形界面。

在实施ARP欺骗过程中,基本上没敢离开电脑,就怕目标网站崩溃掉。期间一直查看目标discuz论坛,看丢包率达到多少了,以备出现意外状况,手工结束掉cain,最终经过漫长的断断续续的2天等待,高权限的账号密码还是被嗅探到了。

  • 绕过ARP防火墙方法

到后期,各种ARP防火墙的出现,导致cain基本上就不能用了。但是安全专家们,很快找到了各种绕过ARP防火墙的方法,而且写了各种绕过ARP防火墙的工具:

NetFuke与Arp EMP这两个工具可以进行单向ARP欺骗,由于单向ARP欺骗流量没有经过ARP防火墙,所以可以绕过早期的ARP防火墙。

以下这个工具可以也绕过ARP防火墙,由于部分ARP防火墙就是不停地向网关发ARP包刷新arp表,但是这个工具发包的速度比arp防火墙的速度快,造成ARP欺骗可以继续。

到后期静态地址绑定,基本上彻底修复了ARP欺骗这个漏洞,ARP欺骗攻击这个曾经常用的攻击手段至少在外网环境中就极少遇到了,在内网还可以遇到。

Part3 总结

1. 实战的渗透测试与虚拟机环境是完全不一样的,一定要多动手实操。对于ARP欺骗更是如此,实战中总是会遇到各种各样虚拟机里无法遇到的情况。

2. 在此强调,如果对ARP欺骗不是有十分的把握,不要在实战中使用,一个误操作,可能造成整个局域网瘫痪。

3. 网上有各种各样的ARP欺骗工具,好用的却不多,这里不过多评论。

4. 不同版本的cain等ARP嗅探工具,一定要装好对应版本的winpcap程序。

专注于网络安全技术分享,包括红队、蓝队、日常渗透测试、安全体系建设等

每周一篇,99%原创,敬请关注

0 人点赞