如何成为渗透测试工程师:从入门到精通的完整指南

本文详细介绍了成为渗透测试工程师的完整路径,包括学习路线、技能要求、职业发展建议和求职技巧,涵盖了从基础网络知识到专业工具使用的全方位指导。

引言

我收到大量电子邮件。不幸的是,我没有像过去那样多的空闲时间,所以我经常别无选择,只能将问题重定向到我们的论坛或IRC频道,希望社区的其他成员能介入帮助我回答这些问题。

最常被问到的问题之一是"如何成为渗透测试工程师"。

从哪里开始?

开始信息安全领域有几种方法。在这样做之前,无论你采取哪种方法,都应该问自己两个基本问题:

1. 我愿意投入多少努力(时间等)?

学习的速度取决于大脑处理、记忆和实践的能力。有些人学得快,有些人需要更多时间。两种方法都没有错,但自我意识、自我认知自己的能力,并对能够并愿意投入学习过程的时间保持现实态度很重要。

2. 我的目标是什么?

将梦想分解为更小的目标。假设你的梦想是成为渗透测试工程师。这个概念很令人兴奋,但同时也相当模糊。你到底想做什么?你想测试什么类型的目标?为什么想做这个?

什么是真正的渗透测试?

成为渗透测试工程师并不意味着擅长使用工具。而是要理解事物的工作原理、配置方式、人们会犯什么错误,以及如何通过创造性找到这些弱点。成为渗透测试工程师不是关于对互联网启动Metasploit。

学习态度

在你开始旅程之前,我想简要提及将成为你旅程最重要部分的东西:你和你的态度与心态。你需要特定的态度来做到这一点。这就是所谓的"黑客"态度。

黑客倾向于破坏东西;渗透测试工程师也倾向于破坏东西。目标应该是破坏东西,以便提出如何改进的解决方案。

如何提问?

除非你生来就知道所有答案,否则你最终可能会提出问题。即使你知道自己的最终目标是什么,你可能不知道如何到达那里,或者需要什么才能到达那里。找出答案的唯一方法是提出问题。

提问指南

  • 避免显而易见的答案:思考你的问题。在线、维基百科、通过简单的谷歌搜索或阅读产品文档找到答案有多容易?
  • 展示你值得答案并预期:做好功课。看看你可以在互联网上找到关于你问题的内容,自己尝试一些事情并记录你所做的事情。
  • 分解事物并对自己持批判态度:在提问之前,将问题分解为技术层次和组件。
  • 不要以道歉开始:没有必要为不知道某事而道歉。
  • 友善、礼貌且不要不耐烦:即使你的问题很紧急,如果你决定依赖社区支持,你也必须意识到并接受人们也有自己的生活,可能有比回答你的问题更优先的事项。

学习路径

1. 网络和操作系统

我建议从学习系统如何工作和通信开始。尝试对TCP/IP、OSI层、临时和服务器端口、路由、端口转发、NAT、防火墙等有很好的理解。

2. 多用途资源

接下来,尝试对攻击 landscape 有广泛的理解。也许你已经下定决心要成为Web应用程序渗透测试工程师,但了解还有什么其他内容仍然没有坏处。

3. 脚本和工具

无论如何看待,你最终都会使用自动化某些事情的脚本和工具。你可能甚至想更改现有工具或编写自己的工具来使生活更轻松。

4. 深入钻研

只有当你准备好时,选择你想要的目标,并创建一个现实的行动计划来实现目标。有些主题需要几天,其他需要几周、几个月,甚至几年来理解。

5. 倾听、参与、帮助

使用社交媒体关注影响者、激励他人的人,以及总体上更有经验的人。与人互动,友善。提问并在学习时提供帮助。

6. 不要愚蠢

除非你攻击自己的系统,或者你已经获得适当的许可,否则攻击系统(在网络上、本地、物理上等)是犯罪。不要愚蠢。

求职建议

老实说,进入信息安全领域并获得渗透测试工程师的工作可能不那么容易。一般来说,公司倾向于雇佣有经验的渗透测试工程师。

你可以通过参加CTF、在模拟环境中测试技能和/或获得认证来获得经验。成为"Offensive Security"认证的渗透测试工程师或通过SANS考试可能是不错的投资。

公司资源

文章列出了多个愿意雇佣初级渗透测试工程师的公司,包括:

  • 欧洲:KPN(荷兰)、ERNW(德国)、Kyos(瑞士)等
  • 美国:Milton Security、NCC Group、SalesForce等
  • 其他地区:IOActive(多个地点)、Google(多个地点)等

渗透测试工程师的生活期望

根据你的地理位置和客户群,你最终可能不得不前往客户处、参加会议(远程、现场)、撰写报告、将技术发现转化为可操作的信息、呈现发现、与客户合作解决问题等。

总结

成为渗透测试工程师是一段痛苦、漫长但非常有回报的旅程。需要时间、努力和正确的态度,但最终是值得的。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计