我的三年红队生涯总结
在公司的某天有幸帮助公司的一级部门去给某学院的学生分享了一堂课,主要是关于自学安全的话题。开始的时候分享了我的一些学习经历,我发现总结不出来如何培养自己的自学能力,因为第一个大前提:我做的是我热爱的事情,在年龄很小的时候就找到了自己喜欢的事情,为此愿意花大量的时间去探索技术,不断的学习。从大部分普通应届生的角度来看找工作这件事,他们的选择往往很少,找到一个相对好的工作取决于自身在后天的积累是否能与社会某个职业的需要挂钩,但好像大多数学校的学生反馈的是专业知识都与职场应用有一定偏差,这就导致就业难,人生第一大门槛:“我该去往何方?”我对兴趣的理解是:“兴趣是人生不可或缺的调味剂,一定程度能够影响半生的幸福。”一个好的兴趣是针对事物抱有无尽求知欲的,并且具备隐性的持续性,在探索的过程中、过程后,一定是情绪高涨,快乐的。我很庆幸,在年纪很小的时候拥有了兴趣,在不断探索求知的过程中,我不断收获成就感,洗涤内心的卑微,使得一个少年变得逐渐强大。兴趣让我有了更多的选择,我的兴趣不只是安全领域,更深层次的总结可以说是对计算机网络相关的东西都感兴趣,它能使我化身成为程序员、网络工程师、产品经理、渗透测试人员等等。有许多次我都感慨,这是一个幸福的时代。以上摘自:我的博客文章-《这是一个充满挑战的好时代》
接触网络安全行业已经有9年的时间,准确说计算机网络相关的技术是9年时间,起初在2013、2014年的时候并没有想过自己所学的技术或本领能发展成一个有体系的工作。在这个过程中,我的职业之路已经有5个年头,不论是在工作的时候或在上学的时候,都有经常做技术分享(文字、演讲)形式的输出,技术不断再提升、认知在不断扩展、学习的方法论在慢慢形成。随着时间的推移自己的年龄也在增长,对于兴趣这个词的认识也越来越深刻。我认为兴趣始终是一个自我驱动力的一个重要来源,从好奇某个技术到了解认识再到掌握,整个过程需要源源不断的坚持和自我激励。不知道是在哪一年,我在网上读到一句话我很喜欢,于是把它当作个性签名用到了现在,内容是这样:“执着于理想,纯粹于当下。”国内的红队职业人群最早大部分是从掌握渗透测试技术的人员转型的一个发展通道,红队对于这些人群去做红队来说既能保持自己对技术的兴趣还能时常通过自己的知识成果获得大量正反馈,让自己无限接近一个真正意义上的“黑客”。我想很多人都有一个黑客梦,这条路是一个甘愿承受寂寞,能十年磨一剑的理想之路。互联网人往往都是喜欢求变的,对比社会上所有的行业,我们这帮人走的捷径太多了、知道捷径的机会也太多了,所以更害怕自己走错路、走弯路。当自己使用技术解决了很多问题以后,这种思维惯性就越来越明显,网络安全行业经过这几年的迅速发展,我们都是获利者,总认为还有一个最优解自己还没有找到。近几年接触管理工作以后,经常遇到兴趣和工作不能两全的境地,而兴趣又好像变成了一个奢侈品,在长大的这几年,忽然发现时间和精力、现实生活都需要得到平衡,总在工作和生活中的需要与被需要之间平衡。在这种平衡之间,我愈发觉得兴趣不能消失,在这三年的阶段里我的兴趣和红队工作是一种双螺旋结构的相互依存且稳定的关系,自己对热爱的执着也不能放下,它都是我人生中宝贵的奢侈品,兴趣我可以坚持追求一辈子,即便是追求或享受兴趣的形式改变了依旧要坚持下去。
我对于红队的认识概括:红队是一群道德黑客组成的团体,主要目的是为了仿真网络空间中的攻击者所使用的技术来发现组织的安全问题。我工作中接触的很多朋友、客户、同事对于红队都不太了解,或者说与我认识的红队有一些差异,这里我想通过我三年建设红队和做红队的角度进行一个诠释。
为什么我说红队是一个特殊的团队,其实主要在于工作方式,而工作方式又受到环境因素的影响,宏观上近五年内由于行业对于网络安全人才的缺口激增、社会数字化转型加速,其实到今天红队体系建设还是在萌芽期,网络安全行业也是还在一个初步发展期。通过实战攻防演练的形式推动安全建设工作是起到了明显作用,这也意味着红队面临的挑战除了攻防演练的数量增加还有就是自身的能力要兼容不同安全建设水平的场景还要发挥明显作用。
微观上在这个环境因素下导致很多红队会怀疑自己是否还能继续做红队,其次就是发现自己所掌握的知识点面对工作的需求宛如冰山一角,因为大多数人都适应不了这个节奏,于是有人开始退出红队战场转型做防御生态相关的工作。除了精神上的考验还有体力上的考验,红队也像互联网行业一样有中年危机,面对防御水平高的目标时经常会深夜打闪电战,钻研技术时也都喜欢熬夜写代码等等,是因为晚上夜深人静,内心归于平静,大脑活动活跃,创作冲动或创造能力更加敏锐,年龄大一些的身体上可能就吃不消了。
还有性格方面,大多数红队性格都比较不善表达,大白话说就是容易一根筋,但这群人最难管理也最简单。之前在公司有人问我,你们红队到底谁技术最厉害?我回答:红队没有最厉害的,只有最适合的。没有哪个黑客可以达到全能,仅仅是能接近于全能,就像光速和“最快”还是有很大差距的,而这个差距是未知的,每个人都有擅长的领域,要看解决问题的场景而定。
再说回做攻击和做防御到底哪个难,我是觉得做攻击和做防御都难,这句好像是一句废话文学。我没有在甲方工作过,这里就写一写我在乙方红队工作中对于这个问题的一些感受。在实战攻防演练中,这两年0day漏洞攻击和社工/钓鱼的手段使用的越来越多,一方面是因为客户的安全建设开始有投入,暴露面得到收拢,不容易发现进入内网的漏洞,另外一方面是很多时候客户的需求会限定一些攻击手段或者限定攻击的范围。这里我还是搬出我对红队的理解,红队主要目的是为了仿真网络空间中的攻击者所使用的技术来发现组织的安全问题,那么在这些限定的条件下(时间、范围、攻击手段),必然不能仿真全部技术,所以项目的结果无法达到客户的预期,红队也很难出成果。在限定条件下想要获得全面的结果是不现实的,这是一个认知冲突。其实生活中的矛盾也都像这个问题一样有互通性。这里也抛出一个问题来解释,为什么很多红队宁更愿意做内网渗透?因为现在很多甲方的终端和内网的安全建设水平做的还不如边界资产的安全,红队可以发现很多安全问题、仿真许多攻击技术,得到更多的正反馈。
做红队的好处其实有很多,由于环境因素,我仅是通过互联网了解国内的红队和国外的红队有一些差异,国外的红队可能更聚焦于企业安全视角的对抗,国内的红队既聚焦于实战演练又聚焦于企业红队。大量的红队选手既要进行攻防演练赛事的支撑,还要做企业红队,在我看来各有各的好处,攻防演练能将红队技术的运用更加发散,可以接触不同防御水平的场景,在发现安全问题的同时对红队的技术能力得到全面锻炼,而且还有监管单位背书。在做企业红队的时候节奏就不像攻防演练那样需要短时间内出成果,PK的火药味没有那么浓烈,反而遇到的有趣问题比较多。
记得某次在客户现场做企业红队的时候,运用到了一个通过任务计划下发程序,弹出诱导用户输入明文凭据然后将凭据回传,而这个程序没有现成的,就临时写了一个MFC窗口。这种场景运用到的技术在需要快速出成果的监管部门举办的攻防演练中一般不会用到,主要是时间比较紧凑,红队人员精力有限,不会在一个目标上花费太多精力。
总体来看,红队可以接触许多场景,能力可以发散成长,可以工作中找到自己感兴趣的方向。除了实战锻炼,红队还需要研究各种BYPASS技巧,使得技术手段可以绕过防御的检测和拦截,这对于掌握安全研究技能是一个很好的切入点。在2021年的总结我写道:“做安全研究工作非常需要知识的提炼能力,这一点至关重要,如今的计算机高速发展、硬件软件架构依赖性错综复杂,要解决问题需要在研究的过程中过滤很多的重点知识,比较考验计算机网络的基础知识,能做好基础知识的归纳总结,并且还能够做好布道者这一角色,尤为重要。大部分非科班出身且没有接受完整应试教育的人,都不会去搞枯燥的研究,宁愿做一个一直以经验增长为核心能力的人。说了那么多,其实我想表达的是要时刻对自己的工作有要求、有目标,对于团队的成员,我鼓励每一个人去做自我驱动的事情,热情也好、兴趣也好、爱好也好,这便是一种幸福。有时候我会思考做安全研究到底需不需要天赋,用什么标准衡量有天赋还是没天赋?研究这个问题前,我认为应该先给安全研究做一个鲜明的定义。首先,研究工作的成果影响力是巨大的,影响力又同样取决于研究问题的微观程度,这个微观程度的小指的是我们人类对研究对象认知的深度。例如宇宙的形成、万有引力、生物遗传等等,而计算机要解决的问题是如何更高效的计算,安全研究仅是从多个维度上(人、资产、流程)上发现安全问题、快速发现安全问题、解决安全问题、快速解决安全问题、根除安全问题。红队安全研究,大部分仅涉及发现安全问题、快速发现安全问题。因此,安全研究的定义随之而来,为了发现或解决安全问题而去做的研究工作。那么,搞安全研究真的需要天赋么?我觉得天赋其实不太重要,从人类基数上来看天才是永远占少数的,尽管很多人都想着自己能成为天才、或者他自己本身就是天才,我想我最大可能(100%)就是最平凡的大多数,这个问题就不那么重要了(逻辑鬼才)。“
关于BYPASS的安全研究和漏洞挖掘工作都需要一个真实的环境,红队会使用很多虚拟化软件承载自己的实验平台,但无法直接模拟整个企业的防御环境进行对抗,尤其是网络流量的防御能力不能很好的模拟,所以大多数红队都会关注终端安全方向。在研究或者挖掘漏洞的过程中,红队会需要编程技能辅助自己进行自动化以提升效率,大部分红队都会掌握一门或多门短平快的脚本语言、编译型语言。这些杂项技能让红队看起来是全能型的,也会营造出一个全能黑客的假象。在红队工作中不断的解决问题,会让自己形成主动学习、主动研究的习惯,这种习惯是后天磨砺出来的,终身受用。
这里要展开说两方面,一方面是针对红队雇主内部的价值,一方面是客户的价值。
对雇主内部的价值,主要能够体现在帮助企业获得影响力、发现的诸多安全问题来促进商机、产品能力提升、直接业绩。在我经历的三年红队生涯中,红队产生的直接业绩是微乎其微的,反而走影响力的这个路线走的很好。影响力、品牌、商机,这些都是隐性价值,其他人(大部分业绩部门)无法直观感受到红队的重要性,红队不参与商务的大部分流程,所以红队对数字的敏感度不如业务属性部门。如果直接考核红队的直接业绩,那么影响力的效果可能不会那么理想。
再说道产品能力提升,很多厂商的产品部门多少都会遇到自己的产品无法发挥拳头作用,缺少有经验的人参与实战打磨,这个时候就需要红队将自己所掌握的技术赋能到产品,提升产品的能力和防护策略的有效性。经历了这两年的疫情对经济的打击,安全行业市场发展走低,但红队人员的成本是在持续走高的,这时候一个冲突结点随之出现……
红队对客户的价值,红队可以仿真网络空间中的攻击者所使用的技术来发现客户的安全问题,对于有想对企业整体安全评估需求的客户,可以选择红队进行服务。这里整体指的是最大范围的整体,凡是可以影响到安全问题的所有实体,包括但不限于:系统、网络、人员、流程制度等等。
最初我在设计评估方案的时候,理想的评估周期是半个月或一个月,后来攻防演练的频繁出镜,客户更容易接受多家PK竞争的模式,这种模式利好买家,评估周期就会变成一周或者最长一周半,假设还是金融行业的银行客户,这对于红队想要发现严重级别的安全问题要求就更高了。
任何一份工作都是阶段性的,这五年的工作经历中,面对不同的同事都有聊到过一个话题:“你的三年/五年规划是什么?”第一份和第二份工作我对三年五载的规划都没有太明显的感受,起初我毫无方向,就像天空中漂浮的蒲公英,随风而去、随遇而安的样子,在飘荡的日子里也曾做过很多冲动的抉择,为什么我要用冲动这个词,冲动代表了是过去的自己做出了在那个时段正确的决定。在毫无方向的时候,冲动不是一个坏处,反而要犯错改错才能成长。倘若是经常否定自己做错了、选错了,那好像也很难再进步。
人生都有一个核心的问题:“我从哪里来,我要到哪里去。”我理解这句话的意思应该是我为何来到世间,我要到世间哪个地方去。工作了第5个年头我终于理解三年五载的规划代表了什么含义,是想让自己能有一个清晰的目标去奋斗、去改变,即便是自己的认知每天都在提升,也要做一做规划,写一写想法。时至今日,我认为当初决定做红队的选择依然正确。
2019的部分总结:我非常热爱技术,什么都想会一点,至今为止都觉得全能高手是存在的,也不会浮躁,只优先选择自己热爱的,这点是有些固执的,时常沉浸其中、乐在其中,做技术带给我的反馈有很多,它不断的印证一就是一,不管如何都不会变成二。其次,不断印证类似于成功学中的大道理,努力就有收获之类的话题。技术是我的爱好,而我的工作建设在爱好之上,这对于许多人来说是多么幸福的一件事啊。但有一天我开始怀疑,因为我从一个前辈身上感受到,他除了有和我相同类似的工作的同时,还拥有一个更热爱的爱好,我觉得这是对幸福的一种加持。我开始觉得工作与爱好的融合会让爱好变得浑浊,不那么纯粹。工作是有棱角的,而爱好是没有棱角的。这样的情况普遍也很多,这倒也还算过得去。
2020年的部分总结:从2020年X月起初到2020年X月份,实验室成员目前达到X人,现有工作需求的技术都慢慢开始饱和。从年初刚开始的X人发展到X人,期间遇到项目上、管理上的许多问题,问题的最初在我自身,在明确方向的工作上和需要执行的工作上没有平衡,欠缺思考的时间。通过逐步的现象总结,能够解决一部分问题,强调了关于部门价值观、绩效考核、工作效率等等问题,但这种方式不能够持续解决已经遇到过的问题,于是开始落地标准化来形成管理工具,我发现我的日常思考的结果是存在某些管理框架内的,是有特定的方法的,这对于我自身是很大的提升。
个人技能:从去年到现在一直在推荐落地Demo这块工作,我发现内部已经形成感染力,对于一些研究、实战的需求有了更多的思考。从技术成长的角度来看,需要发展成为“T”字型人才,这样才能应对更多的考验,自身擅长的方向有一定沉淀,以“专精之余而触类旁通”来规划自己一个阶段的学习方向,管理好精力与时间是我有待练习和加强的。
2021年的部分总结:每一个企业都有战略资源部门,我理解的战略资源部门是这个部门的能力具备稀缺性的,复制需要巨大成本,如果利用得当,会产生巨大增益,反之当战略资源投入的衡量方式有问题就会产生战略资源部门管理上的压力,我所处于的就是一个战略资源部门,我长期以来遇到最大的问题就是关于战略价值的衡量,哪种类型的项目需要投入多少资源可能是项目管理上屡见不鲜的问题,对于PM来说,解决这种问题一定是有现成的公式或者工具,但作为一个Leader,考虑的因素就要多很多了,尤其是团队平均年龄比较年轻的,要为大家争取最大的利益,而且这种利益还可能是一种不可见的长远利益,你不能奢求大多数人可以理解,多数的牺牲是看不见的。我解决这个问题的办法是不断的跨部门沟通,项目分级定义,投入产出对赌,跨部门的效果达到预期以后,我的成就感油然而生,即使在解决的过程中因为自己并不擅长,多次想过要逃避、斗争,但都坚持了下来,因为比起自己看不起自己,更怕的是无法回应太多人的期待。解决完成后,我就开始思考如何让团队的定位和目标更明确,让大家做的事儿更有边界,更贴合自身预期。于是在近年末的期间,让大家开始定制规划2022年的目标,将更多的力量投入到中台建设工作上来,这可能是对大家也是一个不小的挑战,尤其在思维上、技术上,相信大家一定可以。
这里简单晒一下我在今年离职前做职级晋升准备上报的近两年重点工作成果(日常交付项目除外):
一、业绩成果:
2021年大型攻防演练现场牵头,作为现场队长将传递有效信息到后端,现场编写技战法与报告整理,且代表公司获得HW BP讲师称号及证书
2022年大型攻防演练总牵头,前期预算申报、人员分组、方案制定、质量把控,带领团队拉通各部门进行红队工作
二、机制建设:
业绩承诺机制管理规定发布,明确了XX中心与XX中心内部,在红队资源申请及业绩承诺机制之间的基本原则,用于规范红队支撑,最大限度优化、聚焦红队资源,使之发挥最优的价值。指导红队支撑工作中产生的各类费用核算方法,XX中心、XX中心、XX部、XX部应按照本规定落实相关的核算工作,并逐步推进财务核算精细化管理。
持续推进红队中台能力建设,XX实验室红队平台的功能评审、需求反馈、漏洞和工具与XX实验室KPI绑定,辅助XX实验室持续迭代平台,至今已初步发挥价值,有用户且有业绩
公司红队梯队建设,在X总的建议下,与其他同事制定了XX中心红队的梯队建设模式、红队激励覆盖范围等机制
红队漏洞储备机制建设,设定XX实验室漏洞挖掘KPI,明确产出,并且提供到XX实验室漏洞平台,建立0day漏洞申请机制
三、影响力
对外:编写红队彩虹书增加公司对外影响力,2021年编写红队彩虹书成功发布、2022年年初负责牵头编写红队彩虹书,跟进修订、修改,最终成功上市发布 对内:任职资格标准修订,作为标准修订组长角色对2021年的任职资格标准重新修订,为红队方向发展人员提供晋升参考
这三年不仅具备了相对丰富的红队技术和业务经验,也尝试了一线的管理工作,往日与大家战斗的日子历历在目,在公司不知看过多少次日出,享受过红队那份荣耀、维护过红队那份骄傲,我的故事留在了这里,感恩那些包容过我的朋友、同事们,所有的离别都是为了更好的相遇……