延续集成效劳(CI)破绽发掘 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

延续集成效劳(CI)破绽发掘

申博_新闻事件 申博 101次浏览 已收录 0个评论

申博网络安全巴士站

申博-网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。

————————————-

延续集成效劳(CI)破绽发掘

延续集成效劳(CI)破绽发掘

在挖破绽的时刻,熟习供应商和公司所依靠的手艺至关主要。引发我们注重的一个迥殊风趣的情况是种种开源项目运用的盛行集成,

主若是作为其开辟生命周期的一局部。包罗Travis CI,Circle CI和GitLab CI在内的延续集成效劳(“CI效劳”)的一些主要示例关于我们

来讲黑白常有益的,因为它们是bug赏金猎人的目的。

延续集成效劳(CI)破绽发掘

我们最先自动从这些CI效劳中猎取和搜刮大型数据集。这篇手艺文章将触及我们面对的浩瀚应战,我们怎样削减搜刮中的误报数目,明显的发明,

末了列出我们在此历程当中接纳的一些技能。

关于这一研讨事情的团队包罗贾斯汀·加德纳(@Rhynorater),Corben狮子座(@hacker_)和EdOverflow(@EdOverflow) -由卡里姆·拉哈尔(一些测试和有益的发起@KarimPwnz),@streaak,@ d0nutptr和BBAC。

延续集成效劳简介

延续集成(CI)是提交代码变动并自动构建和测试每一个变动的实践。如今,很少有人偶然发明在开辟周期的某个阶段没有运用延续集成效劳的开源项目。种种效劳供应简朴的设置设置装备摆设步调和美丽的界面,能够延续疾速测试和构建代码。

延续集成效劳(CI)破绽发掘

该security.txt项目,比方,运用特拉维斯CI只需提交代码推到建立新的文件草案。

这许可团队疾速肯定对范例的任何进一步变动是不是能够在编译时破坏Internet草稿kramdown-rfc2629-

一种东西使得人们能够在Markdown中编写一切内容,然后将其转换为XML2RFC XML符号。

信息网络

读者曩昔所要求的是有一个指定局部,引见作者怎样提出研讨主题,比方我们在这里展现的事情范例。本节将有愿望申明这个设法主意最后的劈头。

本文的一切作者都有很多在GitHub上开源项目的履历,并且多年来进修了简化开源项目维护者开辟历程的手艺。

GitHub在https://github.com/marketplace上供应了大批集成,个中一个特定种别锋芒毕露:[“延续集成”](https://github.com/marketplace/category/continuous-integration)。

这就是我们发明因为很多开源团队在开辟历程当中争夺完全通明和开放的体式格局,项目关于在延续集成平台上隐蔽构建日记数据优柔寡断。不可否认

像Travis CI如许的集成确切供应私家材料作为travis-ci.com的高等功用,但在我们的研讨中,绝大多数项目好像只运用大众实例

travis-ci.org – 请注重“.org “顶级域名。

值得注重的是,延续集成效劳曩昔已成为赏金猎人和第三方敏感信息的目的,如“在Travis CI构建日记中袒露的HackerOne员工的GitHub小我接见令牌”和“API下的”进击“ Travis CI事宜申报:

“我们现在正在对我们的大众API举行分布式进击,我们以为这些进击旨在展现GitHub身份验证令牌。应对战略正在议论中,我们将举行响应的更新。“

  • Travis CI(2015年9月)

因而Travis CI等平台引入了内置秘要检测,以防备敏感信息的不测走漏,以下所示。[1]

延续集成效劳(CI)破绽发掘

Travis CI [secure]在运转时运用症结字替代潜伏的敏感信息。

为了防备这些组件发作走漏,我们会自动过滤运转时凌驾三个字符的平安情况变量和符号,从而有用地将它们从构建日记中删除,[secure]而不是显现字符串。

自动化检测

手动靠近大型进击面(比方Travis CI提出的)将是一项异常烦琐的义务。因而,我们必需运用这些CI供应商供应的可用API文档,并开辟东西来自动疾速猎取构建日记。

