欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

国产指纹库平台 – 天蝎指纹库

来源:本站整理 作者:破晓 时间:2017-05-23 TAG: 我要投稿

0×00:前言
信息收集为渗透测试环节一个非常重要的阶段,它关系到后序列策划攻击的成功性。快速收集目标服务信息则需要测试人员熟练运用指纹识别技术。
0×01:指纹识别概念
组件是网络空间最小单元,Web应用程序、数据库、中间件等都属于组件。指纹是组件上能标识对象类型的一段特征信息,用来在渗透测试信息收集环节中快速识别目标服务。互联网随时代的发展逐渐成熟,大批应用组件等产品在厂商的引导下走向互联网,这些应用程序因功能性、易用性被广大用户所采用。大部分应用组件存在足以说明当前服务名称和版本的特征,识别这些特征获取当前服务信息,从而进行一系列渗透测试工作。
0×02:指纹识别方式
网上描述指纹识别方式的文章很多,以下是我在实际测试中使用的几种方式
1.特殊文件的md5值匹配
2.请求响应主体内容或头信息的关键字匹配
3.请求响应主体内容或头信息的正则匹配
4.基于Url关键字识别
5.基于TCP/IP请求协议识别服务指纹
不同应用组件的指纹识别方式有所不同,例如Web应用程序和数据库。
0×03:指纹识别详解
相关厂商下的cms(内容管理系统)程序文件包含说明当前cms名称及版本的特征码,如Discuz官网下robots.txt文件。

2.计算网站所使中间件或cms目录下静态文件的md5值,md5码可以唯一地代表原信息的特征。静态文件包括html、js、css、image等,建立在站点静态文件存在的情况下访问,如 Dedecms 官网下网站根目录URL“/img/buttom_logo.gif”图片文件。

3.请求访问外网端口映射设备,获取其响应头信息。根据相关规则,匹配特征字符。如请求天融信VPN设备外网映射URL获取响应头信息。

 
4.TCP/IP协议簇通信交互,IP用来把逻辑地址分配到网络机器,TCP使用网络公认方式传送IP数据包。网络上的通信交互均通过TCP/TP协议簇进行,操作系统也必须实现该协议。操作系统根据不同数据包做出不同反应。如Nmap检测操作系统工具通过向目标主机发送协议数据包并分析其响应信息进行操作系统指纹识别工作。

5.Socket,又称为“套接字”,应用程序可以通过“套接字”向网络发出请求或者应答网络请求。Socket对TCP/TP协议进行封装,是一个通信链的句柄。扫描网络中数据存储服务,利用Socket编程接口,获取网络字符输出流,进行指纹识别工作。下面是我写的一个例子。

上图为Nmap服务识别文件中的一段mssql数据库的指纹信息,以下为mssql数据库各版本信息。

我在本地搭建了一个mssql2008数据库,使用java自带的socket api,socket请求192.168.1.107的mssql数据库服务,获取socket字符输出流。把hex字符转换为10进制字符,同时获取socket   字符输入流进行单字节转码,生成一串16进制字符(去除后4位字符)。这串16进制字符用以识别msssql数据库版本。下面是此例子的识别结果。


由图可见,socket发送网络请求,并识别出mssql数据库及版本信息。
指纹识别的例子有很多,大部分都是以指纹识别方式中的几种为主,在此就不详细说明了。
0×04:指纹识别工具
像国外一些开源指纹识别工具一样,如whatweb、wapplyzer等,我们也开发了一款指纹识别工具“大禹”。“大禹”为一款c/s结构jar文件工具,只需本地安装java环境,设置相关参数就可以使用,具体参数详解请看下文。
下载地址:https://github.com/Ms0x0/Dayu
开源工具使用说明:
-u   一个域名或IP,如果输入更多域名或IP使用‘,’分隔;
-r    读取本地域名或IP文件地址;
-t    输入一个线程数量,默认线程为50;
-p   设置一个请求端口,默认端口为80;

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载