BeFF使用方法

原文地址:http://resources.infosecinstitute.com/beef-part-1/ 
http://resources.infosecinstitute.com/beef-part-2/ 
BeEF使用浏览器漏洞来获得目标机器的控制权。BeEF提供API,我们可以编写自己的模块来攻击目标浏览器。 
1. 安装  
1)使用root权限执行下列命令: 
Xml代码   收藏代码
  1. # apt-get install ruby1.9.1 ruby1.9.1-dev libsqlite3-dev sqlite3 sqlite3-doc rubygems1.8  
  2. # gem install bundler  
  3. # export PATH='$PATH:/var/lib/gems/1.8/bin'  

2)使用常规权限执行: 
Xml代码   收藏代码
  1. # curl -L https://get.rvm.io | bash -s stable –ruby  
  2. # export PATH='$PATH:/usr/local/rvm/bin/'  
  3. # source /<a title="home" href="http://resources.infosecinstitute.com/">home</a>/user/.rvm/scripts/rvm  
  4. # unset RUBYOPT && sudo env-update && gem -v  

3)下载BeEF框架: 
Xml代码   收藏代码
  1. # git clone https://github.com/beefproject/beef.git  

4)要安装BeEF框架,必须使用bundle命令来安装缺少的依赖: 
Xml代码   收藏代码
  1. # cd beef/  
  2. # bundle install  

5)成功安装依赖关系如下图: 
Xml代码   收藏代码
  1. # bundle install  
  2. Fetching gem metadata from http://rubygems.org/.......  
  3. Fetching gem metadata from http://rubygems.org/..  
  4. Installing addressable (2.2.8)  
  5. Installing ansi (1.4.3)  
  6. Installing daemons (1.1.9)  
  7. Installing data_objects (0.10.8)  
  8. Installing dm-core (1.2.0)  
  9. Installing dm-do-adapter (1.2.0)  
  10. Installing dm-migrations (1.2.0)  
  11. Installing do_sqlite3 (0.10.8) with native extensions  
  12. Installing dm-sqlite-adapter (1.2.0)  
  13. Installing eventmachine (0.12.10) with native extensions  
  14. Installing em-websocket (0.3.8)  
  15. Installing erubis (2.7.0)  
  16. Installing multipart-post (1.1.5)  
  17. Installing faraday (0.8.4)  
  18. Installing jsmin (1.0.1)  
  19. Installing json (1.7.5) with native extensions  
  20. Installing librex (0.0.68)  
  21. Installing msgpack (0.4.7) with native extensions  
  22. Installing msfrpc-client (1.0.1)  
  23. Installing multi_json (1.3.6)  
  24. Installing parseconfig (1.0.2)  
  25. Installing rack (1.4.1)  
  26. Installing rack-protection (1.2.0)  
  27. Installing simple_oauth (0.1.9)  
  28. Installing tilt (1.3.3)  
  29. Installing sinatra (1.3.2)  
  30. Installing term-ansicolor (1.0.7)  
  31. Installing thin (1.4.1) with native extensions  
  32. Installing twitter (3.6.0)  
  33. Using bundler (1.1.5)  
  34. Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.  

6)更新BeEF框架: 
Xml代码   收藏代码
  1. # ./update-beef  

7)然后BeEF框架启动如下: 
Xml代码   收藏代码
  1. # ./beef  
  2. [ 9:13:42][*] Browser Exploitation Framework (BeEF)  
  3. [ 9:13:42] | Version 0.4.3.7-alpha  
  4. [ 9:13:42] | Website http://beefproject.com  
  5. [ 9:13:42] | Run 'beef -h' for basic help.  
  6. [ 9:13:42] |_ Run 'git pull' to update to the latest revision.  
  7. [ 9:13:45][*] BeEF is loading. Wait a few seconds...  
  8. [ 9:13:53][*] 8 extensions loaded:  
  9. [ 9:13:53] | Autoloader  
  10. [ 9:13:53] | Events  
  11. [ 9:13:53] | Proxy  
  12. [ 9:13:53] | Requester  
  13. [ 9:13:53] | Admin UI  
  14. [ 9:13:53] | Console  
  15. [ 9:13:53] | Demos  
  16. [ 9:13:53] |_ XSSRays  
  17. [ 9:13:53][*] 122 modules enabled.  
  18. [ 9:13:53][*] 2 network interfaces were detected.  
  19. [ 9:13:53][+] running on network interface: 127.0.0.1  
  20. [ 9:13:53] | Hook URL: http://127.0.0.1:3000/hook.js  
  21. [ 9:13:53] |_ UI URL: http://127.0.0.1:3000/ui/panel  
  22. [ 9:13:53][+] running on network interface: 10.1.1.176  
  23. [ 9:13:53] | Hook URL: http://10.1.1.2:3000/hook.js  
  24. [ 9:13:53] |_ UI URL: http://10.1.1.2:3000/ui/panel  
  25. [ 9:13:53][*] RESTful API key: 8f6d1d719227a0bc6b654e5682c2d73801d3cffc  
  26. [ 9:13:53][*] HTTP Proxy: http://127.0.0.1:6789  
  27. [ 9:13:53][*] BeEF server started (press control+c to stop)  

