Doyensec实习体验:安全工程实战与内部工具开发

本文详细记录了两位实习生在Doyensec的实习经历,包括技术面试流程、渗透测试实战、内部工具开发、Tsunami安全扫描器插件编写,以及远程协作下的漏洞研究与方法论总结。

Internship Experiences at Doyensec

22 Mar 2024 - Posted by Aleandro Prudenzano and Leonardo Giovannini

以下博客文章分享了我们2023年实习生的经历。

Aleandro

在我高中最后一年,我参加了Cyberchallenge.it项目,该项目旨在通过课程和CTF比赛向年轻学生介绍进攻性网络安全的世界。那次经历之后,我和一些朋友成立了r00tstici CTF团队,试图将网络安全文化带到意大利南部。我们还在萨莱诺大学组织了各种研讨会和活动。

当我从意大利南部搬到比萨上大学时,我加入了fibonhack CTF团队。然后我开始在大学内外的小型项目中担任开发人员和渗透测试员。

招聘过程
2023年4月,Doyensec的Twitter账号发布了夏季实习生的招聘通知。自从在No Hat 2022上听到Luca的演讲后,我已经关注Doyensec数月,因此提交了申请。这既是因为我对大学的日常感到厌倦,也是因为我想尝试研究领域的工作。这是一个很好的选择,因为我来自一个开发、自由职业渗透测试和CTF比赛的环境。

我经历的选拔过程大部分已经在Robert之前关于实习经验的帖子中描述过。基本上包括:

  • 与实践经理的面试
  • 关于Web和移动主题的技术挑战
  • 最后,与两位不同安全工程师的技术面试

面试涉及应用安全的各个方面,从Web安全到低级内容如汇编和CPU内部结构。

最初几周
实际的实习开始于几周的研究,我研究了一些Rust的Web应用框架。完成研究后,我转向了一个实际客户的渗透测试。我记得第一周感觉非常不同和具有挑战性。代码库如此庞大,功能如此丰富,我感到被要测试的东西、要尝试的想法和要复现的场景淹没了。尽管规模和复杂性很大,但最初没有发现漏洞。冒名顶替综合症开始发作。

最终,在那次任务的第二周情况开始好转。虽然我们是一家100%远程公司,但有时我们会聚在一起以小团队形式工作。那一周,我和Luca面对面工作。他帮助我理解,有时软件只是从安全角度编写和架构得很好。对于这些情况,我需要学习如何应对没有立即成功的情况,测试所需的专注力,以及如何在只有低严重性发现的情况下为客户提供价值。幸运的是,我们最终在那个代码库中找到了好的漏洞 :)

研究周
我实习经历的主要研究主题是关于开发内部工具。虽然这个项目主要不是关于安全,但我非常享受。开发应用、修复bug和抱怨不存在的文档是我自从买了第一台个人电脑以来一直在做的事情。

责任
需要注意的是,即使你是最后加入公司的人且经验有限,所有Doyensec团队成员都像对待其他员工一样对待你。你可能负责在实际评估中与客户交谈,你将不得不编写并可能同行评审报告,你将不得不评估并分配漏洞的严重性,你的名字将出现在报告上,等等。当然,你被分配与更有经验的工程师一起工作,他们会指导你完成过程(在我的案例中是Lorenzo - 我想感谢他帮助我管理灵活的时间表以及他给我的所有其他建议)。然而,你通过实际做和做出自己的决定如何继续以及当然犯错误来学习最多。

对我来说,这是一种令人震惊的感觉,我没有期望完全成为团队的一部分,并且我的意见会被重视。在我看来,这真是一个好方法。我花了一些时间完全适应这个角色,但之后一直很有趣。

Leonardo

大家好,我的名字是Leonardo,你们中的一些人可能更熟悉我的别名maitai,这是我从旅程开始就在CTF场景中使用的代号。我在攻读计算机科学学士学位的过程中遇到了网络安全。从第一刻起,我就被它迷住了。所以我决定更深入地挖掘黑客技术,从PortSwigger Academy开始,这 literally 改变了我的生活。

招聘过程
如果你读过这篇博客文章的前一部分,你已经认识了Aleandro。在加入Doyensec之前我就认识他,因为我们在同一个CTF团队fibonhack一起玩。当我在追求之前的实习时,Aleandro和我聊了很多关于我们的工作和近期计划。一天他告诉我Doyensec将在冬季有一个开放的实习职位。起初我有点害怕,只是因为对我来说接受这样的挑战将是一个巨大的步骤。当Doyensec开放这个职位时,我之前的实习已经结束。虽然我正在考虑攻读硕士学位,但我一直在想这个机会。我不想错过这样一个伟大的机会,所以我决定提交申请。毕竟,我有什么可失去的?我把它作为真正挑战自己的一种方式。

在与实践经理快速面试后,我了解了面试过程的下一步。首先,过程中使用的技术挑战是全新的。实践经理告诉我Doyensec已经完全更新了挑战,有一个全新的平台和新的挑战。我基本上是第一个使用这个新平台的候选人。

