如何开始漏洞赏金计划并成为漏洞挖掘猎手

Ozgur Alp:10 年经验丰富的进攻性网络安全专家、讲师和讲师,持有 OSCP、OSWE 和 CEH 证书。获得Synack 颁发的2019|2020|2021 SRT 总冠军、2021 年最受信任黑客、2021 年度 SRT和2022 年度导师等奖项和冠军。


正文

包括漏洞挖掘领域在内的任何领域,都不存在唯一真正的成功方法。

人各有异,于此我仅分享我的故事及方法(在4年间凭此我赚了100万美元),希望它对初学者有所裨益。

在一开始就开始

如果你经常向他人询问如何在漏洞挖掘领域取得成功,我可以明确告诉你,这不是正确的方法。没有人能提供简单的成功公式。因此,首先要做的事情可能是停止向他人提出泛泛的“如何”问题。相反,你可以自己做功课,研究该领域,找到适合自己的方法,这将有助于培养漏洞挖掘的思维方式。

当我在伊斯坦布尔比尔吉大学讲授“网络安全 101”课程4 年时,我第一学期演示的第一张幻灯片是这样的:

●学习如何使用Google

在过去 4 年里,我每天使用Google近 50-100 次。如果你知道如何有效地使用,就可以更快、更智能地找到正在寻找的东西。

●掌握土耳其语

了解母语对于在任何领域取得成功都很重要。如果你一开始就不能很好地了解你的母语,那么你也不能很好地使用/学习/了解其他语言。

除此之外,我们还使用我们的语言作为通往外部世界的门户,将其应用于:了解正在阅读/研究的内容,与其他有相同兴趣的人交谈,写一份好的报告,与报告审阅者/分类者进行讨论等

●掌握英文

如果你的母语不是英语,那么学习它就像使用谷歌一样非常重要。2021 年最受国际认可的语言是英语,几乎所有资源都可以在其中找到。

这里有一个概念,即萨皮尔-沃尔夫假说,该主题为:“一种原则表明语言的结构影响其说话者的世界观或认知,因此人们的感知与其口语相关。”。我非常相信这一点,因为它确实影响了我们对生活的看法,包括我们对任何主题的态度。

因此,更好地了解你的语言和额外的语言可能会给人类带来新的不同观点。

●找到属于自己的领域/专业

找到属于自己的领域或专业非常重要,长期来看,这对于成为行业内的专业知识和独特者是必要的。

例如,Tommy一直在强调这一点,因为他几乎所有的漏洞赏金都来自一个漏洞类别SSRF,这很好地证明了一些专注的工作可以给你的钱包带来什么。

●技术信息知识和经验

“技术知识和经验”是你可以投入到这个领域的全部。与其他工作理念/实践(例如酿酒,拥有近1000年的历史和经验)相比,寻找bug(以及几乎所有IT主题)仍然是一个每天都在变化的新主题。

因此,与其他学科相比,为其添加一些价值很容易。

●紧跟时代

我不会在这里详细讨论“保持最新”,因为很明显,信息技术每天都会更新,如果没有更新,您的bug可能会过时:)

●扩大你的网络、社交技能

在寻找bug方面,与之前的几点相比,“扩大你的网络/社交技能”并不是太重要,但拥有这些仍然可以给你带来新的机会。

人类从一开始就被称为社会生物,作为一个社区工作总是能带来积极的发展。

如何获得成功

根据我的经验和对其他漏洞猎人的职业道路/简历的观察,我可以说,如果你有渗透测试/进攻性安全研究经验,那么更容易适应这一领域。但正如我所说,一概而论是没有意义的,我个人确实认识很多成功的漏洞猎人,即使他们根本没有进入大学。当你 14 岁时,你可能会成功,甚至在获得计算机科学博士学位后也可能会失败。

首先,定义“成功”的标准非常重要,因为它因人而异。大多数时候,成功被定义为薪水、支出和金钱;然而从我的角度来看,漏洞赏金狩猎中的成功更多地体现在项目成果上。基于这些成功的收入,我选择寻找漏洞而不是从事常规工作:

•做自己的老板:如果你具备自我管理的能力,且不喜欢上级领导分配不合理的任务,那么这绝对适合你。这是我最喜欢寻找漏洞的地方,因为你可以成为自己的老板。

•绩效工资:如果你渴望赚取更多的收入,你可以通宵工作赚取额外的报酬,而不是换工作 :)

•灵活工作:虽然大多数新的 IT 工作都提供这种福利,但在不需要任何人批准的情况下休息一天或一个月仍然很不错。

因此,即使日常工作没有相同的薪水,我仍然更喜欢狩猎作为这些优势。拥有这些对我来说是成功,而不是巨额支出。总而言之;为了获得成功,一个人首先需要定义自己的成功标准。

那么如何赚到一百万呢?

从起点来看,不同经验水平的情况有所不同:

