这里介绍一个功能非常强大的web框架攻击平台——BeEF-XSS。
BeEF是The Browser Exploitation Framework的缩写。它是一种专注于Web浏览器的渗透测试工具。
BeEF-XSS的工作主要由三个部分组成。
有些版本的Kali好像是集成了BeEF-XSS的,不过我的没有集成。安装也很简单,直接输入beef-xss就可以:
Kali中安装beef-xss
准备一个Windows10的靶机(192.168.218.131),一个Kali攻击机(192.168.218.128)。
BeEF-XSS有一个配置文件,最好了解一下,位置在/usr/share/beef-xss/config.yaml:
cat /usr/share/beef-xss/config.yaml
其中有几个参数可能会实际使用:
host: "0.0.0.0" #设置beef服务器的主机, 如果有自己的域名, 那么可以设置自己的域名, 没有就使用默认
port: "3000" #设置beef服务器监听的端口, 可以自己定一个,比如8080, 记得端口号需要大于1024
xhr_poll_timeout: 1000 #受害浏览器轮询beef主机的时间,单位毫秒, 默认为1秒,可以设置为更低。
web_ui_basepath: "/ui" #管理页面的URI, 默认是/ui, 建议修改,这样就不会让别人找到你的管理页面
hook_file: "/hook.js" #hook_file 的名称, 建议修改, 可以修改为jquery.js之类的来提升隐蔽性
credentials: user: "beef" passwd: "beef" #管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的
其他参数在特定场景下也是非常有用的,但是我们今天演示内容不需要使用。
启动BeEF-XSS:
beef-xss
如果是第一次打开,会提示修改默认密码。启动时输出的信息中有给出一个hook的例子:
Hook格式:
例子:
BeEF-XSS启动成功后,会自动打开管理页面:
服务端管理页面
可以通过账户名和密码进入管理页面:
BeEF-XSS的管理页面
正常使用BeEF-XSS的hook思路是找web系统的xss漏洞或者使用中间人攻击注入脚本。我们这里直接点,写个演示页面,将hook放里面,让靶机访问这个带hook的页面。演示页面代码:
Your computer has been hacked!
将这个文件放到目录:/var/www/
带hook的页面
启动apache2:
service apache2 start
让靶机访问这个带毒的页面:
靶机访问目标页面
在BeEF-XSS的后台管理页面中已经出现了靶机:
出现靶机
双击列表中的靶机,可以看到一些浏览器的基础信息:
基础信息
其中有一个Commands窗口,是当前可以对靶机做的一些操作:
Commands
每个操作前面都有一个状态标记,不同的颜色表示当前可能否使用,在Getting Started页中有进行解释:
操作命令状态解释
比较常用的有get cookie,点击就能执行:
get cookie
如果被攻击web系统的鉴权做的比较粗糙,完全可以通过中间人攻击注入hook,拿到cookie中的sessionId,然后就能进入目标web系统了。
还有网页重定向:
Redirect Browser
点击Execute后,到靶机查看网页:
被重定向后的页面
这个最好是别执行,因为很容易暴露自己,靶机的用户看到页面自动跳转,大概率会怀疑电脑被入侵。
还能伪装成登录弹窗,让安全意识不高的用户主动将账户名、密码交出来:
Pretty Theft
这个弹窗类型最好选择和目标网页风格差不多的,不容易让用户怀疑,这样成功率才高。靶机看到的弹窗:
被害者看到的弹窗
用户如果真的输入了用户信息,是可以在管理后台看到的:
双击弹窗命令执行记录
除了Commands这个窗口之外,还有一个Logs窗口也非常实用,会记录靶机在当前页面上的键盘记录,说不定在这里就能捡到账户信息了:
键盘记录
相对于Pretty Theft由攻击者主动弹窗,让用户在正常的账户登录界面输入账户信息,更隐蔽,更有可行性。
不过现在多数登录都是二维码扫描的方式,想要通过获取账户信息登录目标系统,还是比较困难的。
BeEF-XSS工具是一款非常好用的浏览器攻击框架。配合一些XSS漏洞或者中间人攻击,能实现很多操作。对于喜欢玩渗透,又有很强表现欲的同学来说,应该是一款非常棒的玩具。
最后还是常例提醒,任何在公网环境下,未授权的渗透行为,都是违法的,所以对于有渗透能力的同学来说,遵纪守法真的很有必要。
留言与评论(共有 0 条评论) “” |