红队操作安全(Red Team OPSEC)浅析

admin 2023年10月14日02:08:29评论61 views字数 6077阅读20分15秒阅读模式

红队操作安全(Red Team OPSEC)浅析

一、什么是OPSEC?

操作安全(OPSEC-Operations Security)是美国军方创造的一个术语。在网络安全领域,“OPSEC是一个系统化的过程,旨在将威胁防护措施前置,更早识别和保护敏感关键信息,从而执行措施来减少或消除对对方有利的关键信息。”

“Operations security (OPSEC) is a process that identifies critical information to determine if friendly actions can be observed by enemy intelligence, determines if information obtained by adversaries could be interpreted to be useful to them, and then executes selected measures that eliminate or reduce adversary exploitation of friendly critical information

——Wikipedia

本文将从红队、蓝队两种视角出发,以帮助更好理解OPSEC。首先,让我们初步了解一下红队(Red Team)和蓝队(Blue Team)的概念。

•红队(Red Team):在攻防演练中,红队模仿可能对目标公司或组织造成威胁的现实世界的网络攻击,是执行攻击操作的一方,也称攻击方。

•蓝队(Blue Team):在攻防演练中,蓝队通常属于目标组织安全团队,聚焦于评估网络安全并识别任何可能的漏洞,是执行防守操作的一方,也称防守方。

对于经验丰富的蓝队来说,红队仅使用net.exe或powershell.exe等合法工具,也可能导致整个操作被发现。从蓝队视角出发,OPSEC主要包括五个关键步骤:识别关键信息(Identify Critical Information)、分析威胁(Analyse Threats)、定位漏洞(Analyse Vulnerabilities)、评估风险(Assess Risks)以及采取适当对策(Apply Appropriate Countermeasures)。

二、理解OPSEC的五个关键步骤

1. 识别关键信息(Identify Critical Information)

从红队视角出发,OPSEC关键信息就是那些一旦被蓝队获得,就将阻碍或降低红队完成任务的可能性的任何信息,类别包括但不限于能力(Capabilities)、活动(Activities)、局限(Limitations)和目的(Intentions)等。

一些关键信息示例:

•红队所使用的操作系统、云托管服务提供商或C2框架。

•红队所使用的公有IP地址、注册域名或托管网站。

2. 分析威胁(Analyse Threats)

从蓝队视角出发,威胁分析是指识别潜在的对手以及他们的行为意图和技术能力,实际上,是为上一步所定义的关键信息列表确定潜在威胁:

•Who is the adversary?——对手是谁?

•What are the adversary’s goals?——对手的目标是什么?

•What tactics, techniques, and procedures does the adversary use?——对手所使用的TTPs(战术、技术和程序)是什么?

•What critical information has the adversary obtained, if any?——对手已经获得了哪些关键信息(如果有的话)?

从红队视角出发,任何有意图和能力采取行动阻止我们完成攻击操作的蓝队及其行动都属于威胁的范畴:

•threat = adversary + intent + capability——威胁=对手+意图+能力

也就是说,一个没有明确行为意图或技术能力的蓝队不会对红队行动构成任何威胁。

3. 定位漏洞(Analyse Vulnerabilities)

从红队视角出发,在识别关键信息和分析威胁之后,即可进行漏洞分析。这里的漏洞,并不一定是指网络安全领域的软硬件漏洞,而是指OPSEC漏洞。当蓝队可以获得关键信息、分析调查结果、对红队行动构成任何威胁时,就代表存在OPSEC漏洞。

一些漏洞示例:

•红队使用同一公有IP地址执行不同攻击,例如,使用Nmap扫描目标网络、使用Metasploit框架进行漏洞利用、托管钓鱼网站页面等。

•红队实施社工时泄露敏感信息,例如,在社交媒体上发布消息的同时,透露了红队客户的相关信息。

4. 评估风险(Assess Risks)

NIST将风险评估定义为“识别信息系统运行时对组织运作(包括任务、职能、形象、声誉)、组织资产、个人、其他组织和国家所造成的风险的过程”。OPSEC风险评估需要提前分析事件发生的可能性以及发生该事件的预期成本。

从红队视角出发,我们对“红队使用同一公有IP地址执行不同攻击”这一行动中的潜在风险进行评估。目标组织可能部署了安全信息与事件管理(SIEM)系统,该系统提供了高级威胁检测和安全性自动化功能,如果蓝队使用了SIEM系统,将有极大可能将“使用Nmap扫描目标网络、使用Metasploit框架进行漏洞利用、托管钓鱼网站页面”三个安全事件关联起来。在这种情况下,“红队使用同一公有IP地址执行不同攻击”的风险级别将是高风险。

5. 采取适当对策(Apply Appropriate Countermeasures)

从红队视角出发,一旦确定了风险级别,就可以采取适当对策并调整方案,以降低信息暴露风险。应对措施旨在防止对手发现关键信息,这些措施包括向对手提供虚假的关键信息或技术指标,或直接拒绝对手访问系统和收集信息。采取应对措施时需要考虑以下三个因素:

