首页 > 编程语言 >DFIR(Digital Forensics and Incident Response,数字取证与事件响应)脚本是用于帮助分析、调查和响应安全事件的自动化工具或脚本。这些脚本通常用于收集和分析系统、

DFIR(Digital Forensics and Incident Response,数字取证与事件响应)脚本是用于帮助分析、调查和响应安全事件的自动化工具或脚本。这些脚本通常用于收集和分析系统、

时间:2024-10-25 18:31:09浏览次数:7  
标签:脚本 收集 实时 响应 DFIR csv

DFIR(Digital Forensics and Incident Response,数字取证与事件响应)脚本是用于帮助分析、调查和响应安全事件的自动化工具或脚本。这些脚本通常用于收集和分析系统、网络或应用程序中的数据,以识别潜在的安全威胁或漏洞。

主要功能

  1. 数据收集: 自动化收集系统日志、网络流量、文件系统状态等数据,以帮助调查人员获取必要的信息。

  2. 数据分析: 通过解析日志和文件,识别可疑活动或不正常的行为模式。例如,检查异常的登录尝试、文件访问或网络连接。

  3. 报告生成: 自动生成分析报告,总结调查结果,为后续的响应和防护措施提供依据。

  4. 取证: 提供必要的工具和流程,以确保在调查过程中数据的完整性和可验证性。

示例脚本

  • PowerShell 脚本: 用于收集 Windows 系统的信息,比如正在运行的进程、网络连接和用户活动。
  • Python 脚本: 用于解析日志文件、进行数据挖掘和生成报告。
  • Bash 脚本: 用于在 Linux 系统中收集信息,如文件系统快照、网络配置等。

常见用途

  • 事件响应: 在检测到安全事件后,快速响应并收集相关数据。
  • 取证调查: 分析入侵事件,收集证据以进行法律调查或内部审查。
  • 安全审计: 定期检查系统的安全状态,识别潜在风险。

DFIR 脚本是现代网络安全工作中不可或缺的工具,有助于提高响应效率和准确性。


DFIR(数字取证与事件响应)的功能可以根据其应用场景和任务类型进行分类。以下是常见的功能分类:

1. 数据收集

  • 系统信息收集: 采集操作系统、用户、进程、网络等信息。
  • 日志收集: 收集系统、应用和安全日志。
  • 网络流量捕获: 记录网络流量以分析通信模式。

2. 数据分析

  • 日志分析: 解析和分析日志文件,寻找可疑活动。
  • 事件关联分析: 将多个事件关联起来,识别潜在的攻击链。
  • 恶意软件分析: 识别和分析可疑文件或行为,判断是否存在恶意软件。

3. 取证

  • 数据完整性验证: 确保收集的数据没有被篡改,通常使用哈希校验。
  • 快照生成: 捕获系统或网络的状态,以备后续分析。

4. 事件响应

  • 即时响应: 在发现安全事件后,迅速采取措施限制损害。
  • 恢复操作: 采取措施恢复系统至正常状态,消除安全威胁。
  • 补救措施: 通过更新补丁、加强配置等方式,防止类似事件再次发生。

5. 报告与审计

  • 事件报告生成: 自动生成详细的事件报告,总结调查结果和响应措施。
  • 合规性审计: 检查系统和流程是否符合相关法律法规和行业标准。

6. 培训与演练

  • 桌面演练: 进行事件响应演练,提升团队的应急能力。
  • 知识共享: 创建和分享最佳实践和教训,以提高组织的整体安全意识。

通过这些功能,DFIR 有助于组织更有效地应对安全事件,提升整体安全态势。


GitHub - Bert-JanP/Incident-Response-Powershell: PowerShell Digital Forensics & Incident Response Scripts.


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 来运行脚本:

powershellCopy Code
Powershell.exe -ExecutionPolicy Bypass .\DFIR-Script.ps1

DFIR 脚本 | Defender For Endpoint 实时响应集成

可以将 DFIR 脚本与 Defender For Endpoint 的实时响应结合使用。请确保已设置实时响应(参见文档)。由于我的脚本是未签名的,因此需要进行设置更改以便运行该脚本。

有一篇博客文章详细说明了如何在实时响应中利用自定义脚本:事件响应第 3 部分:利用实时响应

