nikhilkumar0102/SentryCLI

GitHub: nikhilkumar0102/SentryCLI

一款基于 Bash 的模块化安全工具,将日志分析、侦察、事件响应与威胁情报集成到轻量级 SOC 模拟中。

Stars: 0 | Forks: 0

# SentryCLI 🛡️ **模块化安全运营与渗透测试工具包** 一个生产环境风格的、基于 Bash 的 CLI 工具,将轻量级安全运营中心(SOC)与核心渗透测试工作流程集成 —— 全部通过一个单一、可扩展的命令行界面完成。 ## 架构 ``` sentrycli/ ├── main.sh ← Central CLI controller & dispatcher ├── modules/ │ ├── logintel.sh ← Log analysis & brute-force detection │ ├── recon.sh ← Reconnaissance & enumeration │ ├── incident.sh ← Incident response & forensic triage │ └── ipcheck.sh ← IP threat intelligence ├── utils/ │ ├── colors.sh ← Color-coded terminal output │ └── logger.sh ← Centralized audit logging ├── config/ │ └── api_keys.conf ← API key storage (chmod 600) └── reports/ ← Auto-generated timestamped reports ``` ## 快速开始 ``` # 克隆并进入项目 git clone cd sentrycli # 制作可执行文件 chmod +x main.sh modules/*.sh # 运行交互式菜单 ./main.sh --menu # 或运行特定模块 ./main.sh --module log ./main.sh --module recon --target scanme.nmap.org ./main.sh --module ir ./main.sh --module ipcheck --ip "8.8.8.8" ``` ## 模块 ### 1. 日志情报 (`--module log`) 解析认证与系统日志,检测: - **暴力破解检测**(支持可配置阈值) - **Top 攻击 IP**(带威胁严重等级) - **无效用户名枚举**尝试 - **权限提升**(sudo 失败) - **成功与失败**认证事件对比 - 将可疑 IP 导出,供关联引擎使用 ``` ./main.sh --module log ./main.sh --module log --log-file /var/log/auth.log ``` ### 2. 侦察 (`--module recon`) 自动化目标枚举: - **DNS 记录**(A、AAAA、MX、NS、TXT、SOA、反向解析) - **WHOIS** 注册与所有权信息 - **端口扫描**(通过 nmap 进行服务识别) - **HTTP/HTTPS 探测** — 服务器头、安全头、技术指纹识别 - **子域名发现** — 常见子域名爆破 - **高风险端口标记**(Telnet、SMB、RDP、Redis 等) - **traceroute** 网络路径分析 ``` ./main.sh --module recon --target example.com ./main.sh --module recon --target 192.168.1.1 ``` ### 3. 事件响应 (`--module ir`) 实时取证排查 — 适合快速响应: - 运行进程(标记可疑名称:netcat、meterpreter、xmrig 等) - 活跃网络连接(标记非常用端口:4444、1337、31337 等) - 已登录用户与登录历史 - 定时任务与 `rc.local` 持久化检查 - 最近修改的文件(尤其是 `/tmp`、`/dev/shm`) - 打开的文件描述符(通过 `lsof`) - 加载的内核模块 - 启动服务(systemd) - 命令历史记录 - `/etc/passwd` 完整性 — UID 0 重复项 - SUID/SGID 二进制审计 ``` sudo ./main.sh --module ir # sudo recommended for full data collection ``` ### 4. IP 威胁情报 (`--module ipcheck`) 使用以下方式将 IP 分类为恶意或正常: - **AbuseIPDB** — 置信度评分与滥用报告历史 - **VirusTotal** — 多引擎检测分析 - **GeoIP 查询** — 国家、ISP、代理/VPN/托管检测 - **Tor 出口节点** 检测 - **离线启发式**(未配置 API 密钥时) ``` ./main.sh --module ipcheck --ip "1.2.3.4" ./main.sh --module ipcheck --ip "1.2.3.4, 5.6.7.8, 9.10.11.12" ``` ## SIEM 关联引擎 (`--correlate`) 连接各模块以实现自动威胁关联 —— 模拟真实 SIEM 行为: ``` Log Intelligence → Extracts suspicious IPs from auth logs ↓ IP Threat Intel → Queries threat databases for each IP ↓ Correlation Report → Confirms attackers + generates firewall block commands ``` ``` ./main.sh --correlate ./main.sh --correlate --log-file /var/log/auth.log ``` 该引擎会为所有确认恶意的 IP 生成 iptables/ufw 阻断命令。 ## API 配置 在 `config/api_keys.conf` 中配置: ``` # AbuseIPDB — https://www.abuseipdb.com/register(免费:每天 1,000 次检查) ABUSEIPDB_API_KEY="your_key_here" # VirusTotal — https://www.virustotal.com/gui/join-us(免费:每天 500 次) VIRUSTOTAL_API_KEY="your_key_here" # 用于标记 IP 为恶意的威胁分数阈值(0-100) ABUSEIPDB_THREAT_THRESHOLD=25 ``` 未配置 API 密钥时,工具将以 **离线模式** 运行,仅使用 GeoIP 与启发式检查。 ## 报告 所有报告均带有时间戳并保存在 `reports/` 目录中: | 报告文件 | 生成模块 | |---|---| | `logintel_YYYYMMDD_HHMMSS.txt` | 日志情报模块 | | `recon__YYYYMMDD.txt` | 侦察模块 | | `incident_response_YYYYMMDD.txt` | 事件响应模块 | | `ipcheck_YYYYMMDD.txt` | IP 威胁情报模块 | | `siem_correlation_YYYYMMDD.txt` | 关联引擎 | | `sentrycli_audit.log` | 集中会话审计日志 | | `nmap__YYYYMMDD.xml` | 原始 nmap XML 输出 | ## 先决条件 ``` # Debian/Ubuntu sudo apt install nmap whois dnsutils curl traceroute lsof # RHEL/CentOS sudo yum install nmap whois bind-utils curl traceroute lsof ``` 该工具会在运行时检查可用组件,并在组件不可用时优雅跳过。 ## CLI 参考 ``` ./main.sh [OPTIONS] MODULE OPTIONS: --module log Log Intelligence --module recon Reconnaissance --module ir Incident Response --module ipcheck IP Threat Intel --module all Run all modules MODULE FLAGS: --log-file PATH Specify log file (logintel) --target HOST Target IP or domain (recon) --ip LIST IPs for threat check (comma/space separated) ADVANCED: --correlate SIEM pipeline: log → ipcheck --menu Interactive menu mode --version Show version --help Show help ``` ## 实际使用场景 | 场景 | 命令 | |---|---| | 调查 SSH 暴力破解 | `./main.sh --module log --log-file /var/log/auth.log` | | 渗透测试前侦察 | `./main.sh --module recon --target target.com` | | 响应安全告警 | `sudo ./main.sh --module ir` | | 检查攻击者 IP 是否已知恶意 | `./main.sh --module ipcheck --ip "x.x.x.x"` | | 完整 SOC 扫描并生成阻断列表 | `./main.sh --correlate` | ## 安全注意事项 - 请使用 `chmod 600` 保护 `config/api_keys.conf` - 将 `config/api_keys.conf` 和 `reports/` 添加到 `.gitignore` - 事件响应模块仅执行只读数据收集 —— **不会修改任何系统状态** - 对非自有系统进行侦察需获得明确授权 ## 许可证 MIT 许可证 —— 请负责任地使用,仅对您被授权测试的系统使用。
标签:Bash, DNS枚举, HTTP工具, IP信誉, IP 地址批量处理, Shell脚本, SOC仿真, sudo失败审计, WHOIS查询, 侦察枚举, 免杀技术, 协议探测, 后渗透, 威胁情报, 安全运营中心, 应用安全, 开发者工具, 开源安全工具, 无线安全, 日志解析, 暴力破解检测, 模块化, 终端安全, 网络安全, 网络安全工具, 网络映射, 认证日志分析, 证书伪造, 逆向工程平台, 隐私保护