信息收集
1.简介
信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们更多的去找到渗透点,突破口。
2.信息收集分类
- 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
- 网站指纹识别(包括,cms,cdn,证书等) dns记录
- whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
- 子域名收集,旁站,C段等
- google hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等
- 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
- 传输协议,通用漏洞,exp,github源码等
3.常见方法
- whois查询
域名在注册的时候,需要填入个人或者企业信息,如果没有设置隐藏属性可以查询出来,通过备案号查询个人或者企业信息,也可以whois反查注册人、邮箱、电话、机构,反查更多得域名和需要得信息。
- 收集子域名
域名分为根域名和子域名
xxx.com 根域名,也叫顶级域名
www.abc.xxx.com 子域名,也叫三级域名 四级如此类推
- 端口扫描
服务器需要开放服务,就必须开启端口,常见的端口是TCP 和UDP两种类型
范围 0-65535 通过扫得到的端口,访问服务 规划下一步渗透。
- 查找真实IP
企业的网站,为了提高访问速度,或者避免黑客攻击,用了CDN服务,用了CDN之后真实服务器IP会被隐藏。
- 探测旁站及C段
旁站:一个服务器上有多个网站 通过ip查询服务器上的网站
C段:查找同一个网段,服务器上的网站。可以找到同样网站的类型和服务器,也可以获取同段服务器进行下一步渗透。
C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器
- 网络空间搜索引擎
通过这些引擎查找网站或者服务器的信息,进行下一步渗透。
- 扫描敏感目录/文件
通过扫描目录和文件,大致了解网站的结构,获取突破点,比如后台,文件备份,上传点。
- 指纹识别
获取网站的版本,属于那些cms管理系统,查找漏洞exp,下载cms进行代码审计。
4.在线whois查询
通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等,因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。
–站长之家域名WHOIS信息查询地址 http://whois.chinaz.com/
爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/
腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/
–美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/
爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/
易名网域名WHOIS信息查询地址 https://whois.ename.net/
中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/
西部数码域名WHOIS信息查询地址 https://whois.west.cn/
新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp
纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
中资源域名WHOIS信息查询地址 https://www.zzy.cn/domain/whois.html
三五互联域名WHOIS信息查询地址 https://cp.35.com/chinese/whois.php
新网互联域名WHOIS信息查询地址 http://www.dns.com.cn/show/domain/whois/index.do
国外WHOIS信息查询地址 https://who.is/
-kali自带的whois查询:whois 域名
5. 在线网站备案查询
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等),推荐以下网站查询
- 天眼查 https://www.tianyancha.com/
- ICP备案查询网http://www.beianbeian.com/
- 爱站备案查询https://icp.aizhan.com/
- 域名助手备案信息查询 http://cha.fute.com/index
6.收集子域名
- 作用
收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。
- 常用方法
子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
查找目标域名信息的方法有:
- FOFA title=”公司名称”
- 百度 intitle=公司名称
- Google intitle=公司名称
- 站长之家,直接搜索名称或者网站域名即可查看相关信息:
- 钟馗之眼 site=域名即可
- 子域名在线查询
- dns侦测
- 子域名扫描工具
IP138查询子域名、FOFA搜索子域名、Hackertarget查询子域名、Layer子域名挖掘机、SubDomainBrute、Sublist3r、OneForALL、FuzzDomain
隐藏域名hosts碰撞
隐藏资产探测-hosts碰撞
https://mp.weixin.qq.com/s/fuASZODw1rLvgT7GySMC8Q
很多时候访问目标资产IP响应多为:401、403、404、500,但是用域名请求却能返回正常的业务系统(禁止IP直接访问),因为这大多数都是需要绑定host才能正常请求访问的 (目前互联网公司基本的做法)(域名删除了A记录,但是反代的配置未更新),那么我们就可以通过收集到的目标的 域名 和 目标资产 的IP段组合起来,以 IP段+域名 的形式进行捆绑碰撞,就能发现很多有意思的东西。
在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求 (就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回来做对比,即可快速发现一些隐蔽的资产。
进行hosts碰撞需要目标的域名和目标的相关IP作为字典
域名就不说了
相关IP来源有:
目标域名历史解析IP
ip正则
7.端口扫描
1.masscan端口扫描
masscan -p 1-65535 ip –rate=1000
2. 御剑端口扫描工具
3.Nmap端口扫描
常用参数,如:
nmap -sV 192.168.0.2 对端口上的服务程序版本进行扫描
nmap -sT 192.168.0.2 TCP连接扫描
nmap -sS 192.168.96.4 SYN扫描,使用最频繁,安全,快
nmap -Pn -A -sC 192.168.0.2 目标机禁用ping,绕过ping扫描
nmap -sU -sT -p0-65535 192.168.122.1
| 参数 | 功能 | 参数 | 功能 |
|---|---|---|---|
| -sU | 扫描UDP端口 | -sT | TCP连接扫描,不安全,慢 |
| -sS | SYN扫描,使用最频繁,安全,快 | -Pn | 目标机禁用ping,绕过ping扫描 |
| -A | 强力扫描,耗时长 | -sC | 使用脚本进行扫描,耗时长 |
| -sP | 仅仅对目标进行ping检测 | -v | 显示冗余信息(扫描细节) |
| -O | 对目标主机的操作系统进行扫描 |
用于扫描目标主机服务版本号与开放的端口
如果需要扫描多个ip或ip段,可以将他们保存到一个txt文件中
nmap -iL ip.txt
来扫描列表中所有的ip。
Nmap为端口探测最常用的方法,操作方便,输出结果非常直观。
端口表

8.CDN绕过 查找真实IP
如果目标网站使用了CDN,使用了cdn真实的ip会被隐藏,如果要查找真实的服务器就必须获取真实的ip,根据这个ip继续查询旁站。
注意:很多时候,主站虽然是用了CDN,但子域名可能没有使用CDN,如果主站和子域名在一个ip段中,那么找到子域名的真实ip也是一种途径。
找到真实IP可以继续旁站检测,找其他站点进行突破,也可以绕过cdn进行访问,从而绕过waf针对攻击语句的拦截 发现有攻击语句就会对攻击的IP封堵。
方法:
1. dns历史绑定记录
通过以下这些网站可以访问dns的解析,有可能存在未有绑cdn之前的记录。
https://dnsdb.io/zh-cn/ ###DNS查询
https://x.threatbook.cn/ ###微步在线
http://viewdns.info/ ###DNS、IP等查询
https://tools.ipip.net/cdn.php ###CDN查询IP
https://sitereport.netcraft.com/?url=域名
2.子域名解析
通过子域名的解析指向也有可能指向目标的同一个IP上。使用工具对其子域名进行穷举
在线子域名查询:
子域名查询 查子域名 查子站 子域名大全 二级域名查询 查子域 (chaziyu.com)
找到子域名继续确认子域名没有cdn的情况下,批量进行域名解析查询,有cdn的情况继续查询历史。
域名批量解析:
3.国外dns获取真实IP
部分cdn只针对国内的ip访问,如果国外ip访问域名 即可获取真实IP
全世界DNS地址:
http://www.ab173.com/dns/dns_world.php
http://whoisrequest.com/history/
https://completedns.com/dns-history/
https://who.is/domain-history/
http://research.domaintools.com/research/hosting-history/ http://site.ip138.com/
http://viewdns.info/iphistory/
http://toolbar.netcraft.com/site_report?url= https://securitytrails.com/
https://tools.ipip.net/cdn.php
4.ico图标通过空间搜索找真实ip
https://www.t00ls.net/favicon.ico 下载图标 放到fofa识别
1.通过fofa搜图标
通过这样查询 快速定位资源 查看端口是否开放 这里没有开放
2.通过zoomeye搜图标
3.360测绘中心
5.fofa搜索真实IP
domain=”t00ls.net” 302一般是cdn
6.通过censys找真实ip
Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,能够扫描整个互联网,Censys会将互联网所有的ip进行扫面和连接,以及证书探测。
若目标站点有https证书,并且默认虚拟主机配了https证书,我们就可以找所有目标站点是该https证书的站点。
7.360测绘中心
8.利用SSL证书寻找真实IP
证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。
思路:获取网站SSL证书的HASH再结合Censys
再用Censys搜索该HASH即可得到真实IP地址


9.邮箱获取真实IP
网站在发信的时候,会附带真实的IP地址 进入邮箱 查看源文件头部信息 选择from


是否真实 还需要 邮箱发送是否与网站同一个IP地址。
10.网站敏感文件获取真实IP
文件探针
phpinfo
网站源代码
信息泄露
GitHub信息泄露
js文件
11.F5 LTM解码法
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d 08 88 0a,接着将这个十六进制从后至前取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。
例子:
rverpool-cas01=3255675072.20480.0000; path=/
3255675072 转十六进制 c2 0d a8 c0 从右向左取 c0 a8 0d c2 转10进制 192 168 13 194(内网IP)
12.APP获取真实IP
如果网站有app,使用Fiddler或BurpSuite抓取数据包 可能获取真实IP
模拟器 mimi模拟器抓包
13.配置不当获取真实IP
在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过。
案例1:为了方便用户访问,我们常常将www.test.com 和 test.com 解析到同一个站点,而CDN只配置了www.test.com,通过访问test.com,就可以绕过 CDN 了。
案例2:站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。
14.banner
获取目标站点的banner,在全网搜索引擎搜索,也可以使用AQUATONE,在Shodan上搜索相同指纹站点。
可以通过互联网络信息中心的IP数据,筛选目标地区IP,遍历Web服务的banner用来对比CDN站的banner,可以确定源IP。
获取CN的IP
http://www.ipdeny.com/ipblocks/data/countries/cn.zone
例如:
找到目标服务器 IP 段后,可以直接进行暴力匹配 ,使用zmap、masscan 扫描 HTTP banner,然后匹配到目标域名的相同 banner
zmap -p 80 -w bbs.txt -o 80.txt
使用zmap的banner-grab对扫描出来80端口开放的主机进行banner抓取。
cat /root/bbs.txt |./banner-grab-tcp -p 80 -c 100 -d http-req -f ascii > http-banners.out
根据网站返回包特征,进行特征过滤
location: plugin.php?id=info:index
网络测绘搜索:
title=”T00LS | 低调求发展 - 潜心习安全 - T00ls.Net”
title:”T00LS | 低调求发展 -潜心习安全 -T00ls.Net”
response:”T00LS | 低调求发展 - 潜心习安全 - T00ls.Net”
1、ZMap号称是最快的互联网扫描工具,能够在45分钟扫遍全网。https://github.com/zmap/zmap
2、Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。
https://github.com/robertdavidgraham/masscan
15.长期关注
在长期渗透的时候,设置程序每天访问网站,可能有新的发现。每天零点 或者业务需求增大 它会换ip 换服务器的。
16.流量攻击
发包机可以一下子发送很大的流量。
这个方法是很笨,但是在特定的目标下渗透,建议采用。
cdn除了能隐藏ip,可能还考虑到分配流量,
不设防的cdn 量大就会挂,高防cdn 要大流量访问。
经受不住大流量冲击的时候可能会显示真实ip。
站长->业务不正常->cdn不使用->更换服务器。
17.被动获取
被动获取就是让服务器或网站主动连接我们的服务器,从而获取服务器的真实IP
如果网站有编辑器可以填写远程url图片,即可获取真实IP
如果存在ssrf漏洞 或者xss 让服务器主动连接我们的服务器 均可获取真实IP。
18.扫全网获取真实IP
https://github.com/superfish9/hackcdn
w8fuckcdn:
https://github.com/boy-hack/w8fuckcdn
9.旁站和C段
旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。
1. 在线c段 webscan.cc
2.站长之家
3. 网络空间搜索引擎
4.Nmap,Msscan扫描
nmap -p 80,443,8000,8080 -Pn 192.168.0.0/24
C段利用脚本
1 | c段利用脚本 |
10.网络空间搜索引擎
1、同IP旁站:ip=”192.168.0.1”
2、C段:ip=”192.168.0.0/24”
3、子域名:domain=”baidu.com”
4、标题/关键字:title=”百度”
5、如果需要将结果缩小到某个城市的范围,那么可以拼接语句
title=”百度”&& region=”Beijing”
6、特征:body=”百度”或header=”baidu”
11.扫描敏感目录/文件
扫描敏感目录需要强大的字典,需要平时积累,拥有强大的字典能够更高效地找出网站的管理后台,敏感文件常见的如.git文件泄露,.svn文件泄露,phpinfo泄露等,这一步一半交给各类扫描器就可以了,将目标站点输入到域名中,选择对应字典类型,就可以开始扫描了,十分方便。
1. 御剑
2.7kbscan
3.bbscan
4.dirsearch
5.gobuster
gobuster dir -u https://www.servyou.com.cn/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -t 50
dir -u 网址 w字典 -x 指定后缀 -t 线程数量
12.网站文件
- robots.txt
- crossdomin.xml
- sitemap.xml xml网站地图协议
- 后台目录
- 网站安装包
- 网站上传目录
- mysql管理页面
- phpinfo
- 网站文本编辑器
- 测试文件
- 网站备份文件(.rar、zip、.7z、.tar.gz、.bak)
- DS_Store 文件
- vim编辑器备份文件(.swp)
- WEB—INF/web.xml文件
15 .git
16 .svn
13.CMS识别
收集好网站信息之后,应该对网站进行指纹识别,通过识别指纹,确定目标的cms及版本,方便制定下一步的测试计划,可以用公开的poc或自己累积的对应手法等进行正式的渗透测试。
13.1 云悉
13.2 潮汐指纹
13.3 CMS指纹识别
http://whatweb.bugscaner.com/look/
13.4 kali的whatweb
14.敏感文件搜索
1. GitHub搜索
in:name test #仓库标题搜索含有关键字test
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
搜索某些系统的密码
https://github.com/search?q=smtp+58.com+password+3306&type=Code
github 关键词监控
https://www.codercto.com/a/46640.html
谷歌搜索
site:Github.com sa password
site:Github.com root password
site:Github.com User ID=’sa’;Password
site:Github.com inurl:sql
SVN 信息收集
site:Github.com svn
site:Github.com svn username
site:Github.com svn password
site:Github.com svn username password
综合信息收集
site:Github.com password
site:Github.com ftp ftppassword
site:Github.com 密码
site:Github.com 内部
https://blog.csdn.net/qq_36119192/article/details/99690742
http://www.361way.com/github-hack/6284.html
https://docs.github.com/cn/github/searching-for-information-on-github/searching-code
https://github.com/search?q=smtp+bilibili.com&type=code
2. Google-hacking
site:域名
inurl: url中存在的关键字网页
intext:网页正文中的关键词
filetype:指定文件类型
3. wooyun漏洞库
4. 网盘搜索
凌云搜索 https://www.lingfengyun.com/
5. 社工库
名字/常用id/邮箱/密码/电话 登录 网盘 网站 邮箱 找敏感信息
tg机器人
6. JS敏感信息
1.网站的url连接写到js里面
2.js的api接口 里面包含用户信息 比如 账号和密码
1.jsfinder
下载地址:https://gitee.com/kn1fes/JSFinder
python JSFinder.py -u http://www.mi.com
python JSFinder.py -u http://www.mi.com -d
python JSFinder.py -u http://www.mi.com -d -ou mi_url.txt -os mi_subdomain.txt
当你想获取更多信息的时候,可以使用-d进行深度爬取来获得更多内容,并使用命令 -ou, -os来指定URL和子域名所保存的文件名
批量指定URL和JS链接来获取里面的URL。
指定URL:
python JSFinder.py -f text.txt
指定JS:
python JSFinder.py -f text.txt -j
2.Packer-Fuzzer
寻找网站交互接口 授权key
随着WEB前端打包工具的流行,您在日常渗透测试、安全服务中是否遇到越来越多以Webpack打包器为代表的网站?这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且总JS代码量异常庞大(多达上万行),这给我们的手工测试带来了极大的不便,Packer Fuzzer软件应运而生。
本工具支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。在扫描结束之后,本工具还支持自动生成扫描报告,您可以选择便于分析的HTML版本以及较为正规的doc、pdf、txt版本。
3.SecretFinder
一款基于Python脚本的JavaScript敏感信息搜索工具
https://gitee.com/mucn/SecretFinder
python3 SecretFinder.py -i https://www.moonsec.com/ -e
15.网站头信息收集
1、中间件 :web服务【Web Servers】 apache iis7 iis7.5 iis8 nginx WebLogic tomcat
2.、网站组件: js组件jquery、vue 页面的布局bootstrap
通过浏览器获取
火狐的插件Wappalyzer
curl命令查询头信息
curl https://www.moonsec.com -i
17. SSL/TLS证书查询
SSL/TLS证书通常包含域名、子域名和邮件地址等信息,结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息。
查询网站:
https://developers.facebook.com/tools/ct/
https://google.com/transparencyreport/https/ct/
SSL证书搜索引擎:
https://crt.sh/?Identity=%.moonsec.com
18.查找厂商ip段
http://ipwhois.cnnic.net.cn/index.jsp
19.移动资产收集
1. 微信小程序支付宝小程序
现在很多企业都有小程序,可以关注企业的微信公众号或者支付宝小程序,或关注运营相关人员,查看朋友圈,获取小程序。
https://weixin.sogou.com/weixin?type=1&ie=utf8&query=%E6%8B%BC%E5%A4%9A%E5%A4%9A
2. app软件搜索
20.社交信息收集
QQ群 QQ手机号
微信群
领英
脉脉招聘
boss招聘
21.防护软件收集
安全防护、云waf、硬件waf、主机防护软件、软waf
22.社工相关
微信或者QQ 混入内部群,蹲点观测。加客服小姐姐发一些连接。进一步获取敏感信息。测试产品,购买服务器,拿去测试账号和密码。
23.物理接触
到企业办公层连接wifi,连同内网。丢一些带有后门的usb 开放免费的wifi截取账号和密码。
24.社工相关
微信或者QQ 混入内部群,蹲点观测。加客服发一些连接。进一步获取敏感信息。测试产品,购买服务器,拿去测试账号和密码。
25.物理接触
到企业办公层连接wifi,连同内网。丢一些带有后门的usb 开放免费的wifi截取账号和密码。
26.社工库
在tg找社工机器人 查找密码信息 或本地的社工库查找邮箱或者用户的密码或密文。组合密码在进行猜解登录。
27.资产收集神器
ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统
https://github.com/TophantTechnology/ARL
AssetsHunter
https://github.com/rabbitmask/AssetsHunter
一款用于src资产信息收集的工具
https://github.com/sp4rkw/Reaper
domain_hunter_pro
https://github.com/bit4woo/domain_hunter_pro
LangSrcCurise
https://github.com/shellsec/LangSrcCurise
网段资产