hfinger——红队打点指纹识别工具


项目地址: https://github.com/HackAllSec/hfinger

简介

hfinger 是一个高性能准确的命令行指纹识别工具,用于红队打点时快速准确识别指定目标的 Web 框架和 CMS 等信息。由于EHole很久没更新了,且存在一些缺点(误报、漏报、匹配不太灵活等),此工具根据 finger.json 文件中定义的指纹进行匹配,优化原有文件结构,增加匹配逻辑,增加错误页识别和被动识别模式。

特性

  • 高性能、精准的识别目标
  • 支持同一目标匹配多个框架指纹识别
  • 支持主动模式被动模式
  • 支持根据错误页识别
  • 根据响应 Headerbodytitlefinger.json 中定义的指纹进行匹配
  • finger.json支持自定义匹配逻辑
  • 支持随机UA头
  • 支持多线程,线程数可通过 -t 参数调整
  • 支持代理,通过 -p 参数指定代理
  • 实时输出匹配结果,匹配到则使用绿色输出,未匹配到则使用白色输出
  • 支持 JSON、XML 和 XLSX 格式的输出

指纹库

  • 收录的产品、Web框架和CMS总数(根据不同cms的值统计,名称相同的指纹只记1次):1177
  • 指纹总数量(数量小的原因是已将指纹进行优化和合并,对同一资产的指纹进行合并):1412

兵在精而不在多,指纹数量也一样,看数量意义不大,关键看可以识别的产品、Web框架和CMS数量。

使用方法

安装

  1. 直接访问https://github.com/HackAllSec/hfinger/releases,选择并下载适合自己电脑的最新Releases版本解压即可
  2. 确保你已经安装了 Go 语言环境,然后克隆本仓库并编译:

    git clone https://github.com/HackAllSec/hfinger.git
    cd hfinger
    go build

    Windows下可直接运行build_windows.bat编译。

命令行参数


 █████         ██████   ███
▒▒███         ███▒▒███ ▒▒▒
 ▒███████    ▒███ ▒▒▒  ████  ████████    ███████  ██████  ████████
 ▒███▒▒███  ███████   ▒▒███ ▒▒███▒▒███  ███▒▒███ ███▒▒███▒▒███▒▒███
 ▒███ ▒███ ▒▒▒███▒     ▒███  ▒███ ▒███ ▒███ ▒███▒███████  ▒███ ▒▒▒
 ▒███ ▒███   ▒███      ▒███  ▒███ ▒███ ▒███ ▒███▒███▒▒▒   ▒███
 ████ █████  █████     █████ ████ █████▒▒███████▒▒██████  █████
▒▒▒▒ ▒▒▒▒▒  ▒▒▒▒▒     ▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒  ▒▒▒▒▒███ ▒▒▒▒▒▒  ▒▒▒▒▒
                                        ███ ▒███
                                       ▒▒██████
                                        ▒▒▒▒▒▒                     By:Hack All Sec

A high-performance command-line tool for web framework and CMS fingerprinting

Usage:
  hfinger [flags]

Flags:
  -f, --file string          Read assets from local files for fingerprint recognition, with one target per line
  -h, --help                 help for hfinger
  -l, --listen string        Using a proxy resource collector to retrieve targets, example: 127.0.0.1:6789
  -j, --output-json string   Output all results to a JSON file
  -s, --output-xlsx string   Output all results to a Excel file
  -x, --output-xml string    Output all results to a XML file
  -p, --proxy string         Specify the proxy for accessing the target, supporting HTTP and SOCKS, example: http://127.0.0.1:8080
  -t, --thread int           Number of fingerprint recognition threads (default 100)
      --update               Update fingerprint database
      --upgrade              Upgrade to the latest version
  -u, --url string           Specify the recognized target,example: https://www.example.com
  -v, --version              Display the current version of the tool

使用示例

主动模式

单个 URL 识别:

hfinger -u https://www.hackall.cn

从文件中读取目标并识别:

hfinger -f targets.txt

指定代理:

hfinger -u https://www.hackall.cn -p http://127.0.0.1:8080

输出 JSON 格式识别结果到文件:

hfinger -u https://www.hackall.cn -j output.json

输出 XML 格式识别结果到文件:

hfinger -u https://www.hackall.cn -x output.xml

输出 XLSX 格式识别结果到文件:

hfinger -u https://www.hackall.cn -s output.xlsx

被动模式

用法和Xray类似,包括启动监听、添加上游代理,工具联动等等。被动模式可以识别主动模式无法识别的指纹,且比主动扫描更加全面。

启动监听即可:

hfinger -l 127.0.0.1:8888 -s res.xlsx

要支持HTTPS网站需要将certs目录下的证书导入浏览器。

联动其它工具

联动Xray或其它工具有两种方式:

方式一: Target -> Xray/Burp -> hfinger

在上边的基础上浏览器设置代理经过XrayBurp,然后在XrayBurp配置上游代理为hfinger的监听地址即可。

方式二: Target -> hfinger -> Xray

启动hfinger被动模式,使用-p参数设置上游代理,浏览器设置代理为hfinger的监听地址即可。

hfinger -l 127.0.0.1:8888 -p http://127.0.0.1:7777 -s res.xlsx

输出示例

  1. 实时输出到终端
  2. JSON 输出格式:

    [
      {
     "url": "https://example.com",
     "cms": "若依",
     "server": "cloudflare",
     "statuscode": 200,
     "title": "登录"
      },
      {
     "url": "https://example.com",
     "cms": "Shiro",
     "server": "cloudflare",
     "statuscode": 200,
     "title": "登录"
      }
    ]
  3. XML 输出格式:

    <results>
      <result>
     <URL>https://blog.hackall.cn</URL>
     <CMS>Typecho</CMS>
     <Server>cloudflare</Server>
     <StatusCode>404</StatusCode>
     <Title>Hack All Sec的博客 - Hack All Sec&#39;s Blog</Title>
      </result>
    </results>
  4. XLSX输出格式:

    URLCMSServerStatusCodeTitle
    https://blog.hackall.cnTypechocloudflare200Hack All Sec的博客 - Hack All Sec's Blog

声明:Hack All Sec的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - hfinger——红队打点指纹识别工具


Hacker perspective for security