小白参加红队,需要做好哪些准备?

在本文中,我们将为读者介绍要想加入红队,需要掌握哪些方面的技能。

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

护网的定义是以国家组织组织事业单位、国企单位、名企单位等开展攻防两方的网络安全演习。进攻方一个月内采取不限方式对防守方展开进攻,不管任何手段只要攻破防守方的网络并且留下标记即成功,直接冲到防守方的办公大楼,然后物理攻破也算成功。护网是国家应对网络安全问题所做的重要布局之一。

护网随着中国对网络安全的重视,涉及单位不断扩大,越来越多都加入到“护网”中,网络安全对抗演练越来越贴近实际情况,各机构对待网络安全需求也从被动构建,升级为业务保障刚需。随着大数据、物联网、云计算的快速发展,愈演愈烈的网络攻击已经成为国家安全的新挑战。护网行动是由公安机关组织的“网络安全攻防演习”,每支队伍3-5人组成,明确目标系统,不限攻击路径,获取到目标系统的权限、数据即可得分,禁止对目标实施破坏性操作,对目标系统关键区域操作需得到指挥部批准。

img

红队到底是做什么的?

在红队中,您需要仿真、模拟或以其他方式扮演某个、某组入侵者或理论上的假想敌。这些活动通常以单独的演习或练习的形式出现,其目的是训练蓝队,蓝队由负责各种防御工事的小组或个人组成。并且,这种对抗可以在任何层面上开展,从应用程序的安全性到主动防御设施,等等。

此外,红队的组织形式或类型也随不同的公司而异。例如,有的公司中,红队的部分职责是由某个人“兼任”的,除此之外,他们还要负责其他攻击性的安全任务,如渗透测试或漏洞评估等。而有些公司的红队,成员之间具有明确的分工,各司其职,以便集中精力进行安全事件的检测和响应。

无论如何,只要红队的能力与蓝队的能力能够很好地匹配即可,任何形式都不重要。

安全攻击的生命周期

首先,重要的是要了解攻击的生命周期,又称网络攻击链,或简称攻击链。这个大纲定义了入侵者完成攻击所需的所有步骤。大多数红队的业务工作都是按照这些步骤上完成的,由于这些步骤都是服务于一个特定的目标的,通常称为“有针对性的行动”。

入侵者通常根据其动机进行分类,例如通过窃取支付数据来赚钱的入侵者等等。由于攻击过程涉及的所有步骤都是围绕其动机进行的,所以,了解这些情况能够帮助蓝队组织他们的防御工事。

如果您想深入全面地了解这些步骤,又称为战术(或工具)、技术和程序,请参考MITRE ATT&CK框架。

我应该选择什么角色?

红队通常都具备了大量的技能,但是在如何将它们组织起来以便在角色中得到最大的发挥方面,现在还没有一种正确的方法可以做到这一点。不过,从逻辑上将各种活动分为不同的两组还是很有帮助的,即工程和操作。这是所有类型的技术团队普遍采用的一种策略。

简单地说:工程师构建工具,操作员部署和使用工具。

许多团队会专门为某个操作创建特定的,通常是临时的操作员角色。例如,一个成员负责发送网络钓鱼电子邮件,而另一个成员则负责攻击目标执行红队的payload时对传入的远程访问采取行动。

红队如何在一个或多个团队成员中分配这些技能完全取决于风格、能力、培训和可用人才。我们应该选择其中的几个角色来进行训练,这样加入小团队时就可以灵活变通。

我应该学习什么技能?

非常简单!选择您感兴趣的相关技能,这能让您成为更好的技术沟通者。多尝试一些,看看哪些更适合自己……

img

红队的技能选择及其与角色的相关性

攻击性思维

随着安全行业的发展,世界上所有的“管道胶带和泡泡糖”都开始浮出水面。大多数系统的设计目标,只是为了完成指定的任务。你的工作将是把这些系统拆开,并考察其黏糊糊的内部结构。

这是一种能让你克服所有困难的技巧。

示例:你必须学会用弹簧片开锁,而不是用钥匙。

技能培养:CTF、wargames或渗透测试实验都是锻炼攻击性思维的好方法,比如PicoCTF和Hack The Box。寻找在本地会议上现场演示的CTF的小组。这里真正的关键是始终质疑假设。

渗透测试

在渗透测试的旗帜下,隐藏着许多可以被归类为漏洞评估的东西,但是为了便于讨论,让我们在这里将其描述为在网络或主机上搜索已知漏洞的过程。

