渗透测试之信息收集二
一、概述
信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测;
二、信息收集分类
主动信息收集:通过直接访问、扫描网站,这种流量将流经网站;
被动信息收集:利用第三方的服务对目标进行访问了解;
没有一种方式是最完美的,每个方式都有自己的优势,主动方式,你能获取更多的信息,但是目标主机可能会记录你的操作记录。被动方式,你收集的信息会相对较少,但是你的行动并不会被目标主机发现。一般在一个渗透项目下,你需要有多次的信息收集,同时也要运用不同的收集方式,才能保证信息收集的完整性
三、具体收集信息分类
1、域名信息的收集
1.1、判断域名对应的ip:
判断是否存在cdn情况,可以通过nslookup工具查找,也可以通过网站进行查找。如果查询结果多余一个IP地址,那么基本可以确定是用了CDN或者查询结果中存在CDN字样,那么基本可以确定使用的CDN。如果只有一个ip地址那基本可以确定不存在CDN,但是此时需要确定该IP地址是否为高防IP。目前确定高防Ip的方式为将接口请求域名修改为对应的ip地址,如果接口能够调通说明是真实IP,反之则为高防(该方案貌似不是最佳,但目前只能通过这种手段来确认)。
查用网址: http://ping.chinaz.com/ nslookup 域名
绕过CDN查找真实IP:
(1)内部邮箱源:
一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的)。
(2)查看域名历史解析记录:
也许目标很久之前没有使用CDN,所以可能会存在使用 CDN 前的记录,常用网址 https://tool.chinaz.com/dns/
(3)查询子域名:
毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
查询子域名有三种方法:
-
-
-
- 通过爆破子域名进行查询,如 Layer子域名爆破机、subDomainBrute,
-
-
Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。
subDomainBrute的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名等不容易被探测到的域名。
https://www.jianshu.com/p/d05acc617d6f
-
-
- 通过查询DNS服务器,查询该域下的解析记录
-
在线子域名查询网站:https://phpinfo.me/domain/
-
-
- 通过HTTPS证书来查询(只适用于https网站)
-
证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。在线网站:https://crt.sh
-
-
- 通过google查询
-
指定站点 site:baidu.com
(4)国外访问:
国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站https://asm.ca.com/en/ping.php 访问 ,可能会得到真实的ip地址。
(5)查询主域名:
以前用CDN的时候有个习惯,只让WWW域名使用cdn,秃域名不适用,为的是在维护网站时更方便,不用等cdn缓存。所以试着把目标网站的www去掉,ping一下看ip是不是变了,您别说,这个方法还真是屡用不爽。
(6)Nslookup查询:
查询域名的NS记录、MX记录、TXT记录等很有可能指向的是真实ip或同C段服务器。
1.2、判断域名的whois信息:
whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商);
2、网上搜索公司的一些敏感信息
比如,公司的邮箱格式,公司的员工姓名,以及与该公司有关的任何信息。并且,我们还可以去Github、码云等代码托管平台上查找与此有关的敏感信息,有些粗心的程序员在将代码上传至代码托管平台后,并没有对代码进行脱敏处理。导致上传的代码中有包含如数据库连接信息、邮箱密码、还有可能有泄露的源代码等
3、网站指纹识别
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。CMS又称整站系统。常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝国、Z-Blog等。
常见的网站指纹识别工具有:御剑Web指纹识别、椰树等。
在线指纹识别网站:
BugScaner:http://whatweb.bugscaner.com/look/
WhatWeb:https://whatweb.net/
4、整个网站的分析
4.1、服务器类型(windows或linux)
我们可以直接通过ping命令来ping域名或者ip地址,而针对结果进行分析。Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。
判断网站服务器的版本类型,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来;
4.2、容器类型
探测网站是哪种web服务器,可以使用工具 whatweb;WhatWeb:https://whatweb.net/
4.3、主机扫描(Nessus)
对目标主机进行扫描,而不仅仅是对网站进行扫描,扫描目标主机开放了哪些端口,扫描端口运行的服务,目标主机上有哪些漏洞。
主机扫描的工具也有很多,比如:Nessus
4.4、端口扫描(nmap)
需要知道目标服务器开放了哪些端口,常见的如 135 、137 、138 、139 、445,这几个端口经常爆发漏洞。以下是一些服务端口的漏洞:
22——>ssh弱口令
873——>rsync 未授权访问漏洞
3306——>mysql弱口令
6379——>redis未授权访问漏洞
端口扫描工具有nmap和masscan。nmap扫描的准确性较高,但是扫描的比较慢。masscan扫描的比较快,但是准确性较低。