Vegan-可以防护BeEF进犯的Chrome扩展插件

访客5年前黑客资讯446

阅读器运用结构(BeEF)是一个易于运用的开源东西,许多安 *** 业的从业人员和黑客都可以运用它来对网页阅读器进行进犯。现在,已知的可以抵挡BeEF进犯的办法十分的少,所以我决议开发一个Chrome阅读器插件来防护这种进犯。我将这个插件称为”Vegan”。

Chrome插件-Vegan可以在这里下载。这个插件是开源的概念验证,在此发布给咱们,该东西的运用彻底取决于用户的个人志愿。

为了让BeEF取得阅读器的操控权,它有必要对阅读器进行诈骗,并让阅读器履行歹意JavaScript脚本代码。这种工作会发作在任何一个受进犯者操控的网站上,乃至有的时分会直接在网站上放置歹意广告,并以此来影响用户。这种JavaScript脚本代码会重连至BeEF的操控面板,这种操控面板是一种交互性极强的指令操控台。这样进犯者便可以挑选运转许多的进犯东西以及信息搜集东西了。

寻觅现存的办法

我开端寻觅一种可以检测BeEF的办法,可是我并没有找到许多。

我发现了一种Snort规矩(来自EmergingThreats.net)。下面是该规矩的缩写版:

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (flow:to_server,established; content:"Cookie|3a 20|BEEFSESSION=";)

关于哪些不熟悉Snort的人来说,这是一种侵略检测和防护体系,它可以对 *** 流量进行监控和测验,并检测这些数据是否契合规矩。这是一个十分有用的东西,我以为每一个安全防护人员都应该运用这种东西。这种特别的Snort规矩指的是它会查询本地 *** 一切HTTP客户端与其他恣意长途HTTP服务器的通讯数据,假如HTTP客户端发送了名为BEEFSESSION的cookie,那么它便会宣布正告。假如咱们感染一个客户端,咱们是无法检查到这个cookie的设置信息,但咱们可以看到BEEFHOOK。

研讨之后发现,BEEFSESSION cookie仅在阅读器赋权给BeEF网页操控面板的时分被设置了,而不是在方针主机中。假如该规矩改为寻觅BEEFHOOK,那么功率或许会进步许多。

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (flow:to_server,established; content:"Cookie|3a 20|BEEFHOOK=";)

咱们以默许装备的BeEF为例,只需这些遭到BeEF感染的阅读器运用了未经过加密的HTTP进行通讯,那么就可以被检测出来。

“要么出去,要么进来。我仅仅一个标志,而不是差人”

这句话引证自“辛普森一家”,这是我近几年十分喜爱的一句话,即使这仅仅一句写在警示牌上的话。我以为关于安全实践较差的网站来说,这是一个十分好的警示。我觉得Snort规矩就与这个警示相同,它告知用户这个网站可以抵挡BeEF进犯,可是只要进犯者当即抛弃侵略才干够。

从BeEF的装备文件中,咱们发现咱们不只可以修正其cookie的称号,并且还可以修正其他的值,包含其他cookie的称号。

由于我是Snort的一名用户,并且也是一名粉丝,所以我对它可以抵挡BeEF进犯的发展前景并不感到十分的激动。其间一个原因便是,BeEF的功用是根据HTTPS的,所以仅靠明文检测是不行的。另一个原因便是在我游览的时分,在任何一个不受 *** 控的 *** 中,我有必要为我一切的计算机装置Snort来维护我自己。经过这种程度的尽力来防备一种并不常见的进犯,好像有一些剩余了。

开发我自己的维护办法

在这里我引证了一种哲学的观念,为了尽或许地维护互联网的安全,咱们有必要坚持进攻研讨和防护研讨两者之间的平衡联系。假如其间一个超过了另一个,咱们将会失掉对日益增长和不断改动的安全要挟的操控。假如咱们的尽力都会集在进攻端,咱们就无法开发更多的防护办法来维护自己。假如尽力过多地会集在了防护端,咱们对 *** 和软件等设备的模仿进犯将会变得落后,这样就会使防护体系中呈现大规模的缝隙,这种缝隙有或许会被歹意行为所运用,也有或许被不负责任的人发表。

正是由于这种理念,所以我解说了我的观念和研讨,期望其他情投意合的人可以参加咱们。

开发Chrome插件不失为一种挑选

我决议将我的维护措施参加到Chrome阅读器中,这样我就可以不受操作体系的约束,很简略的将其布置到设备上了,并可以一起操作HTTPS和HTTP,并且这样也可以从源头处理这个问题。

Chrome阅读器供给了一些相关的Chrome API,所以插件的开发十分简略。最小的插件仅包含一个manifest文件(manifest.json)和一个Javascript脚本文件。假如插件有用户接口,那么插件相同可以包含HTML文件,图标,以及其他类型的文件。

