不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

渗透测试之目标分析与指纹识别总结

建站形式分析

分目录站点

•形如: www.xxx.com  www.xxx.com/bbs www.xxx.com/old•渗透思路:网站可能有多个cms或框架组成,那么对于渗透而言,相当于渗透目标是多个(一个cms一个思路)

分端口站点

•形如:www.zzz.com www.zzz.com:8080 www.zzz.com:8888•渗透思路:网站可能有多个端口或框架组成,那么对于渗透而言,相当于渗透目标是多个(一个端口一个思路)

分域名站点

•形如:www.yyy.com bbs.yyy.com blog.yyy.com•渗透思路:分域名和主站可能同服务器或同网段,对于分域名渗透可以直接和主站进行联系

分移动端站点

•形如:www.yyy.com m.yyy.com•渗透思路:不同主站一套的移动端框架程序,需要对移动端站点另做测试

整站分析

服务器类型

Windows:Server 2003、Server 2008、Server 2012、Server 2016……

Linux:CentOS、RHEL、Ubuntu Server、Debian……

如何判断操作系统类型?

最简单的方法是通过Ping命令去探测:Windows的TTL值都是一般是128,Linux则是64。所以大于100的一般是Windows,而几十的一般是Linux。

判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来。

网站容器类型

知道了这些信息之后,我们就需要知道网站用的web服务器是什么类型的:Apache、Nginx、Tomcat还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。

脚本类型

我们需要知道网站用的脚本类型:PHPJSPASPASPX

数据库类型

我们需要知道网站用的是哪种类型的数据库:MySQLOracleSqlServer 还是 Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。所以我们还是要知道目标网站用的是哪种数据库,并且数据库是哪个版本的。

常见脚本与数据库搭配

ASP 和 ASPX:ACCESS、SQL Server

PHP:MySQL、PostgreSQL

JSP:Oracle、MySQL

指纹识别

指纹识别简介

在web渗透过程中,Web指纹识别是信息收集环节中一个比较重要的步骤,通过一些开源的工具、平台或者手工检测CMS系统是公开的CMS程序还是二次开发至关重要,能准确的获取CMS类型、Web服务组件类型及版本信息可以帮助安全工程师快速有效的去验证已知漏洞。

常见指纹检测的对象

•CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等•前端技术:比如HTML5、jquery、bootstrap、pure、ace等•Web服务器:比如Apache、lighttpd, Nginx, IIS等•应用服务器:比如Tomcat、Jboss、weblogic、websphere等•开发语言:比如PHP、Java、Ruby、Python、C#等•操作系统信息:比如RHEL、win2008、centos等•CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等•WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等•IP及域名信息:IP和域名注册信息、服务商信息等•端口信息:有些软件或平台还会探测服务器开放的常见端口

常见的指纹识别方式

特定文件的MD5

一些网站的特定图片文件、js文件、CSS等静态文件,如favicon.ico、css、logo.ico、js等文件一般不会修改,通过爬虫对这些文件进行抓取并比对md5值,如果和规则库中的Md5一致则说明是同一CMS。这种方式速度比较快,误报率相对低一些,但也不排除有些二次开发的CMS会修改这些文件。

正常页面或错误网页中包含的关键字

先访问首页或特定页面如robots.txt等,通过正则的方式去匹配某些关键字,如Powered by Discuz、dedecms等。\\n\\n或者可以构造错误页面,根据报错信息来判断使用的CMS或者中间件信息,比较常见的如tomcat的报错页面。

请求头信息的关键字匹配

根据网站response返回头信息进行关键字匹配,whatweb和Wappalyzer就是通过banner信息来快速识别指纹,之前fofa的web指纹库很多都是使用的这种方法,效率非常高,基本请求一次就可以,但搜集这些规则可能会耗时很长。而且这些banner信息有些很容易被改掉。

根据response header一般有以下几种识别方式:

•查看http响应报头的X-Powered-By字段来识别;•根据Cookies来进行判断,比如一些waf会在返回头中包含一些信息,如360wzws、Safedog、yunsuo等;•根据header中的Server信息来判断,如DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等;•根据WWW-Authenticate进行判断,一些路由交换设备可能存在这个字段,如NETCORE、huawei、h3c等设备。

部分URL中包含的关键字

比如wp-includes、dede等URL关键特征。

通过规则库去探测是否有相应目录,或者根据爬虫结果对链接url进行分析,或者对robots.txt文件中目录进行检测等等方式,通过url地址来判别是否使用了某CMS,比如wordpress默认存在wp-includes和wp-admin目录,织梦默认管理后台为dede目录,solr平台可能使用/solr目录,weblogic可能使用wls-wsat目录等。

开发语言的识别

web开发语言一般常见的有PHP、jsp、aspx、asp等,常见的识别方式有:

