Web指纹识别器系列1:开源项目搜集和反思

Posted 南瓜__pumpkin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web指纹识别器系列1:开源项目搜集和反思相关的知识,希望对你有一定的参考价值。

前言

本文用时

  • 信息搜集和整理:60 minutes(then have a rest)
  • 站在巨人的肩膀上:
  • 总耗时:

Web应用指纹库是信息收集中很重要的一部分,个人理想中的指纹识别软件,通过指纹识别,不仅可以判定组件名称和版本号,甚至还可以打印收集的 历史漏洞,是武器库中不可或缺的一部分。

思路:计划把 Web应用指纹库 模块添加到个人扫描器中,之前也会见到御剑指纹扫描器、某司内部指纹扫描器等等,先收集一波指纹插件,再问问几位师傅平时用什么软件做指纹识别。

指纹识别工具

参考

百度检索

Wappalyzer(集成在浏览器或可单独)——在用

whatweb(集成在kali)——基于ruby语言开发,具有在线cms指纹识别平台

Web Develpoer(浏览器集成)——定位是开发工具扩展,对安全人员不太友好

御剑web指纹识别——CMS指纹识别小工具,该程序由.NET 2.0框架开发,但指纹库数量偏少

WTFScan——使用php开发,需要下载源码本地运行,最近一次更新在3年以前

天蝎指纹库——知道创宇产品,疑似关闭

Finger——一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具,近日持续更新的项目,最近一次更新是上个月

Github

软件名称指纹库文件开发语言上次更新时间
Webfingerweb.dbPython28 Dec 2017
TideFingercms_finger.dbPython今年8月
FingerPrinttanjiti.jsonPerlNov 2016
DayuFeature.jsonJavaAug 2017
通用指纹识别规则-rules--13小时以前

……

在线识别

参考

名称备注
云悉指纹-
GodEye-

信息整理

筛选工具

筛选条件-对工具的认可度:开发语言、更新时间、工具感知、可借鉴学习 等方面

名称说明
Wappalyzer在用
Finger-
TideFinger-
通用指纹识别规则-rules-

在线平台

可以直接使用,或者调用在线平台接口

名称备注
whatweb-
云悉指纹-
GodEye-

反思总结(20%关键)

目前见到的指纹识别器,主要有三种方式存储指纹库

  • .db文件
  • .json文件
  • 插件形式:.py文件

引擎:设想之初,想的是调用 py 插件形式,这样可以灵活地添加每个组件的识别代码、历史漏洞信息等,不过比较可惜的是,开源项目中基本没有看到 py 形式的插件。

识别技术:有收获的是,看到了不同的指纹识别技术,但与此同时也让我意识到,如果要开发自己的指纹识别工具,除了一日复一日地积累插件,至少需要腾出一周以上的时间来编写引擎,目前看有些困难。(如果要吸收借鉴一些开源项目,时间会更久)

吸收借鉴:想到毕设早晚要写,又对需要花费的精力释怀了,而且东西做出来之后又是解放双手的一波。目前的思路,先使用和审计一下筛选到的指纹识别项目,了解使用的都是什么技术,然后找师傅们请教和交流,探讨引擎、插件等开发思路和事项。(嗐为什么都要这么复杂)

个人倾向:之前审计过某司的扫描器,运行方式是引擎调用插件,比较熟悉和方便,而且插件的可扩展性会更强,所以个人更倾向于编写 py 插件。(缺点是格式不够统一和标准,可移植性不强……)

项目认知

  • 指纹识别引擎是简单的,难的是插件的全面和详细程度等
  • 目前遇到的卡点是
    1. 熟悉筛选到的开源项目,请教师傅们在用什么指纹识别工具,审计和了解其运行机制,尝试吸收和借鉴(虽然引擎会比较简单,可能引擎方面借鉴的东西不多)(耗时较长)
    2. 请教其他师傅,在这个开发过程中有哪些经验和思考?调用插件和其他方式有什么不同?计划应用哪些指纹识别技术?是否值得编写 py 插件型的指纹识别器?
  • 该项目引擎涉及到的多线程以及任务调度等,可以为扫描器的开发奠定一些基础。

以上是关于Web指纹识别器系列1:开源项目搜集和反思的主要内容,如果未能解决你的问题,请参考以下文章

开源情报文库

开源情报文库

信息搜集之搜索引擎

信息搜集之搜索引擎

fscan:一键自动化、全方位漏洞扫描的开源工具

几款小众web指纹识别工具源码分析