转载著名网安劝退文:我非渗透测试师(你或许亦无此意向)

原文标题: I’m Not A Pentester (And You Might Not Want To Be One Either) | by assume-breach | Medium 写的很有意思,推荐大家无聊时候可以读一读... 大家好!这次我要写一篇与众不同的博文。出于种种原因,我一直尽

原文标题:

I’m Not A Pentester (And You Might Not Want To Be One Either) | by assume-breach | Medium

写的很有意思,推荐大家无聊时候可以读一读...

大家好!这次我要写一篇与众不同的博文。出于种种原因,我一直尽量保持个人博客和推特账户的低调。其实想要找出我的身份并不难,我的领英账户上链接着我的推特和这个博客(我知道,领英有点让人不舒服),但我并没有四处炫耀。

我不记得我是否在博客上说过这件事(推特上肯定说过),我不是一名渗透测试员。尽管我对安全领域极感兴趣,但这并非我的日常工作。我曾经短暂地担任过渗透测试员,不久后便离开了这个职位。为什么离开?这个问题我们留到后面再详谈。

我从事安全相关的工作时间并不长。我记得第一次使用 git clone 是在2018年。直到2020年我才拿到OSCP认证,期间我失败了两次。我现在是一名Linux管理员,这也是我在IT行业的主要工作。在进入IT行业之前,我曾在美国武装部队服役(非IT领域),所以对我来说,这一切都还很新鲜。

我不是一个优秀的程序员,甚至对Linux也不是特别精通。在工作中,我经常需要查阅手册页面。我经常会困惑,为什么这个命令不起作用:“chmod web.txt 777”?哦我明白了,文件路径应该放在权限之后。

为什么我要谈这些呢?即使我不是全职从事安全工作,我仍然有机会接触恶意软件开发、攻击路径和其他酷炫的东西,只是这些并没有给我带来收入,并且我也不需要为此负责。

五年前,当我开始涉足这一领域时,我真的非常想从事安全工作。非常非常地想。但恐怕愿望要谨慎许才行,我不是一名渗透测试员,而这是我希望在尝试成为一名渗透测试员之前有人告诉我的事情

就业市场

天哪,有三百万个网络安全的职位空缺还没被填补!这种说法我们都听过。

来看看这些统计数据的来源,它们来自于做什么的机构?提供网络安全培训的机构!这就有点耐人寻味了~

我们还听说过关于网络安全入门级职位的讨论。

“他们要求入门级职位具备五年经验和OSCP认证!”

这是真相。你确实可以找到渗透测试的初级职位,但你必须有一些经验。注意,初级岗位并不意味着没有经验,你还是需要一些经验的。这种经验不是在 HackTheBox 或 TryHackMe 上的。网络开发人员、系统管理员或 .Net 程序员有很大的机会被吸收到内部团队中。这通常是公司内部的横向转岗,候选人在公司已经有了一定的基础。

还没有你的OSCP或目前热门的其他证书吗?想进入渗透测试领域?你可能需要一个计算机科学学位,并且你需要通过实习转正。

拿到 OSCP 后立即在安永获得面试的日子已经一去不复返了。

与团队打好关系,然后转到安全领域。团队会了解你的长处和短处,这样他们就不会因为雇了一个不会用 Nim 编写新 PoolParty 概念验证的人而感到烦恼或被欺骗。

另外,大多数安全领域的人都有自负心理,喜欢在网上炫耀自己的技术优越性。面对面与中级操作员交谈,他们可以为你向招聘经理推荐,这会有很大的不同。

既然我们谈到了就业市场。现在是2024年。你看到裁员了吗?但是,当每家科技公司都在裁员时,为什么还有人急需有才能的网络安全人才呢?

对于有经验的网络安全人员,就业市场非常火热,尤其是那些拥有十年网络应用渗透测试经验、面向客户的咨询经验、CVE记录并且在会议上发表过演讲的人,他们随随便便就能找到一个不错的职位。

对于那些做 MSF payload 的人来说,市场可能并不会火热。

网络应用领域的市场同样火热。为什么?因为如果你在网络应用方面表现出色,你可能做漏洞赏金,赚的钱是咨询公司愿意提供的四到五倍。

我说实话,有人给我开出12万美元的年薪做网络应用相关工作,我没有接受。因为做系统管理员,我赚的更多。

我不了解全球就业市场,我所说的仅基于我在美国的观察。其他国家的情况可能会有所不同。我和欧盟的很多人交流,那里似乎有一些职位空缺。但谁知道呢。我知道的是,英国的渗透测试员的收入远低于美国

顺便说一下,你有没有注意到现在有多少“培训机构”网站?几乎就像人们通过教授黑客技术而非实际进行黑客活动赚取更多的钱一样。每次我一转身,就会看到新的EDR规避、恶意软件开发、真正的黑客培训课程冒出来。

