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代码
弹窗诱导
Create Alert Dialog,弹窗,懂得都懂
可以改为一些有诱导性的话,作为钓鱼的跳板
cookie盗取
这里可以直接看
或者使用模块
绕过HttpOnly限制
Apache Tomcat RequestHeaderExample Cookie Disclosure,这个是用来绕过HttpOnly机制获取Cookie的,r也就是即使网站使用了HttpOnly机制也能盗取到cookie
劫持输入表单
Get Form Values,此模块检索页面上所有输入字段的名称、类型和值
这个就有意思了,如果是账号密码表单,那不就……,还可以配合一些比较真实的钓鱼网站,要求输入什么什么密码,使用这个模块很优雅的就把这些敏感值截获了
截获触发点处HTML源码
Get Page HTML,这个模块允许我们获取XSS触发点处页面的整个HTML,一般都能找到一些敏感信息
截获当前HTML源码
Get Page and iframe HTML,这个模块和上面很像,但它是从当前页面和任何iframe(具有相同来源)中检索HTML
这个功能比刚刚那个强大,因为后端用iframe引入别的页面其实是很常见的,比方说留言查看、系统管理、用户管理这三个页面用iframe引入。如果我们在留言处触发了XSS,用Get Page HTML模块的话,只能获取留言这个界面的HTML,但如果用Get Page and iframe HTML,受害者此时在浏览某某模块,我们就能直接获取到某某界面的HTML,只要这个页面是使用iframe引入的
由于demo没有涉及iframe引入所以看不出差别
跳转批量篡改
Link Rewrite这个模块会把页面上所有网址都替换成你指定的网址,比方说有个跳转本来是跳转到http://test.com的,你可以让它跳转到Http://evil.com
Play Sound
看起来是一个恶搞功能,在目标页面上播放指定的音频
果然听到了,哈哈有趣
浏览器监视
Spyder Eye 直接截取目标浏览器当前在浏览什么页面,不管是否被挂了钩子!相当于浏览器被监视了哈哈
重定向
Redirect Browser,重定向,懂得都懂,把当前页面重定向到指定页面
这个就更直接了,骗都不带骗一下的,直接就把你重定向到某个指定网页了哈哈
重定向-pro
Redirect Browser(iFrame),和上面效果类似,但是这个是用iFrame引入一个页面,然后覆盖当前页面,用户当前的URL不变,还可以指定网站的图标,比较具有迷惑性,更适合用于钓鱼
URL不变
批量页面挂钩
Inject BeEF,在所有选项卡上都注入BeEF的Hook,看样子是个很厉害的功能,可以一下对多个页面进行权限维持
默认PDF浏览器挂钩
Hook default browser,执行时打开一个pdf,如果打开pdf的默认浏览器是另外一个浏览器,那么这个浏览器也将被挂钩!
浏览器截图
Screenshot 获取当前页面的截图
窃取浏览器保存凭据
Get Autocomplete Credentials,窃取火狐和谷歌浏览器保存的凭据,有版本限制
获取本地存储
Get Local Storage,从本地存储中获得数据
Redis攻击
用受害者的浏览器发送redis服务的操作数据,隔空打Redis
内网探测
Port Scanner,通过受害者浏览器对内网进行扫描,后面那个功能和它类似,但是会顺便进行指纹识别
小界面权限维持
Create Pop Under,弹出一个在角落的不起眼的小页面,这个页面里包含了我们的恶意JS代码,这个也是用于权限维持的,因为目标关闭当前页面就会导致BeEF的会话掉线,但如果目标没有关掉小窗口,那么会话就还是会一直在线
这个小窗非常不起眼,不注意很难发现,用来BeEF权限维持很舒服
XSS代理
只要受害者会话不掉,我们就可以把他的浏览器作为HTTP代理,我们可以用其浏览器发送任意web请求,甚至直接访问受害者内网的WEB服务,可以说这个功能把XSS的危害提升到了极致
我们选择一个会话,然后点击Use as proxy,就可以用受害者浏览器开启一个代理
点击之后我们就可以开始使用了,先来介绍一下最基础的功能,就是使用受害者浏览器发送HTTP/S请求
如果是非跨域的请求,还可以看到响应包
beef太强大了,功能远远不止这些,本文并没有对此写得很详细,是想留给师傅们自己去试试看,很好玩的哈哈
有兴趣的话,还可以看看官方文档,或者直接翻译模块旁边的解释试着用用,也能学到一些更有趣的功能