利用python封装的BEEF-XSS API进行浏览器自动化攻击
0x00 为什么要自动化利用
BEEF框架着实厉害,支持模块动态加载,还有很多厉害的模块国内的XSS平台上根本就没有。但是如果不进行自动化攻击就很鸡肋了,想想你搞了个恶意链接,构造了XSS,或者打进人家服务器给别人嵌一个什么的,目标还点了链接,结果你不在电脑前没有去点模块去利用,白白错失了攻击机会,岂不痛哉?因此BEEF的自动化是很重要的
0x01 为什么要用python封装API利用而不用自带的ARE
首先ARE不够灵活,搞什么rule set,非常死板的感觉,而直接调API可以更灵活地交互 其次,笔者讨厌ruby,非常讨厌ruby,并且丝毫不能理解msf和beef为什么要用ruby写 这才是主要原因好吧 0x02 python封装API BEEF的API用HTTP调用,因此用python的requests库写起来非常顺手
我很懒,就把BEEF的API封装在了一个beefhandle类里面,首先使用BEEF密码连接获取token来初始化对象,然后做了获取当前在线浏览器/执行命令/获取命令结果的简单支持,都塞在函数里面。更多的一些东西就没弄了 0x03 实现自动化 自动化的简单实现也不复杂,不断调用API查找新上线的主机,将每个主机启动一个线程单独处理,每个主机执行的命令塞到一个命令列表里,一个函数专门去循环查询命令执行结果 0x03 图和代码
其中代码里的探测社交帐号的模块是自己写的,不是自带的,想要使用需要先改代码
(第一次发图的时候居然忘记打码,幸好访问量只有可怜的2)
代码https://github.com/TomAPU/Scripts/tree/master/beef-python
首先ARE不够灵活,搞什么rule set,非常死板的感觉,而直接调API可以更灵活地交互 其次,笔者讨厌ruby,非常讨厌ruby,并且丝毫不能理解msf和beef为什么要用ruby写 这才是主要原因好吧 0x02 python封装API BEEF的API用HTTP调用,因此用python的requests库写起来非常顺手
我很懒,就把BEEF的API封装在了一个beefhandle类里面,首先使用BEEF密码连接获取token来初始化对象,然后做了获取当前在线浏览器/执行命令/获取命令结果的简单支持,都塞在函数里面。更多的一些东西就没弄了 0x03 实现自动化 自动化的简单实现也不复杂,不断调用API查找新上线的主机,将每个主机启动一个线程单独处理,每个主机执行的命令塞到一个命令列表里,一个函数专门去循环查询命令执行结果 0x03 图和代码
其中代码里的探测社交帐号的模块是自己写的,不是自带的,想要使用需要先改代码
(第一次发图的时候居然忘记打码,幸好访问量只有可怜的2)
代码https://github.com/TomAPU/Scripts/tree/master/beef-python