事情是这样的
前台女神小姐姐神秘兮兮的找我
说自己电脑闹鬼了
经常自己跳转一些自己没有打开的网站
还会偶尔谈对话框出来 让她输入用户名密码
beef介绍
BeeF是前欧美最流行的web框架攻击平台,parrot和kali等渗透测试系统,都集成Beef,而且Beef有很多好使的payload。例如,通过XSS这个简单的漏洞,BeeF可以通过一段编制好的javascript控制目标主机的浏览器,通过浏览器拿到各种信息并且扫描内网信息,非常强大。
beef工作原理简介
1、启动beef,登录beef的Web端Web-beef
2、在网页Web1的代码中植入js代码段
3、用户user1通过浏览器访问网页
4、beef会通过植入js代码,劫持user1的浏览器,获取浏览器的各种信息
5、在Web-beef端可以看到大量user1的信息,以及是否可攻击的选项等。
kali下使用beef
一般情况下,kali、parrot等渗透os都是集成了beef的,如果你的系统没有安装的话,可以使用命令手动安装。
beef的安装目录及结构
-
apt install beef-xss
#安装beef
-
-
systemctl start beef-xss.service
#开启beef
-
-
systemctl stop beef-xss.service
#关闭beef
-
-
systemctl restart beef-xss.service
#重启beef
beef配置IP地址及默认密码
kali下的BeeF配置文件在 /usr/share/beef-xss/config.yaml,其它的配置文件也在这个目录的子目录 下,往后在使用某些功能时,需要修改对应的配置文件。
-
permitted_hooking_subnet: "0
.0
.0
.0/0" #指定某个网段,只有在这个网段的浏览器才能被
hook
-
permitted_ui_subnet: "0
.0
.0
.0/0" #指定某个网段,只有在这个网段的浏览器才能访问管理
UI
-
host: "0
.0
.0
.0" #设置
beef服务器的主机
IP地址,如果有自己的域名,那么可以设置自己的域名, 没有就使用默认
-
port: "3000" #设置
beef服务器监听的端口,默认3000,可以设置改成8080,伪装成
tomcat,记得端口号需要大于1024
-
xhr_poll_timeout: 1000 #受害浏览器轮询
beef主机的时间, 默认为1秒,可以设置为更低。
-
public: ""
#public
hostname/
IP
address
-
public_port: ""
#experimental
-
# 这是让
BeEF运行在一个反向代理或者
NAT环境下才需要设置的。
-
web_ui_basepath: "/
ui" #管理页面的
URI, 默认是/
ui, 建议修改,这样就不会让别人找到你的管理页面
-
hook_file: "/
hook
.js"
#hook_file 的名称, 建议修改,可以修改为
jquery
.js之类的来提升隐蔽性
-
credentials:
user: "
beef"
passwd: "
beef" #管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的
使用beef攻击流程
启动beef
启动成功
通过web端访问
1、输入config.xml中配置的用户名和密码,登录beef管理台
2、在网站中植入hook.js代码
如下图:
3、客户端192.168.107.110,访问这个页面,就会被beef勾住,浏览器的大量信息就被beef获取到了
4、获取浏览器cookie
5、网页重定向,目标浏览器跳转到你指定的网页
6、登录弹窗,获取用户名和密码
如下图,给目标浏览器一个弹窗,伪装成windows验证,骗取用户名密码。
如果,目标浏览器受骗,输入了用户名和密码,我们在beef端,可以获取对方输入的用户名和密码。
模块颜色及解释
在内部,BeEF可以检测出哪些命令模块可以在当前受害的浏览器工作, 并用颜色表示:
绿色:命令模块可以在目标浏览器上运行,且用户不会感到任何异常
橙色:命令模块可以在目标浏览器上运行,但是用户可能会感到异常(比如可能会有弹窗,提示,跳转 等)
灰色:命令模块尚未针对此目标进行验证,即不知道能否可运行
红色:命令模块不适用于此目标
转载:https://blog.csdn.net/weixin_42350212/article/details/115890967