•通过爬虫获取动态链接进行直接判断是比较简便的方法。比如:asp判别规则如下<a[^>]*?href=('|")[^http][^>]*?\.asp(\?|\#|\1),其他语言可替换相应asp即可。•通过X-Powered-By进行识别比较常见的有X-Powered-By: ASP.NET或者X-Powered-By: PHP/7.1.8•通过Set-Cookie进行识别

这种方法比较常见也很快捷,比如Set-Cookie中包含PHPSSIONID说明是php、包含JSESSIONID说明是java、包含ASP.NET_SessionId说明是aspx等。

指纹识别工具

国外指纹识别工具

WhatWeb

Kali Linux 內置工具。

Whatweb 是一个开源的网站指纹识别软件,拥有超过1700+个插件,它能识别的指纹包括 cms 类型、博客平台、网站流量分析软件、javascript 库、网站服务器,还可以识别版本号、邮箱地址、账户 id、web 框架模块等。

下载地址:https://github.com/urbanadventurer/WhatWeb

Wapplyzer插件

Wappalyzer 是一个实用的跨平台网站分析工具,用于帮助开发者、研究者和设计者检测网页使用的是什么技术,以更好地衡量自己的项目中该使用什么技术。Wappalyzer 的功能和 BuiltWith 类似,可检测内容管理系统(CMS),电子商务平台、Web服务器、JavaScript框架和已安装的分析工具等。

Wappalyzer可直接在chrome或火狐的应用商城直接搜索安装。

Wappalyzer目前可识别65个大类的1216个应用,查看可检测的应用程序列表:https://wappalyzer.com/applications

下载地址:https://github.com/AliasIO/Wappalyzer

Whatruns插件

Whatruns是为chrome开发的一款web指纹识别程序,还可以显示托管的CDN、wordpress插件、wordpress字体等,拥有丰富的插件支持。

跟Wappalyzer安装类似,Whatruns可直接在chrome应用商城直接搜索安装。

Plecost

Plecost是Wordpress博客引擎的漏洞指纹识别和漏洞查找器,能识别Wordpress版本并能查找到cve,不过访问不了google的话可能有些功能就受限了。Plecost基于python架构,利用了Beautiful Soup来解析html、xml文件识别网站使用的插件及版本。

下载地址:https://github.com/iniqua/plecost

国内指纹识别工具

御剑web指纹识别程序

御剑web指纹识别程序是一款CMS指纹识别小工具,该程序由.NET 2.0框架开发,配置灵活、支持自定义关键字和正则匹配两种模式、使用起来简洁、体验良好。在指纹命中方面表现不错、识别速度很快、但目前比较明显的缺陷是指纹的配置库偏少。

windows下图形界面,比较亲民,扫描速度略慢,指纹库略少,可手工更新。

下载地址:https://www.webshell.cc/4697.html

Test404轻量WEB指纹识别

Test404轻量WEB指纹识别程序是一款CMS指纹识别小工具,配置灵活、支持自行添加字典、使用起来简洁、体验良好。在指纹命中方面表现不错、识别速度很快。可手动更新指纹识别库,而且该软件在2019.04月刚刚更新了一版。

下载地址:https://www.test404.com/post-1618.html

w11scan分布式WEB指纹识别平台

w11scan是一款分布式的WEB指纹识别系统(包括CMS识别、js框架、组件容器、代码语言、WAF等等),管理员可以在WEB端新增/修改指纹,建立批量的扫描任务,并且支持多种搜索语法。

安装和下载可参考:https://github.com/w-digital-scanner/w11scan

手工安装稍微复杂,不过作者提供了docker部署,方便很多,使用了Mongodb,内置了1800多条常见的指纹,可以识别多达538种常见CMS,当然也可以手工添加指纹。

TideFinger

TideSec团队开发的一个开源的指纹识别工具,使用了传统和现代检测技术相结合的指纹检测方法,让指纹检测更快捷、准确。

下载地址:https://github.com/TideSec/TideFinger\\\n\\\n在对指纹库整理去重后,对每个指纹进行了命中率的标识,当匹配到某个指纹时该指纹命中率会加1,而在使用指纹时会从优先使用命中率高的指纹。

Dayu指纹识别工具

“大禹”为一款c/s结构jar文件工具,只需本地安装java环境,加参数-u即可,具体设置参数可参考github介绍。

下载地址:https://github.com/Ms0x0/Dayu

在线指纹识别

云悉指纹识别

http://www.yunsee.cn/

bugscaner指纹识别

http://whatweb.bugscaner.com/look/

潮汐在线指纹识别

http://finger.tidesec.net/

赞(0) 打赏
未经允许不得转载:seo优化_前端开发_渗透技术 » 渗透测试之目标分析与指纹识别总结

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