目录导航
网络安全、道德黑客、应用程序安全、渗透测试、漏洞赏金等,这些职业选择正在全球范围内蓬勃发展,并在青少年、学者、经验丰富的专业人士等中流行起来。这种流行的原因肯定是不断增长的社区、增加的攻击以及对熟练专业人员的需求。
然而,这个领域有时会让初学者感到困惑,当谈到我应该从哪里开始时,它可能看起来像一片海洋?我应该先学什么?该死的,还有很多东西要学,我需要好几年才能进入这个游戏,有什么捷径还是我应该离开这个领域!!这些不仅仅是我为这个博客提出的一些问题,而且这些是我在 Twitter、Instagram、LinkedIn、电子邮件等上最常被问到的问题。

有时,当他们来问我时,很难为好奇的人提供确切的答案,嘿,Harsh,我是网络安全的新手,我真的很想开始,你能帮帮我吗?牢记这一点,我写这篇博客是为了回答所有这些问题,简而言之,从我的角度为大家提供一条学习路径,关于如何开始网络安全?
网络安全是一个巨大的领域,当您提到网络安全时,您实际上并不清楚您实际上要询问的领域!当你说网络安全时,它可以是——你想成为一个漏洞赏金猎人,或者一个蓝队队员或一个网络取证员,或者你也不确定。因此,让我们首先分解网络安全中的一些一般职业选择,这将帮助您确切地知道您想去哪里。