为了更好地申明从bug赏金设计到普遍的数据集以举行进一步观察的历程,我们将运用Travis CI的API文档作为示例。

首先是猎取bug赏金设计的GitHub构造,有多种要领能够做到这一点,但为了获得最好结果,谷歌搜刮“公司称号”和“GitHub”就能够完成这项事情。

接下来,我们必需搜检GitHub是不是在Travis CI上。为了使这个历程更顺畅,我们运用了一个浏览器书签,它运用GitHub将我们从GitHub重定向到Travis CI。

javascript:window.location="https://travis-ci.org"+window.location.pathname;

延续集成效劳(CI)破绽发掘

书签将从GitHub页面重定向到Travis CI

若是目的存在于GitHub上,我们就会接见Travis CI上的项目API端点并检索一切项目的列表。

https://api.travis-ci.org/owner/%s/repos?limit=100&offset=%d

Travis CI的API辨别巨细写; 因为,bookmarklet须要确保你在发出API要求时运用准确的语句要网络构建日记的内容,我们须要点击构建ID API端点然后/log.txt

1. https://api.travis-ci.org/repo/%s/builds?limit=100&offset=%d
1. https://api.travis-ci.org/job/%d/log.txt

如今属于目的的一切构建日记的内容都存储在当地,我们能够最先grepping。因为我们正在剖析的数据巨细,我们ripgrep在当地挑选日记时接纳了步伐。

Kerberos Security

前言 域方面的安全,回归到本质,大多情况下就是Kerberos协议的安全,只有深入掌握Kerberos,才可以站在不同的角度去进行TTP,抓住对方薄弱之处。 About Active Directory Active Directory:是微软Windows Server中,负责网络游戏架构中大型网络环境的集中式目录管理Service(Directory Services),在Windows 2000 Server开始内置于Windows Server产品中,主要用于域网络中。 在AD里面,一切皆对象,比如:计算机,用户,用户组,相关策略等 有AD域Service,即Active Directory Domain Services 依赖不同的协议进行用户认证,资源查找,

$ rg -ia "$1" -j 12 --no-filename --no-line-number --pretty

除bug赏金设计的GitHub帐户,作者还网络了属于GitHub构造一切成员的构建日记。事实证实,有些成员在他们的帐户上运转构建而没有意想到他们的隐秘在构建日记中袒露。

