Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Getfact

English 中文

跨平台自动化安全应急响应数据采集与分析工具

Go Vue Platforms License Version

一键采集目标主机 27 项关键安全数据,加密输出报告,GUI 可视化分析 专为网络安全应急响应入侵排查挖矿病毒溯源场景设计

下载 Release · 快速开始 · 功能特性 · 截图预览


为什么选择 Getfact?

痛点 Getfact 的解决方案
手动排查耗时数小时 一键采集 27 项数据,2 分钟完成
各平台命令不同 跨平台统一,Windows/Linux/macOS/麒麟
采集数据散乱 结构化 JSON 报告,加密存储
命令行输出难以分析 GUI 可视化界面,搜索/排序/分页
中英文环境切换 中英双语支持,一键切换

🚀 快速开始

三步完成应急排查

步骤 1 步骤 2 步骤 3
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ 目标主机 │ JSON │ 分析主机 │ │ 查看数据 │
│ 运行 Agent │ ──────> │ 运行 GUI │ ──────> │ 搜索/筛选 │
│ agent.exe │ (加密) │ getfact-gui │ │ 排查威胁 │
└─────────────┘ └──────────────┘ └──────────────┘

在目标主机运行 Agent:

# Windows(建议以管理员身份运行)
agent.exe
# Linux / 麒麟
sudo ./agent_linux_amd64
# macOS
sudo ./agent_darwin_arm64

在分析主机运行 GUI:

getfact-gui.exe
# 点击「打开文件」→ 加载 Agent 生成的加密报告 → 开始分析

📦 下载

Releases 页面下载对应平台的可执行文件:

Agent(部署到目标主机)

平台 文件名 架构
Windows agent.exe x86-64
Linux agent_linux_amd64 x86-64
Linux / 麒麟 agent_linux_arm64 ARM64
macOS (Intel) agent_darwin_amd64 x86-64
macOS (Apple Silicon) agent_darwin_arm64 ARM64

GUI 分析端

平台 文件名 说明
Windows getfact-gui.exe 需要 WebView2 运行时

Agent 为单文件可执行程序,无需安装,无外部依赖,拷贝即用。


✨ 功能特性

27 项数据采集

🖥️ 系统信息

  • 系统信息
  • 硬件信息(CPU/内存/磁盘/GPU)
  • 已装软件
  • 系统补丁
  • 环境变量

⚙️ 进程与服务

  • 进程列表(含 CPU%/内存%)
  • 系统服务
  • 计划任务
  • 启动项

🌐 网络信息

  • 网络连接
  • IP 信息
  • HOST 文件
  • 路由表
  • ARP 缓存
  • DNS 缓存
  • 防火墙规则
  • 共享资源
  • 远程桌面

🔍 取证信息

  • 用户信息(含 SID)
  • Shell 命令历史
  • 剪切板内容
  • Recent 文件
  • Prefetch 文件
  • 近期修改文件
  • 浏览器信息
  • USB 设备记录
  • 系统日志

GUI 分析功能

功能 说明
全局搜索 每个模块页面内置搜索框,支持按任意字段模糊搜索
智能排序 表格列头点击排序,日期列默认按最新优先
分页浏览 支持 20/50/100/200 条每页,适配大数据量
数据加密 Agent 输出 AES-256-GCM 加密文件,GUI 自动解密
黑白主题 支持 Dark / Light 主题切换,偏好自动保存
中英双语 一键切换中文 / English 界面
进程资源 进程列表显示 CPU%、内存%、磁盘 IO
GPU 信息 显卡型号、显存、使用率、驱动版本

安全特性

特性 说明
纯本地运行 Agent 无网络通信,所有数据本地采集
AES-256-GCM 加密 采集报告加密存储,防止数据泄露
单文件部署 无需安装,不写注册表,不留驻后台
兼容未加密 GUI 同时支持加密和未加密的历史报告

📸 截图预览

概览页面

加载报告后,一览全部 27 个模块的数据统计

概览页面

进程列表

显示进程名、PID、CPU%、内存%、磁盘 IO,支持搜索和排序

进程列表

网络连接

TCP/UDP 连接详情,支持按协议筛选、按端口排序

网络连接

防火墙规则

完整防火墙规则列表,支持搜索规则名称

防火墙规则

硬件信息

CPU、GPU、内存、磁盘信息一览

硬件信息

已装软件

按安装日期倒序排列,快速搜索定位可疑软件

已装软件

主题切换

支持 Dark / Light 双主题

Dark 主题 Light 主题
Dark Light

语言切换

支持中文 / English 双语言,一键切换界面语言

语言切换


📂 输出说明

文件位置

平台 输出目录 文件名格式
Windows C:\Getfact\ {主机名}_{时间戳}.json
Linux/macOS /tmp/Getfact/ {主机名}_{时间戳}.json

文件格式

Agent 输出的 .json 文件经 AES-256-GCM 加密,直接打开显示为二进制乱码。使用 getfact-gui.exe 可自动解密并可视化展示。

