利用Beef劫持客户端浏览器
利用Beef劫持客户端浏览器
#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为
一、环境:
1.Kali(使用beef生成恶意代码,IP:192.168.0.103)
2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.0.104)
3. 客户端(用于访问web服务器,IP:192.168.0.101)
二、步骤:
- Kali使用beef生成恶意代码
- 将恶意代码写入192.168.0.104网站留言板
- 只要客户端访问这个服务器的留言板,客户端浏览器就会被劫持
三、使用Beef劫持客户端浏览器
这里采用上面的DVWA通过上面的可以确定已有xss漏洞,开启beef
修改dvwa的限制
创建留言并执行
回到beef中会发现成功了,这里会显示在线的主机和不在线的主机。在线的就是现在该主机浏览器执行了我们的JS脚本代码,不在线的就是该主机曾经执行过我们的JS脚本代码
我们点击当前在线的主机,然后右边会有选择框,我们点击 Current Browser ,然后下面就有一些功能项:Details、Logs、Commands、Rider、XssRays、Ipec、Network、WebRTC
Details是浏览器信息详情
Logs能记录你在浏览器上的操作,点击,输入操作都能记录
Commands是你能对该浏览器进行哪些操作
我们点击Command,这里有一些我们可以使用的功能分类,一共有12个大的功能,括号里面的是每个功能分类里面的个数。
我们随便点开一个看看, 发现有四种颜色的功能。
绿色的代表该功能有效,并且执行不会被用户所发现
橙色的代表该功能有效,但是执行会被用户所发现
白色的代表该功能不确定是否有效
红色的代表该功能无效
四、获取用户Cookie
我们点击Browser—>Hooked Domain —>Get Cookie,然后点击右下角的Execute然后点击我们执行的那条命令,右边就可以看到浏览器的 Cookie 了
五、网页重定向
我们点击Browser—>Hooked Domain —>Redirect Browser,然后点击右下角的Execute,然后用户的浏览器的该页面就会跳转到百度的页面了。
六、社工弹窗
Pretty Theft 攻击模块会在被勾连浏览器上弹出一个弹框,然后通过欺骗性的语句来使用户输入帐号和密码。当网站有http-only这个响应首部,无法窃取cookie时,可以使用完美盗窃这个模块来窃取用户的帐号和密码。
使用Pretty Theft前,需要做一些参数的设置:
我们点击Social Engiineering——>Pretty Theft ,然后右上角选择弹窗的类型,右下角点击 Execute
点击Execute运行, 被勾连的浏览器会有一个提示性的弹框弹出:
如果用户输入帐号和密码:
由于这是在国内所以在Pretty Theft默认下弹出的诱惑性弹框中所使用的语言是英文。在国内效果肯定要打折扣了。所以要修改一下,beef/modules/social_engineering/pretty_theft/command.js中修改:
也可以自己做个页面放在这里面,修改完成后重复上面的操作
输入账户密码后,回到beef成功劫持密码
七、应对策略
1)过滤用户输入
2)使用htmlspecialchar()过滤
3)使用owasp等安全xss处理API
#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为