Web指纹识别器系列1:开源项目搜集和反思
Posted 南瓜__pumpkin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web指纹识别器系列1:开源项目搜集和反思相关的知识,希望对你有一定的参考价值。
前言
本文用时
- 信息搜集和整理:60 minutes(then have a rest)
- 站在巨人的肩膀上:
- 总耗时:
Web应用指纹库是信息收集中很重要的一部分,个人理想中的指纹识别软件,通过指纹识别,不仅可以判定组件名称和版本号,甚至还可以打印收集的 历史漏洞
,是武器库中不可或缺的一部分。
思路:计划把 Web应用指纹库
模块添加到个人扫描器中,之前也会见到御剑指纹扫描器、某司内部指纹扫描器等等,先收集一波指纹插件,再问问几位师傅平时用什么软件做指纹识别。
指纹识别工具
参考
- 国产指纹库平台 – 天蝎指纹库 - 2017/05
- 御剑web指纹识别-2015/08
- WhatWeb使用-2020/07
- [开源项目]WTF_Scan-一款WEBScan工具
- 渗透测试必备|一款优秀的web指纹识别工具 - Finger
百度检索
Wappalyzer(集成在浏览器或可单独)——在用
whatweb(集成在kali)——基于ruby语言开发,具有在线cms指纹识别平台
Web Develpoer(浏览器集成)——定位是开发工具扩展,对安全人员不太友好
御剑web指纹识别——CMS指纹识别小工具,该程序由.NET 2.0框架开发,但指纹库数量偏少
WTFScan——使用php开发,需要下载源码本地运行,最近一次更新在3年以前
天蝎指纹库——知道创宇产品,疑似关闭
Finger——一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具,近日持续更新的项目,最近一次更新是上个月
Github
软件名称 | 指纹库文件 | 开发语言 | 上次更新时间 |
---|---|---|---|
Webfinger | web.db | Python | 28 Dec 2017 |
TideFinger | cms_finger.db | Python | 今年8月 |
FingerPrint | tanjiti.json | Perl | Nov 2016 |
Dayu | Feature.json | Java | Aug 2017 |
通用指纹识别规则-rules | - | - | 13小时以前 |
……
在线识别
参考
名称 | 备注 |
---|---|
云悉指纹 | - |
GodEye | - |
信息整理
筛选工具
筛选条件-对工具的认可度:开发语言、更新时间、工具感知、可借鉴学习 等方面
名称 | 说明 |
---|---|
Wappalyzer | 在用 |
Finger | - |
TideFinger | - |
通用指纹识别规则-rules | - |
在线平台
可以直接使用,或者调用在线平台接口
名称 | 备注 |
---|---|
whatweb | - |
云悉指纹 | - |
GodEye | - |
反思总结(20%关键)
目前见到的指纹识别器,主要有三种方式存储指纹库
- .db文件
- .json文件
- 插件形式:.py文件
引擎:设想之初,想的是调用 py 插件形式,这样可以灵活地添加每个组件的识别代码、历史漏洞信息等,不过比较可惜的是,开源项目中基本没有看到 py 形式的插件。
识别技术:有收获的是,看到了不同的指纹识别技术,但与此同时也让我意识到,如果要开发自己的指纹识别工具,除了一日复一日地积累插件,至少需要腾出一周以上的时间来编写引擎,目前看有些困难。(如果要吸收借鉴一些开源项目,时间会更久)
吸收借鉴:想到毕设早晚要写,又对需要花费的精力释怀了,而且东西做出来之后又是解放双手的一波。目前的思路,先使用和审计一下筛选到的指纹识别项目,了解使用的都是什么技术,然后找师傅们请教和交流,探讨引擎、插件等开发思路和事项。(嗐为什么都要这么复杂)
个人倾向:之前审计过某司的扫描器,运行方式是引擎调用插件,比较熟悉和方便,而且插件的可扩展性会更强,所以个人更倾向于编写 py 插件。(缺点是格式不够统一和标准,可移植性不强……)
项目认知
- 指纹识别引擎是简单的,难的是插件的全面和详细程度等
- 目前遇到的卡点是
- 熟悉筛选到的开源项目,请教师傅们在用什么指纹识别工具,审计和了解其运行机制,尝试吸收和借鉴(虽然引擎会比较简单,可能引擎方面借鉴的东西不多)(耗时较长)
- 请教其他师傅,在这个开发过程中有哪些经验和思考?调用插件和其他方式有什么不同?计划应用哪些指纹识别技术?是否值得编写 py 插件型的指纹识别器?
- 该项目引擎涉及到的多线程以及任务调度等,可以为扫描器的开发奠定一些基础。
以上是关于Web指纹识别器系列1:开源项目搜集和反思的主要内容,如果未能解决你的问题,请参考以下文章