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

VSole2021-12-23 06:54:30

建站形式分析

分目录站点

•形如: 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等。\\或者可以构造错误页面,根据报错信息来判断使用的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判别规则如下]*?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\\\\在对指纹库整理去重后,对每个指纹进行了命中率的标识,当匹配到某个指纹时该指纹命中率会加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/

指纹渗透测试
本作品采用《CC 协议》,转载必须注明作者和本文链接
Vxscan介绍python3写的综合扫描工具,主要用来敏感文件探测,WAF/CDN识别,端口扫描,指纹/服务识别,操作系统识别,弱口令探测,POC扫描,SQL注入,绕过CDN,查询旁站等功能,主要用来甲方自测或乙方授权测试,请勿用来搞破坏。看到上面的介绍也吓一跳,这么多功能?
集合渗透测试常用工具对目标进行一键扫描的缝合怪。Features:集合了多个github优秀的开源工具,只需传入目标,即可启动收集的工具同时对目标进行扫描,将结果统一格式化输出。现有两个模块的工具:collect与vulscan. 辅助红队快速定位目标资产信息,辅助蓝队发现疑似脆弱点。Image:Update2022-03-03 增加进度条显示Last words集成的工具有点多,整个项目太大,后面会改成在线下载bug也有点多,后面也会改,或者直接上docker以上两条有时间会做的!
随着互联网的迅速发展,网络安全问题日益严峻。黑客攻击和网络漏洞成为让人头痛的问题。为了保护自己的网络安全,安全专家不仅需要了解网络安全原理,还需要熟悉网络渗透工具的使用。Python作为一种简单易学且功能强大的编程语言,被广泛应用于网络安全领域。本文将推荐python渗透工具。
我的渗透测试方法论
2022-12-21 09:47:42
这种方式不复杂,但是速度也不算快,建议针对单个站点使用方式三:使用Masscan对IP列表进行扫描,获取其开放的端口,然后使用fingerprintx工具进行端口指纹识别,获取其中的开放WEB服务的端口,最后再将端口与域名数据拼接,即可获取http://domain:port格式的URL数据。
当你所掌握到的信息比别人多且更详细的时候那么你就占据了先机超级扫描支持范围扫描。支持活跃网段,主机。1)快速使用弱口令、指纹发现:df -ip 192.168.1.1-192.168.1.2. INFO[0000] 已加载1个IP,共计1个端口,启动每IP扫描端口线程数128,同时可同时检测IP数量32. INFO[0000] Plugins::netbios snmp postgres redis smb web memcached mssql mysql ftp mongodb ssh. 当前为非管理权限模式,请切换管理员运行。如果不具备管理员权限需要设置原生的命令检测。
为了提高安全服务项目的检测效率、规范性、全面性,Tide安全团队结合在渗透测试行业的经验和安全开发方面的积累,开发了一款自动化渗透测试工具。 该工具使用Golang开发为CS架构,集“资产探测-服务识别-爬虫-被动监测-漏洞扫描-POC检测-截屏-报告”于一体,适合甲方或乙方安服团队对目标系统进行全面的安全检测并输出报告。 本文主要介绍一下该工具的框架及部分实现思路。
网上安全渗透测试工具整理全集,部分链接可能失效,但可以搜索到
渗透测试前期信息收集工具
nmap -PN -sS -sV --script=vulscan –script-args vulscancorrelation=1 -p80 target. nmap -PN -sS -sV --script=all –script-args vulscancorrelation=1 target. NetCat,它的实际可运行的名字叫nc,应该早很就被提供,就象另一个没有公开但是标准的Unix工具。
VSole
网络安全专家