咨询行业

你想在咨询行业成为一名渗透测试员?你以为自己会坐在 Kali 前,用 psexec 命令控制域管理员?你参加过启动会议吗?你被拉进过销售电话会议吗?你是否曾被期望拉来客户?

欢迎来到咨询世界。你会发现,大多数渗透测试的工作都在咨询领域。咨询行业是一个肮脏、污秽的世界,渗透测试员发现自己陷入了一个看不到出路的地狱。

在一些公司,安全是次要的,重要的是钱。客户支付了多少钱?这决定了工作的努力程度。我听到过一个词叫“转身即焚”。

我曾被告知“他们支付的钱不多,随便做做就好。”听起来合理吧?

很多时候,你可能会在与客户的互动中获得2万美元的报酬,却只是告诉他们关闭 LLMNR。

这是一个世界,在这里,客户为无线渗透测试支付1.5万美元,操作员运行 Wifite,没有获得握手协议,然后就离开了。

所有的咨询公司都是这样吗?当然不是。确实有一些非常优秀的公司,他们真正地花时间与客户合作,甚至花几个月甚至几年时间来保护他们的网络。

如果你在一个咨询公司面试,知道你将面对什么很重要。询问他们关于计费小时数,每次参与多少操作员,报告的要求等。还要问他们关于研究、培训和发展时间的处理方式。他们是如何对待这些的?

显然,如果你没有参与客户项目,你不会只是坐在那里看Netflix,那么你在做什么呢?你是在编辑别人的报告,还是在开发内部的战术技术和程序(TTPs)?还是说你不停地从一个客户跳到另一个客户,中间没有休息时间?

当你在一个项目中遇到难题时会发生什么?你知道有些东西是可利用的,但你暂时不清楚怎么做,这种情况我遇到过很多次,但是公司不想在这个客户上再浪费其他操作员,所以没有人愿意看一眼我的攻击手段,客户也会因此受到影响。

内部团队总是更好。通常,报告工作不会那么繁重,即使有报告,也可以由整个团队来处理。如果团队效率足够高,还可以由专职技术写作者来完成!

初级渗透测试员需要了解他们在咨询公司眼中的地位。在商业世界中,如果你没有为公司带来收入,你就是在给公司造成成本。渗透测试员不带来收入,销售人员才会。

渗透测试员是公司的产品。他们将渗透测试员卖给客户一定的时间。如果你超过了这个时间,你不会让客户多花钱,而是让公司多花钱。

作为一个渗透测试员,你可以被同样技术水平但价格更低的人替换。在这样的就业市场中,有很多技术高超的操作员因为 Rapid7 给了他们解雇通知而急需支付房贷。你认为他们不会接受9万美元的工作以免房子被收回吗?是的,行吧。

不幸的是,由于进攻性安全培训的兴起,现在比以往任何时候都有更多的“黑客”。初级甚至中级的渗透测试员现在将非常难找到工作,可能在可预见的未来也是如此。我的预测是情况只会变得更难,我们将看到拥有网络安全证书的人试图进入其他IT领域,如云计算、系统管理或网络应用开发。

薪资问题

以为自己能挣到15万美元?别太乐观,好好想想吧。高级级别的渗透测试员的确能挣到不少钱,当我还是渗透测试员时,我的年薪是12万美元。虽然比我当时作为系统管理员的薪水少了5千美元,但我接受了这份工作,因为我想进入安全领域。

没错,你没看错。为了进入安全领域,我选择了降薪。

如果你得到一个 offer,薪资可能在8.5万到12万美元之间。这就是真实的世界,好像听起来还不错,但你作为 Azure 管理员会赚得更多钱。当我从安全领域回到系统管理员职位时,我的薪资增加了4万美元,而且我也不必处理报告、客户或计费工时。

我通过私信告诉过几个安全领域的人这些情况,有几个人认真地考虑离开安全领域,因为他们一周工作超过40小时,但挣的钱并不多。

当我还是渗透测试员时,我一周工作60至65小时。我感觉这似乎是潜规则,团队中的其他人也是这样。这就是现实。你不会 955。安全将在你的生活的每一个角落出现,当你不在项目中时,你可能还会被要求参加最新的热门课程来提升自己。

你可能还需要获得最新的 OffSec 证书,开发新颖的 AMSI 绕过技术等等,而这一切都是在工作时间之外。你有没有注意到,许多美国的安全人员在午夜后发推特?你有没有注意到,许多美国的安全人员在周六下午还在工作?

技能要求

你会用 C、C#、Python、Perl、Ruby、Nim 和 Rust 编程吗?你会用 Bash、Perl、Powershell 和 VBscript 编写脚本吗?嗯,我也不会。对于许多渗透测试公司来说,你需要掌握编程技能。他们甚至会给你一个编程题目(可能是两个)。

