前言
信息收集是渗透之本,在渗透测试中,渗透的成功与否很大程度取决于信息收集,“战争的胜利百分之九十取决于情报”可见信息收集的重要性。
在信息收集阶段,我们要尽可能的收集目标组织的信息,最主要的就是收集服务器的配置信息、网站敏感信息,其中包括域名、子域名、目标网站系统、CMS指纹、真实IP,开放的端口等,尽可能的收集目标的信息,根据收集到的信息对目标进行针对性的弱点测试。
域名信息
拿到目标域名后,通过各种途径尽可能的收集域名的相关信息,包括注册信息如DNS服务器信息、注册人的联系信息等。
whois查询
Whois是一个标准的互联网协议,可用于收集网络注册信息,注册的域名、IP地址等信息。
Whois是一个用于查询域名是否已被注册以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。
查询方式:
- kali(默认已安装whois): whois 域名
- 爱站工具网(https://whois.aizhan.com/)
- 站长之家(http://whois.chinaz.com/)
- VirusTotal(https://www.virustotal.com/)
- 玉米网(http://www.yumi.com/tool/whois/more.html)
很多网站暂不支持.edu.cn域名查询,教育网络信息中心可查(http://www.nic.edu.cn/cgi-bin/reg/otherobj)
微步在线 (https://x.threatbook.cn/)
备案信息查询
在线查询:
- 天眼查(https://www.tianyancha.com/)
- ICP/IP地址/域名信息备案管理系统(https://beian.miit.gov.cn/)
- 站长之家(http://icp.chinaz.com/)
敏感信息收集
搜索引擎
Google、百度、雅虎、Bing、Shodan等搜索引擎进行搜索,主要收集以下信息:
- 数据库文件(.sql、.bak、.rar、.zip)
- SQL注入(搜参数,针对大批量搜索)
- 配置信息(.xml、.config)
- 源代码泄露(.rar、.zip)
- 个人敏感信息(.xlsx/.xls、.docx/.doc(谷歌支持对文件内容的搜索、结合文件 类型搜索关键词、
- 身份证、护照、学号、敏感文件、禁止扩散、内部文件))
- 未授权访问敏感文件
- robots.txt等
google hacking语法使用:
- site //指定域名
- inurl //URL中存在关键字的网页
- intext //网页正文中的关键字
- filetype //指定文件类型
- intitle //网页标题中的关键字
- link //link:baidu.com即表示返回所有和baidu.com做了链接的url
- info //查找指定站点的一些基本信息
- cache //搜索Google里关于某些内容的缓存
巧妙的使用google语法搜索,常常会有意想不到的惊喜。
例如:“site:ccc.cn intext:后台管理”指 搜索网页正文中含有“后台管理”并且域名后缀是“ccc.cn”的网站。
服务器信息
使用扫描器如:namp探测,goby等
Burp Suite的Repeater(单个):可获取一些服务器的信息,如运行的server类型及版本、PHP的版本信息等。
在线搜索引擎如Fofa、shodan等:收集服务器信息,高级查询语法。
GitHub信息收集
可结合目标域名进行github信息收集,可能会得到运维开发人员存放在github上的一些敏感信息,如:
谷歌搜索:site:github.com XXX
可获取数据库连接信息(web.config、各web中间件的配置文件)
邮箱密码(password)
等等
注:Google dork + Github
Baidu + github
网盘搜索
如:site:github.com password 目标域名
子域名收集
-
子域名检测工具:layer子域名挖掘机
-
搜索引擎枚举:“site:baidu.com”
在线网站查询子域名:
-
子域名爆破网站(https://phpinfo.me/domain/)
-
IP反查绑定域名网站(https://dns.aizhan.com/)
-
第三方聚合应用枚举:DNSdumpster(https://dnsdumpster.com/)
证书透明度公开日志枚举:证书透明度(Certificat Transparency,CT)是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志汇总。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所需证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。
-
crt.sh:https://crt.sh/
-
censys:https://censys.io/
端口信息收集
在端口渗透信息的收集过程中,需要关注常见应用的默认端口和在端口上运行的服务。常见的端口扫描工具有Nmap、无状态端口扫描工具Masscan、ZMap、御剑高速TCP端口扫描工具等。
nmap是最常用的端口扫描工具,nmap用法:
指纹识别
这里指纹是指网站的CMS指纹识别、计算机操作系统及web容器的指纹识别等。
- CMS(Content ManagementSystem)又称整站系统或文章系统。常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、ZBlog、WordPress等。
- WordPress在robots.txt中会包含wp-admin、首页index.php中会包含 generator=WordPress3.xx。代表工具有御剑Web指纹识别、WhatWeb、WebRoBo、椰树、轻量WEB指纹识别等。
在线网站查询CMS指纹识别:
- BugScaner:http://whatweb.bugscaner.com/look/
- 云悉指纹:https://www.yunsee.cn/
小结
信息收集的方式方法还有很多,如目标ip的c段、社会工程学等等,这里列举了一些常规性的收集手段。当然你想更加丰富自己的武器库,形成自己的一套信息收集武器体系,就可以选择更进一步的尝试自己去编写定制属于个人使用的脚本。