如果你一开始没有任何 IT 经验,那么这将是最具挑战性的。要在这个领域取得成功,你需要对IT的基础知识有深入的了解,例如网络、主机、软件、协议等等。这些基础知识几乎是无处不在的。如果你没有对它们的了解,那么寻找漏洞将变得非常困难。我建议首先学习这些技术,例如安装网络服务、创建DNS服务器、学习编程语言等,并且之后专注于安全领域。

如果你已经具备一些IT经验,但还没有进行过渗透测试,那么情况会略有不同。在这种情况下,学习安全原理将是你的主要任务。你需要了解为什么我们需要安全,我们想要保护什么,以及如何保护它。你还需要了解什么可能成为攻击的切入点,以及有哪些攻击类型。当你能够逐个回答这些问题时,你就可以开始建立起攻击性安全的基础知识。

如果你像我一样已经有了渗透测试的经验,那么你会发现漏洞挖掘与渗透测试是有一些区别的,而且可能需要一些适应。你需要将注意力集中在寻找可以利用的实际漏洞上,而不仅仅是理论上的漏洞,也不只是完成渗透测试项目(即查找所有级别的漏洞)。我还记得,在过去,在渗透测试项目中,我们报告了一个SQLi的’字符错误,或者报告了一个需要转义<>HTML响应的问题,但没有尝试实际从数据库中获取信息或绕过WAF以成功进行XSS攻击。所以现在,你需要专注于寻找现实场景和真正有影响力的漏洞。

我个人更喜欢并建议在学习安全概念并接受在线培训后开始寻找漏洞。即使没有极高的技术技能,你仍然可以找到漏洞,但大多数时候它们仅仅是低危。

在积极寻找漏洞之前,以下是我短期和长期的心理应用方法:

•保持一致:尤其是在第一年,一致性非常重要。有时你会收到一些有效报告,有时你却什么也得不到。因此,在一致性的情况下,你需要增加每天/每周找到有效报告的机会。

•设定目标和动机:缺乏动力是很常见的,尤其是在开始寻找漏洞的头几天或几个月。当我白天找不到任何漏洞时,我个人感觉会失去动力。我发现的解决方案是关注短期和长期的实际目标,而不是每天的胜利。重要的是实际上你平均取得的成绩。设定每周、每月或每年可实现的目标,并努力实现这些目标,对于获得内在满足感有好处。

•多样化漏洞类型:如果你只关注某一种漏洞类型,比如跨站脚本攻击(XSS),那么你只会报告这种类型的漏洞。特别是对于初学者来说,进行不同类型的测试非常重要。在我进行漏洞挖掘的第一年,我可以说我查看并报告了所有类型的漏洞。通过多样化你的测试范围,相较于只测试一种类型,你将开始获得更多有效的报告,这将减轻你的开销压力和对找不到任何漏洞的担忧。

•专注于特定类型的漏洞:例如之前提到的Tommy的例子,如果专注于特定类型的漏洞并增加与该类型相关的技术知识,将使你在行业中脱颖而出。在漏洞挖掘的第二年之后,我开始专注于我喜欢的某些类型,比如授权和身份验证。阅读关于它们的所有资料。将你学到的关于它们的一切应用到现实世界中。手动分析每个请求和响应。在某些步骤中,你将捕获那些特殊的、独一无二的bug。

•了解平台:每个漏洞赏金平台、目标、程序和分类器与其他平台相比都有巨大差异。在过去的四年半(我进行漏洞挖掘的整个旅程)中,我大部分时间(80-85%)都在一个平台上工作,这给我带来了成功。尽管在第一年,我每周都会测试大部分新系统和目标;特别是在过去的两年里,我开始每隔六个月重新测试我的旧目标,这是我赚取大部分收入的方式。在这期间,我发现应用程序所有者在修补他们被报告的大多数漏洞时,会忽略一些漏洞。此外,对相同的技术进行反复测试将积累更深入和技术性的知识,从而可以报告更复杂和隐蔽的漏洞。因此,尽管测试不同的应用程序和目标可以扩展和多样化你的知识,但偶尔重新测试相同的应用程序和目标会带来不被注意的新发现。

•拥有自己的思维方法:我遇到的每一位成功的漏洞挖掘猎人都有自己独特的测试方法,这种方法是通过一段时间的实践形成的。因此,找到最适合你的方法并根据你的方式进行改进。

文末

正如序言所说:“在任何领域,都不存在唯一真正的成功方法。”。每个人都有自己的旅程。我们永远会像历史一样利用别人的经验来发展自我,但也会在个人的努力和勤奋中决定我们的自我旅程。

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

网络安全学习路线&学习资源

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

“脚本小子”成长进阶资源领取

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

本文转自 https://blog.csdn.net/jennycisp/article/details/143428222?spm=1001.2014.3001.5501,如有侵权,请联系删除。

猜你喜欢

转载自blog.csdn.net/2402_84205067/article/details/143483587