×ばつŒÑ... │ │ "version": "1.1", │ ────> │ (不可直接阅读) │ │ "modules": {...} │ GCM │ │ │ } │ │ │ └──────────────────────┘ └──────────────────────┘">
加密前 (JSON) 加密后 (二进制)
┌──────────────────────┐ ┌──────────────────────┐
│ { │ AES │ ×ばつŒÑ... │
│ "version": "1.1", │ ────> │ (不可直接阅读) │
│ "modules": {...} │ GCM │ │
│ } │ │ │
└──────────────────────┘ └──────────────────────┘

⚙️ 系统要求

Agent

平台 最低要求 建议
Windows Windows 7+ Windows 10/11,管理员权限
Linux glibc 2.17+(CentOS 7+) root 权限获取完整数据
macOS macOS 10.12+ root 权限获取完整数据
麒麟 Kylin V10 ARM64 root 权限

GUI

  • Windows 10 及以上
  • WebView2 运行时(首次运行自动提示安装)

🔐 权限说明

部分模块需要管理员/root 权限才能获取完整数据:

模块 普通用户 管理员/root
进程列表 基本信息 + 完整命令行 + 其他用户进程
网络连接 连接信息 + 关联进程 PID
防火墙 ✅ (Windows) ✅ (Linux/macOS 需 root)
Prefetch ❌ 无权限 ✅ (仅 Windows)
系统日志 ✅ (Windows) ✅ (Linux/macOS 需 root)
GPU 信息 ✅ 基本信息 ✅ (nvidia-smi 需在 PATH 中)

建议以管理员/root 身份运行 Agent 以获取最完整的数据。


🏗️ 技术架构

┌─────────────────────────────────────────────────────────────┐
│ Getfact │
├────────────────────────┬────────────────────────────────────┤
│ │ │
│ Agent (Go) │ GUI (Wails v2 + Vue 3) │
│ │ │
│ ┌────────────────┐ │ ┌──────────────────────────┐ │
│ │ 27 个采集器 │ │ │ 前端 (Vue 3 + TDesign) │ │
│ │ 平台特定实现 │ │ │ • 27 个视图页面 │ │
│ │ _windows.go │ │ │ • Pinia 状态管理 │ │
│ │ _linux.go │ │ │ • vue-i18n 国际化 │ │
│ │ _darwin.go │ │ │ • Dark/Light 主题 │ │
│ └───────┬────────┘ │ └──────────┬───────────────┘ │
│ ↓ │ ↑ │
│ ┌────────────────┐ │ ┌──────────┴───────────────┐ │
│ │ AES-256-GCM │ │ │ Go 后端 │ │
│ │ 加密输出 │───┼──>│ AES-256-GCM 解密 │ │
│ │ .json 文件 │ │ │ JSON 解析 │ │
│ └────────────────┘ │ └──────────────────────────┘ │
│ │ │
└────────────────────────┴────────────────────────────────────┘

技术栈

组件 技术
Agent Go 1.21+, gopsutil v3
GUI 后端 Go + Wails v2
GUI 前端 Vue 3 + TDesign Vue Next + Pinia + vue-i18n
加密 AES-256-GCM (crypto/aes)
GPU 采集 nvidia-smi / WMIC / lspci / system_profiler

📊 性能参考

指标 数值
Agent 采集时间 1-3 分钟
Agent 体积 ~5 MB(单文件)
GUI 体积 ~12 MB(单文件)
报告大小 5-100 MB(取决于系统)
典型进程数 100-500+
典型防火墙规则 500-2000+
典型软件数 100-500+

❓ 常见问题

Q: Agent 采集需要联网吗?

不需要。Agent 纯本地运行,不发送任何网络请求,不连接外部服务器。

Q: 采集的 JSON 文件直接打开是乱码?

这是正常现象。从 v1.1.0 起,Agent 输出的报告使用 AES-256-GCM 加密。请使用 getfact-gui.exe 打开文件,GUI 会自动解密。

Q: Prefetch 模块显示无数据?

Prefetch 仅在 Windows 上可用,且需要管理员权限。请右键 Agent → 以管理员身份运行。

Q: Linux 上网络连接的 PID 显示为 0?

需要 root 权限。使用 sudo ./agent_linux_amd64 运行。

Q: GPU 信息只显示型号,没有使用率?

完整 GPU 数据(使用率、显存占用)需要 NVIDIA 驱动并安装 nvidia-smi。非 NVIDIA 显卡仅采集基本型号信息。

Q: 如何分析 Linux/macOS 主机的数据?

在目标主机运行 Agent → 将生成的 .json 文件传输到 Windows 主机 → 使用 GUI 打开分析。


🗺️ 路线图

  • 异常行为自动检测(可疑进程、异常连接标红)
  • HTML 报告导出
  • Linux/macOS GUI 支持
  • Agent 命令行参数(指定模块、输出目录)
  • 多报告对比分析

📄 免责声明

本软件仅供技术交流与学习使用,作者不对使用本软件所造成的任何直接或间接损失(包括但不限于数据丢失、系统崩溃、法律风险等)承担任何责任。请在遵守当地法律法规的前提下使用。


致谢

本项目使用了以下开源组件:


Getfact — 让应急响应更快一步

About

一键采集目标主机 27 项关键安全数据,加密输出报告,GUI 可视化分析 专为网络安全应急响应、入侵排查、挖矿病毒溯源等异地应急场景设计

Resources

Stars

70 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /