derianfarley/argus

GitHub: derianfarley/argus

Argus 是一个集成了 20 种安全工具的 Python 命令行工具包,用于渗透测试、OSINT 和安全研究。

Stars: 1 | Forks: 0

``` ___ ____ ________ _______ / | / __ \/ ____/ / / / ___/ / /| | / /_/ / / __/ / / /\__ \ / ___ |/ _, _/ /_/ / /_/ /___/ / /_/ |_/_/ |_|\____/\____//____/ ``` # Argus v4.0 **一款用于授权测试、OSINT 和安全研究的命令行网络安全工具包。** Argus 是一个单文件 Python 应用程序,包含 20 种工具,涵盖密码学、网络分析、Web 漏洞评估、OSINT、数据包分析和数字取证等领域。 ![Argus v4.0 — 主屏幕](https://static.pigsec.cn/wp-content/uploads/repos/cas/70/700b8a64f7bb2387d0a84748877fb7f29954dfd112a00ae24708ad4430359d68.png) ## 目录 - [截图](#screenshots) - [功能概览](#features-at-a-glance) - [环境要求](#requirements) - [安装说明](#installation) - [配置](#configuration) - [用法](#usage) - [交互式菜单](#interactive-menu) - [CLI 模式](#cli-mode) - [工具参考](#tool-reference) - [1. 密码学工具包](#1-cryptography-toolkit) - [2. 密码生成器](#2-password-generator) - [3. 编码/解码器](#3-encoder--decoder) - [4. 数据包分析](#4-packet-analysis) - [5. Web 漏洞扫描器](#5-web-vulnerability-scanner) - [6. HTTP Repeater](#6-http-repeater) - [7. 爬虫/抓取器](#7-spider--crawler) - [8. 键盘记录器](#8-keylogger) - [9. 结果数据库](#9-results-database) - [10. 网络与侦察工具](#10-network--recon-tools) - [11. 密码与 Hash 工具](#11-password--hash-tools) - [12. 文件与取证](#12-file--forensics) - [13. 授权实验室测试器](#13-authorized-lab-tester) - [14. OSINT 工具包](#14-osint-toolkit) - [15. SSL/TLS 检查器](#15-ssltls-inspector) - [16. 反向 Shell 生成器](#16-reverse-shell-generator) - [17. 目录暴力破解器](#17-directory-brute-forcer) - [18. 子域名枚举器](#18-subdomain-enumerator) - [19. CVE / NVD 查询](#19-cve--nvd-lookup) - [20. 云安全检查器](#20-cloud-security-checker) - [系统:配置 API 密钥](#system-configure-api-keys) - [项目结构](#project-structure) - [许可证](#license) ## 截图
工具预览 — 点击展开
| | | |:---:|:---:| | **1 · 密码学工具包** | **2 · 密码生成器** | | ![密码学工具包](https://static.pigsec.cn/wp-content/uploads/repos/cas/6f/6fba4cca5d0f8d4c163a331e428b19f7303ac53f4b2fd54768b69da405a5bc94.png) | ![密码生成器](https://static.pigsec.cn/wp-content/uploads/repos/cas/7c/7c0e2326333e8f5133ee7e2315c37d87126afbe3bc26ba3326ea93d785f1fdf7.png) | | **3 · 编码/解码器** | **4 · 数据包分析** | | ![编码/解码器](https://static.pigsec.cn/wp-content/uploads/repos/cas/da/dae9df79bdde57d8bf0f5cb6294cd7865261279c7b0666a024164254fc519f56.png) | ![数据包分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/ee/ee10cbef7255b50fa4cc87300d0c5c8fb4c3f974a9f94083d1f4622e821a1900.png) | | **5 · Web 漏洞扫描器** | **6 · HTTP Repeater** | | ![Web 漏洞扫描器](https://static.pigsec.cn/wp-content/uploads/repos/cas/95/954ec368f758ab174a842839ed8dfeef3386962791271e97cffd72662dccf098.png) | ![HTTP Repeater](https://static.pigsec.cn/wp-content/uploads/repos/cas/6e/6ef5647e6e9881cd77fb59f40fc917cd36b0b0321354dcba382d02e8149b7f85.png) | | **7 · 爬虫/抓取器** | **8 · 键盘记录器** | | ![爬虫/抓取器](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/9904b186b44ec26f4f9a2666ff2add49011ac07c74a8c00f251c9db13d5671f4.png) | ![键盘记录器](https://static.pigsec.cn/wp-content/uploads/repos/cas/3c/3cadc20606209d1f0319f18c63aa5e062cf86629cd4283042c274e306c84f835.png) | | **10 · 网络与侦察工具** | **11 · 密码与 Hash 工具** | | ![网络与侦察工具](https://static.pigsec.cn/wp-content/uploads/repos/cas/bf/bfc599aaa656d7c75f653b84fd8ef779ec3ddb827c2096472a0ca3da3ebd499c.png) | ![密码与 Hash 工具](https://static.pigsec.cn/wp-content/uploads/repos/cas/c6/c6509382d50317553aa41dbff0502233352079403154da297bfa262f918d61ee.png) | | **12 · 文件与取证** | **13 · 授权实验室测试器** | | ![文件与取证](https://static.pigsec.cn/wp-content/uploads/repos/cas/67/677d8c7fd57aaa507f947698b37e9dd4fee85a6700323867f5b59285417de9ad.png) | ![授权实验室测试器](https://static.pigsec.cn/wp-content/uploads/repos/cas/73/73a9a648ed3af5ae4fcda51ed4976d4bb9974540d4d8b91d8fe80a96497b4c97.png) | | **14 · OSINT 工具包** | **15 · SSL/TLS 检查器** | | ![OSINT 工具包](https://static.pigsec.cn/wp-content/uploads/repos/cas/40/406b15e0e910df2d7fd1783c6c034c544e9304eb94070841eddcfed92bc8933e.png) | ![SSL/TLS 检查器](https://static.pigsec.cn/wp-content/uploads/repos/cas/5b/5baa0385e323881184944709e783214d02e843b1bc9c6d9a1ac24f6234e142e1.png) | | **16 · 反向 Shell 生成器** | **17 · 目录暴力破解器** | | ![反向 Shell 生成器](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/baa342c849331792dfda411a09d68b7c7dcbf919b0507f3e9493f9f0a66a5f19.png) | ![目录暴力破解器](https://static.pigsec.cn/wp-content/uploads/repos/cas/b3/b39678f1c47d4164bd943221a677fb5ef3fc5fc2b20ea45d2c763a3fc929f838.png) | | **18 · 子域名枚举器** | **19 · CVE / NVD 查询** | | ![子域名枚举器](https://static.pigsec.cn/wp-content/uploads/repos/cas/65/658724129e3cc1d469a68c5a1e1c9a4169755cdcb64ce3947230d88c8f5fb15d.png) | ![CVE / NVD 查询](https://static.pigsec.cn/wp-content/uploads/repos/cas/a2/a22586785c9c030bb5c490fd4207159554cbbeeb27f7ac1c0c2157abaaef1b24.png) | | **20 · 云安全检查器** | | | ![云安全检查器](https://static.pigsec.cn/wp-content/uploads/repos/cas/67/67c306680b20ff2e8b88ae905bd0dc673044daa2dd0e751d60ca37682a4b9cef.png) | |
## 功能概览 | 类别 | 工具 | |---|---| | 密码学 | AES-256, RSA, SHA family, Vigenère, Caesar, XOR, substitution cipher | | 编码 | Base64, URL, HTML, Hex, Binary, ROT13, ROT47, Morse, JWT | | JWT 攻击 | alg=none, 算法混淆 (RS256→HS256), JWK 注入, payload 伪造 | | 网络 | 实时数据包嗅探器 (BPF), PCAP/PCAPNG 分析, C2 Beacon 检测 | | Web | 20 项检查漏洞扫描器, HTTP repeater, 爬虫/抓取器 | | OSINT | 域名, IP, 邮箱, 用户名, 图片 GPS, IOC 丰富化, 批处理 | | 侦察 | 端口扫描器, Ping 扫描, WHOIS/DNS, HTTP 头 | | 取证 | Metadata 提取, LSB 隐写术, SHA-256 完整性清单 | | 密码 | 生成器, 强度分析, 字典 Hash 破解器, HIBP 检查器 | | 威胁情报 | CVE/NVD 查询 (包含 EPSS 得分), 云存储错误配置检查 | | API 集成 | AbuseIPDB, VirusTotal, Shodan, Censys, URLhaus, MalwareBazaar, HIBP | ## 环境要求 **Python:** 3.8 或更高版本 **核心依赖**(大多数工具所需): ``` requests>=2.32.0 rich>=13.0.0 beautifulsoup4>=4.12.0 scapy>=2.5.0 ``` **可选功能包** — 按需安装: | 扩展包 | 包名 | 解锁功能 | |---|---|---| | `[crypto]` | `cryptography` | AES-256, RSA, PBKDF2, JWT 攻击 | | `[passwords]` | `zxcvbn` | 真实的密码强度评分 | | `[keylogger]` | `pynput`, `pyperclip` | 键盘记录器(仅限本机) | | `[pcap]` | `dpkt`, `numpy` | PCAP 分析, C2 beacon 二级统计 | | `[osint]` | `Pillow`, `dnspython`, `python-whois` | 图片 GPS, 完整 DNS, WHOIS | | `[web]` | `sslyze`, `fake-useragent`, `wappalyzer-python`, `playwright` | 深度 TLS, 技术指纹识别, JS 爬取 | | `[all]` | 以上所有 | 所有功能 | ## 安装说明 **克隆仓库:** ``` git clone https://github.com/derianfarley/argus.git cd argus ``` **安装核心依赖:** ``` pip install -r requirements.txt ``` **或者安装特定的功能包:** ``` pip install ".[crypto]" pip install ".[osint]" pip install ".[all]" ``` **如果你安装了 `[web]` 扩展包,请安装 Playwright 浏览器:** ``` playwright install chromium ``` **在 Linux 上,捕获数据包需要 root 权限或 `cap_net_raw` 能力:** ``` sudo python argus.py # 或 sudo setcap cap_net_raw+eip $(which python3) ``` ## 配置 部分工具可以选择性地查询外部威胁情报 API。API 密钥存储在 `argus_config.json` 文件中,该文件与 `argus.py` 位于同一目录下。最简单的设置方法是使用内置的向导: ``` python argus.py → c (Configure API Keys) ``` 向导会逐个展示每个密钥的掩码预览,并为你写入该文件。你也可以手动创建它: ``` { "abuseipdb_key": "your-key-here", "virustotal_key": "your-key-here", "shodan_key": "your-key-here", "urlhaus_key": "your-key-here", "censys_pat": "your-personal-access-token" } ``` 所有 API 密钥都是可选的 — 没有它们,每个工具也能正常工作并优雅地进行降级处理。如果提供了密钥,它们会在适用的地方(如 IOC 查询、端口扫描丰富化、WHOIS 查询等)被自动使用。 ## 用法 ### 交互式菜单 ``` python argus.py ``` 这会启动包含所有 20 个工具的主交互式菜单,并按类别分组。通过每个工具旁边显示的数字或字母进行导航,按 `q` 可从任何子菜单返回。 ### CLI 模式 Argus 还提供了用于脚本和自动化的非交互式命令行界面: **Web 漏洞扫描:** ``` python argus.py scan --url https://example.com --all python argus.py scan --url https://example.com --sqlmap --no-db ``` **对文本或文件进行 Hash 处理:** ``` python argus.py hash --text "hello world" python argus.py hash --file /path/to/file.bin --algorithm sha512 ``` 支持的算法:`sha1`, `sha224`, `sha256`, `sha384`, `sha512`, `sha3_256`, `sha3_512`, `blake2b` **检查 JWT:** ``` python argus.py jwt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... ``` **生成密码:** ``` python argus.py password --length 32 ``` ## 工具参考 ### 1. 密码学工具包 **主菜单 → `1`** ![密码学工具包](https://static.pigsec.cn/wp-content/uploads/repos/cas/6f/6fba4cca5d0f8d4c163a331e428b19f7303ac53f4b2fd54768b69da405a5bc94.png) 包含八种密码学工具的中心枢纽,涵盖教学型和生产级算法。 #### 1.1 替换密码 一种经典的单表替换密码,使用反转字母表作为密钥。支持对输入的文本或文件进行加密和解密。明确标注为玩具/演示密码 — 对于任何真实用途,建议使用 AES-256。 #### 1.2 AES-256 文件加密/解密 通过 `cryptography` 库使用 AES-256-GCM 进行生产级对称加密。 - 使用 PBKDF2-HMAC-SHA256 密钥派生函数和随机的 16 字节盐值 - 每次加密生成一个随机的 12 字节 nonce - 盐值和 nonce 会附加在输出文件之前,因此解密过程是自包含的 - 加密前会将整个文件加载到内存中 — 适用于大多数文件大小;超大文件(数 GB 以上)将占用相应比例的内存 需要:`pip install cryptography` #### 1.3 RSA 密钥对 + 文本加密/解密 使用带有 SHA-256 的 OAEP padding 生成 3072 位(默认)或 4096 位的 RSA 密钥对。 - 将公钥和私钥保存为 PEM 文件 - 使用公钥加密短消息 - 使用私钥解密密文 - 由于 OAEP-SHA256 的开销,最大消息长度约为 318 字节(3072 位)或 446 字节(4096 位) 需要:`pip install cryptography` #### 1.4 SHA 系列哈希 使用 MD5、SHA-1、SHA-256、SHA-512、SHA3-256 或 BLAKE2b 对输入的文本进行哈希处理,输出十六进制摘要。使用 Python 的 `hashlib` — 无需额外依赖。 #### 1.5 维吉尼亚密码 一种使用重复关键字的多表替换密码。 - 加密和解密字母文本 - 非字母字符保持不变 - 接受任意长度的关键字 #### 1.6 凯撒暴力破解器 对密文尝试所有 25 种可能的凯撒位移,并根据预期的英文字母频率对每个结果进行评分。输出所有 25 个候选结果并按分数排名,以便于识别最有可能的明文。 #### 1.7 XOR 密码 使用用户提供的十六进制密钥进行手动 XOR 加密和解密。将密文输出为十六进制字符串,并可将其解码还原。有助于理解基本的对称操作和 CTF 挑战。 #### 1.8 XOR 暴力破解器 + 频率分析 使用汉明距离/归一化编辑距离方法自动恢复多字节 XOR 密钥。 - 通过比较密文块之间的编辑距离来检测可能的密钥长度 - 使用英文字母频率分析独立恢复每个密钥字节 - 支持带有评分的单字节暴力破解以及最大长度可配置的多字节密钥 - 显示排名靠前的候选明文及其恢复出的密钥 ### 2. 密码生成器 **主菜单 → `2`** ![密码生成器](https://static.pigsec.cn/wp-content/uploads/repos/cas/7c/7c0e2326333e8f5133ee7e2315c37d87126afbe3bc26ba3326ea93d785f1fdf7.png) 使用 `secrets.choice()` 生成密码学级别的随机密码。 - 选择要包含的字符类:大写字母、小写字母、数字、符号 - 设置自定义长度(根据所选类别强制执行最小) - 如果安装了 **zxcvbn**,则使用它进行强度评分,否则回退到 Shannon 熵 - 显示 zxcvbn 得分(0–4)、预估的离线破解时间以及检测到的任何模式(键盘顺序输入、常见单词、日期) - 如果安装了 `pyperclip`,可以将结果复制到剪贴板 完整评分需要:`pip install zxcvbn` ### 3. 编码/解码器 **主菜单 → `3`** ![编码/解码器](https://static.pigsec.cn/wp-content/uploads/repos/cas/da/dae9df79bdde57d8bf0f5cb6294cd7865261279c7b0666a024164254fc519f56.png) 支持九种格式的多格式编码器和解码器,全部使用 Python 标准库 — 无需额外依赖。 #### 格式 | # | 格式 | 说明 | |---|---|---| | 1 | Base64 | 符合 RFC 4648 标准的编码/解码 | | 2 | URL 编码 | 百分号编码(编码/解码) | | 3 | HTML 实体 | 实体转义/反转义 | | 4 | Hex | 文本 ↔ 十六进制字节字符串 | | 5 | 二进制 | 文本 ↔ 8 位二进制字符串 | | 6 | ROT13 | 对称字母旋转 | | 7 | ROT47 | 跨所有可打印 ASCII 字符的对称旋转 | | 8 | 摩斯密码 | 文本 ↔ 点划编码 | | 9 | JWT | 检查器 + 六种攻击模式(见下文) | #### JWT 工具(格式 9 的子菜单) Argus 包含一个专用的 JWT 攻击工具包,用于授权的安全测试: | # | 攻击 | 描述 | |---|---|---| | 1 | **检查** | 解码 header/payload,标记弱算法(公共 endpoint 上的 `none`, `HS256`),检查过期时间和标准 claims | | 2 | **alg=none 剥离** | 移除签名并将 `alg` 设置为 `none`,伪造一个部分库会直接接受且不验证的 token | | 3 | **编辑 payload + alg=none** | 修改 payload 中的任何 claim(例如 `"role": "admin"`)并剥离签名 | | 4 | **使用已知密钥重新签名** | 伪造一个使用已知 HMAC 密钥签名的新 payload — 用于验证 token 验证逻辑 | | 5 | **RS256 → HS256 混淆** | 算法混淆攻击:获取 RSA 公钥并使用它作为 HMAC 密钥对 token 重新签名,利用未严格校验预期算法的库 | | 6 | **JWK 注入** | 在 JWT header 的 `jwk` claim 中嵌入攻击者控制的 RSA 密钥,诱骗有漏洞的库信任你自己的密钥 | ### 4. 数据包分析 **主菜单 → `4`** ![数据包分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/ee/ee10cbef7255b50fa4cc87300d0c5c8fb4c3f974a9f94083d1f4622e821a1900.png) 包含三种网络数据包工具的中心枢纽。 #### 4.1 实时数据包嗅探器 带有 BPF 过滤器接口的实时数据包捕获。 - 接受任何有效的 BPF 表达式(`tcp`, `udp port 53`, `host 8.8.8.8`, `icmp` 等) - 显示每个数据包的时间戳、协议、源地址、目标地址、标志位和 payload 预览 - 通过将 ARP 响应的 MAC 地址与实时表进行比较来检测 ARP 欺骗 - 跟踪 TCP 流并显示带有可打印内容的流的重组 payload - 捕获直到达到指定数量或按下 `Ctrl+C` 需要:`pip install scapy` 且在 Linux/macOS 上需要 root/sudo 权限 #### 4.2 PCAP / PCAPNG 分析器 对已保存的捕获文件进行离线分析。 - 无需实时网络接口即可读取 `.pcap` 和 `.pcapng` 文件 - 重建 TCP 流并显示连接摘要 - 显示协议分布、通信最频繁的主机以及流量时间线 - 将格式化的分析报告保存到 SQLite 结果数据库中 需要:`pip install dpkt` #### 4.3 C2 Beacon 检测器 对网络流量进行多维统计分析,以检测命令与控制 (C2) Beacon 模式。可分析 PCAP 文件或执行实时捕获。 **一级分析(始终启用):** - 数据包间隔的变异系数 (CV) — 规则的 Beacon 其 CV < 0.2 - 数据包数量和流持续时间 - 端口分类(常见的 C2 端口:4444, 8080, 443, 1337 等) - Payload 大小的变异系数 **二级分析(需要 `numpy`):** - 快速傅里叶变换 (FFT) — 识别间隔序列中的主导周期频率 - 自相关 — 检测 FFT 在嘈杂信号中可能遗漏的周期性 - Payload 大小的 Shannon 熵 — 低熵表明是模板化的 C2 流量 - 带有 ASCII 柱状图的间隔直方图可视化 **API 丰富化(可选,密钥来自 `argus_config.json`):** - AbuseIPDB:每个目标 IP 的滥用置信度得分 - VirusTotal:目标 IP 的检测率 - Shodan/InternetDB:目标主机上的开放端口和已知 CVE 每个流都会被评分,并分类为 HIGH、MEDIUM 或 LOW 置信度的 Beacon。 需要:`pip install scapy` 及可选的 `pip install numpy` ### 5. Web 漏洞扫描器 **主菜单 → `5`** ![Web 漏洞扫描器](https://static.pigsec.cn/wp-content/uploads/repos/cas/95/954ec368f758ab174a842839ed8dfeef3386962791271e97cffd72662dccf098.png) 一个综合性的 Web 应用程序扫描器,包含分为五个类别的 20 项独立检查。支持三种扫描配置文件以及完全自定义的检查选择。 **扫描配置:** - **快速** — 传输层检查(HTTP→HTTPS, SSL/TLS)、headers、服务器信息泄露、cookies、WAF 检测、技术指纹识别、well-known 文件 - **标准** — 包含快速模式的所有检查,外加:CORS、危险的 HTTP 方法、敏感路径、robots.txt、目录列出、开放重定向、速率限制、反射型 XSS、CSRF 检测、SSRF 扫描 - **深度** — 包含标准模式的所有检查,外加 SSLyze 深度 TLS 扫描;无论何种配置,必须明确同意才能运行 sqlmap - **自定义** — 通过 y/n 提示,让你单独启用或禁用这 20 项检查中的每一项 #### 传输层与 TLS - **(A) HTTP → HTTPS 重定向** — 通过跟踪明文 HTTP 版本的重定向链来验证服务器是否强制使用 HTTPS - **(B) SSL/TLS 证书检查** — 检查证书过期时间、过时的协议版本和弱加密套件 #### HTTP Headers - **(C) 安全 headers** — 检查以下 headers 是否存在且配置正确:`Strict-Transport-Security`, `Content-Security-Policy`, `X-Frame-Options`, `X-Content-Type-Options`, `X-XSS-Protection`, `Referrer-Policy`, `Permissions-Policy` - **(D) 服务器信息泄露** — 标记 `Server`, `X-Powered-By`, `X-AspNet-Version` 以及其他类似会暴露技术栈细节的 headers - **(E) CORS 策略** — 检测通配符 `Access-Control-Allow-Origin: *`,以及通配符来源与 `Access-Control-Allow-Credentials: true` 同时存在的危险组合 - **(F) 危险的 HTTP 方法** — 探测 `TRACE`, `CONNECT`, `DELETE`, `PUT` 和 `PATCH` 是否被公开接受 #### Cookies - **(G) Cookie 安全标志** — 检查每个 `Set-Cookie` header 是否缺少 `Secure`, `HttpOnly` 和 `SameSite` 属性 #### 内容与路径 - **(H) 敏感文件/路径暴露** — 探测 44 个常见的敏感路径,包括 `.env`, `.git/HEAD`, `phpinfo.php`、数据库转储模式、管理面板、Spring Boot actuator endpoint、API 文档、备份文件扩展名等 - **(I) Robots.txt 泄露** — 获取并解析 `robots.txt`,标记包含敏感关键字的 `Disallow` 条目 - **(J) 目录列出检测** — 检查 20 个常见目录路径是否存在 Apache/Nginx 的目录索引响应 (`Index of /`) - **(K) 开放重定向扫描** — 使用带有 Canary(金丝雀)目标地址的 14 种常见重定向参数(`next`, `url`, `redirect`, `goto`, `return_to` 等)进行测试,以检测未经验证的重定向逻辑 #### 基础设施 - **(L) 速率限制检测** — 检查 `X-RateLimit-*` 和 `Retry-After` headers,然后发送 15 个快速请求以确认是否真正执行了速率限制 - **(M) WAF / CDN 检测** — 从响应 headers 和正文模式中识别常见的 WAF 和 CDN 产品(Cloudflare, ModSecurity, Akamai, Imperva, AWS WAF, Sucuri 等) - **(N) 技术指纹识别** — 使用 `wappalyzer-python` 识别框架、CMS、服务器软件、JavaScript 库和分析平台 - **(O) 深度 TLS 扫描 (SSLyze)** — 详细的 TLS 验证,包括接受的协议版本、加密套件枚举、证书链验证和已知漏洞检查 - **(P) sqlmap 辅助 SQLi 扫描** — 在用户明确确认后针对目标启动 sqlmap;需要单独安装 sqlmap - **(Q) 反射型 XSS 参数探测** — 将唯一的 Canary 字符串注入到 URL 参数中,检查其是否未转义地出现在响应中 - **(R) Well-known 文件与清单** — 探测 `/.well-known/security.txt`, `/.well-known/openid-configuration`, `/.well-known/jwks.json` 及类似的发现 endpoint,查找暴露的配置和服务 metadata - **(S) CSRF 检测** — 被动检查响应中的 HTML 表单是否存在缺失或弱的 CSRF token;标记缺少任何防伪机制的 POST 表单 - **(T) SSRF 参数扫描** — 将带外探测 URL 注入到常见的请求参数中,以检测表单输入和查询参数中的服务端请求伪造漏洞 所有的发现都会被标记为 `CRITICAL / HIGH / MEDIUM / LOW / INFO`,按严重性分组显示,并为每个发现提供修复建议。在适用的地方,发现结果还会标记上相关的 MITRE ATT&CK 技术标识符。报告可以保存为带有时间戳的 `.txt` 文件,并且始终会保存到 SQLite 结果数据库中以便日后比较。 需要:`pip install requests` ### 6. HTTP Repeater **主菜单 → `6`** ![HTTP Repeater](https://static.pigsec.cn/wp-content/uploads/repos/cas/6e/6ef5647e6e9881cd77fb59f40fc917cd36b0b0321354dcba382d02e8149b7f85.png) 构建、发送并迭代修改 HTTP 请求,而无需离开 Argus。 - 从以下方式中选择:GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS - 提供 URL(如果未指定协议,则默认使用 HTTPS) - 逐行添加自定义 headers(`Name: Value` 格式) - 对于 POST, PUT, PATCH:提供可选的请求正文 - 每次响应后,查看状态码、所有响应 headers 和完整的正文 - 选择重新发送相同的请求、修改它或返回菜单 有助于手动确认漏洞、测试 endpoint 行为、调整捕获的请求以及验证补丁。 需要:`pip install requests` ### 7. 爬虫/抓取器 **主菜单 → `7`** ![爬虫/抓取器](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/9904b186b44ec26f4f9a2666ff2add49011ac07c74a8c00f251c9db13d5671f4.png) 使用广度优先搜索爬取 Web 应用程序并映射其完整的攻击面。 **它能发现的内容:** - **内部链接** — 同一域名上的每个页面 - **外部链接** — 目标网站链接到的第三方域名 - **表单** — action URL、HTTP 方法和所有已命名的输入字段(用于查找注入点) - **有趣的 URL** — 匹配敏感关键字的路径:`admin`, `login`, `signin`, `auth`, `api`, `upload`, `file`, `dashboard`, `panel`, `config`, `backup`, `export`, `download`, `debug`, `test`, `dev`, `staging`, `internal`, `private`, `password`, `passwd`, `token`, `key`, `secret`, `credentials` **配置:** - 最大深度:1–5 层(默认 2) - 最大页面数:可配置的限制,以避免失控的爬取 - 可选的 Playwright 模式用于处理 JavaScript 渲染的页面 — 可以爬取对于常规 GET 请求返回空 HTML 的单页应用 结果可以保存为带有时间戳的 `.txt` 文件。 需要:`pip install requests beautifulsoup4` JS 模式需要:`pip install playwright && playwright install chromium` ### 8.键盘记录器 **主菜单 → `8`** ![键盘记录器](https://static.pigsec.cn/wp-content/uploads/repos/cas/3c/3cadc20606209d1f0319f18c63aa5e062cf86629cd4283042c274e306c84f835.png) 专门用于监控你自己的机器的键盘记录器 — 适用于研究、取证演示或监控授权的实验室环境。 - 使用 `pynput` 捕获所有带有时间戳的击键记录 - 在受支持的平台上跟踪活动窗口标题的变化: - Windows:通过 `pygetwindow` - Linux:通过 `xdotool`(如果已安装) - macOS:通过 `subprocess` 调用 AppleScript - 通过 `pyperclip` 监控剪贴板内容变化 - 运行直到按下 **ESC** - 退出时显示会话统计信息:总击键次数、独立按键数、每分钟字数、最频繁按下的键以及窗口切换次数 需要:`pip install pynput pyperclip` 仅限 Windows:`pip install pygetwindow` ### 9. 结果数据库 **主菜单 → `9`** 所有产生结构化输出的 Argus 工具都会自动将结果保存到本地 SQLite 数据库(`argus_results.db`)中。结果数据库工具提供了一个用于查看和导出已保存扫描结果的界面。 - **浏览最近的运行记录** — 列出最近保存的 20 次运行记录,包括工具名称、目标、时间戳和摘要 - **查看运行记录** — 根据 ID 显示任何一次运行的完整保存报告 - **比较两次运行记录** — 对比两次已保存扫描报告的发现结果,突出显示新增和已解决的问题(用于跟踪修复进度) - **导出为 .txt** — 将运行记录的完整报告保存为纯文本文件 - **导出为 HTML** — 生成带有严重性部分颜色编码的精美 HTML 报告 ### 10. 网络与侦察工具 **主菜单 → `10`** ![网络与侦察工具](https://static.pigsec.cn/wp-content/uploads/repos/cas/bf/bfc599aaa656d7c75f653b84fd8ef779ec3ddb827c2096472a0ca3da3ebd499c.png) 包含四种网络侦察工具的子菜单枢纽。 #### 10.1 端口扫描器 使用 `ThreadPoolExecutor` 的并发 TCP 端口扫描器。 - 接受目标主机和端口范围(例如 `1-1024`)或以逗号分隔的列表 - 从内置表中解析常见服务名称(HTTP, HTTPS, SSH, FTP, SMB, RDP, MySQL 等) - 如果配置了 Shodan API 密钥,结果将通过 Shodan 的 banner 数据和已知 CVE 进行丰富化 - 仅限对你拥有或已获得授权扫描的主机使用 #### 10.2 Ping 扫描器 通过跨子网的 ICMP Ping 扫描来发现活动主机。 - 接受 CIDR 表示法(例如 `192.168.1.0/24`) - 通过操作系统的 Ping 工具并发 Ping 每个主机地址 - 列出响应的主机及其往返时间 #### 10.3 WHOIS / DNS 查询 综合的域名和 IP 查询工具。 - 通过 `dnspython` 解析 A, AAAA, MX, NS, TXT 和 CNAME 记录 - 通过 `python-whois` 获取 WHOIS 注册数据 - 如果配置了 API 密钥,可选择使用 Shodan 主机数据丰富化 IP 结果 - 结果将保存到 SQLite 结果数据库中 #### 10.4 HTTP Header 检查器 获取并显示目标 URL 的所有 HTTP 响应 headers。 - 颜色编码输出可区分与安全相关的 headers(HSTS, CSP, X-Frame-Options 等)与信息性及服务器信息泄露相关的 headers - 不做分析 — 原样显示返回的原始 headers ### 11. 密码与 Hash 工具 **主菜单 → `11`** ![密码与 Hash 工具](https://static.pigsec.cn/wp-content/uploads/repos/cas/c6/c6509382d50317553aa41dbff0502233352079403154da297bfa262f918d61ee.png) 包含四种密码和 Hash 工具的子菜单。 #### 11.1 Hash 生成器 使用可选算法对文本或文件进行 Hash 处理。 - 算法:MD5, SHA-1, SHA-256, SHA-512, SHA3-256, BLAKE2b - 对于文件:以 1 MB 分块读取,无需全部载入内存即可处理任意大的输入文件 #### 11.2 Hash 破解器(字典) 带有自动算法检测的基于字典的 Hash 破解器。 - 接受一个 Hash 值,并根据其长度和字符集推断可能的算法 - 接受任何字典文件(每行一个候选词) - 依次针对所有推断出的算法测试每个字典候选词,并带有实时显示已检查单词数和当前候选词的 Rich 进度条 - 在首次匹配成功时打印明文并停止 #### 11.3 密码强度分析器 评估密码强度并估算破解时间。 - 通过 `getpass` 输入密码 — 不在终端回显 - 如果安装了 **zxcvbn** 则进行评分(得分 0–4,带有特定的模式警告:键盘顺序输入、常用词、日期、重复模式等) - 如果 zxcvbn 不可用,则回退到 Shannon 熵计算 - 显示当前 GPU 破解速度下预估的离线破解时间 #### 11.4 Have I Been Pwned 密码检查器 使用 k-anonymity 针对 HIBP 泄露数据库检查密码。 - 仅将 SHA-1 Hash 的前 5 个字符发送到 HIBP API — 完整的 Hash 永远不会离开本机 - 报告该密码在所有已知泄露数据集中出现的次数 - 永远不会传输或记录明文密码 ### 12. 文件与取证 **主菜单 → `12`** ![文件与取证](https://static.pigsec.cn/wp-content/uploads/repos/cas/67/677d8c7fd57aaa507f947698b37e9dd4fee85a6700323867f5b59285417de9ad.png) 包含三种文件和取证工具的子菜单。 #### 12.1 文件 Metadata 提取器 从任何文件中提取文件系统和 EXIF metadata。 - 适用于任何文件类型的操作系统级统计信息:大小、创建时间、修改时间和访问时间戳 - 对于图像:通过 Pillow 提取完整的 EXIF 信息,包括相机制造商/型号、GPS 坐标、曝光设置、焦距和软件标签 - 结果将保存到 SQLite 结果数据库中 提取 EXIF 需要:`pip install Pillow` #### 12.2 PNG 隐写术 (LSB) 使用最低有效位编码在 PNG 图像中隐藏或提取秘密文本消息。 **隐藏模式:** - 将 UTF-8 消息编码到每个像素的红、绿、蓝通道的 LSB 中 - 载体图像与原始图像在视觉上完全一致 - 输出始终为 PNG(JPEG 压缩会破坏 LSB 数据) - 报告已用容量与总可用容量的对比 **显示模式:** - 读取每个像素 RGB 通道的 LSB 并重建原始消息 - 适用于隐藏模式生成的任何 PNG 容量:大约 `(图像宽度 × 图像高度 × 3) / 8` 字节。 需要:`pip install Pillow` #### 12.3 文件完整性检查器 SHA-256 文件完整性基线和验证工具。 **基线模式:** - 递归遍历目录并对每个文件进行 Hash 处理 - 保存包含路径、SHA-256 摘要、创建时间戳和根目录的 JSON 清单 - 跳过 `.git` 和 `__pycache__` 目录 **验证模式:** - 对同一目录树重新进行 Hash 处理,并与已保存的清单进行比较 - 报告以下各项的数量:新增文件、删除文件和修改过的文件(Hash 不匹配) - 列出每个类别的具体文件路径(每个类别最多 50 个) ### 13. 授权实验室测试器 **主菜单 → `13`** ![授权实验室测试器](https://static.pigsec.cn/wp-content/uploads/repos/cas/73/73a9a648ed3af5ae4fcda51ed4976d4bb9974540d4d8b91d8fe80a96497b4c97.png) 一款被动发现和无害探测工具,专为受控实验室目标(你自己的机器或专用测试环境)而设计。 - 将目标主机名解析为所有关联的 IP 地址 - 将每个 IP 分类为公共、私有、环回、链路本地或保留地址 - 执行非破坏性的 HTTP 探测 (GET /) 并报告状态码、服务器 header、重定向链和页面标题 - 从着陆页提取所有链接和表单,但不提交任何内容 - 结果将保存到 SQLite 数据库中 ### 14. OSINT 工具包 **主菜单 → `14`** ![OSINT 工具包](https://static.pigsec.cn/wp-content/uploads/repos/cas/40/406b15e0e910df2d7fd1783c6c034c544e9304eb94070841eddcfed92bc8933e.png) 包含八种被动 OSINT 工具的子菜单枢纽。所有工具都会将结果保存到 SQLite 数据库中。 #### 14.1 域名 OSINT 被动域名情报收集。 - 多记录 DNS 解析:A, AAAA, MX, NS, TXT, CNAME - 通过 `python-whois` 获取 WHOIS 注册数据 - SPF 记录分析 — 解析机制,检测缺失或过于宽松的记录 - DMARC 策略检查 — 标记缺失策略、`p=none` 以及缺失 `rua` 标签 - 通过 **crt.sh** 枚举证书透明度名称 — 从公开 CT 日志中查找子域名和相关域名,且无需向目标发送任何数据包 #### 14.2 IP 情报 IP 地理定位和 ASN 数据。 - 如果提供的是主机名,则将域名解析为 IP - 查询 ipwho.is 获取:国家、地区、城市、ASN、ISP、组织和时区 - 对地址类型进行分类:公共、私有、环回、链路本地、多播或保留 #### 14.3 邮箱分析器 邮箱地址 OSINT 和可送达性评估。 - 格式验证(通过 `email.utils` 进行 RFC 5322 解析) - 域名的 MX 记录解析 — 验证邮件是否确实可以送达 - 对发件人域进行 SPF 和 DMARC 策略检查 #### 14.4 邮件头分析器 原始邮件头取证。 - 接受粘贴的 header 文本或 `.eml` 文件路径 - 解析完整的 `Received` 链以跟踪路由跳转和时间戳 - 提取并验证 `Authentication-Results`(SPF, DKIM, DMARC 状态) - 标记常见的伪造指标:`From`/`Reply-To` 不匹配、`Return-Path` 差异、源 IP 与声明的发件人域不匹配 #### 14.5 用户名检查器 跨主要公共平台的被动用户名存在性检查。 - 通过 `ThreadPoolExecutor` 并发探测知名的个人资料 URL 模式 - HTTP 200 和 403 响应将被标记为可能存在的线索,供人工审查 - HTTP 404 被视为不存在 - 不会以任何方式登录、进行身份验证或与任何账户进行交互 #### 14.6 图像地理定位 从图像 EXIF metadata 中提取并映射 GPS 坐标。 - 接受带有嵌入式 GPS EXIF 标签的 JPEG 和 TIFF 文件 - 读取 `GPSLatitude`, `GPSLongitude` 和参考标签 - 将度/分/秒 (DMS) 转换为十进制小数 - 生成该位置的 Google Maps 直接链接 - 在 GPS 数据旁显示完整的 EXIF 转储信息 需要:`pip install Pillow` #### 14.7 IOC 查询助手 多来源的失陷标识符 (IOC) 丰富化。自动对标识符类型(IP、域名、URL、MD5、SHA-1、SHA-256)进行分类,然后查询相应的 API。 **对于 IP 地址:** - AbuseIPDB:滥用置信度得分和报告数量 - Shodan/InternetDB:开放端口和已知 CVE(InternetDB 不需要 API 密钥) - Shodan host API:如果配置了 `shodan_key`,可获取完整的 banner 数据 - Censys Platform API (`api.platform.censys.io/v3`):使用 Bearer PAT 身份验证获取端口和服务数据 **对于 URL 和域名:** - URLhaus:恶意软件托管和网络钓鱼分类 - VirusTotal:跨所有可用 AV 引擎和 URL 扫描器的检测率 **对于文件 Hash (MD5, SHA-1, SHA-256):** - MalwareBazaar:文件名、类型、恶意软件特征、标签和首次发现日期 - VirusTotal:检测率和恶意软件家族分类 在显示之前,所有 API 错误信息中的密钥值都会被屏蔽处理。 #### 14.8 批量 IOC 处理器 自动通过完整的 IOC 查询流水线,处理来自文本文件中的 IOC 列表(每行一个)。 - 自动对每个标识符进行分类 - 针对每个标识符查询所有已配置的 API - 显示结构化的摘要表,包含结论(干净/可疑/恶意/未知)和检测计数 - 将完整的报告保存到 SQLite 数据库中 ### 15. SSL/TLS 检查器 **主菜单 → `15`** ![SSL/TLS 检查器](https://static.pigsec.cn/wp-content/uploads/repos/cas/5b/5baa0385e323881184944709e783214d02e843b1bc9c6d9a1ac24f6234e142e1.png) 使用 Python 内置的 `ssl`模块进行深入的 SSL/TLS 检查 — 无需额外依赖。 - 接受主机名、URL 或 `host:port` - 连接并获取完整的证书详细信息:使用者、颁发者、所有 SAN(使用者可选名称)、序列号、有效期以及距离过期的天数 - 显示协商的 TLS 协议版本(TLS 1.0 / 1.1 / 1.2 / 1.3) - 显示当前使用的加密套件和密钥交换机制 - 标记常见的错误配置:过期的证书、30 天内即将过期的证书、过时的 TLS 1.0/1.1、由未知/自签名 CA 颁发的证书 ### 16. 反向 Shell 生成器 **主菜单 → `16`** ![反向 Shell 生成器](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/baa342c849331792dfda411a09d68b7c7dcbf919b0507f3e9493f9f0a66a5f19.png) 生成用于授权渗透测试和 CTF 的反向 Shell 单行命令。不会执行任何内容 — payload 仅作展示,供复制/粘贴使用。 输入 LHOST(你的监听 IP)和 LPORT(默认 4444),然后 Argus 将生成以下 payload: | # | 语言 / 方法 | |---|---| | 1 | Bash (TCP) | | 2 | Bash (UDP) | | 3 | Python 3 | | 4 | Perl | | 5 | PHP | | 6 | Ruby | | 7 | nc(传统版,带 `-e`) | | 8 | nc(管道方法,无需 `-e`) | | 9 | PowerShell (TCP,绕过执行策略) | 如果安装了 `pyperclip`,可以通过输入其编号将任何 payload 直接复制到剪贴板。 始终显示建议的 netcat 监听命令:`nc -lvnp ` ### 17. 目录暴力破解器 **主菜单 → `17`** ![目录暴力破解器](https://static.pigsec.cn/wp-content/uploads/repos/cas/b3/b39678f1c47d4164bd943221a677fb5ef3fc5fc2b20ea45d2c763a3fc929f838.png) 使用字典发现 Web 服务器上隐藏的文件和目录。 - 接受任何字典文件(每行一个路径),或使用内置的包含 115 个词的紧凑列表(涵盖常见的管理面板、API endpoint、CMS 路径、备份文件、配置文件等) - 通过 `ThreadPoolExecutor` 实现并发请求以提高速度 - 线程数和超时可配置 - 按状态码过滤 — 标记 200, 201, 204, 301, 302, 307, 403 响应 - 报告状态码、内容长度以及重定向后的最终 URL - 结果保存到 SQLite 数据库中 需要:`pip install requests` ### 18. 子域名枚举器 **主菜单 → `18`** ![子域名枚举器](https://static.pigsec.cn/wp-content/uploads/repos/cas/65/658724129e3cc1d469a68c5a1e1c9a4169755cdcb64ce3947230d88c8f5fb15d.png) 通过两种方式发现子域名,这两种方式也可以选择结合使用。 **DNS 字典暴力破解:** - 为内置列表(110 个常见子域名)或自定义字典中的每个词通过 DNS 解析 `.` - 内置列表涵盖:`www`, `mail`, `api`, `dev`, `staging`, `prod`, `admin`, `vpn`, `ci`, `jenkins`, `git`, `gitlab`, `ftp`, `intranet`, `corp`, `office` 等等 - 通过 `ThreadPoolExecutor` 进行并发解析并显示实时进度 **证书透明度日志:** - 被动查询 crt.sh 以获取 `%.domain`,从已颁发的证书中查找所有名称 - 不向目标域名发送任何数据包 - 通常能发现 DNS 字典永远猜不到的子域名 **HTTP 探测(可选):** - 对于发现的每个主机名,探测 HTTP 和 HTTPS 以查找活动服务 - 报告状态码、重定向目标和页面标题 结果将保存到 SQLite 数据库中。 ### 19. CVE / NVD 查询 **主菜单 → `19`** ![CVE / NVD 查询](https://static.pigsec.cn/wp-content/uploads/repos/cas/a2/a22586785c9c030bb5c490fd4207159554cbbeeb27f7ac1c0c2157abaaef1b24.png) 直接从 Argus 中搜索 NIST 国家漏洞数据库。无需 API 密钥。NVD 速率限制为每 30 秒 5 次请求。 **搜索模式:** - **按 CVE-ID** — 精确查询特定的 CVE(例如 `CVE-2024-12345`) - **按关键字** — 在 NVD 中进行全文搜索(例如 `log4j`, `apache`, `openssl`),结果数量可配置 **对于找到的每个 CVE,Argus 将显示:** - CVE ID - CVSS 基础得分和严重性(首选 v3.1,回退到 v3.0, v4.0, v2) - CVSS 向量字符串 - CWE 分类 - 发布日期和最后修改日期 - 完整的英文描述 - **EPSS 得分**(来自 first.org 的漏洞利用预测评分系统) — 未来 30 天内的利用概率,包含百分位排名和分类标记(高 / 中 / 低利用概率) 所有结果都会保存到 SQLite 数据库中。 ### 20. 云安全检查器 **主菜单 → `20`** ![云安全检查器](https://static.pigsec.cn/wp-content/uploads/repos/cas/67/67c306680b20ff2e8b88ae905bd0dc673044daa2dd0e751d60ca37682a4b9cef.png) 探测云存储服务的公共访问错误配置。测试跨三个提供商的六个 endpoint — 无需云 API 密钥。 | 提供商 | Endpoint | 检测方法 | |---|---|---| | AWS S3 | 虚拟托管风格 (`https://.s3.amazonaws.com/`) | 响应中的 XML `ListBucketResult` | | AWS S3 | 路径风格 (`https://s3.amazonaws.com//`) | XML 列表 | | Azure Blob | 容器列表 (`?restype=container&comp=list`) | HTTP 状态码 + XML | | Azure Blob | 静态网站 (`$web`) | HTTP 200 响应 | | GCP | XML API (`storage.googleapis.com//`) | XML `ListBucketResult` | | GCP | JSON API (`/storage/v1/b//o`) | JSON kind 字段 | 对于每个 endpoint,报告:HTTP 状态码、是否检测到公开列表以及测试的完整 URL。被标记的 endpoint 将作为 HIGH 严重级别的发现展示。 ### 系统:配置 API 密钥 **主菜单 → `c`** 用于设置 `argus_config.json` 的交互式向导。 - 显示每个密钥当前掩码后的值(仅可见最后 4 个字符) - 依次提示输入每个密钥,并描述使用该密钥的工具 - 支持更新单个密钥而不重置其他密钥 - 将更新后的 JSON 写入 `argus_config.json` **支持的密钥:** | 密钥 | 使用者 | |---|---| | `abuseipdb_key` | IOC 助手(IP 查询)、C2 Beacon 检测器 | | `virustotal_key` | IOC 助手(IP、域名、URL、Hash)、批量 IOC 处理器 | | `shodan_key` | IOC 助手(主机数据)、端口扫描器(CVE 丰富化)、WHOIS/DNS | | `urlhaus_key` | IOC 助手(URL/域名查询) | | `censys_pat` | IOC 助手(通过 Censys Platform API v3 获取 IP 服务数据) | 所有密钥都是可选的 — 没有它们,每个工具也能正常工作并优雅地进行降级处理。 ## 项目结构 ``` argus/ ├── argus.py # Single-file application (~10,600 lines) ├── pyproject.toml # PEP 621 packaging metadata + optional extras ├── requirements.txt # Dependency list with capability annotations ├── README.md # This file ├── docs/ │ └── screenshots/ # Tool preview images └── argus_config.json # API keys (created by setup wizard, not committed) ``` 首次运行时,工作目录中会自动创建 `argus_results.db`。 ## 许可证 MIT License — 详见 [LICENSE](LICENSE)。 *由 [Derian Farley](https://github.com/derianfarley) 构建*
标签:ESC4, OSINT, Python, 实时处理, 密码管理, 数字取证, 数据泄露, 无后门, 特征检测, 系统分析, 网络分析, 网络安全工具箱, 自动化脚本, 逆向工具