前言
在今年8月,SpecterOps团队在GitHub上开源了一款蓝军数据协同平台——“Nemesis”。这篇文章从Nemesis平台入手,来分析蓝军数据协同在攻防活动中占据的重要地位,以及探讨一个现代化蓝军数据协同平台应实现的目标和未来的发展形态。
01 破局者-Nemesis数据协同平台抢先分析
Nemesis构建了一个集中式的蓝军数据协同平台,将包括日志在内的攻击数据统一到一个分析流程中并提供了多人数据共享能力。本章节将对Nemesis平台的功能及架构进行快速的分析解读,并介绍在攻击数据协作与分析结合的方向带来的启发。
Nemesis提供了一个Dashboard页面来呈现和共享数据,具有多账号同时登陆的能力。
在Nemesis首页可以很明显看到当前收集和处理的数量和类型,在左侧的侧边栏中不同的条目提供了不同类型数据详细信息的浏览。大致分为文档类型、浏览器数据、DPAPI数据、密码凭据信息等,具体信息见文末附录的展示。
Nemesis平台架构分析
Nemesis是一个非常符合现代化设计的平台,充分发挥了现有云计算成熟的基础设施优势,利用微服务架构将整个平台解耦,从Nemesis的架构图可以看出各个模块之间的组织关系。
Nemesis由连接器、扩充模块以及数据分析模块等几个主要模块组成,主要流程为从连接器收集数据,经过扩充模块对数据进行解析后,送入不同的分析模块中处理。
连接器与各个数据收集端点相连,负责常规的信息收集。数据收集端点包括C2工具、浏览器等,根据不同的端点编写不同的连接器(如应用于CS的cna插件),实现数据手动或自动上传,目前项目中内置了一些常用工具的连接器。Nemesis的亮点之一就在于其通过不同的连接器,将不同来源、不同形式的数据通过结构化处理转化为统一的内部数据格式,同时保持了数据一致性。
扩充模块负责对原始来源的数据进行更深层次的信息提取。扩充模块包括多个提取组件并具备很强的扩展性,用户可以自己添加相应数据格式的提取器来增强其能力。在连接器收到数据后,Nemesis首先利用tika、yara规则和一些开源格式解析器从数据格式、文件类型方面对数据的进行分类,如浏览器存储、文档、图片、配置文件、DPAPI数据、二进制程序以及进程数据等,进而传递给不同的数据解析器来进一步处理。例如对于doc、excel等文档类型数据通过Gutenberg进行文档内容解析,对于图片类型则通过OCR等方式对图片中文本进行提取。特别的对于某些加密文件格式如加密PDF、Word文档以及压缩文件,具备云端Crack能力。可以看出Nemesis的目标是从非文本格式的数据中挖掘更多有效信息,未来可能向全格式数据类型数据挖掘方向发展。
数据分析模块负责数据分析以及提取信息结果的可视化呈现。在这个模块中,Nemesis充分利用了结构化数据的优点,使用Elasticsearch、PostgreSQL等结构化数据存储和分析工具,使其具备出色的信息搜索和复杂数据关联和分析能力。下图展示了其结构化存储的一个示例。
功能优势总结
我们可以总结Nemesis具备的能力或优点:
-
支持多收集端点的数据自动化收集;
-
支持多种格式的文件类型解析;
-
支持多种类型文件的敏感信息发现与提取;
-
结构化数据存储。
介绍完Nemesis的主要工作后,我们更需要关注于其对数据处理相关的设计思想:离线化处理、结构化处理。
离线化处理指收集数据过程中尽量保留完整原始未处理数据,再经由平台分析。数据离线处理带来一些好处:一是我们拥有对历史数据进行回溯分析的可能,尤其是在新加分析方式时;二是避免数据信息压缩,攻击方在获取大量数据时通常会对数据信息进行人为抽取,这个过程中存在信息丢失的可能,而使用原始数据则将信息抽取放在自动化流程中,最大可能避免数据信息丢失。
结构化处理指处理过程中使用内部数据结构来进行归一化处理。我们可能从后渗透阶段工具、人工提交等来源获取数据,通过将其处理为统一的形式,在持续对某个目标收集数据后,可以建立起跨越时间、范围的数据连接,提供非常强大的关联性分析能力,例如Chrome文件与DPAPI数据之间关联。在后面会详细的对结构化数据进行说明。
02 我们需要“结构化数据”
在Nemesis的介绍中,我们多次提到“结构化数据”。通俗来说,结构化数据是按照一定数据结构规范的数据类型。我们在以往的蓝军工具中鲜有出现结构化数据,大多工具只具备基础的日志记录。尤其在后渗透领域而言,负责后渗透领域的蓝军队员往往处于攻击活动的一线,我们的工具输出往往为了方便“人”的分析而忽视了“计算机”的分析,大部分工具只有操作记录,只有少数类型的工具会遵循特定的格式输出。这与防御性项目存在很大的差异:防御性项目往往会收集大量的结构化数据来进行威胁分析,例如安全信息和事件管理(SIEM)即通过对标准的日志进行整合,从而自动化的进行威胁检测和事件响应。
OSINT 类的蓝军工具最先拥抱结构化数据。像Shodan,recon-ng一类的网络信息收集工具通过提取结构化数据,实现了不同来源数据的关联性分析。除了工具自身利用结构化数据来进行一些深度分析外,还有一种直观的做法为将自身的输出进行标准化输出,以供其他工具进行后续分析,更方便的集成到其他的工具来进一步处理,将任务进行拆分,能更专注于不同工具优势。Nmap是一个很典型的例子,其可以将自己的扫描记录以XML格式进行导出,从而导入Metasploit 框架中进一步利用。
更加现代化的利用方式案例是Nemesis同团队主导的BloodHound项目。作为一款域渗透分析工具,其可以便捷的将收集到的数据导入到Neo4j数据库中,同时提供了高级查询命令,借助Neo4j构建知识图谱,实现资产拓扑展示、攻击路径的查询等可视化,大大减少了蓝军队员的工作量。按照结构化数据思想,将不同阶段工具进行有机结合,使得传统工具有机会与新兴技术进行整合,探索出新的利用方式。
可以看出,结构化数据给这些工具带来了数据多阶段使用和关联性分析上的便利,在后面我们会进一步说明蓝军应该怎样使用结构化数据来下手“数据战场”。
03攻击数据协同的未来
Nemesis平台指出了一个结构化数据发展的方向——攻击数据协同。在本文最后一节,我们来探讨一下如何利用结构化数据实现更高效的攻击数据协同。
回顾一下我们以往在蓝军行动中数据协同的做法,可能更准确的说法叫做数据共享。在行动过程中,一个蓝军队伍会有明确分工,可能会对同一目标或者不同目标进行不同角度的尝试。当一个攻击队员发现有价值的敏感数据后,我们会通过一些自建或公用的IM即时通讯软件以文本、图片和文档等形式将数据同步给其他队员。这种方式无疑是一种低成本、便捷的沟通方式,但是如果场景再大一点、团队在大一点呢?传统数据共享方式的弱点很容易被发现:一是文本、图片等原始数据往往只能直观的传递信息,缺少深入的内容挖掘和历史数据的关联性分析;二是缺少数据的有效对接能力,这个问题在规模越大的团队中会更加突出,例如一个负责打点队员对于二进制文件不会很敏感,很容易造成价值判断失误。
笔者认为攻击数据协同解决的问题就是每个行动人员都能在海量的数据中找到自己感兴趣的部分。最开始的一些项目在攻击数据的收集、同步和呈现方式上进行探索,其中最有特点的是对攻击数据中攻击日志进行聚合。在数据收集层面,RedELK项目以SIEM的思想来构建蓝军日志聚合器,通过一个中心服务来收集分散的teamserver的操作日志。在数据呈现层面,CISA的RedEye项目即专注于攻击数据的可视化呈现。如今随着云原生设施的逐渐成熟,我们更偏向于将分析由个人终端向计算性能更强的服务器转移。在人工智能的加持下,原来无暇顾及的海量数据将会提供一个全新的视角来供我们做下一步决策。数据协同平台已然在向数据多格式、多来源发展,例如Nemesis在云平台的基础上对不同数据格式的深度提取分析以及在数据关联方向进行探索。
攻击数据协同平台的目标十分明确:
-
攻击数据同步:在大规模的蓝军行动中进行数据汇总,快速进行有效数据传递同步,将凭据、攻陷节点信息、敏感文件等有效数据快速对接响应成员。
-
攻击数据分析:对部分格式数据进行解析并加以分析,通过可视化的方式呈现攻击链路和目标拓扑,并提供便捷的关联搜索能力。
现阶段工作已经初步表现出攻击“数据协同+结构化数据”处理带来的优势。我们团队也早已入局“数据战场”,结合了M01N、猎鹰等多个战队、攻防专家、一线安服队员的宝贵需求,开发了数据协同平台——“破军”,提供红蓝对抗所需的包括C2日志整合、节点链式展示、密码本等多项能力,在多次竞赛中均有出色的表现。
04 总结
Nemesis平台的出现验证了攻击数据协同带来的优势。攻击数据协同在自动化攻防中势必是不可缺少的一环。我们期望在未来蓝军行动中,攻击数据协同在AI和高算力加持下能够在攻击辅助和决策中带来更多惊喜:
-
基于云平台使单兵具有更强大的分析算力:在云计算领域,算力是可以通过堆积来实现的,放在蓝军攻击场景中也十分适用。一个很简单的例子,对于一个56位密钥长度的DES加密文档而言,每纳秒执行一万次解密所需的时间大约为1小时,这个对于普通终端来说是很有挑战性的,如果我们通过算力的堆叠来解决,问题将迎刃而解。这个例子可能不准确,但是也表明了基于云平台的设计,单兵拥有的能力将会提高到一个新的层面上。
-
自动化攻击决策:自动化数据处理分析将带来总体层面上的态势感知,通过对目标信息的持续提取,AI能够对攻击的不同阶段提出可行攻击决策,进行自动化攻击路径生成等一系列充当安全专家角色的行为。
附录1 Nemesis Dashboard功能介绍
附录2 参考文献
[1] Nemesis项目,https://github.com/SpecterOps/Nemesis
[2] https://posts.specterops.io/hacking-with-your-nemesis-7861f75fcab4
绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。
研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。
M01N Team公众号
聚焦高级攻防对抗热点技术
绿盟科技蓝军技术研究战队
官方攻防交流群
网络安全一手资讯
攻防技术答疑解惑
扫码加好友即可拉群
原文始发于微信公众号(M01N Team):Nemesis:蓝军攻击数据协同平台化实践