信息收集主要是收集服务器的配置信息和网站的敏感信息,主要包括域名信息、子域名信息、目标网站信息、目标网站真实IP、目录文件、开放端口和服务、中间件信息等等。在进行渗透测试之前,第一步也是非常关键的一步就是对目标进行信息收集,我们尽可能收集关于目标的信息,这将会大大提高发现漏洞的概率
当拿到一个网站的时,从基本信息入手,可以收集如IP、端口、域名、网段等;从系统信息入手,可以获取其中操作系统与版本;从应用信息入手,获取各个端口应用服务,如web应用、邮件应用等;又或者从服务信息入手,获取高危服务,如文件共享服务
第一类:主动信息收集。通过直接访问、扫描网站
第二类:被动信息收集。利用第三方的服务对目标进行访问了解,比例:谷歌搜索、SSL证书查询、Shodan搜索等等
在进行网站注册的时候,需要申请域名,申请之后这些注册的信息将会保存到相关的域名数据库服务器中,并且这些域名信息经常是公开的,任何人都可以查询。
如果我们可以获取目标的真实ip,那么还需要对网站域名whois信息进行收集。
Whois就是一个用于查询域名是否已经被注册,如果以及注册,可以查询相关信息的数据库(注册人姓名、注册人的E-mail、电话号、注册机构、通信地址、邮编、注册有效时间、失效时间查询等等),然后利用谷歌的语法搜索,搜索出关于域名的很多信息。
1)利用网站
网站查询:Network Tools by YouGetSignal.com
站长之家:http://whois.chinaz.com
2)利用kali下自带的whois
kali下的whois+域名
子域名也称二级域名,当进行渗透测试的时候,一些目标网站的规模比较大,主站会进行重点防御,安全性强,下手难度高。通过子域名探测,可以对目标网站下发现更多的域或子域,大大提高漏洞发现的概率,再通过这些子域,接近真正的目标。除了不太现实的手动探测外,一般使用工具进行挖掘,如Layer,subDomainsBrute,K8PortScan
1)Layer子域名挖掘工具
直接输入域名,选择要扫描的端口,设置线程即可,而且图形化界面使用起来简单快捷
2)subDomainsBrute lijiejie
基本命令python subDomainsBrute.py baidu.com
扫描完成之后,在M:子域名检测lijiejiesubDomainsBrute-master mp下存放着扫描到的子域名
3)scanport
利用谷歌的语法搜索子域名
谷歌常用语法及其说明
关键字
说明
举例
site
限制搜索范围的域名
site:edu.cn
inurl
URL中存在关键字的网页
Inurl:ganyu
intext
搜索网页<body>部分的关键字
Intext:ganyu
filetype
搜索文件的特定后缀或者扩展名
filetype:txt
intitle
搜索网页标题的关键字
intitle:ganyu
link
返回所有与baidu.com做链接的URL
link:baidu.com
info
查找指定站点的一些基本信息
Info:baidu
https://myssl.com/ssl.html
CDN全称是Content Delivery Network(内容分发网络),用处是将源站内容分发存储至各个节点,当用户需求源站资源时,只需取得距用户最近的一个节点,获取所需内容,大大提高了用户访问时的响应速度,解决因分布距离、带宽大小、服务器性能带来的访问延迟问题,其实就是将内容缓存在终端用户附近。
举个例子,当用户点击网站的一个URL时,DNS会根据点击的这个URL去寻求IP地址解析,如果网站开启了CDN服务,会由CDN专用DNS服务器去处理这个IP,然后将CDN的全局负载均衡设备IP地址返回用户。用户根据给的IP,访问全局负载均衡,负载均衡按照用户的URL,选择一台举例用户最近缓存服务器,将这台服务器的IP告诉用户,用户向缓存服务器发起请求,最后将资源传输给用户终端。
所以如果信息收集目标开启了CDN服务,虽然可以直接ping域名,但是得到的并非真正的IP,只是距离我们最近一台目标节点的CND服务器IP,所以使得我们无法或者真实的IP地址。
1)在不同的地方ping同一个域名【有时候ping出的ip不唯一但是固定的几个,可能未使用CDN而使用的是双线。】
2)利用在线网站进行多地区ping 多个地点Ping服务器,网站测速 - 站长工具
3)利用在线nslookup查询,如果查询多次发现返还的IP不同,说明开启
1)利用国外在线网站ping(利用国内CDN往往只是对国内用户进行访问加速的原理)
Website uptime monitoring service, check is site down - Host-tracker - en
2)利用御剑CDN逆向IP查询(简洁高效)
3)利用一台国外主机进行ping
4)Netcraft 网址:http://searchdns.netcraft.com(还不错)
在渗透测试中,对端口信息的收集极为重要,服务器开了几个端口,端口后面的服务是什么,这些都是十分关键的信息。一个IP地址标识了一台主机,而一台主机可以提供多种服务,如web服务、ftp服务、SMTP 服务等。但是如果说IP地址与主机提供的服务是一对多的关系的话呢,光靠IP地址是不行的,这时就需要端口号进行区分。就好比一栋房子,我们得知道有哪些窗户是打开或是闭合的,从哪里入手,因此端口探测就显得尤为关键。
除了手动探测外,最常见的就是利用Nmap扫描、Zmap或者御剑进行扫描。
主要作用
目标探测:探测目标主机
端口探测:探测目标开放端口
版本探测:探测目标主机的网络服务,名称及版本号等等
脚本检测:漏洞扫描、检测病毒,入侵扫描等等
可以支持编写探测脚本或运行
同时可以进行c段嗅探,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是专注于C段中0,对D段的1-255进行嗅探,然后获取敏感信息。
基本命令
1.【扫描单个ip地址】nmap 127.0.0.1
2.【扫描多个ip】nmap 127.0.0.1 127.0.0.1
3.【扫描指定的ip范围】nmap 127.0.0.1-2
4.【扫描整个d段】nmap 127.0.0.1/24
5.【扫描文件内的所有目标地址】nmap -iL M:1.txt
6.【扫描除了127.0.0.1以外的地址】nmap 127.0.0.1/24 -exclude 127.0.0.1
7.【扫描除了M:1.txt以外的地址】nmap 127.0.0.1/24 -exclude M:1.txt
8.【扫描目标的20、21、22端口】nmap 127.0.0.1 -p 21,22,23
9.【对目标地址进行路由跟踪】nmap --traceroute 127.0.0.1
10.【扫描目标地址所在c段的在线状况】nmap -sP 127.0.0.1
11.【目标地址的操作系统的指纹识别】nmap -O 127.0.0.1
12.【服务器版本探测】nmap -sV 127.0.0.1
13.【探测防火墙状态】nmap -sF -T4 127.0.0.1
21端口
FTP 文件传输服务
22端口
SSH 远程连接服务
23端口
TELNET 终端仿真服务
25端口
SMTP 简单邮件传输服务
53端口
DNS 域名解析服务
80端口
HTTP 超文本传输服务
110端口
POP3
443端口
HTTPS 加密的超文本传输服务
1080端口
SOCKS代理协议服务器
1521端口
Oracle数据库
3306端口
MYSQL数据库端口
5432端口
PostgreSQL数据库端口
6379端口
Redis数据库端口
8080端口
TCP服务端默认端口
8888端口
Nginx服务器的端口
9200端口
Elasticsearch服务器端口
27017端口
mongoDB数据库默认端口
22122端口
fastdfs服务器默认端口
扫描目标站点的目录,寻找敏感信息【如目录名、文件(phpinfo.php、readme.php)、后台(admin.php)、robots.txt(告诉网络搜索引擎漫游器,此网站中的哪些内容是应该或者不应该被搜索引擎的漫游器获取的)、备份文件等(.bak .zip www.rar)】。
1)御剑
输入域名,加入字典,选择线程和超时时间,点击开始。同时御剑还可以用于SQL注入检测,各种加密解密,cdn逆向ip查询,查询目标主机的信息
2)Dirsearch
基本命令:python dirsearch.py -e * -u www.baidu.com
通常来说指纹识别就是人的手指末端正面皮肤上凹凸不平的纹路,纹路规律的排列形成特有的独一无二的的指纹。这里讲的指纹识别其实就是网站cms指纹识别,计算机操作系统以及web容器的指纹识别,如果目标网站系统并非自主研发的,就很有可能是使用了一些cms建站系统,如phpcms、eshop、wordpress、dedecms、dicuz、phpweb等等,对网站进行指纹识别,将会识别出网站所使用的CMS信息
潮汐指纹:TideFinger 潮汐指纹 TideFinger 潮汐指纹
以上就是本篇文章【三分钟学会渗透测试——信息收集】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/341.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多