信息收集概念

进行渗透测试之前,最重要的一步就是信息收集。

信息收集的主要内容:收集服务器配置信息、网站敏感信息等,包括域名、子域名信息、目标网站系统CMS指纹、目标网站真实IP、开放端口等。

1、收集域名信息

知道目标域名后,第一件事就是获取域名注册信息,包括域名DNS服务器信息及注册人联系信息等。

Whois命令查询

概念:Whois是一个标准互联网协议,可用于收集网络注册信息,如注册域名、IP等。

原理:Whois就是一个用于查询域名是否被注册及注册域名详细信息的数据库。

作用:获得注册人姓名和邮箱,通过社工进一步获取其它信息。

用法:

whois baidu.com	

在线Whois查询网站:

站长工具_whois查询工具_爱站网 (aizhan.com)

域名Whois查询 - 站长之家 (chinaz.com)

VirusTotal

2、查询备案信息

概念:网站备案是工具国家法律法规规定,需要网站所有者向国家有关部门申请的备案。这是国家信息产业部对网站的一种管理。

注意:若网站搭建在其他国家,则不需进行备案。

在线备案信息查询网站:

天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 (tianyancha.com)

3、收集敏感信息

搜索关键字

通过搜索引擎构造特殊关键字语法来搜索互联网上的相关敏感信息。还可用其来收集数据库文件、SQL注入、配置信息、源码泄露、未授权访问和robots.txt等敏感信息。

常用搜索语法(各搜索引擎大同小异):

语法作用
Site指定域名
InurlURL存在关键字的网页
Intext网页正文中的关键字
Filetype指定文件类型
Intitle网页标题中的关键字
linklink:baidu.com 表示返回所有和baidu.com做了链接的URL
Info查找指定站点的基本信息
cache搜索Google中关于某些内容的缓存

一般可以把语法结合使用以获得更准确的信息。

使用Burp Suite的Repeater模块

将抓到的包发送至Repeater模块,查看服务器端的响应包。可以获得一些服务器信息,如Server类型及版本PHP版本信息等。

GitHub信息泄露

可以尝试在GitHub上搜寻敏感信息,如数据库连接信息、uc-key、阿里osskey、邮箱帐密等。

4、收集子域名

子域名,即二级域名,指顶级域名之下的域名。假设目标网站规模较大,一般来说从主站入手都是极不理智的选择,这时我们就可以考虑从子域迂回接近目标。

子域名检测工具

Layer子域名挖掘机:较为常用,有域名、解析IPCDN列表Web服务器和网站状态。

subDomainBrute:用小字典递归发现三级、四级甚至是五级域名。

Sublist3r:能列举多种资源,如在GoogleYahooBingBaiduAsk等搜索引擎中可查到的子域名,还可列出NetcraftVirusTotaThreatCrowDNSdumpsterReverse DNS查到的子域名。

利用搜索引擎语法

利用site语法搜索与某域名相关的网页信息。

证书透明度公开日志枚举

证书透明度(Certificate Transparency, CT):是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。

SSL/TLS证书通常包含域名、子域名和邮件信息,这些也经常成为攻击者想获得的信息。

在线网站:

easyDNS Parked Page for: scrt.sh

Censys Search

5、端口收集

通过扫描服务器开放端口及端口状态判断服务器存在的服务,进一步定制化攻击。

收集工具:

Nmap

无状态端口扫描工具Masscan

ZMap

御剑高速TCP端口扫描工具

常见端口及说明

文件共享服务端口:

端口号端口说明攻击思路
21/22/69Ftp/Tftp文件传输协议允许匿名上传、下载、爆破和嗅探操作
139Samba服务爆破、未授权访问、远程代码执行
389Ldap目录访问协议注入、允许匿名访问、弱口令
2049Nfs服务配置不当

远程连接服务端口:

端口号端口说明攻击思路
22SSH远程连接爆破、文件传输、SSH隧道及内网代理转发
23Telnet远程连接爆破、嗅探、弱口令
3389Rdp远程桌面连接爆破、Shift(Windows Server 2k3以下系统)
5632PyAnywhere抓取密码、代码执行
5900VNC弱口令爆破

Web应用服务端口:

端口号端口说明攻击思路
80/443/8080常见Web服务端口爆破、Web攻击、对应服务器版本漏洞
1352Lotus domino邮件服务爆破、弱口令、信息泄露
4848Glassfish控制台弱口令
7001/7002WebLogic控制台弱口令、Java反序列化
8080/8089Jboss/Resin/Jetty/Jenkins反序列化、控制台弱口令
9090WebSphere控制台弱口令、Java反序列化
10000Webmin-Web控制面板弱口令

数据库服务端口:

端口号端口说明攻击思路
1433MSSQL注入、提权、爆破、SA弱口令
1521Oracle注入、TNS爆破、反弹shell
3306MySQL注入、提权、爆破
5000SysBase/DB2爆破、注入
5432PostgreSQL爆破、注入、弱口令
6379Redis弱口令爆破、未授权访问
27017/27018MongoDB爆破、未授权访问

