使用beef与简单开发的钓鱼平台进行钓鱼攻击
在这个XSS崛起的时代,通常简单快速拿下网站的方式是通过网站提问或者留言的方式进行XSS盲打后台,然后通过盗取的cookie进行后台为所欲为。
但是渐渐的发现一个XSS代码打打到后台执行后,由于HttpOnly
存在,导致我们只能得到网站后台地址信息,重要的cookie信息被保护起来了。
在尝试多种绕过httponly
方法失败后,XSS钓鱼就应用而生,然后在钓鱼时一副好的鱼竿和鱼饵就显得格外重要。
<iframe>
元素会创建包含另外一个文档的内联框架,也就是说如果我们在网页中添加了一个iframe
元素,src
一个需要内联的网址,然后src的网页就会加载在当前网站。
在我们知道网站后台时,我们就可以复制一个一毛一样的后台html页面放在我们的服务器上,然后用户名和密码提交的地址为我们服务器的地址,之后我们就可以在存在XSS的漏洞点添加<iframe>
元素,地址为我们的构造的后台地址,当后台管理人员访问到我们的留言是就会触发脚本,加载我们的<iframe>
元素中的网址,只要我们的<iframe>
中的属性配置成覆盖整个浏览器,管理人员可能就以为自己退出了,然后重新输入用户名和密码,这样管理员的密码就会发送到我们的服务器上,我们就可以利用用户名和密码进行登录了,然后就可以再次进入后台为所欲为了。
BeEF:
BeEF是一个用于合法研究和测试目的的专业浏览器漏洞利用框架,它允许有经验的渗透测试人员或系统管理员对目标进行攻击测试,攻击成功以后会加载浏览器劫持会话。
BeFF,它扩展了跨站漏洞的利用,能hook很多浏览器(IE和Firefox等)并可以执行很多内嵌命令。
BeEF是目前欧美最流行的web框架攻击平台,它的全称是:the Browser exploitation framework project.
BeEF安装
在平常日站时通常都会遇到这种情况:日站几秒钟,环境几小时。一个漏洞利用可能只要几秒钟,但是我们在搭建利用环境是需要好几个小时,网上的教程有比较坑,所以一个利用环境搭建要处理各种错误。
看到网上安装beef各种教程,各种版本,一看安装过程就不简单,看到我直接放弃。
docker快速生成BeEF平台
直接yum安装docker
在https://hub.docker.com/
上搜索beef的镜像。
直接命令行docker run --rm -p 3000:3000 janes/beef
下载镜像。运行成功后如下:(ps. 如果下载过慢,可以去http://www.daocloud.io/
添加一个国内源)
访问http://localhost:3000/ui/panel
进入beef登录页面,默认密码beef/beef
.
基本BeEF都是在公网使用所以最好修改密码,进入容器beef目录修改config.yaml
文件修改passwd,然后保存容器重新启动就ok了
这边模拟在漏洞网站hello.html的中插入hook.js后访问
这时BeEF平台时已经hook住了浏览器,我们可以对浏览器进行操作了
在BeEF下常用的钓鱼攻击模块在commands的Browser目录下的Hooked Domain目录下。
Get Cookie
获取当前网站的cookie信息,点击最右边的execute执行成功后module Results列表下就会出现获取的cookie信息。(在没有httponly的前提下)
Get Form Values
获取网站上的所有的表单值
Get Page Html
获取当前网页源码信息
Redirect Browser
输入想要跳转的url后可以然浏览器进行会进行跳转,我们可以在我们的服务器上上传一个木马文件,然后跳转到该页面进行下载,如果管理人员在无意识的情况下下载并点击,那么就可以获取到服务器权限
执行成功后浏览器开始下载文件
利用这个功能进行钓鱼时会跳转到钓鱼网站,所以一般有点意识的人都不会去输入,所以我们要用到,下面的一个功能。
Redirect Browser(iFrame)
这里我们只要输入title,网站图标地址,还有我们构造好的钓鱼页面,只要点击执行就会自动使用<iframe>
属性在XSS漏洞网站覆盖掉整个网站页面。
使用百度网站进覆盖测试:
页面已经被覆盖,url还是没有变化,还是我们当前网站的url。
构造钓鱼页面是一个比较麻烦的事情,通常需要复制出网站后台的登录页面,然后修改里面的加载的地址、再把输入的post表单的数据发送到我们的钓鱼网站,然后我们的钓鱼网站还需配置一个接受参数的服务,在接收到参数后在进行跳转。
在制作钓鱼页面是,拷贝下一个页面然后进行url替换时时一见非常繁琐的事情,在网上搜了一下页面钓鱼页面生成的工具时发现kali下settoolkit工具时,对url的处理并不是很好,很多属性都出来不好,同时发现在网页钓鱼一整套的流程居然没有一个独立的工具(也许是我没找到),于是自己基于django写了一个整套简单的钓鱼平台
只要是输入需要复制的钓鱼页面,就自动生成一个url,然后自动接收数据的一个小平台,测试之后发现用起来还不错
页面复制没有任何问题,我们直接将在beef里使用<iframe>
属性加载我们的钓鱼页面,这里的title对中文的支持不太友好,会乱码。
页面复制没有任何问题,我们直接将在beef里使用<iframe>
属性加载我们的钓鱼页面,这里的title对中文的支持不太友好,会乱码。
url没有任何变化,直接在原页面上覆盖了一个登录页面
当我们输入用户名和密码时,服务器便会自动记录用户民和密码,然后再次跳转到真实网站
目前钓鱼平台基于django开发,支持页面的复制,编辑,自动生成url,在输入数据后自动记录数据,还有发送钓鱼邮件的功能。
通过快速生成beef和使用钓鱼平台,在平常的网页钓鱼中,可以为我们省去很多的环境搭建时间,提高测试效率。
该平台功能也很简单,实现起来不难,后期功能完善后(其实是代码写的太烂😳
)会公开出来,也是自己写的第一个项目吧。
beef还有很多功能,钓鱼只是冰山一角,网上很多教程都是基于beef与msf结合ie浏览器漏洞获取服务器权限,还可以使用msf里的浏览器漏洞进行攻击等等。这里主要讲一下如何快速使用beef与xss结合进行钓鱼的功能,更多功能自行探索。