挑战的主题主要是几种不同语言的Web应用,有不同的bug要发现, alongside 移动挑战涉及使用最先进的技术。我有2小时时间完成尽可能多的挑战,从8个挑战池中。时间限制在我看来是合适的。每个挑战大约15分钟,这是一个合理的时间量。尽管我对移动黑客没有经验,但我把自己推到了极限,以发现尽可能多的bug,并最终通过面试过程的下一步。后来我了解到,在有限时间内审查大量(但简短)的代码快照是为了模拟审查更大代码库的复杂性,尽管你有几周的时间。

技术挑战几天后,我收到了Doyensec的电子邮件,祝贺我通过了技术挑战。那时我激动不已!我 literally 等不及接下来会发生什么!邮件说下一步是与Luca的技术电话。我在他的日历上预留了一个位置,等待面试的那天。

Luca问了我几个问题,从威胁建模到如何利用某些漏洞,再到如何修补易受攻击的代码。这是一个360度的面试。还包括一些现场代码审查。面试持续了一个小时左右,最后Luca说他会评估我的表现并让我知道。

第二天,另一封邮件到了。我已经进入了最后一步,与Doyensec的另一位联合创始人John的面试。在这次面试中,他问了我不同的事情,不严格与应用安全世界相关。正如我之前所说,他们从多个角度考察了我。与John的会议也持续了一个小时。

此时,我已经完成了整个过程。我只需要等待他们的回应,这并没有花太长时间。

他们给了我实习职位。我做到了!我很高兴克服了我为自己设定的挑战。我 quickly 接受了这个职位,以便直接跳入行动!

最初几周
在我最初的几周,我做了很多不同的事情,包括重新测试Web和网络级别的bug,以确保其他工程师之前发现的所有漏洞都被 properly 修复。我还做了标准的Web应用渗透测试。应用本身真的很有趣,足够复杂,让我的眼睛粘在屏幕上,不会失去兴趣。另一位出色的工程师被分配与我一起参与上述项目,所以我在测试期间并不孤单。

由于Doyensec是一家完全远程的公司,我们还需要在白天举行一些会议,以同步渗透测试期间可能发生的不同事情。沟通是Doyensec的关键部分,从伟大的沟通中产生伟大的bug。

研究周
在实习期间,你还有50%的时间进行应用安全研发。在我的研究周,我被分配到一个开源项目。事实上,我的任务是为Google的Web安全扫描器Tsunami编写一些插件。这是一个通用网络安全扫描器,具有可扩展的插件系统,用于高置信度地检测高严重性漏洞。本质上,为Tsunami编写插件需要理解产品中的某个漏洞并为其编写一个利用程序,用于在扫描时确认其存在。我被分配编写两个插件,用于检测RabbitMQ管理门户和RStudio服务器上的弱凭据。插件是用Java编写的,由于我在学士学位期间做过一些Java编程,我对此相当自信。

我真的很喜欢编写那些插件,还被要求编写单元测试和一个测试床,用于实际复现漏洞。这是一个非常有趣的经历!

责任
正如Aleandro已经解释的,实习生在Doyensec被赋予了很多责任以及巨大的自由感。我只想补充一件事,关于时间管理。这对我来说是最困难的事情之一。在一家远程公司,你没有时间钟或类似的东西,所以你可以选择以你 prefer 的方式工作。Luca多次告诉我,在Doyensec,输出是被评估的。这对我来说是一件大事,因为我习惯了固定时间表的工作。Doyensec给了我以我 prefer 的方式工作的灵活性,这对我来说是无价的。也就是说,活动足够复杂,让你每天忙碌几个小时,但它们非常令人愉快。

结论

在Doyensec做实习生是一次很棒的体验,因为它让你无需广泛的工作经验就能跳入应用安全的世界。只要你有技能和知识,无论你是如何获得它们的,你都可以成功。

此外,在那三个月里,你将能够测试你的技能并在各种目标的不同技术上学习新 ones。你还将认识热情和 skilled 的人,如果你足够幸运,参加公司 retreats 并获得一些独家 swag。

最后,你应该考虑申请下一批实习生招聘,如果你:

  • 对应用安全充满热情
  • 已经具有良好的Web安全技能
  • 具有组织能力
  • 想要时间安排灵活性
  • 可以管理远程工作

如果你对这个角色感兴趣并认为你很适合,通过我们的招聘页面申请:https://www.careers-page.com/doyensec-llc。我们现在正在接受2024年夏季实习生的候选人。

其他相关帖子:

  • Class Pollution in Ruby: A Deep Dive into Exploiting Recursive Merges - 02 Oct 2024
  • Recruiting Security Researchers Remotely - 09 Nov 2022
  • My Internship Experience at Doyensec - 24 Aug 2022
  • H1.Jack, The Game - 16 Feb 2022
  • Psychology of Remote Work - 17 Dec 2020
  • Internship at Doyensec - 05 Nov 2019
  • We’re hiring - Join Doyensec! - 27 Nov 2017
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计