Venu-exe/assetmap

GitHub: Venu-exe/assetmap

纯 C 编写的单一二进制侦察与指纹识别工具包,为漏洞赏金猎人整合了子域名枚举、证书分析、安全标头审计与 TLS 漏洞扫描等功能。

Stars: 0 | Forks: 0


ASSETMAP

一款专为漏洞赏金猎人打造的快速、零依赖侦察与指纹识别工具包 —— 纯 C 语言编写。

功能安装用法命令示例工作流许可证

``` ___ ___ ___ ___ _____ __ __ _ ___ / __/ __/ __| __|_ _| \/ | /_\ | _ \ | (_ \__ \__ \ _| | | | |\/| |/ _ \| _/ \___|___/___/___| |_| |_| |_/_/ \_\_| favicon + cert fingerprint + vuln recon v2.0 ``` ## 为什么选择 Assetmap? 大多数侦察工具都是用 Python/Go 编写的,并且会引入大量依赖。**Assetmap** 是一个单一编译的 C 二进制文件 —— 启动快、占用小,除了 `libcurl` 和 `openssl`(每台渗透测试机器上都已经安装了)之外,没有任何运行时依赖。 它结合了 **6 种基本侦察技术**,可以全面映射出组织的攻击面: - 🔍 **Favicon 指纹识别** —— 通过 Shodan 发现隐藏资产 - 📜 **证书透明度** —— 发现子域及关联域 - 🔐 **实时 TLS 证书分析** —— 对任意服务器的证书进行指纹识别 - 🛡️ **安全标头审计** —— 对目标的 HTTP 加固情况进行评级 - 🔬 **TLS/SSL 漏洞扫描** —— 弱密码套件、过期证书、缺少 HSTS 等 ## 功能 | 功能 | 描述 | |---------|-------------| | **Favicon Hash** | 计算任意 favicon 的 Shodan 兼容 MurmurHash3 哈希值 —— 查找所有使用相同图标的服务器 | | **crt.sh 域名查询** | 从证书透明度日志中提取 `*.domain.com` 的所有主机名 | | **crt.sh 组织查询** | 通过证书颁发者组织查找域名 —— 挖掘收购公司与子公司 | | **SSL 指纹** | 通过实时 TLS 握手获取 SHA-256 指纹、SAN、链深度、密钥信息及有效性 | | **安全标头** | 审计 10 种安全标头(HSTS、CSP、X-Frame-Options 等),并进行 A+ 到 F 级评级 | | **漏洞扫描器** | 测试 TLS 版本、弱密码套件、证书问题、HTTPS 重定向、HSTS、cookie 标志 | ## 安装 ### 前置条件 ``` # Debian/Ubuntu/Kali sudo apt install build-essential libcurl4-openssl-dev libssl-dev # Fedora/RHEL sudo dnf install gcc make libcurl-devel openssl-devel # Arch sudo pacman -S curl openssl base-devel ``` ### 构建 ``` git clone https://github.com/Venu-exe/assetmap.git cd assetmap make ``` 就这么简单。单一二进制文件 `./assetmap`,不需要 pip,不需要 npm,也不需要 cargo。 ### 验证 ``` ./assetmap --version # assetmap v2.0 ``` ## 用法 ``` ./assetmap [options] ``` ## 命令 ### 🔍 `favicon` —— 用于 Shodan Dorking 的 Favicon 哈希 计算任意 favicon.ico 文件的 Shodan 兼容 mmh3 哈希。使用此功能可以查找 **所有运行相同软件的服务器** —— 即使它们位于不同的域名或 IP 上。 ``` ./assetmap favicon https://target.com/favicon.ico ``` ``` [*] Favicon hash: 708578229 [*] Shodan dork: http.favicon.hash:708578229 ``` **漏洞赏金用途:** 将该哈希值粘贴到 Shodan 中,以查找共享相同 favicon 的预发布服务器、被遗忘的开发实例以及内部工具。 ### 📜 `crt` —— 证书透明度子域名枚举 查询 crt.sh 以获取涵盖 `*.domain.com` 的证书上出现的所有主机名。 ``` ./assetmap crt target.com ``` ``` admin.target.com api.target.com dev.target.com staging.target.com [*] 47 unique hostnames found ``` **漏洞赏金用途:** 直接将其输入到你的子域名字典中。通过管道传递给 `httpx` 或 `dnsx` 进行实时过滤。 ``` ./assetmap crt target.com | httpx -silent -mc 200 ``` ### 🏢 `crt-org` —— 基于组织的域名发现 通过证书组织名称查找域名 —— 挖掘不共享基础域名的收购公司、子公司及品牌。 ``` ./assetmap crt-org "Target Corporation" ``` **漏洞赏金用途:** 将范围扩展到 `*.target.com` 之外。发现 `acquired-brand.io`、`target-internal.net` 等。 ### 🔐 `ssl` —— 实时 TLS 证书指纹 连接到任意 host:port,执行 TLS 握手,并提取完整的证书详情。 ``` ./assetmap ssl target.com ./assetmap ssl target.com 8443 # custom port ``` ``` [*] TLS Version: TLSv1.3 [*] Cipher: TLS_AES_256_GCM_SHA384 [*] Certificate Chain Depth: 3 [*] SHA-256 Fingerprint: EA:E2:2D:87:EC:9C:D6:... [*] Serial: 02B0C199B5F2FF96095E3C861AF42BEE [*] Subject CN: *.target.com [*] Issuer Org: DigiCert Inc [*] Subject Alternative Names (12): DNS: *.target.com DNS: target.com DNS: *.api.target.com ... [*] Not After: Sep 21 08:37:24 2026 GMT [*] Certificate valid for 52 more day(s) [*] Public Key: EC 256 bits ``` **漏洞赏金用途:** SAN 会暴露内部主机名、API endpoint 及相关域名。过期或自签名的证书是直接的发现成果。 ### 🛡️ `headers` —— HTTP 安全标头审计 获取响应标头并对目标的安全状况进行评级。 ``` ./assetmap headers https://target.com ``` ``` [*] Server: nginx/1.18.0 [!] Info Leak: X-Powered-By: Express [+] Strict-Transport-Security: max-age=31536000; includeSubDomains ✓ [+] Content-Security-Policy: default-src 'self' ... [+] X-Content-Type-Options: nosniff [+] X-Frame-Options: deny [-] Permissions-Policy: MISSING [-] Cross-Origin-Opener-Policy: MISSING [*] Security Headers Score: 6/10 [*] Grade: C ``` **检查的标头:** | 标头 | 防范内容 | |--------|-----------------| | `Strict-Transport-Security` | SSL 剥离攻击 | | `Content-Security-Policy` | XSS、数据注入 | | `X-Content-Type-Options` | MIME 类型嗅探 | | `X-Frame-Options` | 点击劫持 | | `X-XSS-Protection` | 反射型 XSS(旧版) | | `Referrer-Policy` | Referrer 信息泄露 | | `Permissions-Policy` | 浏览器特性滥用 | | `Cross-Origin-*-Policy` | 跨域攻击(Spectre 等) | **漏洞赏金用途:** 缺失安全标头在大多数项目中都是有效的漏洞赏金发现。信息泄露标头(`X-Powered-By`、`Server` 版本)有助于识别技术栈指纹。 ### 🔬 `scan` —— TLS 与证书漏洞扫描器 带有严重性评级的全面安全审计。 ``` ./assetmap scan target.com ./assetmap scan target.com 8443 ``` ``` ═══════════════════════════════════════════════════════ Security Audit: target.com:443 ═══════════════════════════════════════════════════════ ───── TLS Version Support ───── [HIGH] TLS 1.0 is supported (deprecated/insecure) [INFO] TLS 1.2 is supported [INFO] TLS 1.3 is supported ───── Weak Cipher Check ───── [HIGH] RC4 ciphers accepted (cipher: RC4-SHA) [+] No other weak ciphers accepted ───── Certificate Security ───── [CRITICAL] Certificate is EXPIRED [HIGH] Certificate uses weak signature algorithm: SHA-1 ───── HTTP → HTTPS Redirect ───── [MEDIUM] HTTP port 80 serves content without redirecting to HTTPS ───── HSTS & Cookie Security ───── [MEDIUM] HSTS header is MISSING [MEDIUM] Cookie 'session' missing Secure flag [LOW] Cookie 'session' missing SameSite attribute ═══════════════════════════════════════════════════════ Scan Summary ═══════════════════════════════════════════════════════ [*] 7 total finding(s): 1 critical, 2 high, 3 medium, 1 low [!] CRITICAL issues found — immediate remediation needed! ``` **检查内容:** | 检查项 | 严重性 | 描述 | |-------|----------|-------------| | 支持 TLS 1.0/1.1 | HIGH | 易受 BEAST、POODLE 攻击的废弃协议 | | NULL/EXPORT 密码套件 | CRITICAL | 无加密或极易破解 | | RC4/DES 密码套件 | HIGH | 已知被破解的密码套件 | | 3DES/MD5 密码套件 | MEDIUM | 较弱但无法立即利用 | | 证书过期 | CRITICAL | 用户会看到浏览器警告 | | 自签名证书 | HIGH | 没有信任链 | | SHA-1 签名 | HIGH | 已被证明存在可行的碰撞攻击 | | RSA 密钥 < 2048 位 | HIGH | 可使用现代硬件进行因式分解 | | 主机名不匹配 | HIGH | 证书与域名不匹配 | | 无 HTTPS 重定向 | MEDIUM | 用户在 HTTP 上可能遭受 MITM 攻击 | | 缺少 HSTS | MEDIUM | 浏览器不会强制使用 HTTPS | | Cookie 缺少 Secure | MEDIUM | Cookie 通过 HTTP 发送 | | Cookie 缺少 HttpOnly | LOW | 可通过 JavaScript 访问(存在 XSS 风险) | | Cookie 缺少 SameSite | LOW | 存在 CSRF 风险 | ## 真实场景示例 ### 漏洞赏金侦察流水线 ``` # 1. 通过 cert transparency 发现子域名 ./assetmap crt target.com > subdomains.txt # 2. 通过 org name 查找更多域名 ./assetmap crt-org "Target Inc" >> subdomains.txt # 3. 去重 sort -u subdomains.txt -o subdomains.txt # 4. 查找 favicon hash 并在 Shodan 中搜索相关资产 ./assetmap favicon https://target.com/favicon.ico # 5. Fingerprint 所有子域名的 certs while read host; do echo "=== $host ===" ./assetmap ssl "$host" 2>/dev/null done < subdomains.txt # 6. 审计 live hosts 上的 headers cat subdomains.txt | while read host; do ./assetmap headers "https://$host" 2>/dev/null done # 7. 完整的 vuln scan while read host; do ./assetmap scan "$host" 2>/dev/null done < subdomains.txt ``` ### 快速单目标审计 ``` # 针对单一目标的完整 recon ./assetmap ssl target.com ./assetmap headers https://target.com ./assetmap scan target.com ``` ## 漏洞赏金工作流 ``` ┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ │ crt / crt-org │────▶│ Subdomain │────▶│ ssl fingerprint │ │ (discovery) │ │ List │ │ (per host) │ └─────────────┘ └──────────────┘ └─────────────────┘ │ ┌─────────────┐ ┌──────▼──────────┐ │ favicon │─── Shodan Dork ────▶ │ headers audit │ │ (hash) │ │ (per URL) │ └─────────────┘ └──────┬──────────┘ │ ┌──────▼──────────┐ │ scan (vuln) │ │ TLS + certs │ └─────────────────┘ ``` ## 项目架构 ``` assetmap/ ├── Makefile # GNU Make build system ├── LICENSE # MIT License ├── README.md ├── .gitignore ├── include/ │ ├── b64.h # Base64 (Python-compatible line wrapping) │ ├── crtsh.h # crt.sh CT log queries │ ├── favicon.h # Favicon mmh3 hash computation │ ├── headers.h # HTTP security header audit │ ├── http.h # HTTP client (libcurl wrapper) │ ├── mmh3.h # MurmurHash3 x86-32 │ ├── sslfp.h # SSL/TLS certificate fingerprinting │ └── vulnscan.h # TLS/cert vulnerability scanner └── src/ ├── b64.c # Base64 encoder matching Python encodebytes() ├── crtsh.c # crt.sh JSON parsing & dedup ├── favicon.c # Fetch → base64 → mmh3 pipeline ├── headers.c # 10-header audit with grading ├── http.c # libcurl GET with redirect/timeout/UA ├── main.c # CLI dispatcher & banner ├── mmh3.c # MurmurHash3 (Austin Appleby's algorithm) ├── sslfp.c # OpenSSL direct TLS connect & cert parsing └── vulnscan.c # 5-stage security audit engine ``` ## 免责声明 ## 许可证 [MIT 许可证](LICENSE) —— 随意使用、复刻、尽情折腾。 ## 作者 **Venu** ([@Venu-exe](https://github.com/Venu-exe))

如果这个工具帮你找到了 bug,请考虑给它点个 ⭐

标签:C2日志可视化, GitHub, 安全测试工具, 实时处理, 客户端加密, 密码管理, 指纹识别, 资产测绘