渗透测试真的需要编程技能吗?这有点取决于现场情况。你应该了解编程的基础知识,特别是 C# 和 C 中的 WinAPIs。你会被期望分析一个漏洞并在必要时重写它吗?是的,你会被期望这么做。无论漏洞是用什么编程语言编写的。

渗透测试员被期望精通从 .Net 编程到 Cisco 交换机配置,再到 Java 反序列化的一切。你知道哪些 BitLocker 绕过技术?你设置过流氓 AP 吗?你知道如何为钓鱼邮件设置 DMARC 和 SPF 吗?

讲一个趣事,你设置过进行战争拨号的基础设施吗?这是我曾被分配的一个实际任务。如果你不知道那是什么,查一查。这是他们在80年代做的事情,而我在2021年被要求去做。

这些只是技术技能。当谈到软技能时,还有很多东西将被期望你掌握。当你试图向 CISO 解释你的 implant 被检测到并引起冲突是预期行为时,你如何保持沉默?

当涉及到技能时,你将被期望要么熟记于心,要么能在大约30分钟内学会。快!运行 secretsdump.py 的语法是什么?

客户的项目

这里有些事情是在你进入安全行业时没人会告诉你的。那些你在 OffSec 实验室学到的酷东西,或者你自己做过的东西,你可能实际上无法去用到它们。

和 Powershell 攻击说再见吧。我当渗透测试员时,它们是不允许使用的。为什么?因为它们“可能”会被检测到。我做的那整套基于 PowerSploit 的训练?不得不另找方法。

还有一个例子,你有个很棒的植入程序?以为你能在目标上丢个 EXE 文件?再想想吧。我当渗透测试员时,不能在目标上丢任何东西。为什么?因为我“可能”会忘记它们,而且它们“可能”会被检测到。

那个 BYVOD AV 杀手呢?哈哈,好吧。你真以为你的经理会让你在客户目标上关闭防病毒软件吗?不可能的。我曾经修改了一个注册表键,打开 RDP 以便横向移动到一个 SQL 服务器,结果大家都崩溃了。

显然,真正的 APT 攻击者可能会使用一些策略,这些策略对客户环境具有破坏性,所以在模拟对手和实际对手行动之间的界限会根据你的 TTPs 而变化。

在某些情况下,修改计划任务的参数以获得远程代码执行是可以接受的。而在其他情况下,你可能会真的破坏某些东西。

比如,有些公司会对分段的客户网络进行模拟勒索软件攻击。但如果你在生产环境中进行渗透测试,就要非常小心你所做的改变。

我的意思是,你不能在客户网络上随心所欲。很多进入渗透测试的人不理解这一点,认为他们在 CRTO 考试中所做的那些操作就能行得通。实际上,你所在的公司会有很多限制,比你想象的要严格得多。

关于EDR

另一个人们没有考虑到的是EDR。EDR、SIEM 还是什么无所谓,不管你怎么称呼它们,这些东西正在客户网络中变得越来越普遍。

由于AI的发展,基于行为的检测将在未来十年内占据主导地位。绕过这些防御变得越来越难。总会有办法突破吗?当然会有,但无论业界是否愿意承认,很多公司在操作人员找不到新的攻击路径后,会开始放弃年度或季度的渗透测试。

想象一下,你花了4万美元请一家公司进行红队演练,结果却被告知操作人员无法跳出他们最初的入口(由客户提供)。CISO是高管,他们希望看到价值。而一个4万美元的 Nessus 扫描并不能提供太多价值。事实上,被告知操作人员无法跳出入口,反而更是一个放弃渗透测试的理由。

这也与最近行业内的裁员有关。你认为我错了吗?没关系,或许我确实错了。这只是我的个人看法吧。

I Get It

听我说,我明白的大家都想靠攻防技术赚钱。问题是,黑客业务与OffSec Proving Grounds或HackTheBox的认证网络截然不同。

如果黑客是你的梦想,那就去追求吧!但要做好准备,迎接所需的努力。我并不是想打击初级甚至中级的渗透测试人员。但是,如果我早知道现实中的黑客工作是怎样的,可能我会继续做系统管理员,并考取RedHat认证工程师证书(已经在努力了五年!)。

如果你对web应用感兴趣,漏洞赏金正在变得极其竞争激烈,但你仍然是自己的老板,很多人专攻2-3种攻击(如XSS、注入等)。

说到这里,我就此打住了!去客户网络上丢个EXE文件吧!

附:原文链接

https://assume-breach.medium.com/im-not-a-pentester-and-you-might-not-want-to-be-one-either-8b5701808dfc

LICENSED UNDER CC BY-NC-SA 4.0
Comment