1. #!/bin/bash
1. 
1. users=$(curl -s -H "application/vnd.github.hellcat-preview+json" -H "Authorization: token $GH_TOKEN" https://api.github.com/orgs/"$1"/members | jq -r .[].login);
1. 
1. while read -r hehe; do 
1. secretz -t "$hehe"; 
1. done <<< "$users"

该项目背地的团队决议不宣布任作甚猎取构建日记而构建的东西,因为我们不愿望直接对CI平台机能的任何中缀卖力。这类写作将不可避免地

引发一些CI平台存在的大型进击面的存眷; 因而,作者想提醒读者,在运用平台的API时,请注重不要马上吸收每一个端点的大批要求。

我们异常郑重,不会在全部历程当中作废任何效劳。

破绽发明

总的来讲,最有影响力的发明主若是GitHub接见令牌走漏。在本节中,我们将引见我们团队提交的四份值得注重的申报。

在大众顺序中点击员工帐户的Travis CI构建日记时,我们发明了一个GitHub接见令牌,具有对GitHub构造的读写权限。

此令牌将许可我们将代码推送到GitHub构造下列出的任何存储库。依据他们的HackerOne “Program Statistics”,该设计授与我们迄今为止最高的奖金。

为扩展我们破绽的影响局限,我们斟酌了多个平台。在2013年的私家Bugcrowd设计的Travis CI构建日记中,我们发明了一个GitHub接见令牌,

并获得了P1严重性付出 – Bugcrowd上能够的最高严重性分数。[2]

我们申报观察结果的一切供应商最使人惊奇的回应是Discourse的bug赏金设计。Karim Rahal发明了一个员工的GitHub接见令牌,

该令牌具有对Discourse GitHub构造下一切大众存储库的读写接见权限。为了证实这个题目的潜伏影响,我们将一个无害的文件推送到该构造

最不活泼的存储库之一,以避免引发太多存眷。随后从存储库中删除该文件。

延续集成效劳(CI)破绽发掘

话语授与卡里姆最低能够的128美圆奖金。我们要求进一步肯定赏金金额,但我们还没有收到Discourse团队的复兴 – 这是60天没有复兴。[3]

另一个症结毛病是在HackerOne上的大众加密泉币顺序中发明的。该顺序在Travis CI中运用隐秘变量来建立SSH密钥

此设置装备摆设的详细信息可在此处和此处找到。在发掘了数千个日记后,Justin Gardner写道,东西检测到以下行:

—–BEGIN RSA PRIVATE KEY—–

开辟人员cat deploy_key在他们的CI设置装备摆设文件中添加了在日记中输出SSH密钥的文件。运用SSH密钥

进击者能够登录到顺序基本构造中并且布置多个效劳器。因为破绽触及到效劳器,因而获得了1000美圆的嘉奖。

小技能

一般,export构建日记中的语句的简朴grep 将是一个很好的出发点。该export敕令用于在日记提醒中设置情况变量,因而能够公然敏感信息。

$ rg -ia “export ” -j 12 –no-filename –no-line-number –pretty

固然,不该仅限于运用该export敕令设置的变量; 将搜刮术语精华精辟为 “token”, “key”, “password”和“secret”能够资助发明特定的走漏。

为了削减误报的数目,我们发起搜刮词中追加”=”和”:”

我们勉励读者运用[secure]症结字建立一切变量的列表,然后在一切项目中运用这些变量称号举行搜刮。这将运用罕见的变量定名商定资助您

查找不平安的敏感数据实例。Karim Rahal网络[secure]了5,302,677个构建日记中的变量,个中最罕见的50个能够在下面看到。

延续集成效劳(CI)破绽发掘

完全列表能够在这里找到。

另外,设置一连监控您最喜欢的bug赏金设计的CI构建,并在每次团队向GitHub推送新提交时运转您的东西,这是在团队在行为之前及时捕捉袒露的隐秘的好要领。

不要局限于keys 和 tokens; CI平台也是侦探信息的主要泉源。经由过程日记挑选以查找属于目的的隐蔽端点和URL。

搜检GitHub上的CI设置装备摆设文件,以肯定目的运用的CI集成。能够另有其他CI平台在这篇文章中没有触及隐秘袒露的内容。

我们在grep历程当中包罗的一个风趣的义务是查找一般与缺失或破坏的依靠项相关联的字符串和毛病音讯。因为缺乏npm包,

这偶然能够经由过程在长途注册表中声明包名来致使代码实行,如https://hackerone.com/reports/399166中所示。一些示例毛病音讯包罗:

  1. “不在npm注册表中。”(npm)
  2. “没有婚配的发行版”(PyPI)
  3. “找不到有用的宝石”(RubyGems)

结论和进一步的研讨

这项研讨资助我们更好地了解了一连整合效劳所显现的大型进击面 – 险些隐蔽在一般视线中 – 并且当bug赏金时已证实黑白常富有成效的。

因为本研讨中包罗了相称有限的平台数目,将来的研讨和项目能够斟酌进一步掩盖CI平台和集成。

我们赞扬Travis CI等平台,许可用户在其日记中隐蔽敏感的情况变量。在我们看来,这是朝着准确方向迈出的一步,以防备我们碰到的平安走漏范例。

这项事情不仅为我们供应了很多胜利的bug赏金故事和有用的发明,并且还注解,与此项目一同看到的合作能够在bug赏金佃猎的同时获得很大希望。


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明延续集成效劳(CI)破绽发掘
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址