关于Fingerprintx
Fingerprintx是一款功能强大的端口服务扫描工具,它是一款类似于httpx的实用工具,并且还支持扫描类似RDP、SSH、MySQL、PostgreSQL和Kafka等指纹识别服务。Fingerprintx可以跟类似Naabu这样的端口扫描工具一起使用,并对端口扫描过程中识别的一组端口进行指纹识别。比如说,研究人员可能希望扫描一个IP地址范围,然后快速对在所有发现的端口上运行的服务进行指纹识别,那么Fingerprintx就可以派上用场了。
功能介绍
1、支持对暴露的服务执行快速指纹识别;
2、应用层服务发现;
3、可以与其他命令行工具结合使用;
4、支持从已识别的服务自动收集元数据;
支持的协议
服务 | 协议端口 | 服务 | 协议端口 |
HTTP | TCP | REDIS | TCP |
SSH | TCP | MQTT3 | TCP |
MODBUS | TCP | VNC | TCP |
TELNET | TCP | MQTT5 | TCP |
FTP | TCP | RSYNC | TCP |
SMB | TCP | RPC | TCP |
DNS | TCP | OracleDB | TCP |
SMTP | TCP | RTSP | TCP |
PostgreSQL | TCP | MQTT5 | TCP (TLS) |
RDP | TCP | HTTPS | TCP (TLS) |
POP3 | TCP | SMTPS | TCP (TLS) |
KAFKA | TCP | MQTT3 | TCP (TLS) |
MySQL | TCP | RDP | TCP (TLS) |
MSSQL | TCP | POP3S | TCP (TLS) |
LDAP | TCP | LDAPS | TCP (TLS) |
IMAP | TCP | IMAPS | TCP (TLS) |
SNMP | UDP | Kafka | TCP (TLS) |
OPENVPN | UDP | NETBIOS-NS | UDP |
IPSEC | UDP | DHCP | UDP |
STUN | UDP | NTP | UDP |
DNS | UDP |
工具安装
GitHub安装
go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest
源码安装(Go 1.18+)
$ git clone git@github.com:praetorian-inc/fingerprintx.git $ cd fingerprintx # 需要Go 1.18+环境 $ go build ./cmd/fingerprintx $ ./fingerprintx -h
Docker安装
$ git clone git@github.com:praetorian-inc/fingerprintx.git $ cd fingerprintx # 构建代码 docker build -t fingerprintx . # 容器运行 docker run --rm fingerprintx -h docker run --rm fingerprintx -t praetorian.com:80 --json
工具使用
下列命令将显示工具的完整帮助信息和支持的参数选项:
fingerprintx -h
Usage: fingerprintx [flags] TARGET SPECIFICATION: Requires a host and port number or ip and port number. The port is assumed to be open. HOST:PORT or IP:PORT EXAMPLES: fingerprintx -t praetorian.com:80 fingerprintx -l input-file.txt fingerprintx --json -t praetorian.com:80,127.0.0.1:8000 Flags: --csv 以CSV格式输出 -f, --fast 快速模式 -h, --help 查看工具帮助信息 --json 以JSON格式输出 -l, --list string 指定目标列表文件 -o, --output string 输出文件路径 -t, --targets strings 指定目标(逗号分隔)或目标文件列表 -w, --timeout int 超时(毫秒),默认500毫秒 -U, --udp 运行UDP插件 -v, --verbose 开启Verbose模式
工具运行
针对单个目标:
$ fingerprintx -t 127.0.0.1:8000 http://127.0.0.1:8000
默认情况下,输出格式为SERVICE://HOST:PORT。如需查看详细信息并指定JSON格式输出,可以使用–json选项:
$ fingerprintx -t 127.0.0.1:8000 --json {"ip":"127.0.0.1","port":8000,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Content-Length":["1154"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 19 Sep 2022 18:23:18 GMT"],"Server":["SimpleHTTP/0.6 Python/3.10.6"]},"status":"200 OK","statusCode":200,"version":"SimpleHTTP/0.6 Python/3.10.6"}}
该工具还支持从类似Naabu之类的工具传入数据:
$ naabu 127.0.0.1 -silent 2>/dev/null | fingerprintx http://127.0.0.1:8000 ftp://127.0.0.1:21
使用一个文件作为输入参数执行任务:
$ cat input.txt | fingerprintx http://praetorian.com:80 telnet://telehack.com:23 # or if you prefer $ fingerprintx -l input.txt http://praetorian.com:80 telnet://telehack.com:23
获取更多的元数据输出:
$ cat input.txt | fingerprintx --json {"host":"praetorian.com","ip":"146.148.61.165","port":80,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Connection":["keep-alive"],"Content-Type":["text/html"],"Date":["Mon, 19 Sep 2022 18:37:55 GMT"],"Etag":["W/\"5e3e263f-1703\""],"Keep-Alive":["timeout=20"],"Server":["nginx"],"Vary":["Accept-Encoding"]},"status":"404 Not Found","statusCode":404,"version":"nginx"}} {"host":"telehack.com","ip":"64.13.139.230","port":23,"service":"telnet","transport":"tcp","metadata":{"serverData":"fffb03"}}
工具运行截图
工具使用演示
视频地址:【点我观看】
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。
项目地址
Fingerprintx:【GitHub传送门】
参考资料
© 版权声明
部分文章采集于互联网,若侵权请联系删除!
THE END
cesfe 1个月前0
好的,谢谢昶之琴 1个月前0
这个安装地址失效了,我在网上找了一个:https://xiazai.zol.com.cn/detail/35/344340.shtml 如果还是不行的话就需要您自己去网上找找了cesfe 1个月前0
帆软部署 ,访问的地址访问不到昶之琴 2年前0
我以为只要提交就行了好想告诉你 2年前0
花巨资看一下