beef一款XSS神器

本文最后更新于 2024年10月22日 晚上

beef简介

xss平台师傅们都用过吧,beef呢其实也相当于一个xss平台,只是功能更强大一些,它有一个hook.js钩子,只要把这段代码插入到存在存储型xss漏洞的网站,那么访问者的浏览器就会沦陷,通过hook.js钩子,访问者的浏览器会被持续化的控制住,利用beef可以执行很多强大的模块,进一步获取敏感信息,钓鱼,探测内网等等

beef的特点是有个缓存污染机制。目标网站只要触发过一次XSS,就会被污染缓存,目标下次访问这个网站,还是会一直上线。而且目标只要开着这个网页,那么就会一直在线上,除非目标专门清理缓存,不然很难摆脱beef

安装

https://cloud.tencent.com/developer/article/2196746

基本界面介绍

可以看看这个从0到1简单的熟悉一下基本操作:

https://blog.csdn.net/smli_ng/article/details/106067842

使用

在本地搭建beef,使用自带的demo演示一些好玩的功能嘿嘿

执行任意JS

Raw JavaScript 实用功能,在目标页面上实时执行JS代码

image

image

弹窗诱导

Create Alert Dialog,弹窗,懂得都懂

image

image

可以改为一些有诱导性的话,作为钓鱼的跳板

cookie盗取

这里可以直接看

image

或者使用模块

image

绕过HttpOnly限制

Apache Tomcat RequestHeaderExample Cookie Disclosure,这个是用来绕过HttpOnly机制获取Cookie的,r也就是即使网站使用了HttpOnly机制也能盗取到cookie

image

劫持输入表单

Get Form Values,此模块检索页面上所有输入字段的名称、类型和值

这个就有意思了,如果是账号密码表单,那不就……,还可以配合一些比较真实的钓鱼网站,要求输入什么什么密码,使用这个模块很优雅的就把这些敏感值截获了

image

截获触发点处HTML源码

Get Page HTML,这个模块允许我们获取XSS触发点处页面的整个HTML,一般都能找到一些敏感信息

image

截获当前HTML源码

Get Page and iframe HTML,这个模块和上面很像,但它是从当前页面和任何iframe(具有相同来源)中检索HTML

这个功能比刚刚那个强大,因为后端用iframe引入别的页面其实是很常见的,比方说留言查看、系统管理、用户管理这三个页面用iframe引入。如果我们在留言处触发了XSS,用Get Page HTML模块的话,只能获取留言这个界面的HTML,但如果用Get Page and iframe HTML,受害者此时在浏览某某模块,我们就能直接获取到某某界面的HTML,只要这个页面是使用iframe引入的

image

由于demo没有涉及iframe引入所以看不出差别

跳转批量篡改

Link Rewrite这个模块会把页面上所有网址都替换成你指定的网址,比方说有个跳转本来是跳转到http://test.com的,你可以让它跳转到Http://evil.com

image

Play Sound

看起来是一个恶搞功能,在目标页面上播放指定的音频

image

image

果然听到了,哈哈有趣

浏览器监视

Spyder Eye 直接截取目标浏览器当前在浏览什么页面,不管是否被挂了钩子!相当于浏览器被监视了哈哈

image

image

image

重定向

Redirect Browser,重定向,懂得都懂,把当前页面重定向到指定页面

这个就更直接了,骗都不带骗一下的,直接就把你重定向到某个指定网页了哈哈

image

image

重定向-pro

Redirect Browser(iFrame),和上面效果类似,但是这个是用iFrame引入一个页面,然后覆盖当前页面,用户当前的URL不变,还可以指定网站的图标,比较具有迷惑性,更适合用于钓鱼

image

image

URL不变

image

批量页面挂钩

Inject BeEF,在所有选项卡上都注入BeEF的Hook,看样子是个很厉害的功能,可以一下对多个页面进行权限维持

image

默认PDF浏览器挂钩

Hook default browser,执行时打开一个pdf,如果打开pdf的默认浏览器是另外一个浏览器,那么这个浏览器也将被挂钩!

image

浏览器截图

Screenshot 获取当前页面的截图

image

窃取浏览器保存凭据

Get Autocomplete Credentials,窃取火狐和谷歌浏览器保存的凭据,有版本限制

image

获取本地存储

Get Local Storage,从本地存储中获得数据

image

Redis攻击

用受害者的浏览器发送redis服务的操作数据,隔空打Redis

image

内网探测

Port Scanner,通过受害者浏览器对内网进行扫描,后面那个功能和它类似,但是会顺便进行指纹识别

image

小界面权限维持

Create Pop Under,弹出一个在角落的不起眼的小页面,这个页面里包含了我们的恶意JS代码,这个也是用于权限维持的,因为目标关闭当前页面就会导致BeEF的会话掉线,但如果目标没有关掉小窗口,那么会话就还是会一直在线

image

image

这个小窗非常不起眼,不注意很难发现,用来BeEF权限维持很舒服

XSS代理

只要受害者会话不掉,我们就可以把他的浏览器作为HTTP代理,我们可以用其浏览器发送任意web请求,甚至直接访问受害者内网的WEB服务,可以说这个功能把XSS的危害提升到了极致

我们选择一个会话,然后点击Use as proxy,就可以用受害者浏览器开启一个代理

image

点击之后我们就可以开始使用了,先来介绍一下最基础的功能,就是使用受害者浏览器发送HTTP/S请求

image

image

如果是非跨域的请求,还可以看到响应包

image

beef太强大了,功能远远不止这些,本文并没有对此写得很详细,是想留给师傅们自己去试试看,很好玩的哈哈

有兴趣的话,还可以看看官方文档,或者直接翻译模块旁边的解释试着用用,也能学到一些更有趣的功能

官方文档:https://github.com/beefproject/beef/wiki