•采取的应对措施是否能够有效降低风险。

•采取的应对措施是否有可能会向对手泄露信息。

•应对措施的消耗成本与被利用的OPSEC漏洞所造成的影响是否匹配。

同样,以“红队使用同一公有IP地址执行不同攻击”为例,采取的应对措施很明确,红队只需要为每个攻击行为分配不同的IP即可。这样,即使其中一个攻击行为被蓝队检测并阻断,其他攻击行为也可以不受影响继续进行。

三、为什么OPSEC对红队很重要?

从蓝队视角出发,可以通过系统日志、服务日志、第三方威胁情报等方式获取可疑行为相关信息,并对以上来源信息展开研判。如果红队留下的点位足够多,那么蓝队就可以成功将这些点位串联起来,识别红队所使用的工具和基础设施,在攻击行为发生之前就进行阻断。对红队来说,如果被溯源/被封禁,无疑是非常令人沮丧的。因此,OPSEC是红队需要考虑的重要因素。

作为红队,在行动时通常应该做到“不被发现、不引起注意、不留下痕迹”,相应地,需要“了解攻击工具、了解关键步骤、了解蓝队对手”。从技术层面出发,可以思考以下问题:

•你的工具是否依赖于其他二进制文件(例如powershell.exe)?你可以在不执行其他二进制文件的情况下完成当前操作吗?

•你的工具是否拥有众所周知的、易被检测的签名或指纹?你可以对工具进行配置/修改/混淆/加密操作吗?

•你真的需要使用指定工具完成目标操作吗,比如,真的需要使用 Mimikatz 来转储 LSASS 吗?

•你真的需要执行命令/强制当前用户下线吗?

•你真的需要在内网进行端口扫描/漏洞利用吗?

基于对以上问题的思考,我们从红队视角出发,对红队OPSEC标准操作流程进行介绍,从而理解如何实现OPSEC。

四、红队OPSEC标准操作流程

1. 部署操作环境

红队基于OPSEC最佳实践部署操作环境。操作系统应该是一个干净的环境,没有其他用户留下的痕迹。构建和配置操作系统时,建议保留一份 Checklist,随着知识积累而不断更新配置。

操作环境一般分为攻击虚拟机和测试虚拟机,安装Linux或Windows操作系统。所有的虚拟机都需要修改hostname、本地用户名、设置强密码(而不是使用kali/kali这样的弱密码)。此外,Windows攻击虚拟机需要禁用防病毒软件、防火墙和Windows Defender等其他防护措施,Windows测试虚拟机需要设置用户名、主机名和域名,以匹配攻击目标真实信息。

示例一:修改默认的User-Agent

Web服务器可以从HTTP请求的User-Agent头中获取浏览器/客户端使用的软件版本、操作系统版本。

Chrome:

               红队操作安全(Red Team OPSEC)浅析

               

Nmap:$ nmap -p80 --script=default 127.0.0.1

红队操作安全(Red Team OPSEC)浅析

               

红队操作安全(Red Team OPSEC)浅析

               

红队应该修改默认的User-Agent,在OPSEC最佳实践中,应该为每个工具配置不同的User-Agent。

对于Chrome等Web浏览器,可以通过以下两种方式配置User-Agent:

•直接在浏览器设置中进行配置。

•使用扩展,例如User-Agent Switcher and Manager。

红队操作安全(Red Team OPSEC)浅析

               

2. 隐藏源IP地址

互联网上有很多威胁分析与情报分享服务,对可疑IP、域名进行监控,及时掌握其最新情报、关联样本、报告、相关URL等关联信息变化,便于追踪黑客攻击事件。那么,什么情况下会导致红队IP变得“可疑”?首先我们分析以下两个红队场景,思考蓝队会采取什么措施。

场景一:

•红队从IP地址A对目标基础设施发起端口扫描。

•蓝队监测到从IP地址A发起的端口扫描行为。

•几天后,红队从相同IP地址A向目标组织发送了一封钓鱼邮件。

蓝队会采取什么措施?

•阻断来自可疑IP地址A的所有流量和发送的电子邮件。

•排查与可疑IP地址A相关的所有行为。

•对钓鱼邮件进行分析,收集红队的相关情报,例如C2框架、钓鱼页面、域名等。

场景二:

•目标组织在北京和上海均设有分支机构。

•红队发现泄露的登录凭据,从广州的IP地址访问公司VPN。

•蓝队收到了来自陌生地理位置(广州)的远程登录告警。

蓝队会采取什么措施?

•联系登录凭据被窃取的用户,确认该用户是否在广州。

•更改该用户登录凭据,强制关闭所有登录会话。

•红队失去访问权限。

从以上两个场景中,可以得出一些关于OPSEC的指导:

•切勿将同一IP地址用于两项或N项攻击行为,避免蓝队溯源并将攻击行为关联起来。

•使用与用户相同区域的IP地址登陆,规避常见的异地登陆告警。

•…

那么,如何隐藏源IP地址?

