一个Go版(更强大)的TideFinger指纹识别工具,可对web和主机指纹进行识别探测,整合梳理互联网指纹2.3W余条,在效率和指纹覆盖面方面进行了平衡和优化。
之前使用Python实现了一个指纹识别程序——TideFinger,集成了互联网上众多开源指纹,并提供了一个免费在线的指纹检测平台——潮汐指纹http://finger.tidesec.com,目前已积累用户3万余人,每日指纹识别约2000余次。
近两年发现很多安全工具都开始转向使用Golang开发,Go在并发和性能方面有着天生的优势而且语法也更简洁,所以也把指纹识别重新用Golang实现了一下。
Golang版的TideFinger也是基于之前的TideFinger和大佬们的指纹库进行的整合开发,整体框架参考了Fscan,但Fscan的指纹相对较少一些(但很高效),只有200多条常用红队指纹库。所以整合了Dismap、Vscan、Kscan、fofa等web指纹,并加入了ServerScan的非web服务指纹,并优化了资产发现的协程并发效率,显示效果借鉴了Dismap,实现了Go语言版的TideFinger。
TideFinger_Go目前整合指纹2.3W余条,经测试,对1万个web系统进行指纹识别仅需8-10分钟,在效率和指纹覆盖面方面应该是目前较高的了。
TideFinger支持多Url、IP、网段等多种探测方式,沿用了fscan的破解功能,默认会启用口令破解和poc检测功能。显示结果中对130多个红队常见CMS和框架进行了红色标注。
常用示例:
TideFinger -h 192.0.0.1/24 -p 80 -np -nobr -nopoc 探测C段开放80端口的服务指纹,不使用ping,不暴力破解,不检测poc
TideFinger -uf url.txt -nobr -nopoc -pt 120 探测指定url文件的指纹,每个服务指纹超时为120秒
TideFinger -u http://www.tidesec.com -pd 探测指定url的指纹,检测poc,并显示poc的详细数据
增加了现实poc详情的功能,也就是在探测到某poc有效时,使用-pd参数会显示该poc的请求包和响应包。
由于部分功能还在完善(加载外部指纹及指纹自定义功能等),目前暂不提供源码,我这里打包了windows/mac/linux三个版本的TideFinger供大家下载。因为M1版本的没法压缩,所以文件略大。本次编译的均为x64版本,有需要x86版本的可以私信。
待指纹功能全部完善后,源码会在知识星球“Tide安全攻防”开放。后续版本更新和Bug反馈也会第一时间在星球进行更新。
工具开发中参考了很多知名的Go的指纹识别软件,在此一并感谢。
Dismap: https://github.com/zhzyker/dismap
fscan:https://github.com/shadow1ng/fscan
webanalyze:https://github.com/rverton/webanalyze
whatweb:https://github.com/l3m0n/whatweb
ServerScan:https://github.com/Adminisme/ServerScan
vscan:https://github.com/RickGray/vscan-go
kscan:https://github.com/lcvvvv/kscan/