arif-offsec/vmsec

GitHub: arif-offsec/vmsec

针对 Kali Linux 虚拟机的一键式安全扫描与自动修复框架,集成十个开源检测模块,覆盖恶意软件、Rootkit、键盘记录器、C2 连接、配置审计等场景。

Stars: 3 | Forks: 0

``` ██╗ ██╗███╗ ███╗███████╗███████╗ ██████╗ ██║ ██║████╗ ████║██╔════╝██╔════╝██╔════╝ ██║ ██║██╔████╔██║███████╗█████╗ ██║ ╚██╗ ██╔╝██║╚██╔╝██║╚════██║██╔══╝ ██║ ╚████╔╝ ██║ ╚═╝ ██║███████║███████╗╚██████╗ ╚═══╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ``` **VM 安全扫描器 — Kali Linux 版** [![许可证: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE) [![Shell](https://img.shields.io/badge/shell-bash-green.svg)]() [![平台](https://img.shields.io/badge/platform-Kali%20Linux-purple.svg)]() [![欢迎 Pull Request](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)]()
## 什么是 vmsec? **vmsec** 是一个完全开源的自动化安全扫描与修复工具,专为 **Kali Linux 虚拟机**打造。 它将由行业标准开源工具(ClamAV、rkhunter、chkrootkit、Lynis、AIDE、auditd 等)驱动的 **10 个扫描器模块** 集成到一个统一的工作流中,该工具具有以下功能: 1. **扫描**您的 VM,检测病毒、木马、恶意软件、rootkit、键盘记录器、间谍软件、后门、C2 连接、可疑进程、不安全配置等 2. **生成**一份全面且分类的报告(纯文本 + 交互式 HTML)—— 发现按 CRITICAL(严重)→ LOW(低)排序,建议按 MUST-DO(必做)→ OPTIONAL(可选)排序 3. **修复** —— 自动或手动修复发现的问题,随后自动或手动应用建议 ## 快速开始 ``` # 1. Clone 仓库 git clone https://github.com/arif-offsec/vmsec.git cd vmsec # 2. 运行 installer sudo bash install.sh # 3. 安装所有安全工具 sudo vmsec install # 4. 运行你的首次 full scan sudo vmsec scan ``` 就是这样。vmsec 将执行扫描、生成报告,并引导您逐步修复发现的任何问题。 ## 功能 | 功能 | 描述 | |---|---| | 🔍 **10 个扫描器模块** | 模块化、可独立运行的扫描器 | | 🦠 **恶意软件检测** | 使用 ClamAV 并自动更新病毒库 | | 🐛 **Rootkit 检测** | rkhunter + chkrootkit(两个独立的检测引擎) | | ⌨️ **键盘记录器检测** | 进程监控、/dev/input 访问检查、LKM 检查 | | 🌐 **网络扫描** | 开放端口、C2 连接、ARP 欺骗、DNS 劫持 | | 📋 **Cron 审计** | 检测通过 cron 任务实现的恶意持久化 | | 📁 **文件系统检查** | SUID/SGID 审计、AIDE 完整性检查、可疑文件检测 | | 👤 **用户审计** | UID-0 后门、SSH 密钥、sudo 错误配置、空密码 | | ⚙️ **服务审计** | 危险/不必要的服务、防火墙状态 | | 📊 **双重报告** | 分类排序的文本报告 + 暗色主题的交互式 HTML 报告 | | 🔧 **自动修复** | 安全的、按优先级排序的自动修复功能,并带有路径限制 | | 🖱️ **手动修复** | 逐一交互式审查每个发现的问题 | | 💡 **安全建议** | 自动应用 MUST-DO(必做)建议或逐条审查 | | 📖 **Man 手册** | 完整的 `man vmsec` 文档 | | ⚙️ **可配置** | 编辑 `conf/vmsec.conf` 以调整行为 | ## 所有命令 ``` sudo vmsec install # Install all security tools sudo vmsec update # Update all tools + definitions sudo vmsec scan # Full scan (all 10 modules) sudo vmsec scan --quick # Quick scan (ClamAV, rkhunter, processes, network) sudo vmsec scan --module NAME # Run one specific module vmsec report # Print last report to terminal vmsec report --html # Open HTML report in browser sudo vmsec fix --auto # Auto-fix all findings (CRITICAL first) sudo vmsec fix --manual # Review and fix findings one by one sudo vmsec suggest --auto # Auto-apply all MUST-DO suggestions sudo vmsec suggest --manual # Review suggestions one by one vmsec list-modules # List all scanner modules vmsec version # Show version man vmsec # Full manual page ``` ## 扫描器模块 | 模块 | 使用的工具 | 检测内容 | |---|---|---| | `clamav` | ClamAV | 病毒、木马、恶意文件 | | `rkhunter` | rkhunter | Rootkit、后门、隐藏文件 | | `chkrootkit` | chkrootkit | Rootkit(不同引擎)、LKM、嗅探器 | | `lynis` | Lynis | 完整系统审计、强化指数、配置警告 | | `processes` | ps, lsof, unhide | 键盘记录器、加密货币挖矿程序、隐藏进程、可疑 LKM | | `network` | ss, iptables, arp | 开放端口、C2 连接、DNS 劫持、ARP 欺骗、混杂模式 | | `crontabs` | bash | 恶意 cron 持久化、反弹 shell、混淆命令 | | `filesystem` | find, aide, stat | SUID/SGID、全局可写文件、最近修改的二进制文件、AIDE 完整性 | | `users` | getent, passwd, sshd | UID-0 后门、空密码、NOPASSWD sudo、SSH 错误配置 | | `services` | systemctl | 危险服务(Telnet/RSH/TFTP)、不必要的服务、缺失 auditd/fail2ban | ## 集成的开源工具 所有工具均免费、开源,并从 Kali 的官方 apt 仓库安装。 | 工具 | 许可证 | 功能说明 | |---|---|---| | **ClamAV** | GPL v2 | 病毒和恶意软件扫描器 —— 由 Cisco Talos 维护 | | **rkhunter** | GPL v2 | Rootkit、后门和本地漏洞扫描器 | | **chkrootkit** | 类 BSD | 具有不同检测引擎的 Rootkit 扫描器 | | **Lynis** | GPL v3 | 由 CISOfy 开发的全面系统安全审计工具 | | **AIDE** | GPL v2 | 文件完整性监控 —— 检测任何未经授权的更改 | | **auditd** | GPL v2 | Linux 内核审计守护进程 —— 记录所有系统活动 | | **UFW** | GPL v3 | Uncomplicated Firewall(简单防火墙)—— 管理 iptables 规则 | | **fail2ban** | GPL v2 | 自动拦截暴力破解登录尝试 | | **unhide** | GPL v3 | 检测被 rootkit 隐藏的进程 | | **nethogs** | GPL v2 | 实时按进程显示网络带宽监控 | | **ss / lsof / netstat** | GPL | 网络分析工具(Linux 内置) | ## 报告示例 扫描完成后,vmsec 会生成两个报告文件: **文本报告**(`reports/vmsec_report_YYYY-MM-DD_HH-MM-SS.txt`): ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FINDINGS (CRITICAL → HIGH → MEDIUM → LOW) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ── CRITICAL ──────────────────────── [001] [CRITICAL] Module: clamav Description : ClamAV detected: Trojan.Agent-12345 Location : /tmp/payload.elf Fixable : yes Fix command : shred -u -z '/tmp/payload.elf' ── HIGH ──────────────────────────── [002] [HIGH] Module: network Description : Dangerous port 4444 is OPEN — known Metasploit listener Location : port:4444 Fixable : yes Fix command : fuser -k 4444/tcp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SUGGESTIONS (MUST → SHOULD → OPTIONAL) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [001] [MUST] Module: network Suggestion : Enable UFW firewall Command : ufw default deny incoming && ufw --force enable ``` **HTML 报告** —— 暗色主题的交互式页面,带有颜色编码的严重级别徽章,可在任何浏览器中查看。 ## 修复流程 ``` sudo vmsec scan │ ▼ Report generated (txt + HTML) │ ▼ ┌──────────────────────────┐ │ FINDINGS REMEDIATION │ │ [1] Auto (CRITICAL first│ │ [2] Manual (one by one) │ │ [3] Skip │ └──────────────────────────┘ │ ▼ ┌──────────────────────────┐ │ SUGGESTIONS │ │ [1] Auto (MUST-DO only) │ │ [2] Manual (one by one) │ │ [3] Skip │ └──────────────────────────┘ ``` **自动修复安全规则:** - 仅从以下目录自动删除文件:`/tmp`、`/var/tmp`、`~/Downloads`、`~/Desktop`、`~/.cache` - 系统文件、二进制文件和配置文件**绝不**自动删除 - 所有操作都会记录到带有时间戳的日志文件中 - Kali 内置的渗透测试工具绝不会被标记为可自动移除对象 ## 安装说明 ### 方式 1:克隆并安装(推荐) ``` git clone https://github.com/arif-offsec/vmsec.git cd vmsec sudo bash install.sh ``` ### 方式 2:一键安装 ``` curl -fsSL https://raw.githubusercontent.com/arif-offsec/vmsec/main/install.sh | sudo bash ``` ### 安装程序执行的操作 - 将文件复制到 `/opt/vmsec/` - 创建 `/usr/local/bin/vmsec` 符号链接(以便您可以在任何位置运行 `vmsec`) - 安装 man 手册(`man vmsec`) - 将配置文件复制到 `/etc/vmsec/vmsec.conf` - 创建 `/var/log/vmsec.log` - 可选择运行 `vmsec install` 以安装所有安全工具 ### 卸载 ``` sudo bash uninstall.sh ``` ## 配置说明 编辑 `/etc/vmsec/vmsec.conf`(全局)或 `conf/vmsec.conf`(本地): ``` # 每次扫描前更新 definitions (yes/no) VMSEC_AUTO_UPDATE_DEFS="yes" # 报告格式: txt | html | both VMSEC_REPORT_FORMAT="both" # 将系统二进制文件视为“最近修改”的天数 VMSEC_RECENT_DAYS="7" ``` ## 系统要求 - **操作系统:** Kali Linux (2022+)、Parrot OS 或任何基于 Debian/Ubuntu 的发行版 - **权限:** 需要 root (sudo) 权限以进行扫描和修复 - **网络:** 首次安装工具和更新定义时需要网络连接 - **VM 软件:** VMware Workstation Pro、VirtualBox、QEMU/KVM 或任何虚拟机监控程序 ## VMware 隔离设置(扫描前必读) 在 VM 内部运行 vmsec 只是防护工作的一半。请确保首先锁定您的 VMware 设置: | VMware 设置 | 值 | |---|---| | 共享文件夹(选项选项卡) | 已禁用 | | 复制/粘贴(客户机隔离) | 已禁用 | | 拖放(客户机隔离) | 已禁用 | | 网络适配器 | 仅主机模式或 NAT(绝不使用桥接模式) | | USB 控制器 | 移除或限制 | | 快照 | 在每次高风险会话前拍摄快照 | 还需将以下行添加到您的 `.vmx` 文件中: ``` isolation.tools.copy.disable = "TRUE" isolation.tools.paste.disable = "TRUE" isolation.tools.dnd.disable = "TRUE" isolation.tools.hgfs.disable = "TRUE" ``` ## 仓库结构 ``` vmsec/ ├── vmsec ← Main executable (entry point) ├── install.sh ← One-command installer ├── uninstall.sh ← Uninstaller ├── README.md ├── LICENSE ← GPL v3 ├── CHANGELOG.md ├── lib/ │ ├── utils.sh ← Colors, logging, record_finding(), record_suggestion() │ ├── config.sh ← Configuration loader │ ├── installer.sh ← apt tool installation + post-install setup │ ├── reporter.sh ← Text + HTML report generation │ ├── remediator.sh ← Auto and manual remediation engine │ └── suggester.sh ← Auto and manual suggestion engine ├── scanners/ │ ├── scan_clamav.sh ← ClamAV virus/malware scan │ ├── scan_rkhunter.sh ← rkhunter rootkit scan │ ├── scan_chkrootkit.sh ← chkrootkit rootkit scan │ ├── scan_lynis.sh ← Lynis system audit │ ├── scan_processes.sh ← Suspicious processes + keyloggers │ ├── scan_network.sh ← Network + C2 + firewall │ ├── scan_crontabs.sh ← Malicious cron jobs │ ├── scan_filesystem.sh ← SUID/AIDE/filesystem integrity │ ├── scan_users.sh ← User accounts + SSH + sudo │ └── scan_services.sh ← Dangerous/unnecessary services ├── conf/ │ └── vmsec.conf ← Default configuration ├── man/ │ └── vmsec.1 ← Man page source └── reports/ ← Generated reports saved here ``` ## 许可证 **GPL v3** —— 永久免费开源。 有关完整文本,请参见 [LICENSE](LICENSE)。 ## 免责声明 vmsec 按“原样”提供,仅用于教育和防御性安全目的。它不保证能检测出所有威胁。安全扫描结果可能包含误报,尤其是在预装了许多攻击性安全工具的 Kali Linux 上。在应用修复之前,请务必仔细审查结果。对于因滥用自动修复功能而造成的任何系统损坏,作者概不负责。
为安全社区用心打造 ❤️ · 报告 Bug · 请求新功能
标签:AIDE, auditd, C2连接检测, chkrootkit, ClamAV, Cutter, DNS 解析, EDR, GPLv3, GPT, HTTP工具, Lynis, Mr. Robot, Python 3.9+, rkhunter, Web 安全测试, Web归档检索, 后门检测, 子域名变形, 安全基线, 安全扫描, 安全报告, 应用安全, 开源安全工具, 教学环境, 无线安全, 时序注入, 木马检测, 模块化设计, 漏洞管理, 终端安全, 网络安全审计, 脆弱性评估, 自动化修复, 自定义DNS解析器, 虚拟机安全, 逆向工程平台, 键盘记录器检测