下面,我给咱们展现一下插件代码:

manifest.json

{
   "manifest_version": 2,
   "name": "Vegan",
   "description": "This extension detects BeEF hooks and blocks the offending domain, effectively stopping the attack.",
   "version": "1.0",
   "background": {
     "scripts": ["popup.js"]
   },
   "permissions": [
     "cookies",
     "*://*/*"
   ]
 }

     popup.js

// Detect bad cookies
 chrome.cookies.onChanged.addListener(function(changeInfo)
   {
     console.log(changeInfo);
   }
 );

这个插件将会记载一切阅读器发送至这个插件的cookie事情。

在这里,咱们可以看到许多设置了的和未设置的cookies。这些cookie中包含了BEEFHOOK cookie。现在,咱们将把BEEFHOOK cookie按咱们的装备进行修正,然后调查会发作什么改动。

咱们可以看到,cookie的称号现已被设置了,装备也进行了修正。咱们还可以看到,一个名为”cookie”的cookie,它的值在不断的改动,它可以作为一个很好的查询标志器。

等等,这些cookie是从哪里来的?

幸而BeEF项目是开源的,咱们可以轻易地发现这些cookie的方针。

研讨发现,这些cookie的创立和毁掉是为了测验阅读器创立不同类型cookie的才干。除此之外,这些cookie的姓名和值是不行装备的。

防护是宗旨

已然检测办法十分的重要,防护办法才是真实有价值的,由于只要咱们让用户认识到了进犯,并可以阻挠他们成为进犯者的“盘中餐”,这样才干算得上是真实的维护。

为了向这个Chrome插件中增加一个防护机制,咱们将会阻挠cookie被设置。这样将会阻挠阅读器与BeEF操控器进行通讯。

manifest.json

{
   "manifest_version": 2,
   "name": "Vegan",
   "description": "This extension detects BeEF hooks and blocks the offending domain, effectively stopping the attack.",
   "version": "1.0",
   "background": {
     "scripts": ["popup.js"]
   },
   "permissions": [
     "cookies",
     "*://*/*",
     "webRequest",
     "webRequestBlocking"
   ]
 }

假如咱们测验改写页面,咱们便会看到插件阻挠了一切的歹意拜访。

假如咱们检查BeEF的操控面板,咱们可以看到咱们的阅读器并没有以活泼方针主机的身份呈现。

鉴于这点,咱们可以以为这种办法可以经过Chrome阅读器,然后有用地防护BeEF进犯。BeEF的开发者相同会注意到这一点,假如他们乐意,他们可以修正这个程序来逃避该插件的检测。

结束语

阅读器运用结构(BeEF)关于安全研讨人员来说是一个十分有用的东西,研讨人员可以运用这个东西来对阅读器进行进犯和浸透测验。这个东西是众所周知的,但防护这种进犯的办法却否则。作为一名安全研讨人员,我期望咱们可以坚持进犯研讨和防护研讨两者之间的平衡,即使是此类小型的项目可以给你带来收益。假如可以有更多的安全研讨人员可以致力于开源的防护项目以及防护研讨,咱们便可以将安全界的天平从头扶正。

相关文章

8个增强 PHP 程序安全的函数

 安满是编程十分重要的一个方面。在任何一种编程言语中,都供给了许多的函数或许模块来保证程序的安全性。在现代网站运用中,常常要获取来自世界各地用户的输入,可是,咱们都知道“永久不能信任那些用户输入的数据...

鱼叉式网络钓鱼攻击——一份关于攻击动机、技术和预防方法的完整指南-黑客接单平台

每天都有不计其数的鱼叉式垂钓邮件发送给全世界的受害者。 进犯有许多不同的途径,不管怎样进犯,都会对您的网络形成损伤。 所以,精确的、有针对性的进行剖析和履行是至关重要的。 在本指南中,咱们将介绍鱼叉式...

腐朽的苹果:对一大波iCloud垂钓网站的监测与剖析

国外的FireEye实验室有一套主动化体系,这套体系可以主动侦测最新注册的歹意域名。所谓的歹意域名,绝大部分都是假装成很多人知道的常用域名,以此来到达“歹意”的目的。比方说假装成苹果公司的域名——Fi...

运用Docker建立Web缝隙测验环境

因为一向在做 Web 缝隙扫描器的开发, 那么就必定少不了 Web 的缝隙测验环境, 其中就包含 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。 这些缝隙环境一般建立比较繁琐, 并...

小学生都会挖掘的JSON Hijacking实战利用

JSON Hijacking缝隙的具体使用,有点相似与CSRF,不过原理使用方法不同,在这边文章我侧重解说json跨域绑架的使用环境建立与方法。 0×01缝隙的发掘 一般发掘的过程中,burpsuit...

把PHP LFI缝隙变为Webshell的形式

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...