虽然这不是红队的只要职责,但是你还要在这个方面保持敏锐。在对抗过程中利用已知的漏洞发动进攻是培训蓝队事件响应分析人员的好方法。

示例:扫描无需身份验证的MongoDB实例以泄露有价值的数据。

技能培养:熟悉现有的自动漏洞扫描程序,如Nessus或OpenVAS。像攻击性思维一样,CTF、wargames或渗透测试实验也非常适合用于培养这一技能。

漏洞研究

没有强制性要求,但作为红队队员,如果自身具备挖掘0-day漏洞的能力的话,自然是极好的。该技能可以用于利用第三方或内部开发的应用程序中的未知漏洞。

这与渗透测试有许多重叠之处,但关键区别在于,0-day漏洞挖掘过程非常耗时,并且从检测和响应安全事件的角度来看,可能无法有效提高蓝队在这方面的应对能力。

示例:您的团队会发现某个内部应用程序存在漏洞的风险很大。在此之后,通过研究发现了一个可利用的漏洞,并编写一个概念验证工具,这样,您的团队就可以利用该工具来实现代码执行攻击了。

技能培养:关于应用程序漏洞利用的文章或书籍有很多,

红队要想成功,关键在于其软件开发能力,这一点再强调也不为过。顶级的红队几乎无法与标准应用产品团队区分开来;他们也会采用正规的开发方法,使用版本控制和发布软件,设置路线图,使用CI/CD技术,编写测试用例,等等。如果在不知情的情况下,大多数红队看上去就是开发团队。

您将发现,自己需要使用多种语言来编写代码,这具体取决于您打算使用的平台和对抗技术,此外,还必须与其他人合作编程。

这方面,最重要的是要了解最小可行产品(MVP)原则。要让代码运行起来,要编写相应的文档。如果它在将来成为了一个重要的工具,那么,可以在将来投入更多的事件来改进它。

示例:您的操作人员需要一种方法来搜索主机中的敏感文件。为了提供相应的支持,可以编写一个Python脚本,列出所有可能的私钥和电子表格。

技能培养:对于普通的编程书籍,在这方面可能需要进行相应的改进,但也有很多书专注于编程语言的攻击性使用,例如Justin Seitz编写的“ Black Hat Python: Python Programming for Hackers and Pentesters”一书。

基础设施

为了让红队发挥最大作用,最好将建立和维护C2基础设施的繁琐事宜交由其他人处理。

对于基础设施来说,可靠性和可还原性是非常重要的特性。使用基础设施自动化和配置管理工具,不仅可以实现快速迭代,同时也能节约花费在终端上的时间。

基础设施即代码应该是红队的梦想,这样一来,就不用每天都抽出一个小团队来管理整个基础设施了。

示例:您的反向代理应该被配置为抵御“好事的”分析师,并且该功能应该从存储库或容器中自动部署。

技能培养:尝试使用免费试用的AWS资源以及相应的自动化工具,如 CloudFormation和OpsWorks来建立一个基于云的网络实验室。此外,建议阅读@bluscreenofjeff撰写的Red Team Infrastructure Wiki ,了解专门红色团队进行优化的相关流程。

网络和系统

在基础设施的设计和实现过程中,一定要搞清楚主机和网络相关的所有细节——可靠性和安全性都在细节中。这一点怎么强调也不为过。

这些系统可以是公共云或私有云托管、ESXi上的虚拟机、物理或虚拟网络。它们通常会面临黑客千奇百怪的攻击,所以,我们一定要确保红队可以毫不费力地模拟攻击者的工作方式。同时,您还需要对命令行非常熟悉。

此外,熟悉这些主题也有助于您在目标环境中完成操作。

示例:获得目标主机访问权限后,第一步通常是列出正在运行的进程。

技能培养:这些技能可以通过常规方法养成,但需要多加练习,如设置反向代理、防火墙、身份验证等。此外,还可以在实验室中搭建诸如Empire之类的后续利用框架,并探索其各种功能。

逆向工程

逆向工程是分析某些对象的过程,目的是弄清楚其工作原理。

逆向分析可以用来分析在野恶意软件(这通常称为恶意软件分析),旨在掌握其功能,以及攻击者是如何使用它们的。我们可以从很多地方找到恶意软件样本进行逆向练习,但一定要倍加小心。

此外,我们还可以逆向分析来了解目标应用程序的运行方式,以便找出相应的漏洞利用代码。

示例:假设您要使用不常见的COM对象来执行代码。您需要批量分析Windows COM对象,以找到含有启动进程所需的导入函数的对象。

