【来自漏洞赏金十年经验大佬的分享】那么,你想进入漏洞赏金吗?

作者:Sec-Labs | 发布时间:

我已经做了10多年的漏洞赏金,随着时间的推移,我越来越喜欢它给我带来的生活改变。从工作前景,到能够在经济上支持我周围的人和我自己。我相信,如果你对信息安全充满热情,并对自己的工作感到自豪,你也可以在漏洞赏金中找到成功,希望它能在你的事业和生活中引起积极的涟漪。

我写这篇博文是因为我真正相信,努力工作和对学习的执着会使你在漏洞赏金中获得成功。此外,我永远感谢一些免费的资源,我依靠这些资源来教我的技能,使我在漏洞赏金中表现出色。我希望这篇博文能够解释我在过去十年中的许多学习经历

 

这个指南是什么,我为什么要听你的?

本指南不一定会给你一个蓝图,说明你需要学习的具体内容和时间。我希望本指南是对成为一名漏洞赏金猎人的现实理解,以及为了取得成功而涉及的内容。使你在漏洞赏金方面获得成功的学习历程,对每个人来说都可能是不同的。

关于成为一名成功的漏洞赏金猎人,我总结了很多东西,我想把它们传达给更广泛的社区。其中一些事情对于经验丰富的漏洞赏金猎人来说可能是显而易见的,但本指南实际上是为那些喜欢成为漏洞赏金猎人的想法,但可能不了解它涉及的内容以及如何找到成功的方法的人准备的。

对于那些寻求结构化学习的人来说,我推荐你查看PentesterLabWeb安全学院。最重要的是,我建议你花尽可能多的时间进行实际的黑客攻击,因为即使你没有发现任何有效的问题,这也不是在浪费时间。每一次失败都是一种学习经验。你最终会发现安全漏洞的。

至于你为什么要听我的,正如我前面提到的,我做漏洞赏金已经有十多年了。我得到报酬的第一个漏洞是PayPal的一个SSRF漏洞。那时,漏洞赏金平台还没有真正存在,也没有真正的社区存在。那时候,我在一家快餐店工作,每小时6.5美元。我收到的第一笔漏洞赏金比我工作8个月后赚的还多。它改变了我的生活,而且我认为它也有能力改变其他人的生活。

我在HackerOne上排名澳大利亚第一(过去两年),在HackerOne上排名世界第30位左右(所有时间排行榜)。多年来,我在空闲时间里把漏洞赏金作为一种爱好,但也花了一些时间全职做这个工作。

基础知识

在我看来,为了在漏洞赏金中获得成功,你不需要成为一个优秀的程序员,也不需要知道一切是如何运作的,甚至是最细微的层次。如果你有这方面的知识,这当然是一个优势,但我不认为你需要花数年时间学习,然后才能在漏洞赏金中站稳脚跟。

事实是,大多数漏洞赏金猎人都在与许多资产和技术进行互动,在你开始狩猎之前,几乎不可能了解每一种技术的复杂性。好消息是,如果你有好奇心并愿意学习,你可以在猎取漏洞的过程中积累你的知识和技能

我确实鼓励你学习如何构建,而不仅仅是破坏东西。这可能是漏洞悬赏中的一个主要优势,因为它使你有可能更好地了解系统是如何构建的,因此你可以制定攻击来破坏它们。但是,我知道有很多黑客从来没有写过一行代码,他们是我们行业和社区中最好的黑客。因此,对一些人来说,这不是必要的。

拥有工程方面的经验有时是一把双面剑,因为你可能会对某件事情的运作方式做出假设或有认知上的偏见,从而使你无法在某些情况下测试某些东西。如果你是一名工程师或有工程背景,并且正在阅读这篇文章,我敦促你在参与漏洞赏金时始终挑战你的假设。

 

我是xyz,我可以做漏洞赏金吗?

关于漏洞赏金的最好的一点是,每个人都可以参加。无论你是一个正在寻找爱好的新锐工程师,还是一个对攻击性安全感兴趣的青少年

