Skip to content

dogadmin/ProcIR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProcIR - Windows 应急响应进皋排查工具

GitHub Release äž­æ–‡ | English

面向安党工皋垈的䞀键匏应急响应工具快速定䜍朚马、后闚、持久化、癜加黑、内存泚入等嚁胁。


工具定䜍

ProcIR 是䞀䞪非垞驻、非 Agent、纯本地的 Windows 应急响应排查工具。

讟计场景䜠接到应急响应任务䞊机后需芁圚最短时闎内搞枅楚

  • 哪些进皋可疑
  • 有没有持久化后闚
  • 有没有癜加黑 / DLL 劫持
  • 有没有历史执行痕迹
  • 攻击铟是怎样的

䌠统做法是手劚跑䞀堆呜什tasklist、netstat、autoruns、schtasks...逐䞪比对莹时莹力。ProcIR 把这些党自劚化了䞀次扫描党绎床分析按风险排序盎接告诉䜠该看哪䞪。

栞心理念䞍是杀蜯䞍做查杀只做发现和研刀蟅助。


特性

  • 单文件运行无需安装无倖郚䟝赖11MB
  • 纯 Go 实现无 CGO拷莝即甚
  • 非垞驻扫描完就退䞍圱响䞚务
  • 䞍联眑所有分析纯本地完成AI 分析功胜陀倖需联眑调甚 API
  • 双暡匏运行内嵌 Web UIGUI+ 纯呜什行暡匏CLI支持 JSON/CSV 富出
  • 13 䞪分析视囟芆盖从进皋到内存的完敎攻击面
  • AI 智胜分析䞭文 MiniMax / 英文 Claude䞀键将扫描结果亀给 AI 研刀
  • 䞭英文党量双语UI + 后端 400+ 条检测规则/风险原因党郚支持䞭英文切换

快速匀始

GUI 暡匏默讀

# 盎接运行自劚打匀浏览噚
procir.exe

# 垊 YARA 规则
procir.exe -yara rules.yar
procir.exe -yara C:\yara-rules\

运行后自劚打匀浏览噚点「匀始扫描」等埅数秒即可看到结果。

CLI 暡匏纯呜什行

无需 GUI扫描完成后盎接富出数据文件适合自劚化脚本、远皋 SSH、无桌面环境等场景。

# 扫描并富出 JSON默讀栌匏
procir.exe -cli -o result.json

# 扫描并富出 CSV
procir.exe -cli -o result.csv -format csv

# 加蜜 YARA 规则扫描富出党量结果
procir.exe -cli -yara ./rules -o scan.json

# 仅富出 YARA 匹配结果
procir.exe -cli -yara ./rules -yara-export -o yara_hits.json

# 䞍指定 -o自劚生成垊时闎戳的文件名
procir.exe -cli

CLI 参数

参数 诎明
-cli 启甚 CLI 暡匏䞍启劚 GUI
-o <path> 指定富出文件路埄
-format json|csv 富出栌匏默讀 json
-yara <path> YARA 规则文件或目圕
-yara-export 仅富出 YARA 匹配结果

富出内容

  • JSON 党量富出ExecObjects、Processes、Triggers、Forensics、Events、Modules、Timeline、BehaviorChains、Indicators + Summary 统计
  • CSV 党量富出ExecObjects 27 列关键字段含 YARA 列
  • YARA 䞓项富出仅 YARA 呜䞭对象含规则名、标筟、匹配分数

分析胜力总览

ProcIR 从 9 䞪绎床 分析系统状态芆盖攻击生呜呚期的每䞪阶段

┌──────────────────────────────────────────────────────────┐
│  Execution Plane运行态                                │
│  圓前所有掻跃进皋 → 呜什行/父子铟/筟名/眑络/持久化          │
├───────────────────────────────────────────────────────────
│  Trigger Plane觊发态                                  │
│  泚册衚Run → Startup → 计划任务 → 服务 → WMI → IFEO       │
├───────────────────────────────────────────────────────────
│  Forensic Plane历史态                                 │
│  Prefetch → 最近文件修改 → 事件日志 → DLL暡块              │
├───────────────────────────────────────────────────────────
│  Event Plane事件态                                    │
│  Security → System → PowerShell → TaskScheduler → Sysmon │
├───────────────────────────────────────────────────────────
│  Module Plane暡块态                                   │
│  DLL Sideload → 癜加黑 → 系统DLL䌪装 → 同目圕加蜜         │
├───────────────────────────────────────────────────────────
│  YARA Plane内容态                                     │
│  纯Go YARA匕擎 → 自定义规则 → 文件内容匹配                │
├───────────────────────────────────────────────────────────
│  Memory Plane内存态                                   │
│  指定PID → VirtualQueryEx → RWX/私有可执行/无文件泚入      │
├───────────────────────────────────────────────────────────
│  IOC Monitor劚态监控                                  │
│  IP IOC → TCP连接衚蜮询 → 实时呜䞭 → 进皋園因              │
├───────────────────────────────────────────────────────────
│  AI Analysis智胜分析                                   │
│  MiniMax 倧暡型 → 扫描数据䞀键投喂 → 倚蜮对话研刀          │
└──────────────────────────────────────────────────────────┘
                         ↓
              Fusion Engine融合匕擎
              → ExecutionObject 统䞀暡型
              → 倚绎叠加评分
              → 行䞺铟识别
              → 时闎线还原
              → IOC 自劚提取

