渗透测试(一) 信息收集

1.1 常见的Web 渗透信息收集方式

1.1.1 域名信息收集

1.WHOIS 查询

WHOIS 是一个标准的互联网协议,可用于收集网络注册信息、注册域名、IP地址等信息。简单来说,WHOIS就是一个用于查询域名是否被注册及注册域名详细信息的数据库(如域名所有人、域名注册商)

在WHOIS查询中,得到注册人的姓名和邮箱信息通常是对测试中小网站非常有用。我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息,对中小网站而言,域名所有人往往就是管理员。

通过不同的WHOIS查询网站查询域名注册信息,可以得到更全面的WHOIS信息

常用的WHOIS信息在线查询网站如下:

2.SEO综合查询

SEO (Search Engine Optimization, 搜索引擎优化),是指利用 搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益,将自己公司的排名前移,很大程度上是网站经营者的一种商业行为。通过SEO综合查询可以查到该网站在各大搜索引擎的信息,包括网站权重、预估流量、收录、反链及关键词排名等信息,十分有用。
使用站长工具网站对 "yhdfa.com" 进行SEO 综合查询的结果如下图所示:

通过以上查询,可以看到"yhdfa.com" 的SEO 排名信息、在各搜索引擎中的权重信息、域名注册人邮箱等。可以将此类信息与收集到的其他信息进行对比,从而更好地完善收集到的域名注册信息。

1.1.2 敏感信息和目录收集

目标域名可能存在较多的敏感目录和文件,这些敏感信息很可能存在目录穿越漏洞、文件上传漏洞,攻击者能通过这些漏洞直接下载网站源码。搜集这些信息对之后的渗透环节有帮助。通过,扫描检测方法有手动搜索和自动工具查找两种方式。

1.敏感信息和目录扫描工具

使用工具可以在很大程度上减少我们的工作量,敏感信息和目录扫描工具需要的是具有多线程能力和强大的字典,确保漏报率达到最低。我们以Dirsearch 为例进行演示:

下载地址: https://github.com/maurosoria/dirsearch

#1. 进入如下录入执行
PS F:\soft\dirsearch-master> python setup.py install

#2. 开始扫描
python dirsearch.py -e php,html.js -u ms08067.com -r

结果会输出到:

输出文件内容:

其中返回200的,我们可以直接通过浏览器访问

参数解释:

  • -e: 指定检测文件的后缀类型,也可以使用-e*,代表所有类型
  • -u: 指定检测的URL
  • -r: 执行进行目录递归查询,即查到第一层泄漏的目录后,会继续在这个目录下搜索下一层的子目录和文件

参考:

https://blog.csdn.net/2301_77485708/article/details/132472189
https://blog.csdn.net/m0_73185293/article/details/131239309

2.搜索引擎

搜索引擎就像一个无处不在的幽灵追寻人们在网上的痕迹,而我们可以通过构造特殊的关键字语法高效的地搜索互联网上的敏感信息。下表列举了大部分搜索引擎常用的搜索关键字和说明。具体使用时需要针对不同的搜索引擎输入特定的关键字。

关键字 说明
site 指定域名
inurl url中存在关键字的网页
intext 网页正文中的关键字
filetype 指定文件类型
intitle 网页标题中的关键字
info 查找指定网站的一些基本信息
cache 搜索Google 里关于某些内容的缓存

1.1.3 子域名信息收集

子域名是顶级域名下的域名。如果目标网络规模比较大,那么直接从主域入手显然是很不明智的,可以先渗透目标的某个子域,再迂回渗透目标主域,是个比较好的选择。常用的方法有以下几种。

1.工具自动收集

目前已有几款十分高效的子域名自动收集工具,如子域名收集工具OneForAll,具有强大的子域名收集能力,还兼具子域爆破,子域验证等多种功能。

以下为OneForAll 示例:

下载地址:

python oneforall.py --target ms08067.com  --fmt csv run

使用参数可以更好地辅助我们进行子域名爆破,其中参数 "--target" 指目标主域,参数"--fmt" 指子域名导出格式,到处.csv 的文件格式便于我们使用Excecl 进行查看

结果会输出到下面路径:F:\soft\渗透工具\OneForAll\results

2.网站配置文件

某些域名下可能存在存储与其相关子域名信息文件。搜索此类域名一般需要查看跨域文件策略文件crossdomain.xml 或者 网站信息文件sitemap.xml ,通常只需要将其拼接到需要查询的域名后进行访问。如果路径存在,
则显示相应的域名资产。

并不是所有的网站都会存在crossdomain 和 sitemap 两类文件。有的网站管理者会隐藏敏感文件或者干脆不用这两类文件进行跨域访问策略导向和网站信息导向,因此读者可以将这种方法作为一种辅助手段,或许会带来意想不到的结果。

3.搜索引擎枚搜集

利用搜索引擎语法搜索子域名或含有主域名关键字的资产信息,例如Bing 搜索"yhdfa.com" 旗下的子域名及其资产,就可以使用"site:yhdfa.com" 语法。

上图包含"yhfa.com" 的子域名网站及其主域名资产信息,此类语法可以辅助我们找到众多子域名。

4.DNS应用服务反查子域名

很多第三方DNS查询服务或工具汇聚了大量DNS数据集,可通过它们检索某个给定域名的子域名。只需要在其搜索栏种输入域名,就可检查到相关子域名信息。

常用的DNS服务反查在线工具:DNSdumpster

demo:

5.证书透明度公开日志搜索

证书透明度(Certficate Transparency,CT) 是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS 证书发布到公共日志中。一个SSL/TSL 证书通常包含 域名、子域名 和 邮件地址,这些也经常成为攻击者非常想获得的有用信息。查找某个域名所属证书最简单的办法就是使用搜索引擎搜索一些公开的CT日志。

如下所示,使用"crt.sh" 进行子域名收集

crt.sh

1.1.4 旁站和C站

旁站(又称同服站点),即和目标网站在同一服务器上的网站,旁站攻击是指攻击和目标网站在同一服务器上的其他网站,通过"跳站" 或者 "绕站" 攻击实现攻击主站的目的

C段时指目标网站所在的服务器IP地址末端范围内的其他服务器,IP地址通常由四段32位二级制组成,其中每8位一段,例如192.168.132.3对应的C段,前3个IP地址不变,只变动最后一个IP地址,就是192.168.132.1-255.

C段对于探测目标域名的其他网络资产具有重要价值。当在主域名和二级域名没有突破点时,就需要利用C段跨域渗透目标服务器。

(1) 使用在线网站进行旁站检测

工具推荐:WebScan

(2) 使用工具进行旁站检测
id2domain

1.1.6 指纹识别

1.CMS简介

CMS(Content Management System,内容管理系统),又称整站系统或者文章系统,用于网站内容管理。用户只需要下载对应的CMS软件包,部署、搭建后就可以直接使用CMS。各CMS具有独特的结构命名规则和特定的文件内容

2.CMS指纹的是方法

可以将CMS指纹识别分位四类:在线网站识别、手动识别、工具识别和Chrome 浏览器插件(Wappalyzer)识别。不同的识别方法得到的结果可能不同,只需要比较不同的结果,选择最可靠,最全面的结果。

(1) 在线网站识别

  • BugScaner
  • 潮汐指纹识别
  • 云悉指纹识别

1.1.7 绕过目标域名CDN 进行信息收集

1.CND简介及工作流程

CND(Content Delivery Network, 内容分发网络) 的目的是通过在现有的网络架构中增加一层新的Cache(缓存)层,将网站的内容发布发到最接近用户的网络"边缘"的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度, 从技术上全面解决由于网络贷款小、用户访问量大、网点分布不均匀等原因导致的用户访问网站的速度响应慢的问题

更详细的介绍CDN:

https://www.zhihu.com/question/36514327?rf=37353035

2. 判断目标是否使用了CDN

通常会通过Ping 目标主域名,观察域名的解析情况,以此判断是否使用了CDN。如下图所示:

  1. 绕过CDN,寻找真实IP地址

在确认了目标确实使用了CDN后,就需要绕过CDN 寻找目标的真实IP地址,下面介绍一些常规方法。

(3) 分站域名。因为很多网站主站的访问量比较大,所以主站都是 "挂" CDN的。 分站可能没有挂CDN,可以通过Ping 二级域名获取分站IP地址,可能会出现分站和主站不是同一个IP地址但在同一个C段下面的情况,从而判断出目标的真实IP地址段。

可以使用site:xxx.com 搜索到二级域名,然后通过IP直接访问

posted @ 2024-03-12 22:15  chuangzhou  阅读(92)  评论(0编辑  收藏  举报