asimtarapathak/Parthasarathi

GitHub: asimtarapathak/Parthasarathi

跨平台 DFIR CLI 工具包,提供菜单驱动的工件收集、浏览器取证和引导式事件响应,帮助蓝队快速分诊并标准化取证流程。

Stars: 0 | Forks: 0

# ParthaSarathi DFIR 与事件响应工具包 ![Python](https://img.shields.io/badge/Python-3.10%2B-blue) ![平台](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-brightgreen) ![许可证](https://img.shields.io/badge/License-See%20repo-lightgrey) 一个跨平台的 DFIR CLI 工具,用于工件收集、浏览器取证和引导式事件响应,支持 Windows、Windows Server、Linux 和 macOS,并提供菜单驱动的工作流。 prototype 1 jpg ## 快速开始 1. 从仓库的 **Releases** 页面下载最新的 `ParthaSarathi-full-bundle.zip`。 2. 将 ZIP 文件解压到本地文件夹。 3. 创建并激活 Python 虚拟环境。(可选步骤) 4. 安装依赖并以管理员用户模式启动 CLI。 发布包包含 CLI、支持模块、`platforms/` 和 `bin/`,因此您可以直接从解压后的文件夹开始使用,而无需克隆仓库。 下载发布 ZIP 后,首先将其解压: ``` # Windows PowerShell Expand-Archive -Path ParthaSarathi-full-bundle.zip -DestinationPath ParthaSarathi ``` ``` # Linux / macOS unzip ParthaSarathi-full-bundle.zip ``` ``` # 示例:解压 ParthaSarathi-full-bundle.zip 后,以管理员模式运行 cmd/powershell cd ParthaSarathi python -m venv .venv #(optional step) # Windows .\.venv\Scripts\activate #(optional step) pip install -r requirements.txt python parthasarathi.py ``` ``` # Linux/macOS # 示例:解压 ParthaSarathi-full-bundle.zip 后, cd ParthaSarathi python3 -m venv .venv #(optional step) # source .venv/bin/activate #(可选步骤) pip3 install -r requirements.txt sudo python3 parthasarathi.py ``` ## 首次运行:就绪检查 当您首次启动 ParthaSarathi 时,请使用主菜单中的 **就绪检查** 选项。此诊断将扫描您的系统,并报告您的平台上可用的工件和 IR 操作。它有助于在开始收集工件之前确认所有必要的工具和权限均已就绪。 ss1 ## 概述 本项目作为一个实用的 DFIR 工具而构建,旨在展示: - 跨平台工件收集 - 事件响应分诊与遏制 - 浏览器取证与证据保全 - 发现结果的结构化导出,用于报告生成 - 高影响操作的就绪检查与安全执行流程 该工具特意采用菜单驱动设计,以便在实时分诊、实验室练习和演示场景中使用,而无需用户记住各种命令。 ## 目标 - 在 Windows、Linux 和 macOS 上提供统一的 DFIR 工作流 - 减少事件分诊和证据收集期间的手动工作量 - 将输出标准化为可导出的格式,以便进行分析和报告 - 提供安全的、引导式的事件响应操作,并在适当时支持试运行 - 通过结构化菜单和就绪检查提高调查的可重复性 ## 主要特性 - 跨平台工件收集 - 针对每个平台的引导式事件响应菜单 - 主流浏览器的浏览器工件收集 - 支持 CSV、JSON、XLSX 和 PDF 导出 - 就绪与兼容性检查 - 证据收集与隔离友好的工作流 - 覆盖进程、网络、持久化和文件系统工件 - 针对 Safari 数据等敏感工件的 macOS 隐私感知处理 ## 使用的工具与技术 | 类别 | 技术 | |---|---| | 语言 | Python | | CLI UI | Rich | | 数据处理 | pandas | | Excel 导出 | openpyxl | | PDF 导出 | reportlab | | 进程工具 | psutil | | 可选 IOC 扫描 | yara-python | | 工件模型 | osquery 支持的查询 + 原生平台收集器 | ## 项目结构 ``` ParthaSarathi/ ├── parthasarathi.py # Main CLI, menu logic, platform workflows ├── utils.py # osquery runner, command wrapper, export helpers ├── queries.py # Windows osquery artifact catalog ├── platforms/ │ ├── windows.py # Windows special artifacts and IR keys │ ├── linux.py # Linux special artifacts and IR keys │ └── macos.py # macOS special artifacts and IR keys ├── bin/ │ ├── windows/ # Bundled Windows binaries │ ├── linux/ # Bundled Linux binaries │ └── macos/ # Bundled macOS binaries ├── outputs/ # Exported artifact and readiness files ├── collected/ # Collected files during IR actions └── README.md ``` ## 方法论 / 调查流程 ParthaSarathi 遵循实用的 DFIR 工作流: 1. **识别平台** - 检测运行时操作系统并加载正确的工件目录。 2. **运行就绪检查** - 在收集前确认命令可用性和受支持的工件集。 3. **收集工件** - 在适当时使用 osquery。 - 对于特定平台或隐私敏感的来源,回退到原生平台收集器。 4. **审查发现结果** - 以可读表格的形式呈现结果。 - 帮助分析人员发现可疑进程、服务、持久化、浏览器活动和网络暴露。 5. **导出证据** - 以便于分析的格式保存结果,用于后续报告和验证。 6. **执行响应操作** - 提供引导式的遏制和清理操作,并在需要时支持试运行。 ## 如何运行 使用以下命令启动 CLI: ``` sudo python parthasarathi.py ``` 然后使用交互式菜单进行选择: - 工件收集 - 浏览器工件 - 事件响应操作 - 就绪/诊断工作流 ## 工件覆盖范围 | 平台 | 覆盖摘要 | |---|---| | Windows | 主机分诊、持久化、计划任务、RDP、Defender、网络暴露、浏览器和文件证据 | | Windows Server | 服务器清单、SMB/WinRM、Active Directory 上下文、域控制器、信任关系、特权组 | | Linux | 系统上下文、进程、用户、端口、防火墙、服务、cron/systemd 持久化、Shell 历史记录、文件证据 | | macOS | 系统上下文、进程、用户、端口、PF 防火墙、launchd 持久化、隐私敏感工件、浏览器证据 | 各平台详细的工件列表如下。 ### Windows 工件选项 | 类别 | 工件 | 用途 | |---|---|---| | 探测 | `processes` | 正在运行的进程及命令行 | | 探测 | `services` | Windows 服务及服务状态 | | 探测 | `scheduled_tasks` | 计划任务清单 | | 探测 | `users` | 本地用户账户 | | 探测 | `logged_in_users` | 登录用户和会话 | | 探测 | `mounted_filesystems` | 已挂载的卷和文件系统 | | 探测 | `system_info_detailed` | 详细的系统配置文件 | | 探测 | `installed_programs` | 已安装的程序和版本 | | 探测 | `process_tree` | 父/子进程树 | | 探测 | `listening_ports` | 监听端口和拥有进程 | | 持久化 | `autoruns_registry` | 注册表自启动项 | | 持久化 | `registry_autoruns` | 注册表 Run 和 RunOnce 键 | | 持久化 | `autoruns_startupfolders` | 启动文件夹项 | | 持久化 | `wmi_persistence` | WMI 订阅和持久化工件 | | 持久化 | `shellbags` | ShellBag 活动工件 | | 持久化 | `jumplists` | JumpList 活动工件 | | 持久化 | `lnk_files` | 快捷方式和最近活动工件 | | 持久化 | `ifeo` | 映像文件执行选项 钩子 | | 持久化 | `powershell_history` | PowerShell 命令历史记录 | | 持久化 | `suspicious_autoruns` | 非标准自启动项 | | 取证 | `file_details` | 文件哈希、时间戳和元数据 | | 取证 | `file_modification_events` | 近期文件修改事件 | | 取证 | `amcache` | Amcache 执行痕迹 | | 取证 | `shimcache` | ShimCache / AppCompatCache 痕迹 | | 取证 | `windows_eventlog` | 近期系统日志条目 | | 取证 | `event_logs` | 近期安全日志条目 | | 取证 | `powershell_events` | PowerShell 操作日志事件 | | 取证 | `browser_downloads` | 浏览器下载历史记录 | | 取证 | `firefox_addons` | Firefox 附加组件清单 | | 取证 | `recycle_bin_files` | 回收站证据 | | 取证 | `ransomware_suspects` | 双扩展名文件搜寻 | | 网络 | `process_open_sockets` | 进程到套接字的映射 | | 网络 | `network_interface` | 网络接口和地址 | | 网络 | `arp_cache` | ARP 缓存 | | 网络 | `network_routes` | 网络路由表 | | 网络 | `proxy_settings` | 代理配置 | | 网络 | `hosts_file_dns_info` | Hosts 文件和 DNS 缓存信息 | | 网络 | `firewall_rules` | Windows 防火墙规则 | | 网络 | `network_exposure_windows` | 暴露的服务、监听器和防火墙配置文件视图 | | 网络 | `rdp_enabled_check` | RDP 状态验证 | | 网络 | `rdp_logs` | 与 RDP 相关的安全事件 | | 网络 | `wlan_profiles` | Wi-Fi 配置文件清单 | | 网络 | `usb_devices` | 已连接的 USB 设备 | | 网络 | `usb_deviceclasses` | USB 设备类注册表痕迹 | | 网络 | `mounted_devices` | 已挂载设备注册表痕迹 | | 检测 | `dll_hijacking_checks` | 潜在的 DLL 劫持指标 | | 检测 | `process_injection_detection` | 可疑的内存映射或注入检查 | | 检测 | `detect_base64_commands` | 编码命令搜寻 | | 检测 | `detect_suspicious_scheduled_tasks` | 可疑计划任务 | | 检测 | `lsass_handles` | 启发式 LSASS 访问搜寻 | | 检测 | `executables_appdata` | 暂存于用户 AppData 路径中的可执行文件 | | 检测 | `processes_downloads` | 从 Downloads 文件夹运行的进程 | | 检测 | `processes_temp` | 从 Temp 文件夹运行的进程 | | 检测 | `defender_status` | Windows Defender / AV 状态 | ### Windows Server / AD 专项选项 | 类别 | 工件 | 用途 | |---|---|---| | 服务器主机 | `server_host_context` | 服务器版本、运行时间和域角色 | | 服务器主机 | `server_installed_roles` | 已安装的 Windows Server 角色和功能 | | 服务器主机 | `server_local_admins` | 本地管理员组成员 | | 服务器主机 | `server_network_exposure` | 服务器暴露摘要 | | 服务器主机 | `server_rdp_sessions` | 活动的 RDP / 终端会话 | | 远程管理 | `server_winrm_config` | WinRM 服务和监听器配置 | | 远程管理 | `server_smb_shares` | SMB 共享和共享配置 | | 远程管理 | `server_smb_sessions` | 活动的 SMB 会话 | | AD / 目录 | `server_ad_critical_services` | AD 和基础架构关键服务状态 | | AD / 目录 | `server_recent_account_changes` | 近期的账户、组和安全更改 | | AD / 目录 | `server_ad_domain_context` | AD 域和林上下文 | | AD / 目录 | `server_ad_domain_controllers` | 域控制器清单 | | AD / 目录 | `server_ad_privileged_group_members` | 特权 AD 组成员身份 | | AD / 目录 | `server_ad_trusts` | AD 信任关系 | ### Linux 工件选项 | 类别 | 工件 | 用途 | |---|---|---| | 探测 | `linux_system_context` | 主机名、内核、发行版和运行时间 | | 探测 | `linux_process_snapshot` | 进程快照 | | 探测 | `linux_logged_in_users` | 登录用户和会话 | | 探测 | `linux_listening_ports` | 监听端口 | | 探测 | `linux_network_connections` | 活动的网络连接 | | 探测 | `linux_services_snapshot` | 服务快照 | | 探测 | `linux_process_tree` | 进程谱系树 | | 持久化 | `linux_startup_persistence` | Cron/systemd 持久化 | | 持久化 | `linux_user_startup_persistence` | 用户启动持久化 | | 持久化 | `linux_startup_autoruns` | 已启用的服务和 init 脚本 | | 持久化 | `linux_shell_history_collection` | Shell 历史记录收集 | | 持久化 | `linux_login_session_correlation` | 登录和会话关联 | | 取证 | `linux_auth_events_recent` | 近期认证事件 | | 取证 | `linux_sudoers_and_privilege_paths` | 权限路径和 sudoers 条目 | | 取证 | `linux_recent_privilege_events` | 近期权限提升事件 | | 取证 | `linux_user_accounts_and_group_privileges` | 用户和组权限概述 | | 取证 | `linux_recent_executable_writes_execution_correlation` | 写入/执行关联 | | 取证 | `linux_systemd_unit_anomalies` | 可疑的 systemd 单元和覆盖配置 | | 取证 | `linux_world_writable_and_suid_scan` | 高风险的任何人可写和 SUID 文件扫描 | | 取证 | `linux_file_metadata` | 文件元数据和哈希 | | 网络 | `linux_firewall_rules_snapshot` | 防火墙状态和规则 | | 网络 | `linux_exposed_services` | SSH/Telnet/FTP 和有风险的监听器 | | | `linux_network_route_arp_dns` | 路由、ARP 和 DNS 快照 | | 网络 | `linux_dns_cache_and_resolver` | DNS 缓存和解析器设置 | | 网络 | `linux_suspicious_network_listeners_by_process` | 监听器/进程映射 | | 检测 | `linux_kernel_modules` | 已加载的内核模块和可疑指标 | ### macOS 工件选项 | 类别 | 工件 | 用途 | |---|---|---| | 探测 | `macos_system_context` | 主机、版本、内核、SIP 和运行时间 | | 探测 | `macos_process_snapshot` | 进程快照 | | 探测 | `macos_process_tree_of_pid` | 所选 PID 的祖先和后代 | | 探测 | `macos_logged_in_users` | 登录用户和会话 | | 探测 | `macos_listening_ports` | 监听端口 | | 探测 | `macos_network_connections` | 活动的网络连接 | | 探测 | `macos_services_snapshot` | launchd 服务快照 | | 探测 | `macos_user_accounts_and_group_privileges` | 用户、组和管理员组成员 | | 持久化 | `macos_startup_persistence` | LaunchAgents、LaunchDaemons 和登录项 | | 持久化 | `macos_user_startup_persistence` | 用户启动工件 | | 持久化 | `macos_launchd_unit_anomalies` | launchd 异常和异常的 plists | | 持久化 | `macos_shell_history_collection` | Shell 历史记录收集 | | 持久化 | `macos_login_session_correlation` | 登录/会话关联 | | 取证 | `macos_auth_events_recent` | 近期认证和安全事件 | | 取证 | `macos_sudoers_and_privilege_paths` | sudoers 和权限路径 | | 取证 | `macos_recent_privilege_events` | 近期权限提升事件 | | 取证 | `macos_installed_apps` | 包含哈希的已安装应用清单 | | 取证 | `macos_quarantine_attributes` | 隔离属性发现结果 | | 取证 | `macos_recently_deleted_files` | 已删除文件和废纸篓工件 | | 取证 | `macos_tcc_privacy_permissions` | TCC 隐私权限快照 | | 取证 | `macos_gatekeeper_assessment` | Gatekeeper 和公证指标 | | 取证 | `macos_recent_executable_writes_execution_correlation` | 可执行文件写入/执行关联 | | 取证 | `macos_world_writable_and_suid_scan` | 任何人可写和 SUID 扫描 | | 取证 | `macos_file_metadata` | 文件元数据和哈希 | | 网络 | `macos_firewall_rules_snapshot` | PF 和应用防火墙快照 | | 网络 | `macos_exposed_services` | SSH/Telnet/FTP/RDP 和有风险的监听器 | | 网络 | `macos_network_route_dns` | 路由、接口和 DNS 快照 | | 网络 | `macos_usb_external_device_timeline` | USB 和外部设备时间线 | | 检测 | `macos_kernel_extensions` | 内核和系统扩展指标 | ## 浏览器取证 支持的浏览器工作流包括: - 浏览器检测与配置文件发现 - 历史记录导出 - 下载历史导出 - Cookie 导出 - 扩展程序清单 - 扩展程序风险评分 ### Safari 处理 Safari 工件的处理考虑了 macOS 的隐私限制。 在直接访问数据库被阻止的情况下,该工具使用回退方案,并显示清晰的完全磁盘访问权限引导信息。 ## 事件响应能力 ### Windows IR - 进程列出与终止 - 文件收集 - 防火墙规则创建/删除 - 服务操作 - 事件日志导出 - 注册表配置单元保存工作流 - 用户和持久化响应操作 - 与 RDP 相关的工作流 - 在兼容系统上的服务器/AD 响应选项 ### Windows Server IR - 包含所有 Windows IR 功能,此外还包括: - SMB 共享枚举和会话处理 - WinRM 远程管理工作流 - Active Directory 用户、组和权限响应操作 - 域控制器和信任监控 - 服务器角色和服务响应操作 - 网络隔离和防火墙策略强制执行 - AD 事件日志导出和取证审查 ### Linux IR - 进程操作 - 命令执行 - 防火墙操作 - SSH/Telnet/FTP/RDP 系列服务控制 - 服务停止/移除工作流 - 主机隔离与回滚 - 用户管理操作 - Cron 清理、按端口终止、隔离与恢复 ### macOS IR - SSH 服务切换 - 旧版 Telnet/FTP/RDP 类标签处理,在适当时提供清晰的不支持提示信息 - 基于 PF 锚点的防火墙阻止/解除阻止 - 主机隔离与回滚 - 服务停止/移除验证 - 用户管理操作 - Cron 清理、按端口终止、隔离与恢复 ## 输出和证据处理 - 导出文件写入 `outputs/` - 收集的文件写入 `collected/` - 诊断和就绪报告以 JSON 和 CSV 格式写入 `outputs/` ## 输出示例 / 屏幕截图 | 平台 | 屏幕截图 | |---|---| | Windows | win1 3 | | Windows Server | ws1 3 | | Linux | li1 3 | | macOS | mac1 3 | ## 注意事项 - 某些 Linux 服务系列依赖于特定的发行版,在发现或切换之前可能需要安装额外的软件包。 - 对于特权操作,请以足够的权限运行(Linux 下使用 `sudo`,Windows 下使用提升的 Shell,macOS 下在需要时授予完全磁盘访问权限)。 - 工件的可用性可能因主机操作系统版本、已安装的工具和本地隐私设置而异。
标签:ESC漏洞, HTTP工具, Pip, Python, Python 3.10, RedTeaming, VirtualEnv, Windows Server, 命令行界面, 子域名变形, 安全排查, 安全脚本, 库, 应急响应, 应急响应指南, 数字取证, 无后门, 浏览器取证, 痕迹收集, 系统诊断, 网络安全, 自动化收集, 自动化脚本, 菜单驱动, 证据收集, 逆向工具, 隐私保护