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

访客5年前黑客资讯487

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

相关文章

新手攻略:DVWA-1.9全等级教程之SQL Injection

现在,最新的DVWA现已更新到1.9版别(http://www.dvwa.co.uk/),而网上的教程大多停留在旧版别,且没有针对DVWA high等级的教程,因而萌发了一个编撰新手教程的主意,过错的...

使用Google进行批量SQL注入扫描-黑客接单平台

0×01:简介 在运用GoogleHack进行SQL注入点查询时,手艺的办法一般为经过谷歌语法的inurl判别是否存在动态查询参数,然后对查询的网站url进行手艺判别是否存在SQL注入缝隙,如or 1...

SCP指令注入

我最近正在研讨Java文件传输,碰到了一些风趣的问题。这些问题是我在看到一篇博客中的几个示例代码中发现的。这篇文章描述了用Java履行SCP指令的体系,运用的是盛行的JSch库。当我通读整个代码之后,...

根底事情呼应中的Volatility作业流程

最近,我发现自己需求对完好内存转储进行一些查询。通过一段时间的搜索,我发现了Volatility-Labs的这篇文章,依据其间的辅导办法,我能够很好的来评价内存转储。当然,你或许会有更好、更深度的内存...

Nginx 防SQL注入

SQL注入原理,在URI页面加参数查询数据库,假如程序没有严厉过滤字符串,就有或许导致SQL注入 咱们能够在前端Nginx过滤URI来避免SQL注入。装备如下 什么是URL和URI,举例说明: 衔接...

一个登陆框引起的血案

客户给的测验规模,或许挖众测时,许多时分都只要一个简略的登陆框,想起最初的苦逼的我,只能去测测爆炸弱口令,并且仍是指定用户名爆炸暗码这种,当真是苦不堪言; 文章内容很简略,可是仍是想共享一波,送给向我...