•付费服务

•移动热点

•Wifi

•VPN

•云服务提供商

•TOR

•…

另外需要注意的是,确保VPN在连接失败时的安全性。如果VPN连接意外断开了,后续可能暴露红队真实IP地址。使用自定义脚本降低暴露风险,一旦VPN连接失败,立即断开所有连接。

openvpn --script-security 2 --down vpn-down.sh --config

红队操作安全(Red Team OPSEC)浅析

               

3. 排查第三方服务

评估第三方服务带来的风险,例如,域名注册信息等是否存在信息泄露风险、在多个项目中使用统一账户是否有可能关联红队或其客户信息、证书透明度日志是否存在数据泄露风险等。

示例二:启用域名隐私保护(Private Registration / WHOIS Privacy**)**

在注册时启用域名隐私保护。域名隐私保护,指域名持有者可以通过自主设置保护域名注册人、电话、邮箱等信息不被公开,减少垃圾邮件、短信以及防止个人真实信息被窃取等。设置开启域名隐私保护服务,可以使域名的所有者信息在WHOIS中被替换隐藏,而实际的所有者不变。

阿里云、腾讯云等主流云厂商均支持在管理控制台开启或取消域名隐私保护。

除了启用域名隐私保护外,与隐藏源IP地址的思路相同,每个域仅对应一项攻击行为,例如:

•域A发送钓鱼邮件

•域B提供Payload

•域C接收C2回调

4. 测试Payload

在攻击虚拟机中执行攻击Payload确保其有效性。测试并执行攻击Payload是否能绕过防护软件的步骤如下:

•配置测试虚拟机,使其域/主机名/用户名与目标组织环境相匹配。

•在测试虚拟机上安装并更新目标组织所使用的防护软件。

•断开测试虚拟机与互联网之间的连接,拍摄快照。

•执行攻击Payload,以确认是否成功绕过防护软件。

•将测试虚拟机恢复快照,连接到互联网,执行最终测试。

随着攻击技术的不断演变,传统的文件上传Webshell或以文件形式驻留的后门越来越容易被检测到,因此,红队更多地使用各种不落地的内存Shell。

5. 配置网络服务

应避免将不需要的服务暴露在互联网上,并通过SSH端口转发访问服务。对于Web端工具,修改端口默认配置,使用重定向将访问分散到多个CSP中:

•将重定向IP地址加入服务器白名单,阻断所有其他IP地址的访问。

•通过常见的Web服务(Apache、Nginx)将 HTTP/S 流量重定向到服务器。

示例三:Cobalt Strike Team Server**实践**

Cobalt Strike Team Server允许多个攻击者同时连接团队服务器,以共享攻击资源、目标信息和Sessions。红队应对默认配置进行修改,以确保所使用的工具是安全可靠的。Cobalt Strike默认配置如下:

•Cobalt Strike Team Server默认端口为TCP 50050。

•Cobalt Strike 自带的DNS服务器会响应IP 0.0.0.0的请求。

•Web根节点响应“404 Not Found”,无内容,Content-Type为text/plain。

•Cobalt Strike可以被TLS握手指纹(JA3/JA3S)识别。

此外,在整个操作流程中,红队需要保证使用的传输信道也是安全可靠的。

6. 测试新工具

在对新工具进行测试前需要进行全面审查,从阅读工具源代码开始,理解配置参数,在虚拟机中试运行工具并抓取流量,对生成的流量进行进一步分析。例如,使用Wireshark捕获数据包,通过Burpsuite拦截流量等。审查新工具的目的也十分明确:

•确认该工具不会对使用者造成威胁。

•确认该工具在蓝队视角是可信的。

•确认该工具造成的攻击行为在目标组织视角是合理的。

五、总结

在攻防演练中,红队通过全场景、多层次的模拟,以攻促防、以战代练,评估企业面对真实攻击时的防御水平,帮助企业在寻找风险、定位风险、解决风险的循环中,完善对抗高级持续性威胁的防御体系。核心攻击流程如下:

红队操作安全(Red Team OPSEC)浅析

             

将OPSEC的思路带入整个核心攻击流程,可以注意到,各个阶段均有改进空间:

•基础信息收集:使用无痕模式、隔离环境,避免泄露敏感信息。

•初始入侵:使用内存Webshell,文件不落地。配置好C2、域前置,采取加密/混淆操作,保证传输信道安全可靠。

•内网信息收集:尽可能模拟用户正常操作,翻阅系统日志、备份文件、密码本、网络架构图等。

•横向移动:避免大面积扫描,优先寻找堡垒机、运维机、代码仓库等重要系统或基础设施。

•维持权限:尽可能使用较小动作进行操作,不执行命令、不干扰用户,避免异常行为,及时清除痕迹。

原文始发于微信公众号(黑伞安全):红队操作安全(Red Team OPSEC)浅析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月14日02:08:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队操作安全(Red Team OPSEC)浅析https://cn-sec.com/archives/2099753.html

发表评论

匿名网友 填写信息