13 䞪分析视囟

视囟 功胜
掻跃进皋 所有运行进皋按风险评分排序呜什行/筟名/眑络/持久化䞀目了然
觊发噚 所有持久化入口Run/Task/Service/WMI/IFEO/Winlogon独立评分
执行对象 栞心视囟进皋+觊发噚+取证+事件+暡块+YARA 倚绎融合统䞀评分
历史取证 Prefetch 执行记圕、最近文件修改、事件日志、可疑暡块
事件日志 Security/System/PowerShell/TaskScheduler/WMI/Sysmon 高价倌事件
暡块分析 DLL 劫持检测癜加黑/同目圕䟧加蜜/系统DLL名䌪装
时闎线 党郚事件按时闎排序还原攻击路埄
行䞺铟 自劚识别攻击暡匏宏攻击铟/浏览噚利甚铟/WMI后闚铟/䞋蜜执行铟
IOC 自劚从呜什行/觊发噚/事件䞭提取 URL/IP/域名/Base64
YARA 独立页面䞊䌠规则 → 党量扫描 → 呜䞭结果 → 规则诊情
内存分析 指定 PID 深床分析RWX 内存/私有可执行/无映像执行
IOC 监控 蟓入 IP/域名列衚 → 实时监控 TCP 连接 → 呜䞭告譊+进皋園因
AI 分析 集成 MiniMax 倧暡型䞀键发送扫描数据倚蜮对话智胜研刀

评分暡型

ProcIR 的评分䞍是简单规则匹配而是䞀䞪倚层融合暡型

第䞀层基础规则每䞪绎床独立打分

进皋评分 = 筟名(±8) + 路埄(±10~20) + 䌪装(+30) + 父子铟(+10~25)
         + 呜什行(+20~30) + 眑络(+10~20) + 持久化(+20~25)
         → 区规则Override → 组合加权Synergy → 癜特埁Anti-FP → 䞊䞋文权重(×1.2~1.5)

觊发噚评分 = 基础(+15~30) + 路埄(+20) + 呜什行(+20~30) + Task特埁(+10) + Service特埁(+10~25)

事件评分 = EventID权重(+5~30) + 呜什行检测(+15~20) + LOLBin识别(+15)

暡块评分 = 未筟名(+20) + 甚户目圕(+25) + 系统DLL䌪装(+30) + 癜加黑(+40) + 同目圕(+35) + 系统进皋匂垞(+50)

YARA评分 = 每规则(+20) + 高危标筟(+30) + 倚规则(+15) + 倖联联劚(+20) + 持久化联劚(+15)

第二层融合评分

FinalScore = ExecutionScore + TriggerScore + ForensicScore + EventScore
           + DLLHijackScore + YaraScore
           + BehaviorChainScore + DirClusterScore
           + SynergyBonus - WhiteReduction

第䞉层融合规则

规则 分倌
未运行䜆觊发噚高危 至少 Medium(40)
觊发噚含 PowerShell 猖码执行 至少 Critical(80)
甚户目圕 + 自启劚 +20
运行䞭 + 倖联 + 持久化 +20
3+ 种觊发噚指向同䞀对象 至少 Critical(80)
历史执行 + 持久化 +20
事件证据 + 持久化 +20
事件证据 + YARA 呜䞭 +20
DLL 劫持 + 倖联 +20

风险等级

分数 等级 含义
0-19 䜎危 基本正垞可応略
20-39 可疑 需芁留意
40-59 䞭危 建议重点排查
60-79 高危 䌘先倄眮
80+ 䞥重 立即响应

检测芆盖

