DFIR(Digital Forensics and Incident Response,数字取证与事件响应)脚本是用于帮助分析、调查和响应安全事件的自动化工具或脚本。这些脚本通常用于收集和分析系统、网络或应用程序中的数据,以识别潜在的安全威胁或漏洞。
主要功能
-
数据收集: 自动化收集系统日志、网络流量、文件系统状态等数据,以帮助调查人员获取必要的信息。
-
数据分析: 通过解析日志和文件,识别可疑活动或不正常的行为模式。例如,检查异常的登录尝试、文件访问或网络连接。
-
报告生成: 自动生成分析报告,总结调查结果,为后续的响应和防护措施提供依据。
-
取证: 提供必要的工具和流程,以确保在调查过程中数据的完整性和可验证性。
示例脚本
- PowerShell 脚本: 用于收集 Windows 系统的信息,比如正在运行的进程、网络连接和用户活动。
- Python 脚本: 用于解析日志文件、进行数据挖掘和生成报告。
- Bash 脚本: 用于在 Linux 系统中收集信息,如文件系统快照、网络配置等。
常见用途
- 事件响应: 在检测到安全事件后,快速响应并收集相关数据。
- 取证调查: 分析入侵事件,收集证据以进行法律调查或内部审查。
- 安全审计: 定期检查系统的安全状态,识别潜在风险。
DFIR 脚本是现代网络安全工作中不可或缺的工具,有助于提高响应效率和准确性。
DFIR(数字取证与事件响应)的功能可以根据其应用场景和任务类型进行分类。以下是常见的功能分类:
1. 数据收集
- 系统信息收集: 采集操作系统、用户、进程、网络等信息。
- 日志收集: 收集系统、应用和安全日志。
- 网络流量捕获: 记录网络流量以分析通信模式。
2. 数据分析
- 日志分析: 解析和分析日志文件,寻找可疑活动。
- 事件关联分析: 将多个事件关联起来,识别潜在的攻击链。
- 恶意软件分析: 识别和分析可疑文件或行为,判断是否存在恶意软件。
3. 取证
- 数据完整性验证: 确保收集的数据没有被篡改,通常使用哈希校验。
- 快照生成: 捕获系统或网络的状态,以备后续分析。
4. 事件响应
- 即时响应: 在发现安全事件后,迅速采取措施限制损害。
- 恢复操作: 采取措施恢复系统至正常状态,消除安全威胁。
- 补救措施: 通过更新补丁、加强配置等方式,防止类似事件再次发生。
5. 报告与审计
- 事件报告生成: 自动生成详细的事件报告,总结调查结果和响应措施。
- 合规性审计: 检查系统和流程是否符合相关法律法规和行业标准。
6. 培训与演练
- 桌面演练: 进行事件响应演练,提升团队的应急能力。
- 知识共享: 创建和分享最佳实践和教训,以提高组织的整体安全意识。
通过这些功能,DFIR 有助于组织更有效地应对安全事件,提升整体安全态势。
Powershell 数字取证与事件响应 (DFIR) 概述
该存储库包含多个 PowerShell 脚本,可帮助您应对针对 Windows 设备的网络攻击。
包含的事件响应脚本:
- DFIR 脚本: 收集所有在 DFIR 脚本部分列出的项目。
- CollectWindowsEvents: 收集所有 Windows 事件并输出为 CSV 文件。
- CollectWindowsSecurityEvents: 收集所有 Windows 安全事件并输出为 CSV 文件。
- CollectPnPDevices: 收集所有即插即用设备,例如 USB、网络和存储设备。
- DumpLocalAdmins: 返回设备上的所有本地管理员。
- LastLogons: 列出设备的最后 N 次成功登录。
- ListInstalledSecurityProducts: 列出已安装的安全产品及其状态。
- ListDefenderExclusions: 列出已定义的文件夹路径、文件扩展名、进程和 IP 排除项。
相关博客:
- 事件响应第 3 部分: 利用实时响应
- 事件响应 PowerShell V2
- DFIR 脚本 - 提取的证据
DFIR 脚本从多个来源收集信息,并将输出结构化存储在当前目录下名为“DFIR-主机名-年-月-日”的文件夹中。最后,该文件夹会被压缩,以便远程收集。此脚本也可以在 Defender For Endpoint 的实时响应会话中使用。正常用户运行时,DFIR 脚本会收集以下信息:
- 本地 IP 信息
- 开放连接
- 自启动信息(启动文件夹和注册表运行项)
- 活动用户
- 本地用户
- 办公应用程序产生的连接
- 活动 SMB 共享
- RDP 会话
- 活动进程
- 活动 USB 连接
- PowerShell 历史记录
- DNS 缓存
- 已安装驱动程序
- 已安装软件
- 正在运行的服务
- 计划任务
- 浏览器历史记录和配置文件
为获得最佳体验,请以管理员身份运行该脚本,随后还将收集以下项目:
- Windows 安全事件
- 远程打开的文件
- 快照
- MPLogs
- Defender 排除项
- 所有用户的 PowerShell 历史记录
SIEM 导入功能
取证证据以 CSV 文件格式导出,方便响应人员将其导入他们的工具中。一些可以导入数据的示例工具包括 Sentinel、Splunk、Elastic 或 Azure Data Explorer。这将允许您使用首选查询语言进行过滤、聚合和可视化。
文件夹“CSV 结果 (SIEM 导入数据)”包含所有包含证据的 CSV 文件,文件夹列表如下:
- ActiveUsers.csv
- AutoRun.csv
- ConnectedDevices.csv
- DefenderExclusions.csv
- DNSCache.csv
- Drivers.csv
- InstalledSoftware.csv
- IPConfiguration.csv
- LocalUsers.csv
- NetworkShares.csv
- OfficeConnections.csv
- OpenTCPConnections.csv
- PowerShellHistory.csv
- Processes.csv
- RDPSessions.csv
- RemotelyOpenedFiles.csv
- RunningServices.csv
- ScheduledTasks.csv
- ScheduledTasksRunInfo.csv
- SecurityEvents.csv
- ShadowCopy.csv
- SMBShares.csv
DFIR 命令
DFIR 命令页面包含在事件响应过程中可以使用的单个 PowerShell 命令。定义了以下类别:
- 连接
- 持久性
- Windows 安全事件
- 进程
- 用户和组信息
- 应用程序
- 文件分析
- 收集 IOC 信息
Windows 使用说明
可以通过运行以下命令来执行脚本:
powershellCopy Code.\DFIR-Script.ps1
该脚本是未签名的,这可能导致需要使用 -ExecutionPolicy Bypass
来运行脚本:
Powershell.exe -ExecutionPolicy Bypass .\DFIR-Script.ps1
DFIR 脚本 | Defender For Endpoint 实时响应集成
可以将 DFIR 脚本与 Defender For Endpoint 的实时响应结合使用。请确保已设置实时响应(参见文档)。由于我的脚本是未签名的,因此需要进行设置更改以便运行该脚本。
有一篇博客文章详细说明了如何在实时响应中利用自定义脚本:事件响应第 3 部分:利用实时响应
运行未签名脚本的实时响应步骤:
- 访问 Security.microsoft.com
- 转到 设置
- 选择 终端
- 点击 高级功能
- 确保已启用实时响应
- 如果要在服务器上运行此脚本,请为服务器启用实时响应
- 启用实时响应未签名脚本执行
执行脚本:
- 转到设备页面
- 启动实时响应会话
- 上传文件到库以上传脚本
- 上传脚本后,执行:
run DFIR-script.ps1
以启动脚本。 - 执行
getfile DFIR-DeviceName-yyyy-mm-dd
以将检索到的工件下载到本地机器进行分析。
文档
标签:脚本,收集,实时,响应,DFIR,csv From: https://www.cnblogs.com/suv789/p/18503093