前言
我们在打红队的时候,经常会碰到蜜罐,而更有一些“主动防御”的蜜罐中利用到了一些网站的跨域漏洞和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漏洞的蜜罐。