mcpField
R
recon-fingerprint

recon-fingerprint

github.com/crazymarky安全34977 次安装21 周前更新
代码仓库

关于 recon-fingerprint

recon-fingerprint 是用于识别 Web 技术、WAF、CDN 和服务器信息的安全测试技能。它通过 whatweb、nuclei、httpx 和 curl 等工具指导授权评估,并支持将指纹结果存入数据库。

主要功能

  1. 01识别 Web 技术
  2. 02检测 WAF 和 CDN
  3. 03分析 HTTP 标头
  4. 04检查服务器与 TLS
  5. 05持久化保存指纹结果

适用场景

  1. 01盘点网站技术栈
  2. 02检查 WAF 和 CDN 防护
  3. 03审查服务器标头与 TLS
  4. 04保存发现以供后续关联

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymarky/pentest-skills --skill recon-fingerprint

安装后在 Claude Code 中输入/recon-fingerprint确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
cms-fingerprints.txt
tech-headers.txt
waf-signatures.txt
references/
fingerprinting_techniques.md
httpx_guide.md
wafw00f_guide.md
whatweb_guide.md
scripts/
extract_headers.py
fingerprint_storage.py
tech_matcher.py
waf_detector.py

详细介绍

Web 指纹识别与 WAF 检测

授权警告

**重要:**Web 指纹识别会向目标服务器发送请求。请务必确保:

  • 已获得目标应用所有者的书面许可
  • 已明确授权测试的范围
  • 符合当地法规要求

前置条件

必须在系统上安装以下工具:

  • httpx - go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
  • nuclei - go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

可选工具:

  • wafw00f - pip install wafw00f
  • whatweb - 通过包管理器安装
  • fingerprintx - go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest

快速入门

Web 指纹识别中最常用的命令:

基本技术检测
whatweb https://target.com
WAF 检测
wafw00f https://target.com
HTTP 标头分析
curl -I https://target.com
全面指纹识别(Nuclei)
nuclei -u https://target.com -tags tech

常见场景

场景 1:快速技术指纹识别

需要快速识别技术栈时:

whatweb https://target.com --aggression 1

参数:

  • --aggression 1 - 快速扫描(1-4,默认值为 1)
  • -a 3 - 更激进(发送更多请求)
  • -v - 输出详细信息

示例:

whatweb https://target.com -a 3

场景 2:WAF 检测

需要检测 WAF/CDN 防护时:

wafw00f https://target.com

输出内容包括:

  • WAF 厂商(Cloudflare、AWS WAF、Imperva 等)
  • 使用的 CDN
  • 检测到的防火墙规则

检查多个目标:

wafw00f -i targets.txt

场景 3:服务器标头分析

需要分析 HTTP 标头时:

curl -I https://target.com

详细标头:

curl -v https://target.com 2>&1 | grep -i "< "

需要检查的常见标头:

Server: nginx/1.18.0
X-Powered-By: PHP/7.4
X-AspNet-Version: 4.0.30319
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000

场景 4:使用 Nuclei 检测技术

需要全面进行技术指纹识别时:

nuclei -u https://target.com -tags tech -severity info

特定技术:

nuclei -u https://target.com -tags "wordpress,joomla,drupal"
nuclei -u https://target.com -tags "spring-boot,struts2"
nuclei -u https://target.com -tags "react,vue,angular"

场景 5:HTTPx 指纹识别

需要快速探测 HTTP 并检测技术时:

httpx -u https://target.com -tech-detect -status-code -title

参数:

  • -tech-detect - 启用技术检测
  • -status-code - 显示 HTTP 状态码
  • -title - 提取页面标题
  • -server - 显示服务器标头
  • -websocket - 检测 WebSocket
  • -cdn - 检测 CDN

示例:

httpx -u https://target.com -tech-detect -server -cdn -ssl

场景 6:CMS 检测

需要识别 CMS 时:

whatweb https://target.com --aggression 3 | grep -i cms

使用 Nuclei 检测 CMS:

nuclei -u https://target.com -tags cms

常见 CMS 指示特征:

  • WordPress:/wp-login.php、/wp-admin/、wp-json
  • Drupal:/user/login、Drupal.settings
  • Joomla:/administrator/components、Joomla!
  • TYPO3:/typo3conf

场景 7:JavaScript 框架检测

需要识别前端框架时:

curl -s https://target.com | grep -i "react\|vue\|angular\|jquery"

检查特定框架文件:

# React
curl -s https://target.com | grep -i "react"

# Vue.js
curl -s https://target.com | grep -i "vue\.js\|vue-"

# Angular
curl -s https://target.com | grep -i "angular\|ng-app"

# jQuery
curl -s https://target.com | grep -i "jquery"

场景 8:服务器版本检测

需要识别服务器软件及其版本时:

nmap -sV -p 443,80 target.com

HTTP 服务器标识:

curl -I https://target.com | grep -i server

使用 httpx 检测服务器:

httpx -u https://target.com -server -response-time

场景 9:CDN 检测

需要识别 CDN 提供商时:

httpx -u https://target.com -cdn

检查 HTTP 标头中的 CDN 信息:

curl -I https://target.com | grep -i "cf-ray\|x-amz\|x-akamai\|x-fastly"

常见 CDN 标头:

  • Cloudflare:cf-ray、cf-cache-status
  • AWS CloudFront:x-amz-cf-id
  • Akamai:x-akamai-transformed
  • Fastly:x-served-by、fastly-ssl
  • CloudFront:via、x-amz-cf-pop

场景 10:SSL/TLS 指纹识别

需要分析 SSL 配置时:

nmap --script ssl-cert,ssl-enum-ciphers -p 443 target.com

使用 curl 查看 SSL 信息:

curl -vI https://target.com 2>&1 | grep -i ssl

使用 testssl.sh:

testssl.sh https://target.com

工具选择指南

场景推荐工具命令
快速检测技术whatwebwhatweb https://target.com
WAF 检测wafw00fwafw00f https://target.com
标头分析curlcurl -I https://target.com
全面检测nucleinuclei -u https://target.com -tags tech
快速探测httpxhttpx -u https://target.com -tech-detect
CMS 检测nucleinuclei -u https://target.com -tags cms
CDN 检测httpxhttpx -u https://target.com -cdn

工具对比:

工具速度覆盖范围最适用于
whatweb快良好快速检测技术栈
wafw00f快仅 WAFWAF 检测
nuclei中等优秀全面检测
httpx非常快基础快速探测
nmap慢深入SSL/服务端详情

技术指纹

Web 服务器
服务器标头模式常见版本
nginxServer: nginx1.18.x、1.20.x、1.22.x
ApacheServer: Apache2.4.x、2.2.x
IISServer: Microsoft-IIS7.5、8.0、8.5、10.0
Cloudflare 服务器Server: cloudflare-
后端框架
框架特征
PHPX-Powered-By: PHP、.php URL
PythonServer: WSGIServer、Python 标头
RubyX-Powered-By: Phusion Passenger
Node.jsX-Powered-By: Express
JavaX-Powered-By: JSP、.jspx、.do
.NETX-AspNet-Version、.aspx
GoServer: Go-http-server
前端框架
框架文件/模式
Reactreact.js、react-dom、_react、__REACT__
Vue.jsvue.js、vue-router、v-if、v-for
Angularng-app、angular.js、zone.js
jQueryjquery.js、$(、.ajax()
WAF 特征
WAF检测方法
Cloudflarecf-ray、cf-cache-status 标头
AWS WAFx-amz-cf-id 标头
ImpervaX-Iinfo、X-CDN 标头
Akamaiakamai-origin 标头
F5 ASMBIGipServer Cookie
ModSecurityMod_Security 标头
Barracudabarra_counter_session Cookie

提示与最佳实践

  1. 先进行被动检测 - 首先使用标头和页面内容
  2. 检查多个来源 - 结合工具输出以提高准确性
  3. 验证版本 - 技术检测并非总是精确
  4. 留意规避手段 - 有些网站会隐藏其技术栈
  5. 先检查 WAF - 主动扫描前务必检查是否存在 WAF
  6. 考虑 CDN 的影响 - CDN 可能会隐藏实际服务器信息
  7. 保存结果 - 记录指纹以便进行关联分析

资源

脚本
  • scripts/extract_headers.py - 提取并分析 HTTP 标头
  • scripts/tech_matcher.py - 根据响应匹配技术
  • scripts/waf_detector.py - 根据标头/Cookie 检测 WAF
参考资料
  • references/whatweb_guide.md - WhatWeb 参考指南
  • references/wafw00f_guide.md - WAF 检测指南
  • references/httpx_guide.md - HTTPx 参考资料
  • references/fingerprinting_techniques.md - 高级指纹识别方法

场景:指纹识别结果的持久化存储

当你需要将 Web 指纹识别结果持久化到数据库时:

# Manual entry after fingerprinting
python .claude/skills/recon-fingerprint/scripts/fingerprint_storage.py \
  --host-ip 192.168.1.100 \
  --url "https://example.com" \
  --technology "Apache 2.4.41" \
  --category "web-server" \
  --version "2.4.41" \
  --subsystem "Web Application"

参数:

  • --host-ip - 目标主机 IP(必填)
  • --url - 目标 URL(必填)
  • --technology - 发现的技术(必填)
  • --category - 技术类别:web-server、cms、framework 等(可选)
  • --version - 技术版本(可选)
  • --confidence - 置信度(可选)
  • --subsystem - 子系统名称(可选)

数据库位置: ./data/results.db

相关技能: results-storage - 查询数据、生成报告


Assets
  • assets/waf-signatures.txt - Known WAF signatures
  • assets/tech-headers.txt - Technology header patterns
  • assets/cms-fingerprints.txt - CMS detection patterns

评论

支持 Markdown