用途
本技能面向数字取证与安全事件响应场景,用于分析 Microsoft Outlook 的 PST(Personal Storage Table)和 OST(Offline Storage Table)文件。PST/OST 文件以基于 MAPI(Messaging Application Programming Interface)属性系统的专有二进制格式存储邮件、日历事件、联系人、任务和便笺,是数字取证调查中的关键证据来源。通过对这些文件的取证分析,可以恢复已删除邮件(来自 Recoverable Items 文件夹)、提取邮件头以追踪消息路由、分析附件中的恶意软件或外泄数据,并重建通信模式。
主要能力
- 解析 PST/OST 文件中的邮件内容、邮件头、附件、已删除项目及 MAPI 元数据。
- 使用 libpff / pffexport 导出全部项目、仅邮件或已恢复/已删除项目,并通过 pffinfo 获取 PST 文件信息。
- 使用 Python 的 pypff 或 libratom 库编写取证分析脚本,递归遍历文件夹、提取消息元数据、导出附件并生成 JSON 报告。
- 邮件头分析:Received(消息路由链,自下而上阅读)、X-Originating-IP(发件人实际 IP)、Message-ID(关联用唯一标识)、Date(发送时间戳)、Return-Path(退信地址,可能与 From 不同)、DKIM-Signature(域认证签名)、Authentication-Results(SPF、DKIM、DMARC 验证结果)、X-Mailer(所用邮件客户端)。
- 识别钓鱼/可疑邮件、数据外泄迹象(如向个人邮箱发送加密附件)以及关键词命中。
使用方式
前置条件包括:libpff/pffexport(开源 PST 解析器)、Python 3.8+ 及 pypff 或 libratom 库、MailXaminer / Forensic Email Collector / SysTools PST Forensics(商业工具,可选)、Microsoft Outlook(可选,用于原生 PST 访问),以及足够的磁盘空间用于存放提取内容。
PST 文件常见位置:Outlook 2016+ 默认位于 %USERPROFILE%\Documents\Outlook Files*.pst;旧版 Outlook 位于 %LOCALAPPDATA%\Microsoft\Outlook*.pst;OST 缓存位于 %LOCALAPPDATA%\Microsoft\Outlook*.ost;归档位于 %USERPROFILE%\Documents\Outlook Files\archive.pst。
使用 libpff / pffexport 的示例命令:
# 导出 PST 文件中的所有项目
pffexport -m all evidence.pst -t exported_pst
# 仅导出邮件消息
pffexport -m items evidence.pst -t exported_emails
# 导出已恢复/已删除项目
pffexport -m recovered evidence.pst -t recovered_items
# 获取 PST 文件信息
pffinfo evidence.pst
Python 分析示例(节选):
import pypff
import os
import json
import hashlib
import email
import sys
from datetime import datetime
from collections import defaultdict
class PSTForensicAnalyzer:
"""Forensic analysis of Outlook PST/OST files."""
def __init__(self, pst_path: str, output_dir: str):
self.pst_path = pst_path
self.output_dir = output_dir
os.makedirs(output_dir, exist_ok=True)
self.pst = pypff.file()
self.pst.open(pst_path)
self.messages = []
self.attachments = []
self.stats = defaultdict(int)
脚本可通过 python process.py <pst_file> <output_dir> 方式运行,生成 pst_forensic_report.json 报告,输出总消息数、总附件数与解析错误数。
适用场景
- 调查需要分析 Outlook PST 进行邮件取证的安全事件。
- 为该领域构建检测规则或威胁狩猎查询。
- SOC 分析师需要针对此类分析的结构化流程。
- 验证相关攻击技术的安全监控覆盖情况。
限制
现代 PST 文件使用 Unicode 格式,采用 4KB 页面,最大可达 50GB;旧版 ANSI 格式上限为 2GB。分析需要足够的磁盘空间存放提取内容。部分商业工具(MailXaminer、Forensic Email Collector、SysTools PST Forensics)为可选依赖,其具体功能、收费与价格暂未提供。