ThePhish 是一款基于 TheHive、Cortex 和 MISP 的自动化钓鱼邮件分析工具。它是一个用 Python 3 编写、基于 Flask 的 Web 应用程序,能够自动完成从邮件头与正文中提取可观测指标,到最终(多数情况下)得出判定结果的完整分析流程。此外,它还允许分析人员在必要时介入分析过程,获取关于正在分析的邮件的更多详细信息。为了与 TheHive 和 Cortex 交互,它使用了 TheHive4py 和 Cortex4py,它们分别是访问 TheHive 和 Cortex 提供的 REST API 的 Python 客户端。
下图展示了 ThePhish 的顶层工作原理:
本示例旨在展示用户如何将邮件发送给 ThePhish 进行分析,以及分析人员如何使用 ThePhish 实际分析该邮件。
用户可以将邮件发送到 ThePhish 用于获取待分析邮件的邮箱地址。邮件必须以 EML 格式作为附件转发,以防止污染邮件头。本例中使用的邮件客户端是 Mozilla Thunderbird,使用的邮箱地址是 Gmail 地址。
分析人员导航到 ThePhish 的网页,点击“列出邮件”按钮以获取待分析邮件的列表。
当分析人员点击所选邮件对应的“分析”按钮时,分析开始,进度显示在 Web 界面上。
与此同时,ThePhish 从邮件中提取可观测指标(URL、域名、IP 地址、邮件地址、附件以及这些附件的哈希值),然后与 TheHive 交互以创建案件。
案件内创建了三个任务。
随后,ThePhish 开始将提取的可观测指标添加到案件中。
此时,借助 Mailer 响应器,用户通过电子邮件收到分析已开始的通知。
第一个任务的描述允许 Mailer 响应器通过电子邮件发送通知。
第一个任务关闭后,第二个任务启动,分析器开始分析可观测指标。分析器启动期间,分析进度显示在 Web 界面上。
分析进度也可以通过 TheHive 的实时流查看。
所有分析器执行完毕后,第二个任务关闭,第三个任务启动,然后 ThePhish 计算判定。由于判定为“恶意”,所有被判断为恶意的可观测指标都被标记为 IoC。本例中只有一个可观测指标被标记为 IoC。
案件随后被导出到 MISP 作为一个事件,其中包含一个属性,即上述被标记的可观测指标。
接着,ThePhish 借助 Mailer 响应器将判定结果通过电子邮件发送给用户。
最后,任务和案件均被关闭。第三个任务的描述允许 Mailer 响应器通过电子邮件发送判定结果。此外,案件在五分钟后关闭,并解析为“True Positive”且“No Impact”,意味着攻击在造成任何损害前已被检测到。
案件关闭后,判定结果以及整个分析进度的日志均可在 Web 界面上供分析人员查看。
此时分析人员可以返回并分析另一封邮件。上述案例涉及的是钓鱼邮件,但被分析邮件分类为“安全”时,工作流程类似。案件将被关闭,判定结果通过电子邮件发送给用户。
然后,判定结果也会在 Web 界面上显示给分析人员。
另一方面,当邮件被分类为“可疑”时,判定结果仅显示在 Web 界面上供分析人员查看。
此时分析人员需要使用页面左侧的按钮,通过 TheHive、Cortex 和 MISP 进行进一步分析。这是因为分析尚未完成,用户仅被告知其转发给 ThePhish 的邮件分析已开始。实际上,最后一个任务和案件尚未关闭,需要分析人员本人形成最终判定后才能手动关闭。
分析人员可以在 TheHive 和 Cortex 上查看所有分析器的报告,若仍不足,他还可以下载邮件的 EML 文件并手动分析。
当分析人员完成分析后,他可以在最后一个任务的描述中填充要发送给用户的邮件正文,启动 Mailer 响应器,如果判定为“恶意”,则点击“导出”按钮将案件导出到 MISP,然后关闭案件。