上面的思维导图分解了进攻、防御和研究三个主要领域的网络安全职业选择。(请注意,进攻性网络安全不是非法术语)。但是,因为有很多东西要解释,当我从事进攻性网络安全工作时,如果您的最终目标是进入进攻性网络安全方面,请继续阅读接下来的几段,我将为您提供更多密切关注该领域,一些要求以及应该如何开始学习并在其中建立良好的职业生涯。
进攻性网络安全职业道路
当我们谈论开始进入进攻性网络安全时,有许多领域,例如应用程序安全、红队、渗透测试、代码审查、云审计等。但是,总有一些初始要求,最终,一切都以某种方式联系在一起。
先决条件:
- 很好地理解计算机系统的工作原理
- 很好地理解互联网的工作原理以及如何使用它
- 心态和节奏——你必须享受你正在做的事情!!!
入门
由于我从事进攻性安全和应用程序安全,因此我可以更好地指导如何开始进入该领域,以下是人们应该采取的各种基本设置的细分,以更好地掌握从基本概念到高级概念。那么让我们来看看它:
学习操作系统
市场上有多种操作系统,但最常见的是基于 Windows、Mac 和 Linux 的操作系统。另一方面,Android 和 iOS是移动操作系统中的主要参与者。
在许多情况下,您需要了解特定操作系统的工作原理以及它们提供的各种安全功能、它们各自的限制是什么以及攻击者如何滥用它们。
例如:作为一名渗透测试人员,您以受限用户的身份获得了对 Linux 机器的访问权限。现在,为了摆脱限制,您需要知道如何滥用可用功能并获得特权访问。当您知道存在哪些各种功能并且您将很好地掌握要利用的内容并获得特权访问时,这变得非常简单。
学习操作系统的资源:
- Linux 基础:https ://linuxjourney.com/
- Android 基础知识:https ://www.eduba.com/android-operating-system/
- Windows 基础知识:https ://www.eduba.com/introduction-to-windows/
- 操作系统基础:https ://www.tutorialspoint.com/operating_system/index.htm
如果您想深入了解这些操作系统,可以查看 Windows Internals 或 Linux Internals,这是对这些操作系统的更全面的研究。但是,我建议至少获得基本知识。
学习计算机网络
计算机网络对于任何 IT 专业人员来说都是一个非常重要的方面,而不仅仅是 IT 安全人员。大多数情况下,当您作为攻击性安全人员遇到任何参与时,您将处理 Web 应用程序、移动应用程序、云基础设施、内部网络、路由器、防火墙、物联网设备等,如果您注意到,大多数这些架构中的一些直接或间接使用互联网进行通信。
作为安全专家,您必须了解网络的基本概念,包括了解路由、防火墙、SSL、TLS、端口、协议、IP、TCP、UDP、MAC 和其他重要的网络安全功能如何工作。为什么需要这些知识本身不需要任何解释,它是必不可少的,仅此而已。
学习计算机网络的资源
- https://www.tutorialspoint.com/data_communication_computer_network/index.htm
- https://www.tutorialspoint.com/network_security/index.htm
- 密码学和网络安全(McGraw-Hill Forouzan Networking)
学习 Web 应用程序
Web 应用程序是我作为应用程序安全工程师和攻击性安全人员的旅程中经常遇到的事情之一。任何组织的大部分外部资源都是 Web 应用程序。
在深入研究如何测试 Web 应用程序安全性之前,必须了解有关 Web 应用程序、它们的通信和组件的各种概念。这包括了解 HTTP 请求是如何形成的、HTTP 响应是如何工作的、各种安全标头是什么、浏览器安全功能、什么是 CSP 和 CORS 等。这是一个基本概念,最终将在您作为应用程序安全的整个旅程中为您提供帮助,伙计!
学习基本概念的资源
- 关于 HTTP:https ://developer.mozilla.org/en-US/docs/Web/HTTP
- HTTP 标头:https ://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
- HTTP 安全性:https ://developer.mozilla.org/en-US/docs/Web/Security
- 内容安全政策:https ://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
- HTTP Cookies:https ://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Secure_and_HttpOnly_cookies
- 网络安全备忘单:https ://infosec.mozilla.org/guidelines/web_security
- 跨域资源共享:https ://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
了解通用安全框架
一旦您对 Web 应用程序、操作系统和计算机网络的基本概念有了足够的了解,在探索安全性观点之前的下一部分是了解行业标准遵循的一些常见安全框架。这将帮助您正确引用和了解您的安全漏洞所在的类别。您如何评估已识别安全问题的严重性以及如何进行补救。
OWASP:开放 Web 应用程序安全项目是一个在线社区,它在 Web 应用程序安全领域产生可免费获得的文章、方法、文档、工具和技术。
- OWASP Web Top 10:https ://owasp.org/www-project-top-ten/
- OWASP API Top 10:https ://owasp.org/www-project-api-security/
- OWASP 移动前 10 名:https ://owasp.org/www-project-mobile-top-10/
- OWASP ASVS:https ://owasp.org/www-project-application-security-verification-standard/
- OWASP 漏洞管理指南:https ://owasp.org/www-project-vulnerability-management-guide/OWASP-Vuln-Mgm-Guide-Jul23-2020.pdf
- OWASP 风险评级方法: https ://owasp.org/www-community/OWASP_Risk_Rating_Methodology
STRIDE: STRIDE 模型由Microsoft开发,旨在帮助安全工程师了解和分类服务器上所有可能的威胁。该模型的名称是六种主要威胁类型的首字母缩写。
CVSS:通用漏洞评分系统 (CVSS) 提供了一种捕获漏洞主要特征并生成反映其严重性的数字分数的方法。然后可以将数字分数转换为定性表示(例如低、中、高和关键),以帮助组织正确评估其漏洞管理流程并确定其优先级。
Web 应用程序安全入门
在这一点上,我们将讨论如何开始使用 Web 应用程序安全。野外有大量资源,不可能学习/阅读所有资源,但是,选择最好的资源也是一项艰巨的任务。我正在分享一些很好的资源,以便获得良好的把握:
- OWASP 测试指南 解释了广泛的安全问题以及如何测试它们。这应该是了解和探索各种安全漏洞的初始参考指南。
- PortSwigger Web Security Academy 是 Web Application Hacker’s Handbook 的实用版。您将获得良好的学习资源(简短而清晰),然后通过实验室掌握您正在学习的内容。
- Bugcrowd Vulnerability Rating Taxonomy讨论了多个安全问题及其相关的严重性。这也是了解多个安全问题的有用资源。
- OWASP Juice Shop是一个真实的应用程序,让您可以测试多种安全漏洞,从注入、访问控制到 XXE。
- Cobalt.io Vulnerability Wiki是另一个很棒的资源,其中包括基于OWASP ASVS 的各种安全问题的简要说明、概念证明和风险评级。
- PayloadAllTheThings 是一个开源 GitHub 存储库,其中包含所有安全问题的大量有效负载列表,这也是了解一些新安全问题的好资源。
- Learn365 是我自己的 GitHub 存储库,其中包含我在#Learn365 挑战中关注的所有学习资源,其中包括各种攻击媒介,包括 Web、移动、网络、云等。
- HackTricks GitBook 是关于各种网络、移动和 Web 攻击向量的大量资源集合。
- InfoSec Writeups、PentesterLand和HackerOne Disclosures 是查看错误赏金报告并了解各种黑客如何处理不同错误和不同应用程序的绝佳资源。
如果您可以购买付费订阅,我会推荐这两个付费实验室,它们有很好的内容:
- PentesterLab:https ://pentesterlab.com/
- PentesterAcademy — AttackDefense 实验室:https ://attackdefense.com/
请注意,我与这些供应商没有任何形式的付费促销活动。
注意:不要花太多时间在实验室上,通过漏洞赏金和负责任的披露计划开始探索现实应用程序中的事物。在实验室投入更多时间可能会让您在测试实际应用程序时感到不舒服。当你觉得你需要学习任何攻击时,比如跨站点脚本,只需在谷歌上搜索可用的实验室并解决它们,开始点击真正的应用程序并再次遵循该过程。
如果您的基础扎实并且遵循正确的方法,那么开始使用 Web 应用程序安全非常简单,我强烈建议您不要浪费太多时间只寻找资源,而是将时间投入到面对现实生活中的应用程序和各种场景中。
网络安全入门
对于网络安全来说,资源没有限制,但是从安全角度对计算机网络有很好的理解是非常必要的。有多种方法可以练习网络安全,但是最好的方法是花时间使用 HackTheBox 解决实验室问题并理解新概念。一些好的资源是:
- HackTheBox:一个在线平台,用于测试和提升您在渗透测试和网络安全方面的技能。
- VulnHub:提供材料,让任何人都能获得数字安全、计算机软件和网络管理方面的实际“动手”经验。
- OffensiveSecurity ProvingGrounds:通过在Offensive Security 的 Proving Grounds 培训实验室中添加PG Play和PG Practice,在独立的私人实验室环境中练习您的渗透测试技能
- TryHackMe: TryHackMe 是一个在线平台,通过简短的游戏化现实世界实验室教授网络安全。我们为完全的初学者和经验丰富的黑客提供内容,结合指南和挑战来满足不同的学习风格。
- HackTricks GitBook 是关于各种网络、移动和 Web 攻击向量的大量资源集合。
移动应用安全入门
作为应用程序安全工程师,我们经常遇到的下一件大事是移动应用程序。然而,这是一个非常有趣的领域,因为您可以通过简单地对应用程序进行逆向工程来访问源代码,并且您可以执行静态分析和动态分析。
在移动应用程序安全方面,我也是一名学习者,目前,我可以建议的资源有限(我将在未来几天在本博客中添加更多内容),可以遵循哪些资源来加快移动应用程序安全的步伐:
- OWASP 移动安全前 10 名:https ://owasp.org/www-project-mobile-top-10/
- 移动应用程序黑客手册:
- HackTricks GitBook 是关于各种网络、移动和 Web 攻击向量的大量资源集合。
- OWASP iGoat:https ://github.com/OWASP/igoat
- 不安全的银行:https ://github.com/dineshshetty/Android-InsecureBankv2
结束语
我花了很多时间把所有的部分放在一起写这个博客,但起草这个博客的目的是回答我通常问到的所有问题,比如“如何开始”、“什么是正确的道路“ 和别的。通常,不可能回答每个人,但我希望这个博客能帮助每个在这个话题上寻求答案的人和所有新人。我会尽量定期更新这个博客。将来,我还计划在此博客中添加资源以开始涉足云安全、胖客户端和其他领域。我希望您喜欢阅读本文并获得足够的资源来开始网络安全(应用程序安全/进攻性安全)
提示
- 永远不要忽视学习基础知识。尽可能多地投入时间来了解事情是如何运作的。这会对你有很大帮助。
- 不要太适应解决实验室问题,因为您可能会进入实验室心态。如果您在实际应用程序中找不到任何东西,这可能会让您感到放弃。
- 一旦您通过阅读和实验室了解了一些安全漏洞,通过负责任的披露和错误赏金计划去实践它们,它也可能会给您一些奖励,但最终,您会学到东西。
- 在 Twitter 和另一个社交平台上关注合适的人群,您可以在其中随时了解市场动态。
- 不要轻易放弃,开始寻求帮助来解决你的问题。深入挖掘并耗尽所有可能的资源,如果你卡住了,请与其他人联系。
- 每当您与某人联系时,请确保您解释了完整的场景并准备好提供您怀疑存在漏洞的 URL/受影响的端点。如果您限制提供详细信息,人们将无法帮助您。
- 如果你没有得到一些赏金或工作,继续努力,事情肯定会落到实处。很容易说某人的努力就是运气,但始终专注于如何提高自己和学习过程。
- 获得认证是一件好事,如果你得到赞助或者你负担得起,当然,继续自己注册。
题外话
这个博客本身就是一大堆题外话。这是专门为指导人们寻求指导以开始网络安全领域而编写的。这完全是我的学习路径和关于如何开始的观点,我并不是说要盲目地遵循这一点,但如果你觉得这很好,请遵循它,我会尽量保持更新。
如果你有任何好的资源,你知道应该包含在这个博客中,请留言,我会将相关的添加到博客中。
建议
[雨苁:建议配合如下两篇文章中的学习技巧进行学习]
转载请注明出处及链接
感谢
希望更多的人能从中得到启发, 为自己的道路带去一盏明灯, 感谢博主的分享精神.