如果你正在读这篇文章,而且你是一个从事过网络应用安全工作的渗透测试人员,让我告诉你,你在日常工作中应用的应用安全技能在漏洞赏金中是非常相关的。漏洞悬赏对你来说可能是令人生畏的,因为经常有很多东西要看,但侦察的技能就像你可以磨练的任何其他技能一样。做漏洞赏金不仅可以带来一些额外的现金,而且它肯定也会使你在工作中变得更好。

如果你正在读这篇文章,而且你是一个以前做过网络应用的工程师,那么好消息是,你已经了解了很多所需的基本知识,可以直接投入其中。你很可能要学习一些应用安全的技能和概念,但对大多数工程师来说,他们觉得学习这些知识相当有趣和兴奋。做漏洞赏金和学习更多关于应用安全的知识肯定会让你成为一个更好的工程师(发布的代码有更少的安全问题),你也可能会有一些寻找漏洞的乐趣。

最后,如果你正在读这篇文章,而且你没有太多的工程或安全经验,但却非常喜欢漏洞赏金的想法,我只能说,在漏洞赏金中,你最重要的技能是你的心态,如果你努力,你也会成功。这篇博文后来讨论了这种心态是什么样子的。要找到你的第一个漏洞,可能需要很多前提知识,但如果你有毅力,愿意学习,也不是遥不可及。通往成功的道路是由失败铺成的。

心态

漏洞无处不在。意识到这一点可能令人沮丧,但这是重要的一点。在社会上,公司一直在宣传他们的安全性有多好。这让大多数人认为这些公司实际上是安全的,即使它们可能并不安全。

如果有人来找你,问你是否能在 Facebook 或谷歌中找到安全漏洞,你的下意识反应可能是解释这有多难,因为这些公司在安全上花费了多少钱以及他们有多少员工有保护他们的应用程序。

作为漏洞赏金猎人,你不能有这种心态。这是非常令人望而却步的,当您发现自己在世界上最大的公司中发现安全问题时,您很快就会意识到可以在任何事物中发现漏洞(只要有足够的时间和资源)。

你可能会发现有些公司的漏洞比较难发现(多长时间才能发现安全问题),你可能还没发现就放弃了,但你要明白,还有漏洞有待发现任何攻击面。

我发现导致一致结果的另一种品质是坚持不懈。坚持寻找和利用漏洞几乎总能取得成功。你可能认为成功就是找到有效的漏洞,但重要的是要认识到,即使你没有找到漏洞,但你花了很多时间学习一个目标、技术或一些代码,坚持会让你变得更好从长远来看,黑客会利用您学到的知识。在漏洞赏金计划中,您必须安于花费大量时间却找不到任何东西,并真正享受旅程,而不仅仅是目的地。

 

持续不断的学习

更广泛地说,漏洞赏金和应用程序安全的棘手问题之一是跟上所有已发布的新研究。当我第一次开始学习应用程序安全性时,我发现自己虔诚地阅读了发布的每篇/r/netsec帖子。我已经为这个 subreddit 打开了推送通知,我会阅读这个 subreddit 上的每一篇帖子。

不过,它不仅仅是 /r/netsec。在过去的五年里,我发现 Twitter 在应用程序安全和漏洞赏金方面一直是一个令人难以置信的信息来源。有一个由热情的黑客组成的庞大社区,他们发表他们的研究和工作,因为他们希望进一步推动这个行业。

当将 Twitter 之类的东西作为学习资源时,我强烈建议采用策展方法并注意你关注的人,以便你的提要始终充满相关研究、技术或内容。如果你想看看我在 Twitter 上关注的一些人,你可以在这里看到。

除了书面内容之外,如今还有一些优秀的内容创作者在这段旅程中非常努力地帮助您,例如NahamsecStokJHaddixCodingoPwnfunctionFarah HawaBugBountyReportsExplained。他们的视频通常很鼓舞人心,可以让您兴奋地掌握在漏洞赏金中取得成功所需的技能。

另一个重要资源是 HackerOne 的活动源,其中包含所有公开披露的漏洞的列表。我强烈建议您花时间监控这一点(这可以通过这个 Twitter 机器人实现),并尽可能多地阅读这些披露信息。我非常感谢这些年来发布报告的黑客,因为我经常获得可以应用的很酷的新技术或想法。