技能培养:您可以通过阅读Chris Eagle撰写的“The IDA Pro Book”一书,来学习如何使用IDA Pro,或者阅读@malwareunicorn撰写的Reverse Engineering Malware 101。

社会工程学

入侵者发动网络攻击时,第一步通常是发送网络钓鱼电子邮件,因此,了解人们在哪方面容易上当受骗是非常重要的。

社会工程在攻击过程中的应用非常广泛,例如佯装掉在地上的USB设备,水坑攻击等。

应用社会工程是红队实际工作中的一部分,旨在欺骗毫无戒心的用户。当然,忽悠人只是可选的一个步骤。此外,也可以跳过网络钓鱼,直接使用已有的访问权限,或故意给队员留下针对特定主机的远程访问权限,以减少操作时间。

这种测试不同于测量和训练最终用户安全意识的网络钓鱼评估。

示例:客户要求您针对公司高管创建一个令人信服的鲸钓工具,以测试其防范意识。

技能培养:检查您的垃圾邮件文件夹中的网络钓鱼样本,并掌握@HackingDave提供的Social Engineer Toolkit的使用方法。

物理安全

一些红队的工作范围甚至包括物理安全。这个测试可能非常简单,例如悄悄的进入某个场所,然后在指定的地方留下一个投递箱。这虽然是一个有趣的话题,但许多公司还没有引起足够的重视。

示例:总部大厅中的网络插孔位于内部LAN上,您需要演示针对它们的攻击。

技能培养:开锁,安全系统绕过技术,徽章破解(badge hacking)和诈骗游戏(confidence games)等,都是不错的训练方法。

威胁情报

红队需要来自多个威胁情报源的战术情报,从而为战术桶中的入侵者仿真提供丰富的素材。此外,我们还可以为工具和文档添加新的功能,以便可以搜索特定入侵者的相关资料,如博客文章等。

威胁情报还可以确定入侵者的动机,以及在称为入侵追踪( threat actor tracking)的过程中识别攻击者的行为模式。红队可以使用这些信息来设计对抗演习相关背景。

威胁情报也可以来自安全研究人员等更为温和的来源。他们的工作不仅可以预测入侵者的战术,甚至可以影响他们的行为。

示例:您知道特定的入侵者会在获得持久性访问权限时发送启用宏的恶意Office文档来利用WMI订阅,因此您可以设计POC来复现该行为。

技能培养:查看大量关于恶意软件分析和入侵者跟踪技术的相关文章和报告。

安全事件的检测和响应

蓝队将成为您的主要客户和对手。他们是安全检测和响应方面的专家。红队需要能够预测蓝队的能力,并在工作过程中充分利用这些知识。

学习公司的防御机制能够让红队成员比其他攻击性安全从业者更有价值。

示例:您知道蓝队会监视与Powershell相关的日志,因此,当您设计利用Poweshell漏洞的工具时,您可以调用版本为2的Poweshell,而不是最新版本的Poweshell。

技能培养:在您的实验室网络上搭建Security Onion,以及基于主机的监控工具,如sysmon或auditd。在实验室进行相关作业时要密切关注它们。你会慢慢发现,你也能从蓝队的角度思考问题了。此外,还可以经常阅读介绍如何有效预防和检测入侵方法的相关文章。

技术写作

清楚地描述纯技术方面问题并能兼顾广大受众的感受是一件具有挑战性的事情,但其重要性不容小觑。作为顾问,技术写作对于向客户提供有价值的报告至关重要。

老天保佑,希望你需要做的报告越少越好。

同样重要的是,为红队使用的工具和流程编写文档。这方面的信息非常多,维持态势感知的唯一方法就是编写详细的文档,并且不断更新文档。

在制定规划时,大多数团队都计划递交相关的提案,详细说明特定红队活动的风险和回报,以供管理层批准。

示例:对于您的行动提案,您需要向利益相关方保证,您可以安全和负责地完成相关活动,并给出具体的活动成果,当然,必须以书面形式给出。

技能培养:培养这种技能非常具有挑战性,我们建议学习技术写作的正式课程,例如Coursera提供的相关课程。此外,也可以撰写您擅长领域方面的问这,并请一些有经验的熟人做您的审稿人。

培训与汇报

所有上述技能都建立在实现红队教学目标的能力之上的。

您应该能够通过红队工作报告向主要蓝队利益相关者提供简短的介绍(汇报),注意陈述相关的事件链。清晰地、一致地、不带苛刻的评判地完成这件事,不仅是红队向更大的组织展示其价值的正确方式,也是与蓝队保持积极关系的正确姿势。

