如何通过结构化层次学习信息安全和黑客技术
最近整个夏天,我漫无目的地翻阅着各种编程和开发指南的PDF文件,还深入研究了CS50(这大概是我第五次了),重温基础知识,学习进入这个神秘领域所需的基础知识。然而,每天晚上看了无数的视频,读了数百篇文章后,我发现自己很容易分心,跑题了,从一个资源跳到另一个资源,从一本书跳到另一篇文章,几乎一无所获。
所以,在花了这么多时间之后,我将在这里整理一份结构化的指南,其中包含各种资源和网站,帮助我更好地理解 CTF 和整体应用程序安全。希望这份指南能帮助到那些容易分心、在指南之间来回切换的朋友们。
1级
- 无论你是经验丰富的黑客或计算机科学专家,还是初出茅庐的初学者,哈佛大学的 CS50都是你学习基础知识的最佳起点。
至少在 2020 版中,它将带你深入学习 C 语言编程、数据结构和算法、内存和指针的概念(这对以后理解缓冲区溢出也很有帮助)、Python、SQL 和应用程序开发。它基本上是你在四年制计算机科学课程中学习的几乎所有内容的基础。
- 《黑客:漏洞利用的艺术》也是一本很棒的入门指南,可以帮助初学者探索 C 语言、汇编语言、网络概念、漏洞利用等内容。这本书提供了黑客攻击的基础知识及其起源。
- OverTheWire,尤其是 Bandit 和 Natas 通过 Krypton 挑战,都是有用的持续性战争游戏,可以通过亲身体验和有用的提示来了解有关 Linux 和网络安全和利用的更多信息,以防您遇到困难。
- HackSplaining,直观地查看 Web 应用程序中的常见漏洞。
- 虽然是可选读物,但查尔斯·佩佐尔德 (Charles Petzold) 的《代码》也是另一本很好的入门书,它介绍了计算机的工作原理以及为什么对于初学者来说可以更好地理解其内部原理。
- MIT 的《The Missing Semester》教你编程、黑客和整体开发所需的工具(即 Github、Docker、Vim、IDE、BASH 脚本等)。
- FreeCodeCamp通过项目和认证学习 HTML、CSS、JS 和 Web 开发(这样你就知道如何突破它们 ;))
2级
- TryHackMe 的“从零到大师”宝箱指南。指南中提供了一张地图,供无法或不愿订阅的免费会员使用,以及一张地图,供已订阅的会员使用。
我个人认为,这是一个比 HackTheBox 更简单、更类似的替代方案,因为每个宝箱中都包含大量的线索、提示和解释,可以帮助你更好地理解概念。不过,最好还是坚持练习宝箱中教给你的概念和练习,因为这些概念和练习可能非常简单,一旦你完成了一个宝箱,就很容易忘记。
- Heath Adam 的道德黑客课程(又名 TheCyberMentor)。该课程假设您是道德黑客的初学者,并教授您关于 Web 和其他应用程序渗透测试所需的一切知识。如果您将来有兴趣参加 OSCP,这将特别有用。
- 我的好朋友 guyinatuxedo 的噩梦课程。这是一本全面的在线书籍,通过探索 CTF 挑战和其他各种实际案例,教你如何深入二进制漏洞利用。对于未来对恶意软件分析和逆向工程感兴趣的人,这本课程也是一本比较适合初学者的指南。
3级
- HackTheBox。如果你遇到困难,可以看看Ippsec 的视频。
玩玩那些已经退役的盒子,是 HTB 入门的绝佳选择。
- Pwnable.kr是一种可爱又有趣的破解挑战和二进制利用方法。
- VulnHub。与 HackTheBox 类似,它提供可下载的虚拟机来练习黑客攻击。
- Microcorruption是一个正在进行的专注于嵌入式安全的 CTF。
- 对于 HTB 和 VulnHub 上类似 OSCP 的盒子,这里有一个电子表格,列出了与 PWK 课程中的实验室高度相似的盒子,这也是全面培养技能的另一种好方法。
4 级(或更高级别,以更深入地了解计算机和系统内部以及其他特定领域)
- Nand2Tetris教你如何从零开始构建计算机和操作系统。深入探究操作系统
- Hasherezade 的恶意软件分析/逆向工程指南
- 如果你对网络感兴趣,想通过实践和讲解的方式学习《Web 应用程序黑客手册》,Sam Bowne 的《Web 应用程序安全》绝对是你的最佳选择。我个人一开始没法读完这本书,但阅读过程中有视频和练习可以配合阅读,这对我理解书中的概念有很大帮助。
- 超棒的 Gameboy Dev,用于学习模拟、逆向工程和汇编,以及用于构建和逆向所有 Gameboy 事物的 C。
- Cryptohack是一个相对较新且非常出色的网站,它通过编程练习来教授密码学知识(强烈推荐使用 Python)。入门很容易,但随着学习的深入,难度会成倍增加。
- Trail of Bit 的取证指南。对于有兴趣的人来说,学习计算机取证的友好指南并不多,但我发现这本指南是唯一一本全面概述如何在 CTF 中遇到取证挑战的指南。
- 系统编程和工具由 Sanjiv Bhatia 教授,有关 Linux/Unix 环境中编程的讲座和演练。
其他一些有趣的练习网站
- 破解此网站!
- Try2Hack
- picoCTF。这款游戏面向高中生,但对初学者也同样有趣。它还能帮助你探索你可能感兴趣的主题。
- HackNet,是一个非常有趣的黑客模拟器,也是少数几个准确的模拟器之一。
- 不要忘记在 ctftime.org 上查看即将举行的 CTF!
实际上,您可以根据自己的经验水平,按照自己喜欢的顺序来学习这些资源。不过,这至少为我提供了一种更结构化、更精简的循序渐进学习安全概念的方法。我希望这也能帮助未来有兴趣进入该领域的读者。此列表未来可能会根据需要进行编辑。
文章来源:https://dev.to/noodulz/how-to-learn-infosec-and-hacking-through-structed-levels-52jl