Bert-JanP/Incident-Response-Powershell

GitHub: Bert-JanP/Incident-Response-Powershell

这是一个基于PowerShell的数字取证与事件响应脚本集,用于自动化收集Windows设备上的安全事件数据并支持SIEM集成。

Stars: 796 | Forks: 111

# PowerShell 数字取证与事件响应 本仓库提供基于 PowerShell 的事件响应脚本。 # DFIR 脚本 [DFIR-Script.ps1](./DFIR-Script.ps1) 脚本用于收集 Windows 设备上的取证数据。主要功能包括: - 收集超过 25 种潜在入侵指标。 - 基于 CSV 的导出文件,便于 SIEM 集成。 - 集成 Defender for Endpoint 实时响应。 # 细粒度响应脚本 这些脚本执行特定任务,例如收集 Windows 安全事件、重置活动用户会话,或将文件夹上传到 Azure Storage Blob。部分脚本使用 API 来检索或导出数据,每个脚本中描述了所需的权限。这些脚本是为事件响应周期设计的: | 阶段 | 描述 | |--------|-------------| | [获取](./Acquisition/) | 用于在事件发生期间获取数据和证据的脚本和工具。 | | [分析](./Analysis/) | 用于分析获取的数据以识别入侵指标并了解事件范围的脚本。 | | [遏制](./Containment/) | 用于遏制事件以防止进一步损害和扩散的脚本和方法。 | # 相关博客: - [事件响应第三部分:利用实时响应](https://kqlquery.com/posts/leveraging-live-response/) - [事件响应 PowerShell V2](https://kqlquery.com/posts/incident-response-powershell-v2/) # DFIR 脚本使用说明 ## DFIR 脚本 - 提取的取证数据 [DFIR 脚本](./DFIR-Script.ps1) 从多个来源收集信息,并在当前目录下以 'DFIR-_主机名_-_年_-_月_-_日_' 命名的文件夹中组织输出。该文件夹最终会被压缩,以便远程收集。此脚本也可在 Defender For Endpoint 的实时响应会话中使用(见下文)。当以普通用户身份运行时,DFIR 脚本收集以下信息: - 本地 IP 信息 - 打开的连接 - 自启动信息(启动文件夹和注册表 Run 键) - 活动用户 - 本地用户 - 从 Office 应用程序建立的连接 - 活动的 SMB 共享 - RDP 会话 - 活动进程 - 活动的 USB 连接 - PowerShell 历史记录 - DNS 缓存 - 已安装的驱动程序 - 已安装的软件 - 运行的服务 - 计划任务 - 浏览器历史记录和配置文件 为获得最佳体验,请以管理员身份运行脚本,届时将额外收集以下项目: - Windows 安全事件 - 远程打开的文件 - 卷影副本 - MPLogs - Defender 排除项 - 所有用户的 PowerShell 历史记录 ## SIEM 导入功能 取证数据以 CSV 文件形式导出,允许响应人员将其导入 Sentinel、Splunk、Elastic 或 Azure Data Explorer 等工具中进行过滤、聚合和可视化。 文件夹 *CSV Results (SIEM Import Data)* 包含所有包含取证数据的 CSV 文件: ``` Name ---- 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-Script.ps1 ``` 该脚本未签名,可能需要使用 -ExecutionPolicy Bypass 参数来运行脚本。 ``` Powershell.exe -ExecutionPolicy Bypass .\DFIR-Script.ps1 ``` ## Defender For Endpoint 实时响应集成 可以将这些脚本与 Defender For Endpoint 实时响应结合使用。请确保实时响应已设置(参见文档)。由于我的脚本未签名,必须更改设置才能运行该脚本。 有一篇博客文章详细介绍了如何在实时响应中利用自定义脚本:[事件响应第三部分:利用实时响应](https://kqlquery.com/posts/leveraging-live-response/) 要在实时响应中运行未签名的脚本: - 访问 Security.microsoft.com - 导航至 设置 > 端点 > 高级功能 - 确保已启用实时响应 - 如需要,为服务器启用实时响应 - 启用实时响应未签名脚本执行 执行脚本: - 转到设备页面 - 发起实时响应会话 - 将文件上传到库以上传脚本 - 将脚本上传到库后,执行:```run DFIR-script.ps1``` 以启动脚本。如果希望使用参数运行脚本,应执行 ```run DFIR-Script.ps1 -parameters "-sw 10"``` - 执行 ```getfile DFIR-DeviceName-yyyy-mm-dd``` 以将检索到的取证数据下载到本地机器进行分析。 ### 文档 - [Microsoft 文档 实时响应](https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/live-response?view=o365-worldwide) - [DFE 用户权限](https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/user-roles?view=o365-worldwide) - [Defender For Endpoint 设置 实时响应](https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/advanced-features?view=o365-worldwide#live-response)
标签:AI合规, Libemu, 子域枚举