您还应该能够组织与红队相关的各种知识,并在个人或团体培训环境中提供这些知识。这样,不仅可以分享您对相关主题的理解,同时,听众还可以实时提问,这样,他们就不用通过观察您的工作来间接学习相关的知识。

示例:假设公司蓝队在分析Windows中的备用数据流的利用方法时遇到问题。这时,你可以将自己对ADS的了解,以及入侵者常用的战术,作成一个简短的汇报,来讲给蓝队分析师听。

技能培养:找机会向别人介绍自己熟悉的主题,例如写博客文章,或讲解给对安全感兴趣的朋友。如果您希望提高自己的公开演讲技能,我们向您推荐Toastmasters,或者在本地小型会议上发表演讲。

我应该去内部红队吗?

这取决于你想要的是什么……

外部(咨询)红队能够让您有机会向众多组织学习。而且你会发现,不同的组织对成熟度、敏捷性和接受度的要求各不相同。这是学习和了解行业状况的绝佳机会。

在外部(咨询)红队工作,所在的工作都是针对所有客户的。并且,你与客户的防御方之间的反馈循环通常是非常肤浅的,虽然无法了解客户内部的运作机制,却也远离了办公室政治和企业内讧。

内部(公司)红队特点与上面介绍的正好相反。您可以选择其中一个具有特定成熟度的公司,并且有机会深入了解公司内部的运作机制——但是,这样一来,你就难成为一名顾问。

您将体验到直接由功能齐全的业务提供资金所带来的所有复杂性,这些业务的首要任务是运营业务,而不是信息安全。你将与防御者并肩作战——事件反应者、情报分析员、安全工程师……你不仅可以利用他们的专业知识来提高你作为攻击者的技能,此外,利用这些知识,还可以帮助自己在未来打造更好的安全组织。

为此,您可能需要做出很多妥协。您将与组织中的许多其他人一起成长。您将对保护重要信息的系统产生可见的、可衡量的和负责任的影响。

结束语

对你来说,最重要的是激发对进攻性安全领域的兴趣,而各种技能对于有效的红队合作来说都非常重要,因此,无论掌握了该领域的哪些技能,绝对不缺就业机会。此外,弄清楚你希望以何种形式来影响组织也很重要。你面临的最大挑战是找到这样一家公司:设有红队,并且与您具有相同的价值观,同时愿意与你一起成长。

实际上,红队通常根据以前的进攻或(希望)防守安全经验来聘用相关人员。那如何才能脱颖而出呢?要了解防御方到底需要什么,以及他们的日常工作是什么样的。

红队的核心是挑战假设。它总是批判性地看待系统或人类,并礼貌地提出挑战:“为什么它会以这种方式运作,还可以做得更好吗?”

朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/73758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【广州华锐互动】元宇宙技术如何赋能传统工业企业?

随着科技的飞速发展,我们正处于工业革命4.0的时代,数字化、网络化和智能化正在深刻地改变着我们的生活和工作方式。在这个变革的大潮中,工业元宇宙平台应运而生,为企业带来了前所未有的机遇和挑战。 广州华锐互动开发的工业元宇宙…

咖啡店小程序:吸引顾客的创新营销手段

近日,“酱香拿铁”的大火让大家再次把目标聚焦在年轻人都喜欢的咖啡上。现在咖啡已经成为年轻一代的社交硬通货,咖啡店也遍地开花。而随着移动互联网的快速发展,咖啡店小程序已经成为了各大咖啡店主的选择,因为它提供了便捷的方式…

pytorch搭建squeezenet网络的整套工程,及其转tensorrt进行cuda加速

本来,前辈们用caffe搭建了一个squeezenet的工程,用起来也还行,但考虑到caffe的停更后续转trt应用在工程上时可能会有版本的问题所以搭建了一个pytorch版本的。 以下的环境搭建不再细说,主要就是pyorch,其余的需要什么p…

Gradle下载库速度过慢解决办法

最近搞了个Gradle的项目,项目下载依赖库太慢了,于是… Gradle下载库速度过慢的问题可能由多种原因导致,以下是一些可能的解决方案: 1、使用国内镜像站点: 你可以改变Gradle的配置,使用国内的镜像站点来下…

go开发之个人微信的开发

简要描述: 检测好友状态 请求URL: http://域名地址/checkZombie 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明…

SpringCloudAlibaba Gateway(一)简单集成