邮件服务端口:

端口号端口说明攻击思路
25SMTP邮件服务邮件伪造
110POP3协议爆破、嗅探
143IMAP协议爆破

常见协议端口:

端口号端口说明攻击思路
53DNS域名系统域传送、缓存投毒、DNS欺骗、DNS劫持
67/68DHCP服务欺骗、劫持
161SNMP协议爆破、搜索目标内网信息

特殊服务端口:

端口号端口说明攻击思路
512/513/514Linux Rexec服务爆破、Rlogin登录
873Rsync服务匿名访问、文件上传
2181Zookeeper服务未授权访问
3690Svn服务Svn泄露、未授权访问
8069Zabbix服务远程执行、SQL注入
9200/9300Elasticsearch服务远程执行
11211Memcache服务未授权访问
50000SAP Management Console远程执行

6、指纹识别(CMS)

注意:指纹由于其终身不变性、唯一性和方便性,几乎已成为生物特征识别的代名词。本文所讲的指纹是指网站CMS指纹识别、计算机操作系统及Web容器指纹识别等。

概念:应用程序一般在HTMLCSS等文件中多少包含一些特征码,如WordPressrobots.txt中会包含wp-adminindex.php中会包含generator=wordpress 3.xx。这个特征就是CMS的指纹,当遇到其它网站也存在此特征时,即可快速判断CMS

CMS(Content Managements System):又称整站系统或文章系统。在2004年之前,若想对网站进行内容管理,基本都需要手工维护,但在信息爆炸的时代,这明显不是一种可行的方式,所以出现了CMS。客户只需安装好开发者提供的软件包,进行对应的环境配置即可定期更新数据来维护网站,节省了大量人力物力。

常见CMSDedecms(织梦)、PHPWEBPHPWindPHPCMSECShopDvbbsSiteWeaverASPCMS、帝国、Z-Blog WordPress等。

常用工具:御剑Web指纹识别、WhatWeb WebRobo、椰树、轻量Web指纹识别等。

在线CMS指纹识别:

云悉互联网WEB资产在线梳理|在线CMS指纹识别平台 - 云悉安全平台 (yunsee.cn)

WhatWeb - Next generation web scanner.

7、绕过CDN寻找真实IP

CDN: 内容分发网络(Content Delivery Network),主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。简要来说,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(如静态HTMLCSS、JS图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户最近的节点服务器上响应用户请求,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站响应速度及用户体验。

目标网站有CDN:可以直接ping目标域名,但得到的只是离我们最近的一台目标节点CDN服务器,无法获取目标真实IP

观察目标是否使用CDN

通过网站测速|网站速度测试|网速测试|电信|联通|网通|全国|监控|CDN|PING|DNS 17CE.COM实现全国多地ping服务器的操作,对比解析IP是否一致,若解析IP大多不一致或规律性强,则进一步查询IP归属地进行判断。

绕过CDN寻找真实IP

内部邮箱源

一般系统邮件服务器都在内部,并不会经过CDN解析,通过目标网站用户注册或RSS订阅来查看邮件、寻找邮件头中的邮件服务域名IPping这个域名就能获得目标真实IP

注:此方法对于第三方或公共邮件服务器无效。

扫描网站测试文件

phpinfotest等,从而找到目标真实IP

分站域名

一些大网站主站访问量大,所以需要挂CDN,但分站就不一样了。我们可以通过ping二级域名获取分站IP存在主站和分站不是一个IP,但属于一个C段的可能

国外访问

国内CDN往往只针对国内用户访问加速,国外CDN则不一定。通过国外在线代理网站访问就有可能获得真实IP

其它方式

查询域名解析记录:如果目标很久未使用CDN,可以通过Netcraft | Internet Research, Cybercrime Disruption and PCI Security Services观察域名IP的历史记录,也能够大致分析出目标C段

APP:如果目标有自己的APP,可以尝试用Fiddlerbp抓包找真实IP

绕过Cloud Flare CDN:通过https://simcast.com/查询目标真实IP

验证IP

最简单的方式就是直接访问。

在目标C段较大的情况下,尝试使用Masscan工具批量扫描对应IP段中所有打开对应端口的IP,逐个访问验证。

8、收集敏感目录文件

概念:探测Web目录结构及隐藏敏感文件是渗透测试不可缺少的环节,我们可以从中获取网站后台管理页面、文件上传页面甚至部分源码。

常用工具:

御剑后台扫描珍藏版

DirBuster

同IP网站查询,C段查询,IP反查域名,C段旁注,旁注工具 (webscan.cc)

9、社会工程学

应用场景:通过钓鱼、查水表等方式获取信息。

文章许可:本文采用CC BY-NC-SA 4.0许可协议,转载请注明出处。