Doyensec实习体验:渗透测试与安全研究的实战之旅

本文分享了两位实习生在Doyensec的亲身经历,涵盖从技术面试到实战渗透测试的全过程,包括Web/移动安全挑战、Tsunami插件开发、客户项目测试等核心技术内容,展现了应用安全领域的真实工作场景。

Internship Experiences at Doyensec

2024年3月22日 - 作者:Aleandro Prudenzano 和 Leonardo Giovannini

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

Aleandro

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

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

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

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

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

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

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

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

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

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

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

Leonardo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最后,如果你符合以下条件,你应该考虑申请下一轮实习生招聘:

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

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

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