蜜罐中利用 jsonp 跨域漏洞和 xss 漏洞的分析

一、前言
我们在打红队的时候,经常会碰到蜜罐,而更有一些“主动防御”的蜜罐中利用到了一些网站的跨域漏洞和 xss,对此进行简单分析。
二、蜜罐的概念
蜜罐主要是通过布置诱饵,诱使攻击者实施攻击,然后通过流量捕获、行为分析等对攻击者画像及溯源。
例如 HFish 蜜罐,属于高交互蜜罐,通过捕获攻击者行为,获取攻击者攻击数据、IP 地址等,然而只是获取这些数据进行攻击者画像是远远不够的,而 HFish 也提供了自定义 web 蜜罐的部署,简单分析下碰到的两个蜜罐。
以下是红队和漏洞挖掘中碰到的两个蜜罐截图。


为什么说是“主动防御”呢?
当攻击者访问页面后,JS 会自动执行,向许多我们常用的网站发送请求,而这些请求正是利用了许多网站的 jsonp 跨域漏洞和 xss 漏洞,获取攻击者浏览器中的 COOKIE、用户名、手机号等信息,从而溯源攻击者,而攻击者也仅仅是访问这个页面,所以说是“主动防御”。
三、jsonp 跨域
jsonp 跨域漏洞类似于 CSRF 漏洞,也有的叫读取型 CSRF 漏洞,可以获取网站用户的一些用户名、手机号等一些敏感数据,如果对这个漏洞不熟悉的可以自行百度~
以下是蜜罐中一些利用 jsonp 跨域漏洞的数据包的截图。



如果登陆过网站并且有 cookie 存在,往往可以返回用户用户名、手机号数据。
四、xss 漏洞
xss 漏洞基本都是 eval(name),感觉是蜜罐配置的时候有些问题,查看 js 代码的话,是全都添加到一个 iframe 标签中,然后设置 iframe 标签中 name 变量为一串 js 代码,而这里的 eval(name),在我的理解应该是执行预先设置的 js 代码,设置 name 变量,然后执行那一串 js 代码。(P.S. JS 代码我略懂皮毛,这段理解和分析可能有误,就不深究了。)
jsonp 配置不当也会出现 xss,如下图:



也有直接的 xss,例如这个 csdn 的(csdn 的就码的重一点了)

博客园的 xss(重码)

这两个网站我相信搞 IT 的应该大部分人都比较常用了,蜜罐利用这样的网站的漏洞,也可以很轻易的获取到攻击者的用户名、手机号等信息。
综上,所谓主动防御型蜜罐,只要攻击者使用浏览器访问了,并且浏览器的缓存中有蜜罐配置的利用漏洞获取用户信息的网站 COOKIE,那么蜜罐即可利用 jsonp 或者 xss 漏洞来获取攻击者的个人信息,有了姓名、ID、手机号等信息后,溯源红队也变的更加容易。
五、反制蜜罐
蜜罐中也是一个系统,也是有一些漏洞的,例如 HFish 蜜罐就曾存在未授权读取信息漏洞以及存储 XSS 漏洞,默安科技幻阵蜜罐也曾存在未授权访问漏洞,利用蜜罐自身漏洞来反制蜜罐。
蜜罐我的研究并不深,更多的思路还得看师傅们自由发挥,平常碰到了还是可以尝试下 XSS 等漏洞进行反制。
六、如何防御蜜罐
这些蜜罐如果是商用的,有不少界面是一样的,例如本文中的第二张图片,但也有自定义界面的,所以我认为通过特征来预防蜜罐的方法比较麻烦,并且不能完全预防。
七、防范建议
1、如果有代码能力的话,可以自己动手写浏览器插件或 burp 插件,检测到数据包中包含 callback、jsonp 等关键字时,拦截并让用户自己确认。
2、浏览器使用 noscript 插件可以及时发现潜在的 xss 威胁,可以发现部分利用 xss 漏洞的蜜罐。
评论