工具项目
文集大纲加载中……
小迪安全知识库
-
+
首页
面向Windows取证工具集
面向Windows取证工具集
项目地址 https://github.com/KSwordDEV/KSword KSword是一款面向 Windows 平台的开源 ARK(Anti-RootKit)、内核调试与系统取证工具集。它提供了从用户态(R3)到内核态(R0)的完整交叉视图分析能力,支持进程、线程、内存、驱动、网络、文件系统等多维度的系统级审计与取证。              ## 组件详解 ### Ksword(完整 Qt 应用) 基于 **Qt 6.9.3** 和 **ADS(Advanced Docking System)** 构建的完整桌面应用,提供完整的 ARK 工作流。 **技术栈**: * Qt 6.9.3 `msvc2022_64` * ADS 浮动/停靠布局 * 懒加载 Dock 初始化 ### KswordARKLight(轻量版) **定位**:低资源环境、旧系统、快速响应场景 **技术特点**: * 纯原生 Win32/C++,**不依赖 Qt** * 按需加载模块:启动时创建低成本占位页,激活时实例化真实页面 * 复用 `shared/driver/` 协议和 `ArkDriverClient` 包装器 * `DriverService` 可从 EXE 资源恢复 `KswordARK.sys` **覆盖模块**:进程、内存、注册表、文件、驱动、内核、监控、硬件、窗口、启动项、网络、句柄、安全杂项 ### KswordARKDriver(内核驱动) **文件**:`KswordARKDriver.sys` **核心职责**: * 进程、线程、句柄、内存、网络、内核对象、设备、安全审计协议实现 * IOCTL 分发通过 `ioctl_registry.c` 注册,`ioctl_dispatch.c` 仅负责查找、验证、调用、日志和完成 **关键技术**: * **DynData 协议**:`shared/driver/KswordArkDynDataIoctl.h` 集中管理 R0/R3 动态偏移 * **进程隐藏恢复**:`IOCTL_KSWORD_ARK_SET_PROCESS_VISIBILITY`,修改 `_EPROCESS.UniqueProcessId` 和 `ActiveProcessLinks` 脱链,保留 PspCidTable 记录以便恢复 * **PPL 变更**:需 `KSW_CAP_PROCESS_PROTECTION_PATCH`,确认对话框显示当前/目标 Protection、SignatureLevel 影响 * **能力矩阵**:`KwordArkCapabilityIoctl.h` 统一驱动状态/能力协议,显示驱动加载状态、协议匹配、DynData 缺失、安全策略、功能能力矩阵 ### Launcher(启动器) * 纯 Win32 启动和兼容性助手 * 检查可读支持清单(`profiles/launcher_support_manifest.json`)后启动 Qt 或 Light 目标 * 当加载的内核模块缺少偏移时,可准备离线开发者收集包 ### KswordCLI(命令行工具) 用于自动化、验证和故障排查的命令行接口。 ### KswordSetup(安装程序) * 将 `Release\` 负载嵌入为 RCDATA * 提取文件、可选写入外观/启动设置、创建快捷方式 * 需要时触发 UAC(如任务管理器替换、测试签名) ### DynData / PDB 偏移解析 **问题**:Windows 内核结构(如 `_EPROCESS`、`_ETHREAD`)的字段偏移在不同版本间变化,硬编码不可行。 **解决方案** ``` ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐│ ark_dyndata_ │────▶│ DynData 解析器 │────▶│ 驱动能力门控 ││ pack_v3.json │ │ (R3 + R0 共享) │ │ (Capability Gate)│└─────────────────┘ └──────────────────┘ └─────────────────┘ │ ▼┌─────────────────┐│ 运行时 PDB 解析 │ ← 打包配置不匹配时后台解析│ (DbgHelp 会话) │ 需 PE/PDB 身份校验通过后应用└─────────────────┘ ``` **数据来源**: * 内置 `System Informer` 动态偏移数据(`third_party/systeminformer_dyn/`) * 运行时 PDB 解析(`tools/pdb_offset_generator/` 生成配置包) **安全机制**: * 缺失或不匹配的 DynData 必须安全降级或失败关闭 * R0 功能声明所需能力,分发层在 Handler 前应用门控 ### R3/R0 交叉视图 **原理**:对比用户态 API(如 `NtQuerySystemInformation`)与内核态直接读取的数据,发现被 RootKit 隐藏的对象。 **典型应用场景**: 场景 R3 视图 R0 视图 差异意义 进程隐藏 `NtQuerySystemInformation` 返回空 遍历 `PsActiveProcessHead` 发现进程 存在隐藏进程 驱动隐藏 `EnumDeviceDrivers` 未列出 `KLDR_DATA_TABLE_ENTRY` 链表存在 存在隐藏驱动 网络连接 `GetExtendedTcpTable` 缺失 `TCP_ENDPOINT` / `AFD` 对象存在 存在隐藏连接 ### 受控字节编辑(Scanner Dock) 针对 PE/ELF/Mach-O 文件的结构化扫描和编辑: 1. **后台扫描**:识别文件结构(节区、导入表、导出表等) 2. **编辑约束**: * 仅允许**长度保持**的修改 * 需显式风险确认 * 重新验证原始快照 * **原子替换**目标文件 * 可选保留备份 ### HVM(Hyper-V / VMX)支持 * VMX 自检(需显式确认) * 一次性测试客户机(One-shot test guest) * VM-exit 遥测 * **仅限授权实验室和诊断环境使用**
xiaodi
2026年9月19日 16:01
4
0 条评论
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档
PDF文档(打印)