我们可以看到BeEF启动/正确运行:它现在运行在所有发现的网络接口,所以可以从各个网卡访问。从BeEF输出中可以看到user接口面板可以通过http://10.1.1.2:3000/ui/panel来访问,如果我们访问该页面,我们将自动重定向到http://127.0.0.1:3000/ui/authentication,如下图所示: 
 
默认username/passwd是 beef:beef,现在登录 
 
我们我们可以看到web页面的欢迎信息以及出现基本信息,以及使用手册。 
开始使用  
当前当前BeEF框架有两个demo页面: 
a.基本demo页面 
 
当上图页面加载时,我们的浏览器已经被hook到BeEF框架中,并且我们可以利用它执行命令了。显示的额外的连接/表单是为了显示BeEF的各种特性 
b)Butcher Demo页面 
 
这个例子也是用于自动hook浏览器到BeEF框架中,所以不需要额外的步骤。web页面中的其他元素也是为了演示目的。 
在BeEF user interface面板的左侧,我们可以看到“Online Browsers” 和 “Offline Browsers,表示为已经被hook的浏览器,它们中的一些在线,另一些不在线。取决于受害者机器的状态 
我们我们也可以通过点击浏览器来与一个被hook的浏览器通信,然后会创建一个新的tab,如下图 
 
我们我们可以看到每一个tab代表一个浏览器,它有5个tab-总结如下: 
Details-显示被hook的浏览器的细节。如上图所示 
Logs-显示当前浏览器的log实体。如下图所示 
 
commands-我们可以对一个浏览器执行模块。模块可以执行可以通过JavaScript来执行的任何命令。每一个模块有一个图标,表示为如下色彩: 
Green : 可以工作; user不可见 
Orange :可以工作; user可见 
Grey : 可能工作 
Red : 不能工作 
如下图所示,选择了“Browser – Hooked Domain – Play Sound” module. 
 
Rider-允许我们以被hook的浏览器身份提交任何请求 
XssRays-用于检测被hook的页面是否含有XSS漏洞。如果我们右击被hook的页面,弹出一个menu,有两个选项 
-Use as Proxy:允许我们使用被hook的浏览器做代理 
-Launch XssRays on Hooked Domain:用于发现web页面的XSS漏洞。XssRays标签用于做同样的事 
使用模块  
1. 获得cookie: 
 
当我们执行Get Cookie,得到如下结果: 
 
2. 获得页面HREFs 
该模块用于从目标页面中获得HREFS。如果我们查看代码,我们将会看到如下代码: 
Xml代码   收藏代码
  1. </pre>  
  2. <ul>  
  3.     <li><a href="http://beefproject.com" target="_blank">The Browser Exploitation Framework Project homepage</a></li>  
  4.     <li><a href="http://ha.ckers.org/" target="_blank">ha.ckers.org homepage</a></li>  
  5.     <li><a href="http://slashdot.org/" target="_blank">Slashdot</a></li>  
  6. </ul>  
  7. <pre>  

在html代码中有三个连接: 
- http://beefproject.com 
- http://ha.ckers.org/ 
- http://slashdot.org/ 
通过本模块,我们可以从模块中提取这些连接。如果我莫执行模块“Get Page HREFs”,我们将会得到如下响应: 
 
3. 获得页面HTML 
该模块将会从当前页面中获得HTML。执行结果如下: 
 
4. 替换HREFs 
该模块将会覆盖指定URL的HREFs属性。实验用www.google.com替换该模块。成功覆盖目标页面的所有url。响应如下所示: 
 
5. 创建alert对话框 
这是第一个对于user来说非不可见的模块。该模块发送一个alert到被hook的浏览器。如下所示: 
 
6 Google搜索 
该模块从被hook的浏览器来搜索Google。成功执行是如下: 
 
7. 原生态JavaScript 
本模块发送输入框中的JS代码到被hook的浏览器。代码在一个匿名函数中运行,并通过框架返回结果。 
如果我们在输入框中输入alert(“Hello World!”); return ‘Ok’; ,被hook的浏览器将会显示alert窗口,如下: 
 
8. 检查社交网络 
本模块检查被hook的浏览器是否在浏览Gmail,Facebook,或Twitter。当用户被授权到Facebook时响应如下: 
 
10. Google钓鱼 
本模块伪造一个google登录页面,一旦登录到Gmail邮件系统,用户口令将会发送给BeEF框架。当我们点击执行按键,Gmail Google页面将会显示,如下图: 
 
我们可以看到页面和Google的页面一样,除了url不同。当输入用户口令test:test时,我们将会从BeEF框架中获得该口令: 


猜你喜欢

转载自blog.csdn.net/sufeiboy/article/details/79549130