这一章先容若何使用BeEF来攻击用户和浏览器,攻击用户和浏览器的效果相对于上一章来说比较简朴,效果也直接有用。
查看之前的五篇文章:
浏览器攻击框架BeEF Part 1
浏览器攻击框架BeEF Part 2:初始化控制
浏览器攻击框架BeEF Part 3:连续控制
浏览器攻击框架BeEF Part 4:绕过同源计谋与浏览器署理
浏览器攻击框架BeEF Part 5:攻击Web应用与攻击网络
攻击用户可分为三部门:内容挟制、捕捉用户输入、社会工程学。
内容挟制是指替换被勾连的浏览器中当前页面内容,好比替换被勾连的浏览器中当前页面中所有的米素的href。
BeEF自带了许多内容挟制相关的攻击模块:
上图中Get xxx系列的攻击模块就是简朴获取xxx,好比Get Cookie 就是获取勾连浏览器当前页面的Cookie,Get Form Values 就是获取From表单中值。Replace HREFs系列就是替换所有米素中的HREF属性,好比常用的Replace HREFs是循环替换所有米素的HREF属性,Replace HREFs(Click Events)和Replace HREFs类似,唯一的区别是只有onClick 事宜发生时才触发修改HREF属性。Replace HREFs(HTTPs)是把所有指向https站点的链接改写为http协议。Redirect Browser模块是把被勾连的浏览器重定向到指定的页面。Replace Content(Deface)是直接修改页面的内容。这些功效可以窃取一些内容,也可以配合钓鱼网站来攻击用户。
捕捉用户的输入也就是我们常说的键盘记录器,BeEF通过使用焦点事宜,键盘事宜,鼠标和指针事宜这四个事宜来实时监控着用户的操作。其中焦点事宜是指用户的焦点是否还在被勾连的页面,下面笔者在一个被勾连的浏览器中划分触发四个事宜:
然后来看看BeEF中实时的返回:
BeEF有一个目录,内里是专门用于社会工程学的攻击模块:
这里笔者挑Pretty Theft(完善偷窃)来演示, 演示环境是上一章演示攻击Web应用时用到的metasploitable2 dvwa + BeEF + kali。
名称
角色
ip
Ubuntu
BeEF服务器 / metasploit
外网
kali
攻击者
外网
Windows7 / 浏览器A
受害者
内网 10.0.2.4
metasploitable2
内网有破绽的主机
内网 10.0.2.5
Pretty Theft 攻击模块会在被勾连浏览器上弹出一个弹框,然后通过欺骗性的语句来使用户输入帐号和密码。当网站有http-only这个响应首部,无法窃取cookie时,可以使用完善偷窃这个模块来窃取用户的帐号和密码。
使用Pretty Theft前,需要做一些参数的设置:
点击Execute运行, 被勾连的浏览器会有一个提醒性的弹框弹出:
若是用户输入帐号和密码:
那么在BeEF的治理UI上就能看到了帐号和密码:
读者可能注重到了,Pretty Theft默认下弹出的诱惑性弹框中所使用的语言是英文。在海内效果肯定要打折扣了。以是要修改一下,在beef/modules/social_engineering/pretty_theft/command.js中修改:
修改后的效果如下:
样貌有点不太悦目,主要是由于logo太大了,若是读者明白js和html,那么你也可以在beef/modules/social_engineering/pretty_theft/command.js中自己定制一个悦目一些的。这样可信度就会提高许多了。
除了pretty_theft外另有一些社会工程学的攻击模块,这些就留给读者自行测试了。
攻击浏览器的手艺,笔者只先容一个:团结metasploit来攻击浏览器。演示的环境与上面演示pretty_theft是一样的。
要使用Metasploit + BeEF之前,需要做一下设置。
首先要在BeEF中修改beef/extensions/metasploit/config.yaml配置文件:
上图中的port, user, pass 需要与下面在msf中启动MSGRPC接口中的port, user, pass一样。而图中最下面的”{os: ‘custom’, path:’/opt/metasploit-framework/’}”要根据实际情况来改,这里写的是msf的路径,这里笔者是在Ubuntu中安装了msf,以是路径是/opt/metasploit-framework/, 若是读者是使用kali来测试,那么默认已经有写路径了。
接着修改beef/config.yaml, 设置开启metasploit模块:
设置好BeEF后,现在来开启Metasploit的MSGRPC接口, 先在一个空缺文件msf_beef.txt中写入:
ServerPort, User, Pass 需要与BeEF中设置的一样。 接着启动msf服务器, 由于笔者是在远程的服务器上启动msf的,而且msf必须保持运行状态,以是笔者使用screen下令来启动msf。这样纵然我关闭了ssh毗邻,也可以保证msf保持运行状态:
启动乐成后,会有如下图的输出:
接着按住Ctrl键 + a + d, 暂时脱离”msf” session窗口, 回到原本的窗口。 这样纵然退出了ssh毗邻, “msf”session照样会在继续运行。
启动了msfconsole之后, 就可以启动BeEF了。这个顺序不能反了,需要先启动msfconsole,才气启动BeEF。
现在环境设置好了。 说一下BeEF + msf攻击原理, 原本若是只是使用metasploit 来攻击浏览器(这里是IE8),那么metasploit会天生一个URL,若是IE访问了这个URL,那么就会中招。
现在有BeEF, BeEF可以把metasploit天生的URL嵌入到被勾连浏览器的一个iframe中。通过msgrpc接口,可以直接在BeEF的治理UI中设置metasploit的参数并直接使用msf的exploit模块。
这里笔者挑了ms11__ie_css_import来做测试 , 在BeEF的metaspliot 目录下可以找到。 设置好参数之后点击Execute就可以运行了。
回到Ubuntu服务器, 查看msfconsole控制台:
可以看到回连了meterpreter。在测试的时刻,要确保网络的速率, 笔者由于网速问题,测了好几次才乐成。
这一章就到这里了,这个系列也完结了。
*本文原创作者:NT00