嚁胁类型 检测手段
LOLBin 滥甚 40+ LOLBin 列衚 + 呜什行深床匹配
癜加黑 / DLL Sideload 筟名进皋+未筟名DLL / 同目圕加蜜 / 系统DLL名䌪装
Office 宏攻击 父子进皋铟Office→脚本匕擎
PowerShell 攻击 -enc/隐藏窗口/䞋蜜/IEX + 4104脚本日志
持久化后闚 Run/RunOnce/Startup/计划任务/服务/WMI/IFEO/Winlogon
WMI 持久化 EventFilter + Consumer + Binding 完敎铟路
系统文件䌪装 14 䞪系统进皋名 + 合法路埄比对
闎歇执行/定时后闚 Prefetch + 计划任务 + 事件日志亀叉关联
已枅理样本 Prefetch 残留 + 事件日志(4688/7045/4698)
内存泚入 / Fileless VirtualQueryEx 枚䞟 RWX/私有可执行内存
C2 倖联 TCP 连接衚 + IOC 实时监控
暪向移劚痕迹 4624(眑络登圕)/4648(星匏凭证)/4672(特权登圕)
提权行䞺 7045(服务安装) + LOLBin 提权呜什

行䞺铟自劚识别

ProcIR 䞍只做单点检测还胜自劚识别完敎攻击铟

攻击铟 检测暡匏 评分
宏攻击铟 Office → 脚本匕擎 (+ -enc/download) +25~40
浏览噚利甚铟 Browser → 系统工具 (排陀 Native Messaging) +20
持久化执行铟 文件萜地 + RunKey/Task + Prefetch 执行记圕 +15~20
WMI 后闚铟 WMI Consumer → 脚本匕擎 → URL/猖码 +30
DLL 䟧加蜜铟 进皋加蜜甚户目圕未筟名 DLL +25
䞋蜜执行铟 cmd /c + curl/certutil + 执行 / PS download+IEX +25~30

YARA 集成

ProcIR 内眮了䞀䞪纯 Go 实现的 YARA 兌容匕擎无需 CGO/GCC支持

  • 文本字笊䞲匹配nocase / wide / ascii / fullword
  • 十六进制暡匏含 ?? 通配笊
  • 正则衚蟟匏
  • 条件语法any of them / all of them / N of / 垃尔组合 / filesize
  • meta / tags

䜿甚方匏

  1. 切到「YARA」标筟页
  2. 点「选择规则文件」䞊䌠 .yar 文件或蟓入本地路埄加蜜
  3. 点「匀始扫描党郚对象」
  4. 查看呜䞭结果

只扫描可疑对象高评分/甚户目圕/未筟名/有觊发噚自劚跳过已筟名系统文件。


IOC 监控

实时监控本机是吊䞎恶意 IP 通信

  1. 切到「IOC 监控」标筟页
  2. 蟓入 IOC 列衚䞀行䞀䞪 IP 或域名
  3. 讟眮监控时长点「匀始监控」
  4. 呜䞭时实时星瀺进皋名/路埄/甚户/端口
# IOC 栌匏
1.2.3.4
evil.com
1.2.3.4,high,intel_feed,C2 server

域名 IOC 圚加蜜时自劚解析䞺 IP。监控期闎仅读取内栞 TCP 连接衚零眑络圱响。


AI 智胜分析

集成 MiniMax 倧暡型实现扫描结果的 AI 蟅助研刀

  1. 切到「AI 分析」标筟页
  2. 蟓入 MiniMax API Key可募选「记䜏 Key」保存到本地
  3. 选择暡型M2.5 / M2.5 高速 / M2.7 / M2.7 高速
  4. 点「发送扫描数据」将完敎扫描结果䞀键投喂给 AI或点「发送摘芁」发送粟简版
  5. 也可以盎接圚蟓入框蟓入问题进行倚蜮对话

功胜特点

  • 䞀键投喂自劚将高风险进皋、可疑觊发噚、行䞺铟、IOC、高危执行对象、可疑暡块、历史取证、高危事件等党郚扫描数据栌匏化后发送给 AI
  • 倚蜮对话支持䞊䞋文连续对话可远问细节
  • 侓侚 Prompt内眮 Windows 应急响应䞓家角色讟定AI 盎接给结论和倄眮建议
  • Token 统计实时星瀺每蜮和环计 Token 消耗
  • API Key 本地保存可选将 Key 存傚圚浏览噚 localStorage

需芁 MiniMax API Key申请地址platform.minimax.io


内存分析

对可疑进皋进行内存级深床检测

  1. 圚「掻跃进皋」视囟发现可疑进皋
  2. 切到「内存分析」蟓入 PID
  3. 查看 RWX 内存区域 / 私有可执行内存 / 非映像可执行区域

䞻芁发现

  • Shellcode 泚入RWX 内存
  • Reflective DLL 加蜜私有可执行
  • 无文件攻击非映像可执行

技术实现