运行未签名脚本的实时响应步骤:

  1. 访问 Security.microsoft.com
  2. 转到 设置
  3. 选择 终端
  4. 点击 高级功能
  5. 确保已启用实时响应
  6. 如果要在服务器上运行此脚本,请为服务器启用实时响应
  7. 启用实时响应未签名脚本执行

执行脚本:

  1. 转到设备页面
  2. 启动实时响应会话
  3. 上传文件到库以上传脚本
  4. 上传脚本后,执行:run DFIR-script.ps1 以启动脚本。
  5. 执行 getfile DFIR-DeviceName-yyyy-mm-dd 以将检索到的工件下载到本地机器进行分析。

文档


 

标签:脚本,收集,实时,响应,DFIR,csv
From: https://www.cnblogs.com/suv789/p/18503093

相关文章

  • 考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度(Matlab代码实现)
     ......
  • 华企盾【运维利器】PowerShell自动磁盘清理脚本代码
    在日常工作中,磁盘空间不足是一个常见且令人头疼的问题。为了解决这一问题,我们可以使用PowerShell编写一个自动磁盘清理脚本。该脚本旨在监控特定目录(如E:est),并在可用空间低于设定阈值(20%)时自动删除最旧的文件,以确保磁盘空间的有效利用。脚本的基本逻辑是每分钟检查一次磁盘的使......
  • 12-linux服务器 sh自启动脚本
    screenrun.sh自启脚本#!/bin/bashecho"screenDuration_serverstart..."#killallpython3sleep0.5pushd/home/rootgpu1/interface/home/rootgpu1/miniconda3/bin/pythonscreenDuration.py&sleep1whiletruepid_array=("screenDuration.py&......
  • 通用结果类用于返回响应结果
    publicinterfaceIResult{boolResult{get;set;}stringMessage{get;set;}stringTitle{get;set;}stringCode{get;set;}objectTag{get;set;}}publicinterfaceIResult<T>whereT:class{TData{get;set......
  • 创新!高级!【日前、日内非滚动、日内滚动调度以及实时修正】考虑需求侧响应的智慧楼宇多
     ......
  • 批处理脚本:简化 calculix CAE任务提交,其他程序也可参考
    批处理脚本:简化CAE分析流程在工程和科学领域,计算辅助工程(CAE)软件被广泛用于模拟和分析物理现象。这些软件包通常需要复杂的输入文件和命令行操作,对于非专业用户来说可能难以掌握。为了简化这一过程,批处理脚本发挥了重要作用。本文将介绍一个简单的批处理脚本,它用于自动运行CAE......
  • linux shell 脚本语言教程(超详细!)
    Shell编程详细指南什么是Shell?Shell是用户与操作系统内核之间的接口,允许用户通过命令行输入来控制操作系统。它充当命令解释器,读取用户输入的命令并执行相应的操作。Shell提供了强大的脚本编程能力,可以自动化许多任务。常见的Shell有Bash(BourneAgainShell)、Zsh(ZShell)......
  • 【PowerShell】如何优化脚本性能?
    优化PowerShell脚本性能可以从多个方面着手,以下是一些常见的策略和具体的例子来说明如何实现这些优化:1.减少不必要的循环描述:在处理大量数据时,避免使用过多的循环。可以考虑使用管道和内置cmdlet来替代。示例:低效代码:$files=Get-ChildItem-PathC:\Tempforeach(......
  • matlab求冲击输入拉普拉斯变换,和响应
    在MATLAB中,求解冲击输入的拉普拉斯变换以及系统的冲击响应通常涉及以下几个步骤:定义冲击输入:在MATLAB中,冲击输入通常用狄拉克δ函数(Diracdeltafunction)表示,可以使用dirac函数来创建。计算拉普拉斯变换:使用laplace函数计算冲击输入的拉普拉斯变换。计算系统冲击响应:如果......
  • java 脚本使用不同版本jdk说明
    目录1.使用ScriptEngine执行JavaScript2.Nashorn(JDK8及以上)和工具类3.GraalVM(JDK11及以上)总结在Java中,运行或执行JavaScript脚本有几种方式,其中最常用的是通过Java内置的JavaScript引擎(Nashorn或者Rhino)来执行JavaScript代码。下面介绍几种实现方式。1.使用Scrip......