反-反蜜罐:以三个反蜜罐插件的缺陷为例
0x00 关于本文 当时想保研,想搞篇论文,就捣鼓了个XSS平台并研究了反蜜罐插件的缺陷,缝在一起投某中文期刊,然后这种乱缝合果不其然被拒,之后我就把这事丢在一边了。 最近上t00ls看到某公司某蜜罐,发现其中已经采用了某些绕过反蜜罐插件的措施,一下子勾起了我的回忆。尽管过去了那么久,事后证明保研没有看起来的那么难,而且我也准备退学跑路了,但这些研究依然在那里并且还没过时,因此我决定去掉里面吹水的部分,整理下后发出来。 本文以三个反蜜罐插件为例( anti-honeypot 、 AntiHoneypot-Chrome-simple 、 antiHoneypot ),分析蜜罐插件的工作原理及导致其被反向检测以及绕过的缺陷。尽管本文会对具有反制能力的蜜罐做一定的介绍,但读者需要对XSS、Jsonp劫持有一定的了解才能更好地理解本文。 0x01 会咬人的蜜罐&反蜜罐插件 有网络安全基础的读者应该都知道蜜罐是什么。防御者搞一个外表诱人但监控严密的系统来引诱黑客进攻,将黑客的一举一动记录下来,以对其分析和追踪。据说当年大名鼎鼎的黑客凯文米特尼克就栽在蜜罐上,结果惨遭溯源。 在2013年BlackHat Eu上,有研究者 提出 通过Jsonp/CSRF/XSS的方法攻击黑客的浏览器,以定位黑客的身份。随着护网行动的普及,默安幻阵和长亭谛听这样具有反制能力的蜜罐在各个攻防演练中大放异彩,这些蜜罐内置了大量的Jsonp和XSS接口,一旦访问,运行在浏览器前端的js脚本就通过这些接口拿到大黑客的QQ/CSDN/微博/爱奇艺/优酷 等等的账号名,再通过社工库等办法拿到大黑客的更多信息,让大黑客率先响应国家实名上网的号召。 当然大黑客也不是吃素的,黑客们开发了各式各样的 蜜罐阻拦插件 ,这些插件可以通过检查网页的Dom和请求的URL来判断当前访问的的网站是否是蜜罐,并实时阻断浏览器发出的可疑请求,阻止恶意js脚本拿到敏感信息。 0x02 AntiHoneypot-Chrome-simple 插件原理&缺陷分析 原理分析 AntiHoneypot-Chrome-simple插件通过简单的预置的蜜罐特征来检测蜜罐,它在插件的background.js中定义了一组规则,分别是文件名和内容的对应。 插件通过c