前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何针对大量目标进行指纹识别

如何针对大量目标进行指纹识别

作者头像
信安之路
发布2021-07-29 10:47:30
1.1K0
发布2021-07-29 10:47:30
举报
文章被收录于专栏:信安之路

针对某个企业进行渗透测试,通过前期信息收集,会收集到非常多的子域名,有大量应用系统需要我们做测试,当然不可能所有系统都是企业自研,也许会用到比较多的开源系统或者开源组件,那么如何针对大量目标进行指纹识别呢?

网上也有很多开源的指纹识别工具,但是速度会比较慢,比如 Tide 团队的这个指纹识别工具:

https://github.com/TideSec/TideFinger

使用上也比较简单,直接指定目标即可,也支持多线程,如果想要针对大量目标进行指纹识别的话,有多种方式,但是直接使用它的话,会比较慢,所以我就基于他们整理的指纹库,进行了二次开发,写了一个可以快速识别指纹的脚本。

从它们的代码中,可以看到,指纹库 cms_finger.db 中,包含两种指纹,fofa 和 cms,将其中的指纹进行提取之后,了解其指纹信息结构,fofa 的规则:

代码语言:javascript
复制
(1, u'Huawei-Firewall', u'header="Eudemon Server" || body="Modify by wangxiangguang"')

其规则中,第二列是指纹的名称,第三列是规则,上面的规则中,header 中包含 Eudemon Server 或者 body 中包含 Modify by wangxiangguang 则认为该系统为 Huawei-Firewall,然后看一下 cms 的规则:

代码语言:javascript
复制
(1, u'08cms', u'/images/admina/arrow.jpg', u'4d31afa41252d32d8a9aefe04796eb4e', u'md5', 0)

第二列是指纹命令,第三列为路径,第四列为规则,第五列为规则类型,比如上面的规则的意思,当目标网站上存在路径 /images/admina/arrow.jpg 并且该文件的 md5 值为 4d31afa41252d32d8a9aefe04796eb4e 时,则认为该系统为 08cms,规则其实很好理解,这是指纹识别的核心。

在做指纹识别的时候,如果一个目标一个目标的去做全面的指纹探测,那么在短时间内,会对目标进行多次访问,很容易触发网站的安全策略,由于我们需要指纹识别的网站数量比较大,所以,可以将访问的请求打乱,将同一网站的访问请求频率降低。

首先提取出 cms 规则中的所有路径,然后以路径列表作为第一层循环,然后以目标列表作为第二层循环,这样进入队列中的顺序就是乱的,每探测一轮路径才会请求一次目标网站,这样的访问,在目标看来不是短时间多次,而是每隔一段时间一次。

最后结合多线程,实现快速扫描,最终获得想要的结果,最后我扫描四万多个目标,用了四五天的样子,开的一百个线程,结果如下:

因为访问一次网站也不容易,所以在指纹识别的同时,将页面中链接提取出来,进入下一步的漏洞探测阶段,漏洞探测阶段采用的是 xray 的被动扫描,编写一个调用 firefox 的脚本,使用 xray 启动的代理,自动访问,自动漏洞扫描,效果还是不错的,如果想要看详细的情况,可以加入信安之路的知识星球查看。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档