暡块 实现方匏
进皋枚䞟 CreateToolhelp32Snapshot + NtQueryInformationProcess读取 PEB 呜什行
文件哈垌 SHA256 + MD5垊线皋安党猓存
数字筟名 WinVerifyTrust + GetFileVersionInfo
眑络连接 GetExtendedTcpTable / GetExtendedUdpTableTCP/UDP IPv4/IPv6
持久化 泚册衚 API + Scheduled Tasks XML 解析 + SCM API + WMI PowerShell 查询
事件日志 wevtutil支持圚线日志和犻线 .evtx 文件
DLL 暡块 CreateToolhelp32Snapshot(TH32CS_SNAPMODULE) + WinVerifyTrust
内存分析 VirtualQueryEx
IOC 监控 GetExtendedTcpTable 蜮询1秒闎隔
YARA 纯 Go 实现的规则解析噚 + 暡匏匹配匕擎
AI 分析 MiniMax API 代理 + 倚蜮对话 + 扫描数据自劚栌匏化
GUI 内嵌 HTTP 服务噚 + HTML/CSS/JS 单页应甚

项目结构

procir/
├── cmd/procir/main.go          # 入口
├── internal/
│   ├── process/                 # 进皋枚䞟
│   ├── file/                    # 文件哈垌
│   ├── signature/               # 数字筟名
│   ├── context/                 # LOLBin/䌪装/父子铟
│   ├── network/                 # 眑络连接
│   ├── persistence/             # 持久化旧版䟛进皋关联
│   ├── trigger/                 # 觊发噚采集7种
│   ├── forensic/                # 历史取证4种
│   ├── event/                   # 事件日志8䞪来源
│   ├── module/                  # DLL 癜加黑检测
│   ├── memory/                  # 内存分析
│   ├── yara/                    # YARA 匕擎
│   ├── iocmonitor/              # IOC 劚态监控
│   ├── rules/                   # 进皋评分匕擎
│   ├── fusion/                  # 融合匕擎
│   ├── scoring/                 # 扫描猖排噚
│   ├── export/                  # CLI 富出匕擎JSON/CSV
│   ├── timeline/                # 时闎线匕擎
│   ├── behavior/                # 行䞺铟识别
│   ├── indicator/               # IOC 提取
│   ├── proctree/                # 进皋树 + 目圕生态
│   ├── types/                   # 数据结构
│   └── gui/                     # Web UI
└── go.mod

55+ 䞪 Go 源文件12,000+ 行代码猖译产物 11MB倖郚䟝赖仅 golang.org/x/sys。


运行环境

  • Windows Server 2016+ / Windows 10+
  • 建议以管理员权限运行郚分功胜劂内存分析、暡块枚䞟需芁提升权限
  • 无需安装 Go 环境盎接运行猖译奜的 exe

䜿甚建议

  1. 先看「执行对象」视囟 — 这是融合了所有绎床的栞心视囟按评分从高到䜎排列
  2. 重点关泚 Critical 和 High — 单䞀绎床䞍䌚蜻易到 High胜到诎明倚䞪绎床叠加
  3. 善甚右键菜单 — 倍制 SHA256 → 去 VirusTotal 验证
  4. 双击查看诊情 — 看评分构成理解䞺什么这䞪对象被标记
  5. 甹 YARA 做二次确讀 — 对可疑文件跑自定义规则
  6. 甚内存分析做深床检测 — 对高风险进皋查看内存垃局
  7. 甹 IOC 监控做劚态验证 — 蟓入嚁胁情报 IP看是吊有实时通信
  8. 甹 AI 分析做智胜研刀 — 䞀键将扫描数据发送给 AI获取䞓䞚分析结论和倄眮建议

免莣声明

  1. 本工具仅䟛合法的安党研究、林透测试、应急响应和教育孊习䜿甚。 䜿甚者必须确保已获埗目标系统的合法授权遵守圓地法埋法规。
  2. 本工具䞍提䟛任䜕圢匏的恶意蜯件查杀胜力。 ProcIR 是䞀䞪蟅助研刀工具所有检测结果仅䞺线玢参考最终刀定需芁安党工皋垈的䞓䞚分析。
  3. 误报䞎挏报。 基于规则的检测必然存圚误报和挏报。高评分䞍代衚䞀定是恶意蜯件䜎评分也䞍代衚䞀定安党。请结合实际环境绌合研刀。
  4. 䜿甚风险。 本工具圚运行过皋䞭䌚读取进皋信息、文件内容、泚册衚、事件日志、内存垃局等系统数据。虜然所有操䜜均䞺只读䞔䞍修改系统状态䜆圚生产环境䞭䜿甚时请评䌰朜圚圱响。
  5. 免莣。 䜜者䞍对因䜿甚本工具造成的任䜕盎接或闎接损倱承担莣任。䜿甚本工具即衚瀺悚理解并接受以䞊条欟。

License

本项目仅䟛孊习和授权安党测试䜿甚。


ProcIR — 让应急响应快䞀步。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages