蜜罐对抗部分实现思路一

  • A+
所属分类:安全文章

攻。


这时候攻击者变成了防守方。

防守方通过 JavaScript来描绘攻击者网络环境。毕竟他需要开一些端口,比如cs,msf,burpsuite吧。

或者是虚拟机之类的,哪怕不用,访问到了蜜罐你就不是什么正常人,所以用js描绘你的内网情况有助于更好的识别你是不是正常用户。

相当于在正常的指纹上增加了一个属性“内网”来画vn图的交集。判断你是不是黑客。

除了使用beef以外,市面上还有类似sonar.js这样的东西来判断。

今天讲解下sonar.js的思路:

其实这个sonar在freebuf上有人分析过了,只是没分析透彻 ,几乎没啥内容。

sonar的主要思路就3点。

  1. 通过webrtcwebrtc主要是用了webrtc对象的createOffer事件来监听。如果这个事件成功了就说明主机存在,否则不是。这个只能用来扫描主机是否存活,不能判断端口。具体的实例 网上有了,我就不分析了,自己看javascript代码。贴个地址

    https://www.cnblogs.com/c2g5201314/p/12243106.html

  2. websocket。其实也是一样的 只能判断存在不存在。

    贴一段sonar的代码,看看他是怎么判断主机存活的。

    蜜罐对抗部分实现思路一

    代码很简单,如果超时<10秒就认为主机存活,然后开始检测下一个。

    如果看不懂代码,我直接告诉你结果:一个地址存活的话,他的onerror或者onclose方法会瞬间被调用,否则timeout最少在10秒以上。故区分下timeout就知道主机是否存活,但是这个和上一个一样 只能可以知道主机是否存活,无法知道端口。

  3. img和link、script等跨域标签进行扫描。也是根据监听事件来判断。如果onerror说明不存在这个资源无法访问通。如果发现可以加载img就说明有这个端口和主机,然后瞬间remove掉这个DOM元素。这个可以知道端口


但是作为黑客,这些思路太直。虽然我也想不出来什么好的办法,但是这么直,看着就想吐。




这时候黑客就要想办法,我TMD怎么才可以让这个逼不搞我的事情呢?

能不能禁用js呢?不能!有同学说了,vue写的代码都是操作DOM 你禁用js页面也不能用了,还搞啥呢。

行吧。

那试试插件吧。

浏览器插件里一般都有以下功能

chrome.webRequest.onBeforeRequest.addListener(  function(details) {    ...  },{     ...   });

也就是类似中间件那样,劫持你的请求体。部分大公司用来获取测试的流量就是用了这个方法,获得request体,然后修改。

那么我们很容易获得host部分,拿到host看下是不是我们内网的IP,是的话就干掉,世界就清净了,再也没人扫描我的内网了。


下一回讲beef和一个新的扫描方式,通过跨域来检测对象的一些属性来判断你到底是不是黑客。javascript的事情,怎么可能复杂呢!



本文始发于微信公众号(xsser的博客):蜜罐对抗部分实现思路一

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: