Part1 前言
大家好,我是ABC_123。近年来,关于美国国家安全局NSA的全球情报收集与分析体系的报道逐渐增多,其内部庞大的工具链条也不断被外界揭露。此前ABC_123介绍过几款流量情报分析工具,例如XKeyscore全流量分析系统、Marina元数据检索系统、Trafficthief流量分析系统等,这些组件共同支撑了美国NSA强大的全球信号情报SIGINT分析能力。今天继续给大家介绍另一个重要的流量情报分析系统PINWALE,相比前三者,它的公开资料极少,ABC_123经过多方查找,接下来给大家详细讲解一下(文末有技术交流群的加群方式)。
Part2 技术研究过程
前置基础知识
1 DNI数字网络情报体系分层结构
如下图所示,展示了美国NSA的DNI数字网络情报分析的分层结构,从下往上,所检索的数据量逐层减少,但更精准更精细。
Xkeyscore关键得分系统的目标是存储全量流量数据,在当时可以保存3-5天的全流量,情报分析人员可以从全流量中目标的详细网络行为;Marina元数据分析系统主要存储流量中的用户活动元数据(谁、何时、何地、和谁),元数据大概保留30天左右,大部分分析工作实际上只需要分析元数据即可完成;Pinwale可以保留数据长达5年之久,存储经过筛选的通信内容,如邮件正文、消息、重要文档等,重点在于内容分析,而不是元数据分析;Trafficthief只保留一部分强选择器(strong selectors)的元数据,比如非常关键的邮箱地址、特定目标 ID等,这是经过高度筛选、范围最小的一层,数据更精准。
2 PINWALE情报分析系统讲解
PINWALE是美国国家安全局(NSA)用于存储与分析全球通信数据的大规模情报数据库组件,旨在解决海量收集环境中原始数据无法长期保存的问题,允许情报分析人员将感兴趣的网络流量(如电子邮件、即时消息与其他网络通信)存入库中进行长期保留(据称可达约 5 年)。该系统不仅保存元数据(时间戳、发送者、接收者等),还重点存储内容(消息正文、附件与通信记录),并常与其他情报工具(如 XKeyscore)协同使用,以便对特定目标开展深入分析与追踪。通过 PINWALE 的检索功能,分析人员可以获取目标人员的关键信息:目标人员的基本个人资料;识别目标人员的联系人,包括他们的好友列表、通讯录等信息;目标人员的备用账户(电子邮件账户、聊天账户、用户名);目标人员的地理位置及登录地点;识别目标计算机的有价值数据,如MAC地址、Cookies等。这些都是追踪目标身份和活动的重要线索。
3 PINWALE系统的3种搜索引擎
PINWALE有3种搜索引擎,分别是LIONROAR、LIONHEART Fusion、PINWALE Dissemination,用于根据不同的时间范围和需求来快速、有效地检索存储的情报数据。LIONROAR可以用于搜索更早期(超过13个月,但最多可追溯到5年)存档中文档;LIONHEART Fusion主要搜索最近13个月的文档索引,专注于较新的数据;PINWALE Dissemination这个搜索引擎每天根据用户输入的查询每天自动搜索和提取相关文档,可以自定义任务和保持情报的持续更新。
4 PINWALE ID编码讲解
PINWALE 文档 ID(PWID)是用于在 PINWALE 数据库中唯一标识和管理文档的结构化编码,由多个部分组成,每个字段都承载特定含义。
最前面的 PW 前缀表示该文档属于 PINWALE 数据库,紧随其后的 AE 是处理器 ID,用于标识负责处理该文档的处理器;2003 表示文档在 2003 年被加载;276 对应古罗马儒略日历的第 276 天,即 10 月 3 日;183442 是文档的具体加载时间,采用 HHMMSS 格式,这里为 18:34:42(下午 6 点 34 分 42 秒);最后的 00000001155 是 10 位数的流水编号,说明该文档是当日此时间点被加载的第 1,155 个文件。通过这种结构化的标识方式,每条记录在数据库中都能被唯一定位,既便于高效检索,也确保数据在存储与调用时的可追踪性和一致性。
5 PINWALE系统常见的4种搜索方式
如下所示,这张图片展示了在PINWALE系统中最常见的四类搜索方式:
电子邮件账户搜索:通过输入具体的电子邮件地址,分析人员可以检索与该地址相关的通信内容和元数据,从而了解目标的邮件往来情况。
IP 地址搜索:利用 IP 地址进行查询,可以帮助追踪特定目标的网络活动或定位其所使用的网络资源,这在分析目标行为模式时尤为关键。
PINWALE 文档搜索(PWID):每一份存储在 PINWALE 数据库中的文档都有一个唯一的 PINWALE ID(PWID),通过该 ID 可以直接定位并提取对应的存档文件,实现精确检索。
UUID 搜索(全球唯一标识符):UUID 是一种跨平台、跨系统使用的唯一标识符,在情报收集中,它常被用于识别不同系统中指向同一目标或同一条数据的记录,确保信息的一致性与可追踪性。
EXUS系统的简单介绍
1 NEXUS系统的简单介绍
NEXUS是情报收集和数据检索系统的一部分,允许用户创建和定制搜索查询。NEXUS是一个操作界面,用于执行用户接口服务(UIS)中的搜索功能,情报分析人员通过它来查询和访问PINWALE等情报数据库中的数据,并通过该界面展示查询结果。UIS是用户接口服务,通过NEXUS提供用户界面,使得用户能够按照目标格式获取所查询的数据。AGILITY是一个文档查看器,作为UIS文本呈现器的替代工具,特别适合查看微软Windows应用程序(如Microsoft Office文件和Adobe PDF文件),它使得用户能够以本地格式查看和分析文档,增强了对特定文件格式的支持。
如下图所示,这是NEXUS Search Editor的功能界面,用于编辑和执行查询语句。NEXUS Search Editor 是一个查询编辑工具,用于创建和修改PINWALE及其他情报数据库中的搜索功能。该工具允许用户选择搜索引擎(如LIONHRT_FUSION),可以设置特定的查询类型(如全文搜索)。通过界面上的选项,用户可以控制元数据的检索、搜索结果的类型、结果的可视化组以及查询的时间范围等。
Search Engine:在这个示例中,选定的搜索引擎是LIONHRT_FUSION。这个引擎被用来执行与目标相关的搜索。
Search Type:查询类型是Full Search(全文搜索),意味着系统会搜索所有相关数据,而不仅仅是某些特定的字段或信息。
Retrieve Metadata:这个选项设置为“ON”,表示查询将包括与数据相关的元数据,如时间戳、来源等信息。
Stop Results To:查询结果将限制为pichris(可能是一个特定的数据集或分类),并且可以进一步过滤结果。
2 查询电子邮件(DECODEORDAIN )
当情报收集人员需要查询电子邮件账户时,可以使用DECODEORDAIN工具。它会自动为用户生成各种查询组合,从而提高搜索效率,查看与目标账户相关的各种信息。查询的结果可以直接与PINWALE数据库链接,便于后续情报分析、证据关联与文档检索。
下图展示了打码之后的查询具体结果,显示了目标的各种数据排列,包括联系人信息、电子邮件地址、地址簿、即时消息、以及可能的聊天记录等。
3 搜索参数的设置
在NEXUS Search Editor的搜索参数配置界面中,Name字段用于为查询设定唯一标识,情报分析人员为每个查询任务分配一个名称,方便后续查找和管理;而 Description字段则用来补充说明查询内容,帮助用户快速理解查询意图,例如名称可设为DSDFISApril,描述为JI associates in SEA。
4 NEXUS参数配置
在NEXUS Search Editor的参数配置中,用户可选择搜索引擎(如 PINWALE_DISSEM)并将搜索类型设为全文搜索(Full Search);若将检索元数据选项设为 ON,系统会返回文档的元数据(如发送者、接收者等)。查询结果可指定存储位置,默认保存到与用户SID关联的文件夹。
查询日期范围可输入起止时间,但在 PINWALE_DISSEM 搜索引擎模式下应留空,因为该引擎执行的是类似于计划任务一样,自定义每日持续查询。用户还可通过Visibility Group设置查询的可见性范围,从而控制权限与数据访问,并通过Add按钮添加对应分组。模型选择一般设为None,表示不使用特定模型;同时可设定查询结果返回的最大文档数(Max Docs)与最大命中数(Max Hits),系统默认上限分别为20,000与1,000,000,限制查询返回的文档数量。最后,搜索结果在文件夹管理器中保存天数默认为30天。
NEXUS与PINWALE使用过程
1 创建一个查询
在NEXUS Search Editor中,创建和管理查询的操作主要依赖于Query Association(查询关联)区域。用户在建立查询时,需要首先为其设定一个Name(名称)和 Description(描述),这样不仅便于识别和管理,也方便在后续查询列表中快速定位。
接着,可以使用区域中的四个核心功能按钮来操作查询:New按钮用于创建一个新的查询,并为其指定名称;Edit按钮则可以打开已选中的查询,或者在同时存在多个查询窗口时,将所选查询置于最前端以便编辑和查看;Remove按钮用来将某个查询从当前的关联列表中移除,但需要注意的是,这一操作不会将该查询从保存的文件夹中彻底删除,因此用户仍可在以后重新加载它;Load按钮则会打开“Load Query”对话框,允许用户将之前保存的查询载入进来,这些保存的查询既可以是个人保存的,也可以是团队或共享资源中的查询。与此同时,系统还支持配置Visibility Groups,用于设定查询的可见性范围和权限控制,确保不同用户在各自的权限范围内进行检索操作。工具界面中展示的FISA_pr1查询,就是一个保存并加载的实例,它不仅直观演示了查询的保存与调用过程,也体现了这些功能在日常使用中的重要性。
2 查询表单选择与使用
在NEXUS Search Editor中,完成查询的基础配置后,下一步就是选择合适的查询表单(Forms)。查询表单决定了用户与搜索引擎交互的方式,复杂程度和功能差异较大:Smart Form(智能表单)会自动处理语法,帮助用户简化操作,适合快速、标准化的查询;而Freeform(自由表单)则需要用户自行编写查询语句,提供完全的灵活性,适合应对复杂或特殊的检索需求。
LIONHEART_FUSION搜索引擎有以下表单类型:SmartForm,适合快速、标准化的查询;SmartForm II,相对于 SmartForm,提供更复杂的功能;Fielded Search,这种查询形式允许通过特定字段进行搜索;Freeform,完全自定义的查询形式,适合更复杂的需求。
LIONROAR和PINWALE_DISSEM (PSL)搜索引擎有以下表单类型:SmartForm、SmartForm II,与LIONHEART_FUSION中的SmartForm相同;Zoned Search,区域化搜索,适用于在特定数据区域进行查询;String – SmartForm,字符串形式的查询,可以与SmartForm配合使用;Set Ops,集合操作,支持不同集合之间的操作(如交集、并集等);Freeform,允许完全自由的查询设置。
在当前示例中,为了简化操作,选择了SmartForm表单,以便更高效地构建和提交查询。
3 输入查询术语
在查询表单中,分析人员需要将目标信息(例如电话号码、电子邮件地址、IP 地址等)输入到相应字段中,以便系统执行检索。输入的查询术语会被系统实时解析,系统会自动将输入内容转换为符合查询语法的标准格式,帮助用户确认语法格式是否正确。如果出现拼写错误或格式不符合要求,系统会立即通过红色提示进行标记,提醒用户修改,从而确保查询能够顺利执行并获得准确结果。
4 验证查询语句
在NEXUS Search Editor中,查询构建完成后需要经过查询验证(Validate Queries) 的步骤,以确保语法规则正确无误。分析人员点击工具栏上的Validate按钮后,系统会立即对输入的查询语句进行检查,并弹出验证结果窗口。如果查询符合语法规则,窗口会显示“Is Valid”的提示,同时给出计算代价(Cost 值),可能是系统对该查询在执行时所消耗的计算资源开销的一个评估值。用于衡量执行查询所需的系统资源;若存在错误,则会显示 “Has Errors”,提醒用户返回并修正语法问题。
5 执行查询和结果分析
在NEXUS Search Editor中,当查询被提交至PINWALE系统后,后台会调用相应的搜索引擎(如 LIONHEART_FUSION 或 PINWALE_DISSEM)来检索数据。
整个过程会按照固定的顺序分为四个阶段:首先是Queued,表示查询已进入队列,等待系统调度;接着进入Submitted状态,意味着查询已提交并准备开始处理;随后进入Running阶段,系统正在执行检索操作;最后进入Getting results to complete,此时系统会从数据库或相关数据源中提取并整合结果,直至任务完成。检索完成后,界面会显示Hit Count(命中次数),即符合查询条件的记录数量。分析人员可根据这些结果进一步深入,利用PINWALE ID来精确定位和调取特定的情报数据。
6 结果筛选和排序
在查询结果返回后,分析人员可以通过元数据查看器(MDV, Metadata Viewer)对结果进行进一步筛选和分析。MDV支持按照多种字段进行排序和过滤,例如日期、目标、通信类型等,这使得分析人员能够快速识别数据中的模式与异常。比如,将结果按时间戳排序,可以帮助绘制目标活动的时间线,从而发现潜在的异常行为或活动规律。在PINWALE系统中,分析人员可从大约700个字段中自由选择来定制MDV的显示布局。这些字段涵盖了多种元数据类型,如日期、发送者、接收者、IP 地址、邮件主题等。通过自定义字段的显示、排列顺序和布局方式,用户能够根据具体研究需求灵活调整界面,从而更精准地筛选和分析数据。
MDV作为PINWALE的核心工具,不仅提供了文档属性、来源、时间戳等元信息的可视化,还依托ORACLE数据库来存储查询结果,并通过UIS文件夹管理器进行管理。分析人员可以通过简单操作(如双击文件夹)加载结果,甚至支持同时加载多个查询结果。 此外,MDV拥有强大的排序和过滤功能,既能进行单字段的简单排序(如按时间顺序排列),也能基于多个字段进行组合排序,从而高效地从庞大的数据集中筛选出最有价值的信息。结合NEXUS Search Editor的高度可定制性,分析人员能够为不同的分析目标预设多种布局,大幅提升查询结果的可视化效果与整体分析效率。
7 数据的存储与管理
在获取查询结果后,分析人员可以通过点击Save按钮将结果进行保存,不仅能够保存当前的查询设置,还能将检索到的数据存储为一个新的查询文件,方便后续的调用与深入分析。每条记录都对应一个唯一的PINWALE ID,它相当于结果的专属标识符,确保在后续研究或复核时能够被准确定位与再次检索,从而保证数据分析过程的完整性与可追溯性。
Part3 总结
1. 经过多篇文章的更新,终于把美国NSA的DNI数字网络情报分析系统的四大组件讲解完毕。
2. 有了上述文章基础,后续就可以给大家普及斯诺登棱镜门事件、美国NSA入侵中东swift供应商、美国NSA入侵他国石油系统的案例分析了,敬请期待。
3. 为了便于技术交流,现已建立微信群"希水涵-信安技术交流群",欢迎您的加入。
公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。
Contact me: 0day123abc#gmail.com
OR 2332887682#qq.com
(replace # with @)