我不能低估作为漏洞赏金猎人不断学习并挑战自己学习其他黑客文章中您无法立即理解的概念的重要性。如果您一开始不理解也没关系,我当然没有理解我多年来阅读的所有内容,而且我确实经常发现自己多次阅读博客文章,以便尽可能地理解它们。

 

专业领域

在您掌握了在各种攻击面中查找应用程序安全问题之后,您可能会发现您倾向于查找特定类型的问题,或者专注于导致您获得漏洞赏金的特定区域。如果不是这样,那也没关系!一旦您建立了一些信心并希望通过漏洞赏金赚到一些钱,您就可以专注于许多领域

我对你的建议是专注于(即成为专家)你最喜欢的漏洞赏金,并有一个开放的、永远好奇和学习的心态,这样你就总是能体验新事物并了解你的安全测试技能。享受工作。

在我的漏洞赏金生涯中,我选择专注于攻击 IIS 服务器(使用 .NET/C# 编写的应用程序)、源代码审计(几乎任何语言)和侦察。这些专业花了很长时间才发展起来,但每次我发现自己深入研究这些专业时,都是因为我真的很高兴能学到更多,并成为我可能成为的最佳人选。一路上,我写了很多博客文章并制作了一些关于其中一些专业的视频。

您可能想知道如何才能真正专注于任何给定的应用程序安全领域。我对此的回答是,它需要大量的学习和时间来练习你所学的东西。通过漏洞赏金计划,可以在一系列漏洞赏金计划中实践专业知识。有些公司正在运行漏洞赏金计划,涵盖广泛的技术和平台,这些技术和平台需要成为一个完美的战场,以提高您的技能以达到精通。

例如,我在攻击 IIS Web 服务器方面的技能主要是通过攻击大量使用该技术的漏洞赏金计划而发展起来的。同样,我的源代码审计技能是通过审计供应商应用程序开发的,当我在攻击面上注意到它们时,我会获取源代码。

 

谦虚、公平与协作

如果您认为最好的 bug 猎手只是为了钱而寻找 bug,那您就错了。在过去的十年里,我在漏洞赏金领域共事过的每一位伟大的黑客都在从事黑客活动,因为他们热爱黑客活动。不要误会我的意思,他们也是为了钱(很明显),但你可以看出他们有强烈的热情和渴望首先打破事物。

如果您确实在漏洞赏金中取得了很多成功并最终赚了很多钱,我建议您真正反思一下您希望在社区中被记住的人以及您如何回馈社区。从长远来看,保持谦虚会更有力量,会让你与社区中的其他人建立有意义的关系。

你的谦虚不仅会受到黑客同行的赞赏,也会受到你周围那些可能没有你在漏洞赏金中赚到那么多钱的幸运的人的赞赏。我之所以提到这一点,是因为我经历了自己的个人旅程,明白你赚的钱的数量在定义你的身份方面没有任何好处。

曾经有一个时间点,我常常告诉大家我发现的错误以及由于我自己的纯粹兴奋而收到的报酬。最终,我发现谈论这个并不总是合适的,这取决于我要与之交谈的人群。

考虑到漏洞赏金的公平性,我建议你对那些你选择合作的人非常坦诚,比如分割百分比。老实说,如果你是一个最终在 bug 赏金空间中遇到另一个人的人,那么消息传播得很快,人们会拒绝与你合作。

不幸的是,在我 10 年的漏洞赏金狩猎过程中,虽然大多数合作都以友好和成功的方式结束,但在少数情况下我真的很后悔与某人合作。这些人在我的黑名单上,无论桌上有多少钱,我都不想再与他们合作。

您可以在此处了解协作的丑陋一面。-- 尽管我会说 90% 以上的合作努力对我来说都是成功的。一旦你通过与另一个人的合作建立了信任,你就可以毫不费力地相信他们未来的合作。

谈到协作,在尝试开始寻找协作对象之前,了解协作是什么样子至关重要。成功的合作涉及真正的实质内容(潜在的安全问题、需要更多工作的发现、你已经解决但仍然存在的问题、旨在进一步利用的初始访问点、对某事可能有多脆弱的可靠预感),在你开始之前向对方求助。

最好的漏洞赏金猎人知道最好的黑客和他们的专长,以及何时与他们联系进行合作。由于公平和技巧的因素,你最终会与那些在共事中感到很舒服的人建立关系。

漏洞赏金领域中的一些人倾向于为他们正在审核的特定目标/应用程序寻求大量帮助,但实际上并不想与您合作或分享任何支出,或者在合作时不公平。你应该注意这一点,因为如果你选择帮助,你通常是在做慈善工作,无论你帮助了他们多少,寻求帮助的人都会声称他们的成功是他们自己的。

 

严酷的现实

如果您是漏洞赏金计划的新手并且已经提交了前几个漏洞,您可能想知道为什么漏洞赏金计划要花这么长时间才能回复您。这是认识到漏洞赏金的现实并接受这些现实的好地方,这样您就可以在漏洞赏金之旅中拥有更好的心理健康。

漏洞赏金计划被提交的内容淹没了。大部分无效。分类团队帮助解决这个问题,但即便如此,许多安全团队仍然需要花费大量时间来处理您的漏洞。为您报告的漏洞部署修复程序可能需要数月时间。这意味着您的错误可能需要几个月的时间才能得到解决并最终得到补偿。

要求不断更新根本不会加快这个过程。当向错误赏金计划报告错误时,我强烈建议您忘记提交并立即开始查找更多可以报告的错误。

当错误确实得到补偿时(无论需要多长时间),享受内啡肽和多巴胺的释放。与其将大脑中的奖励中心与支出相关联,不如将其与发现漏洞相关联。这就是您真正享受漏洞赏金生命周期的方式。

在合理的时间范围内奖励错误方面,有些公司比其他公司做得更好。这可以使破解这些程序变得更加愉快。就我个人而言,我喜欢对Uber 的 HackerOne 程序进行黑客攻击,因为他们修复漏洞和支付费用的速度非常快。

您应该为另一个严酷的现实做好准备,即当您发现并报告漏洞时,程序可能不会以与您相同的方式看到风险。有一些讨论的余地,但关于关键性和最终支出的决定取决于项目所有者。你需要接受这一点,有时,它真的很糟糕,但作为一个漏洞猎手,你通常无能为力。

我对不公平对待黑客的程序的看法是让社区中的其他人知道您的经历并拒绝再次为他们工作。我保留了一个我拒绝使用的程序的狗屎列表。

 

专注于一家公司

我对那些参与漏洞赏金计划的人的建议是,找到一个您想要关注的特定程序,并精通了解该程序攻击面上的资产,以及该程序可能采用的技术和流程。

多年来,我有很多漏洞赏金计划,我花时间非常熟悉他们开发和部署东西到互联网的方式。这些知识对于持续一致地发现漏洞至关重要。

从黑盒的角度成为公司开发生命周期和实践的专家比听起来要难得多,因为它有时需要总共 40 多个小时来分析这些公司拥有的资产、技术和模式,持续监控它们以构建一个在您的脑海中描绘他们的攻击面。

不过,这样做将带来丰厚的回报。无论这些红利是即时的还是随着时间的推移,无论哪种方式,你都会发现研究一家特定的公司及其方式几乎总是一个绝妙的计划,因为它可以找到其中的漏洞。

 

避免倦怠

如果您决定参加漏洞赏金计划并想了解取得成功所需的实际工作量,我建议您阅读我之前的博文高频安全漏洞搜寻:120 天,120 个漏洞四年的漏洞赏金黑客攻击

这些年来,我在空闲时间参加了 bug 赏金活动,并且全职参加了大约一年。在这两种情况下都需要部署不同的策略,以避免精疲力竭。

我在避免倦怠方面并不总是成功,但随着时间的推移,我开始了解导致倦怠的原因以及如何首先避免倦怠。我也开始尊重我的大脑和身体在任何时候想要做的事情。如果答案不是黑客/漏洞赏金,你最好相信我不会强迫自己去做我不想做的事情。

这些天,我遵循一种模式,我以中等强度(6-10 小时/天,每周 5-7 天)进行数周的黑客攻击,然后休息一个月,直到我觉得我想做再次提供错误赏金,或者如果我感兴趣的话。

如果您开始感觉到自己精疲力竭,最糟糕的做法就是努力强迫自己更努力、更长时间地工作。当感到筋疲力尽时,停止做您正在做的事情并花一些时间减压。对我来说,这通常包括躺下来听我最喜欢的音乐,或者看一些电视节目。重要的是要让您的大脑真正有机会休息和重置。尊重您的大脑和身体将带来长期的成功。

 

现场黑客活动

现在几乎所有的漏洞赏金平台都运行现场黑客活动。他们有一个选择标准,可以用来决定邀请哪些黑客。您可以在此处阅读有关 HackerOne 的选择标准:https://www.hackerone.com/community-blog/live-hacking-event-invitations-2022-guide

这些现场黑客活动绝对精彩。它们让您有机会与世界上最熟练的黑客联系,同时您可以从这些活动的支出中赚取可观的金钱。

我对任何受邀参加现场黑客活动的漏洞赏金猎人的建议是,在目标宣布后立即花大量时间进行准备,并坚持不懈地进行测试。集思广益可能会影响您的目标的利用向量,并在转向新想法之前将这些想法进行到底。

现场黑客活动通常涉及大量的竞争和压力,但请记住,归根结底,目标是保护您集体攻击的公司,一次一个安全漏洞。

现场黑客活动中的协作很普遍(以一种好的方式),你不应该害怕在现场黑客活动中与其他人分享你一直在努力的一切(前提是你愿意以协作的形式接受帮助)。这通常会导致其他黑客在这些事件中帮助您完成漏洞利用链的情况。

Bugcrowd、Intigriti、Yogosha 和 YesWeHack 也举办现场黑客活动。在这些平台上成为优秀的漏洞赏金猎人可以大大增加您受邀参加这些现场黑客活动的几率。

 

回馈社会

如果你最终在漏洞赏金中获得成功,我最大的愿望就是你选择回馈社区。无论是以博客文章、推文线程、视频还是播客的形式出现,让每个人都成为更好的黑客的是我们行业和艺术通过贡献的内容取得的进步。

多年来,我一直有意识地努力撰写博文和制作视频,以回馈漏洞赏金社区。看到新人进入我们的空间并回馈社区,我总是很高兴。

我希望这个行业的竞争不会阻止您分享信息。虽然我们确实处于一个有漏洞赏金的竞争空间,但共享信息比金钱更强大,一旦你从职业角度和协作角度看到它为你创造的机会,你就会意识到这一点。

我在生活中获得的许多机会都是由于我在生产知识并将知识传播给人们时思想开放的本性而成为可能的。我对此表示感谢,我相信如果其他人在分享知识时采用同样的透明度和勇气,这将适用于其他人。

我很确定漏洞赏金领域的大多数成功人士都有一个故事,讲述他们如何阅读一篇文章或博客文章,使他们成为更好的黑客/安全测试人员。我们需要这种文化在我们的行业中继续存在,即使漏洞赏金本质上具有竞争力。

 

结论

我希望这篇博文能让您深入了解成为漏洞赏金猎人需要什么,以及它可能需要什么或需要什么。正如我在这篇博文开头提到的,这篇博文不是关于成为一名成功的漏洞赏金猎人的技术要素,而是针对你成功所需的软技能和心态。

这篇博文讨论了我一路上遇到的一些挑战以及我是如何应对这些挑战的。我认识的大多数漏洞赏金猎人可能会阅读这篇博文并同意其中的大部分知识,因为他们会发现自己处于类似的境地。

这篇博文的重点是让人们了解成为一名漏洞赏金猎人需要做什么,并提供这些建议,而不会让你犯下我们一路上都犯过的同样的错误。

如果这篇博文对您有帮助,请在推特上发推@我,听到这个消息会让我有动力写更多东西。

标签:学习路线, 思路分享, 学习笔记