refactor: 增强 systeminfo 插件并合并 envinfo

- systeminfo 新增网卡信息、权限检测、补丁数量、杀软检测、
  防火墙状态、敏感环境变量扫描等功能
- 合并 envinfo 到 systeminfo,删除独立的 envinfo 插件
- 修复本地插件通过 -m 指定时仍需 -h 参数的问题
- 通过回调机制解决 common/plugins 循环依赖
This commit is contained in:
ZacharyZcR
2026-05-15 22:47:39 +08:00
parent a0fc7881f2
commit ca4e1ffad3
7 changed files with 277 additions and 292 deletions
+10 -2
View File
@@ -15,6 +15,9 @@ import (
// ErrShowHelp 表示用户请求显示帮助(正常退出)
var ErrShowHelp = errors.New("show help requested")
// IsLocalMode 由 plugins 包注册,判断 -m 指定的是否全是本地插件
var IsLocalMode func(mode string) bool
// Banner 显示程序横幅信息
func Banner() {
// 静默模式下完全跳过Banner显示
@@ -272,9 +275,14 @@ func shouldShowHelp(Info *HostInfo, fv *FlagVars) bool {
// 检查是否提供了扫描目标
hasTarget := Info.Host != "" || fv.TargetURL != "" || fv.HostsFile != "" || fv.URLsFile != ""
// 本地模式需要指定插件才算有效目标
// 本地模式需要目标主机
if fv.LocalPlugin != "" {
hasTarget = true
return false
}
// -m 指定的全是本地插件时也不需要目标
if IsLocalMode != nil && IsLocalMode(fv.ScanMode) {
return false
}
// 如果没有提供任何扫描目标,则显示帮助
+22
View File
@@ -693,6 +693,28 @@ systeminfo_distro_exists:
other: "Distribution: /etc/os-release exists"
systeminfo_whoami:
other: "Current User (whoami): {{.Arg1}}"
systeminfo_iface:
other: "Interface {{.Arg1}}: {{.Arg2}} (MAC: {{.Arg3}})"
systeminfo_privilege:
other: "Privilege Level: {{.Arg1}}"
systeminfo_privilege_group:
other: "Admin Group: {{.Arg1}}"
systeminfo_id_info:
other: "User Info: {{.Arg1}}"
systeminfo_firewall:
other: "Firewall: {{.Arg1}}"
systeminfo_firewall_rules:
other: "Firewall Rules: {{.Arg1}}"
systeminfo_patches:
other: "Installed Patches: {{.Arg1}}"
systeminfo_antivirus:
other: "Antivirus Detected: {{.Arg1}}"
systeminfo_sudo:
other: "Sudo Privileges: {{.Arg1}}"
systeminfo_macos_detail:
other: "macOS: {{.Arg1}}"
systeminfo_sensitive_env:
other: "Sensitive Env Var: {{.Arg1}}={{.Arg2}}"
# Windows scheduled task
winschtask_success:
+22
View File
@@ -693,6 +693,28 @@ systeminfo_distro_exists:
other: "发行版: /etc/os-release 存在"
systeminfo_whoami:
other: "当前用户(whoami): {{.Arg1}}"
systeminfo_iface:
other: "网卡 {{.Arg1}}: {{.Arg2}} (MAC: {{.Arg3}})"
systeminfo_privilege:
other: "权限级别: {{.Arg1}}"
systeminfo_privilege_group:
other: "所属管理组: {{.Arg1}}"
systeminfo_id_info:
other: "用户信息: {{.Arg1}}"
systeminfo_firewall:
other: "防火墙: {{.Arg1}}"
systeminfo_firewall_rules:
other: "防火墙规则数: {{.Arg1}}"
systeminfo_patches:
other: "已安装补丁: {{.Arg1}}个"
systeminfo_antivirus:
other: "检测到杀软: {{.Arg1}}"
systeminfo_sudo:
other: "sudo权限: {{.Arg1}}"
systeminfo_macos_detail:
other: "macOS: {{.Arg1}}"
systeminfo_sensitive_env:
other: "敏感环境变量: {{.Arg1}}={{.Arg2}}"
# Windows计划任务
winschtask_success: