概述
本章主要介绍的是渗透测试前期准备工作-信息收集,将从IP资源,域名发现,服务器信息收集,网站关键信息识别,社会工程学几个方面谈谈如何最大化收集信息。
1.域名发现
何为域名?域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。
域名又有为顶级域名和子域名,常见的顶级域名如 .com/.net/.org/.cn以及一些类别域名如.ac(常用于科研网站)/.edu(教育机构)/.gov(政府部门)
子域名顾名思义可以理解为顶级域名或者父域名的下一级域名。在渗透测试中,信息收集中域名信息收集是必不可少的。下面就来谈谈如何在渗透测试中对子域名信息进行挖掘。
1.1子域名枚举
子域名枚举通常可以使用工具对目标网站进行暴力枚举从而获取子域名信息,常见的子域名发现工具:
Layer子域名挖掘机:这款软件操作简单,对于新手非常友好,扫描速度快,但不好的就是线程如果开到200以上的话就比较吃带宽了。
SubdomainsBurte:这个脚本主要是用来发现其他工具无法探测的域名,例如Google,fofa等,同时它还可以高并发DNS暴力枚举。
Dnscan:这是一款基于字典查询DNS的子域名扫描器。
Recon-NG:此软件可以对Web信息进行收集,工具中也包含了暴力破解子域名的模块。
DNSRecon:DNS枚举脚本。
还有其他发现子域名的工具我就不一一列举,具体使用方法网上都有许多教程我也不一一详细说明。
1.2 巧用搜索引擎
常见的三大搜索引擎Google,baidu.bing
语法使用 site:域名 进行子域名发现
1.3 第三方平台发现
第三方平台有微步,fofa,shodan,DNSdumpster,Virus Total,sublist3r等。
以fofa为例,fofa搜索语法有很多,而其中子域名搜索的语法
domain=”域名”
1.4 证书透明性信息查询
这边我我们可以使用crt.sh网站对域名进行搜索,查询语法:%+域名,同时我们也可以使用censys.io进行查询,这个网站跟fofa一样可以获取真实IP
1.5 DNS域传送漏洞
如果目标存在DNS域传送漏洞,我们可以在本地计算机使用CMD命令 [dig 目标域名 ns]对目标发送一个ns类解析请求判断其DNS服务器,同时我们也可以在本地计算机使用 [dig axfr@dns 目标域名]请求获取其域内所有域名信息。
2.IP资源收集
2.1 CDN隐秘背后的真实秘密
何为CDN,CDN全称Content Delivery Network,即内容分发网络。一些企业为了保证网站安全,通常会有多个CDN,那么我们如何去判断该网站是否有CDN呢?
方法很简单我们可以在本地计算机使用命令 【nslookup 域名】进行解析,如果解析出多个地址则多半存在CDN,反之无CDN。
同时我们也可以通过站长工具多地Ping的方式去识别,如果出现不同IP则也可判断该网站存在CDN服务器。
除上述方法为我们还可以使用站长之家,爱站网进行查询。
那么我们如何绕过CDN去寻找网站真实IP呢?我总结了以下几个方法:
1.我们可以对子域名进行查询,因为有一些网站子域名可能跟主站在同一服务器或者同一C段,子域名查找方法我在上一主题已经说过就不再赘述,至于C段如何查询,下面会介绍。
2.查询历史DNS记录,这里我们可以通过第三方平台微步在线查询,看看哪些IP不在CDN解析的IP里,就有可能为真实IP。CDN解析的IP可通过上述说的nslookup 命令进行查看,再筛选即可。
3.网站漏洞,我们可通过查看网站的源码,phpinfo文件,GitHub信息泄露等都有可能包含真实IP。
4.邮件信息,我们知道邮件接收的时候可以点击显示邮件原文,原文信息里往往就很有可能包含目标网站的真实IP。
5.FOFA 查询。
2.2 旁站息收集
什么是旁站?旁站是和目标网站在同一台服务器上的其它的网站。旁站收集我们可以通过以下几个途径进行搜索:
1.Nmap: Nmap工具具有探测主机是否在线/扫描主机端口/嗅探网络服务/推断主机操作系统/审计设备安全性等功能。
我们可以使用 【IP -sV -p】对目标旁站进行收集。
2.万能站长工具——这里我们使用到的是同IP网站查询功能。
3.使用搜索引擎 Bing ,bing搜索高级语法网上有很多,可自行查找使用。
2.3 C段信息收集
什么是C段?我们都知道IP地址有分段,C段就是第三段的地址,即1.1.2.x(x的范围:1-254)
我们要搜集的就是1.1.2.x的地址内容。C段我们可以通过:
1.Nmap -sn ip/24 对C段主机存活扫描。
2.搜索引擎 site:1.2.3.* 这里的符合*是通配符的意思,即模糊查询所有符合的地址。
3.端口信息收集
3.1 常用端口
21:ftp 80:web 161:snmp 443:SSL心脏滴血漏洞 445:SMB 1433:MSSQL 1502:Oracle 3306:MySQL 3389:远程桌面等
3.2 端口探测收集
1.端口探测我们同样可以使用Nmap工具
命令 -p 1-65535 IP 对主机所有端口进行扫描。
2.使用御剑收集端口信息。
3.3 Nmap常用命令帮你快速捡漏
--script smb-check-vulns.nse -p ip(系统漏洞检测)
--script=brute ip(数据库密码检测)
-sC ip(应用服务信息)
--script=vuln ip(常见漏洞检测)
--script=auth=ip (部分应用弱口令检测)
4.网站关键信息识别
4.1 指纹识别
4.1.1 特定关键字识别
特定关键字识别可从网站首页返回信息以及meta标签中content字段识别。
4.1.2响应头部信息识别
Server,X-power-BY,Set-cookie等字段返回的信息可查看该网站WAF等信息。
4.1.3 第三方指纹信息收集
指纹信息收集的工具有许多如WhatWeb,Wappalyzer,whatruns,W11scan,云悉指纹识别,潮汐指纹等。
云悉指纹(www.yunsee.com)这个好像需要邀请码注册,潮汐指纹这个可免费注册,Wappalyzer是一个浏览器插件,它能够分析网站架构,服务器环境配置,Web框架等。工具有很多找到适合自己使用的才是王道,下面我就其中一个工具WhatWeb进行简单介绍。
WhatWeb工具,这是一款可以识别CMS,博客平台,中间件,web服务框架,网站服务器等指纹信息工具。
简单介绍下它的几个功能以及命令操作:
1.常规扫描【whatweb 域名/ip】
2.批量扫描【whatweb -i】(这里面需包含扫描域名文件的路径)
3.详细回显扫描【whatweb -v 域名】
4.扫描强度等级控制【whatweb -a 3 域名】扫描等级只有1和3两个等级
5.本地扫描【whatweb --no-errors -t 255 内网地址网段】
6.扫描结果文件导出【whatweb --log-xml=文件名.xml】
4.2 敏感路径探测
常见的敏感路径有phpinfo文件,DS文件,默认文件,测试文件,上传页面,后台登录页面等,这些敏感路径中有可能包含重要信息,如真实IP地址或者存在可以利用的漏洞(文件上传,JAVA反序列化等等)。
4.2.1 探测前瞻-状态码
在用工具对目标敏感路径进行探测扫描的时候,我们要对返回的状态码有相应的了解,要不然就会做无用功,状态码如何去看呢,在我们打开网页时F12开发者模式下,network模块下Status Code下查看如:
常见状态码解析
200 OK //客户端请求成功
400 Bad Request //客户端语法错误,服务器无法解析
401 Unauthorized //请求未经授权,需要身份验证
403 Forbidden //禁止所有人访问所请求的资源
404 Not Found //请求资源不存在,eg:URL输入错误
405 Method not allowed //用了不支持的请求方法 如:put
503 Server Unavailable //服务器当前无法处理客户端请求,一段时间后可能会恢复正常
4.2.2 工具探测
目标路径探测我们可以使用BurpSuit,Dirmap,御剑等工具
bp工具对敏感路径进行爆破方法:使用bp工具intruder模块,将抓到的数据包路径设置为变量,将目录文件的字典添加到payload,然后进行不断遍历达到目录暴力破解。
4.3 互联网信息收集
除了上述方法收集网站关键信息外,我们还可以在互联网中收集我们想要的信息,例如:
1.历史漏洞信息(ZoomEye可以查到各大组件,服务器系统等历史漏洞信息)
2.Github/SVN源代码信息泄露,我们可通过收集到的代码进行代码审计挖掘目标网站漏洞。
3.网盘文件信息泄露,我们可通过第三方网盘搜索网站进行网盘信息收集。
5.人力资源情报收集
5.1 Whois
What whois? 简单来说whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。
站长之家,Who.is,备案查询,天眼查等都可以查到目标网站whois信息。
5.2 社工的艺术
社工方式信息收集我们可以利用人性的弱点进行信息刺探,冒用身份,行为模仿,除此之外我们还可利用客服或者HR发送钓鱼邮件,社工获取支付宝,微信等各大可以收集信息的方式。
5.3 其他途径
乌云漏洞库,在乌云漏洞库中,我们往往可以通过一些打码不全,无打码,后台地址等获取特定信息。
6.总结
信息收集在安全攻防中至关重要,知己知彼方能百战不殆,信息越多就越利于后期打点,可以撕开更多的口子,从而达到多方面的攻击,信息收集的途径和工具也有很多,本文可能没有写到,欢迎各路大佬一起学习和探讨。