SpringCloudAlibaba Gateway(一)简单集成 随着服务模块的增加,一定会产生多个接口地址,那么客户端调用多个接口只能使用多个地址,维护多个地址是很不方便的,这个时候就需要统一服务地址。同时也可以进行统一认证鉴权的需求。那么服…

go语言基础操作---七

socket简单介绍—套接字编程 什么是Socket Socket,英文含义是【插座、插孔】,一般称之为套接字,用于描述IP地址和端口。可以实现不同程序间的数据通信。 Socket起源于Unix,而Unix基本哲学之一就是“一切皆文件”,都可…

[移动通讯]【Carrier Aggregation in LTE】【 Log analysis-2】

前言: 接 [移动通讯]【Carrier Aggregation in LTE】【 Theory Log analysis-1】 这里面 主要讲解一下日志分析 目录: 总体流程 UE Capbaility Information MeasurementReport RRC Connection Reconfiguration RRCConnectionReconfiguration…

开源药店商城系统源码比较:哪个适合你的药品电商业务

在构建药品电商业务时,选择适合的药店商城系统源码是至关重要的决策之一。开源药店商城系统源码提供了快速入门的机会,但在选择之前,您需要仔细考虑您的需求、技术要求和可扩展性。本文将比较几个流行的开源药店商城系统源码,以帮…

LSTM基础

LSTM 视频讲得非常好 https://www.bilibili.com/video/BV1644y1W7sD/?spm_id_from333.788&vd_source3b42b36e44d271f58e90f86679d77db7门的概念 过去,不过去,过去一部分 点乘,0 concatenation,pointwise LSTM RNN 上一…

C/C++之链表的建立

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.头插 1.1简介 1.2代码实现头插 …

系统报错“由于找不到msvcp140.dll无法继续执行代码”的处理方法

我在使用电脑时,突然发现了一个错误提示:“无法启动程序,因为找不到msvcp140.dll文件”。这让我非常困惑,因为我确定这个文件应该存在于我的电脑上。但是电脑依然报错“由于找不到msvcp140.dll无法继续执行代码”,这个…

vue仿企微文档给页面加水印(水印内容可自定义,超简单)

1.在src下得到utils里新建一个文件watermark.js /** 水印添加方法 */let setWatermark (str1, str2) > {let id 1.23452384164.123412415if (document.getElementById(id) ! null) {document.body.removeChild(document.getElementById(id))}let can document.createE…

如何使用PyTorch训练LLM

推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 像LangChain这样的库促进了上述端到端AI应用程序的实现。我们的教程介绍 LangChain for Data Engineering & Data Applications 概述了您可以使用 Langchain 做什么,包括 LangChain 解决的问题&#xf…

Visual Stadio使用技巧

C语言调试技巧 Debug 和 Release 的介绍 Debug:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试(可调试)。 Release:通常称为发布版本,它往往时进行了各种优化&a…

SpringMVC_执行流程

四、SpringMVC执行流程 1.SpringMVC 常用组件 DispatcherServlet:前端控制器,用于对请求和响应进行统一处理HandlerMapping:处理器映射器,根据 url/method可以去找到具体的 Handler(Controller)Handler:具体处理器(程…

【Springcloud】Actuator服务监控

【Springcloud】Actuator服务监控 【一】基本介绍【二】如何使用【三】端点分类【四】整合Admin-Ui【五】客户端配置【六】集成Nacos【七】登录认证【八】实时日志【九】动态日志【十】自定义通知 【一】基本介绍 (1)什么是服务监控 监视当前系统应用状…

【NLP的python库(02/4) 】:Spacy

一、说明 借助 Spacy,一个复杂的 NLP 库,可以使用用于各种 NLP 任务的不同训练模型。从标记化到词性标记再到实体识别,Spacy 还生成了精心设计的 Python 数据结构和强大的可视化效果。最重要的是,可以加载和微调不同的语言模型以适…

HTTP代理协议原理分析

HTTP代理协议是一种常见的网络协议,它可以在网络中传递HTTP协议的请求和响应。本文将介绍HTTP代理协议的分析和原理,包括HTTP代理的工作流程、HTTP代理的请求和响应格式、HTTP代理的优缺点等方面。 一、HTTP代理的工作流程 HTTP代理的工作流程如下&#…

通过idea实现springboot集成mybatys

概述 使用springboot 集成 mybatys后,通过http请求接口,使得通过http请求可以直接直接操作数据库; 完成后端功能框架;前端是准备上小程序,调用https的请求接口用。简单实现后端框架; 详细 springboot 集…