信息收集系列(二):ASN分析及域名收集

news2024/12/23 13:47:15

内容预览 ≧∀≦ゞ

  • 信息收集系列(二):ASN分析及域名收集
    • 前言
    • 一、ASN 分析
      • 1. 获取 ASN 码
      • 2. 使用 ASNMap 获取 IP 范围
      • 3. 将 IP 范围转化为 IP 列表
    • 二、关联域名收集
      • 1. 顶级域(TLD)收集
        • 测试方法
      • 2. 根域名收集
        • 常用方法
    • 三、子域名收集
      • 3.1 利用证书透明度收集子域名
      • 3.2 使用在线子域名查询工具
      • 3.3 通过威胁情报平台收集子域名
      • 3.4 通过搜索引擎收集子域名
      • 3.5 通过爬虫爬取网站收集子域名
      • 3.6 通过 DNS 查询收集子域
      • 3.7 通过域传送漏洞收集子域
      • 3.8 自动化工具收集子域名
    • 结语

信息收集系列(二):ASN分析及域名收集

前言

在上一篇文章《信息收集系列(一):基础概念与工具配置》中,我们介绍了信息收集的基本概念,并详细讲解了如何安装 ProjectDiscovery 系列工具,为实战中的信息收集打下基础。本文将进入信息收集的实战部分,主要涵盖 ASN 分析、证书分析以及关联域名收集等核心内容。通过这些方法,我们希望能帮助渗透测试人员更全面地识别目标资产,扩大攻击面并提升信息收集的效率。


一、ASN 分析

ASN(Autonomous System Number)是网络的唯一标识符,通常与 IP 地址段相关联。在渗透测试中,分析目标的 ASN 信息能够帮助我们获取目标的网段、IP 范围及关联资源,从而为进一步扫描和攻击面扩展提供有价值的信息。

1. 获取 ASN 码

你可以通过一些 BGP 查询网站(如 bgp.he.net)来查找 ASN。有两种常见的方法来获取网段信息:

  • 方法 1:从证书中提取组织名,并直接查询该组织的 IP 段。
  • 方法 2:从证书中获取组织名,然后通过 ASN 查找 IP 范围。

也可以直接进行关键词检索,如搜索公司名称或域名。

例如,查询 Tesla.com,其组织名为 TESLA, INC.,你可以通过组织名找到其对应的 ASN 和 IP 范围。

注意:只有大公司才会有组织名。

组织名

2. 使用 ASNMap 获取 IP 范围

获取 ASN 后,可以使用 asnmap 工具来提取与其相关的 IP 范围。命令示例如下:

cat asn.txt | asnmap | tee ipscope.txt

3. 将 IP 范围转化为 IP 列表

接下来,使用 mapcidr 工具将获取的 IP 范围转换为具体的 IP 列表,便于后续使用:

cat ipscope.txt | mapcidr | tee ips.txt

通过以上步骤,你可以有效地提取目标的网络范围,为后续的扫描和攻击面扩展打下坚实基础。


二、关联域名收集

1. 顶级域(TLD)收集

TLD(Top-Level Domain) 是域名的顶级部分,例如在 www.starbucks.com 中,.com 就是 TLD。对于业务遍布全球的厂商,了解其使用的所有 TLD 非常有价值,因为不同地区的业务可能存在差异,并带来不同的资产和攻击面。

测试方法

你可以通过对原始域名进行 TLD 爆破来发现更多的目标域名,进而扩大测试范围并发掘更多潜在的资产。首先,准备一个足够大的 TLD 字典文件,如 SecLists 中的 tlds.txt,路径通常为 SecLists-master/Discovery/DNS/tlds.txt

然后使用像 ffuf 这样的 fuzz 工具进行 TLD 爆破。示例命令如下:

ffuf -u www.example.FUZZ -w /path/to/tlds.txt -o tlds_output.txt
  • -u www.example.FUZZFUZZ 是占位符,工具会用字典中的 TLD 替换它进行爆破。
  • -w /path/to/tlds.txt:指定 TLD 字典文件的路径。
  • -o tlds_output.txt:将结果输出到 tlds_output.txt 文件中。

通过这种方式,你可以快速收集目标在多个 TLD 下的域名,进一步扩大渗透测试的攻击面。

2. 根域名收集

目标公司可能在多个 TLD 下注册不同的域名,这些域名通常属于不同的业务部门或子公司。收集目标公司的所有根域名有助于你全面了解其在互联网上的资产。

常用方法
  • 备案查询
    通过查询主域名的备案信息,可以获取域名的注册信息,从而发现更多关联域名。常用的备案查询网站有:

    • 工信部备案查询:https://beian.miit.gov.cn/#/Integrated/index
    • 站长之家备案查询:https://icp.chinaz.com/
    • 公安部备案查询:https://www.beian.gov.cn/portal/registerSystemInfo

    例如,通过查询 baidu.com 的备案信息,我们可以发现该域名的主办单位是 北京百度网讯科技有限公司,并可进一步发现该公司注册的其他域名。

  • 企业关系查询
    通过平台如 天眼查爱企查企查查 等查询目标公司及其子公司,可以揭示更多的关联域名。常用的平台包括:

    • 天眼查:https://www.tianyancha.com/
    • 爱企查:https://aiqicha.baidu.com/
    • 企查查:https://www.qcc.com/

    通过查询股权结构及关联公司,可以挖掘更多相关域名。

  • WHOIS 反查
    使用 WHOIS 查询反向查找关联域名。通过查询注册信息(如组织名、注册人邮箱等),可以发现与目标相关的其他域名。常用的 WHOIS 查询工具有:

    • 站长之家:http://whois.chinaz.com

    特别提醒:某个域名属于目标厂商,并不意味着该域名上的所有资产都属于该厂商。在某些情况下,域名可能由第三方公司进行解析或托管。例如,某些企业可能将 DNS 解析委托给其他服务提供商,或将网站托管在外部公司。这种情况下,尽管域名与目标厂商相关联,但实际控制或资产可能并不完全归该厂商所有。需要特别留意这些特殊情况,以避免错误的资产归属和漏洞利用。

  • 官网等方式查找
    在目标企业官网,有时会列出子公司的介绍、官网链接等,如中国电信官网中的公司架构图:
    http://www.chinatelecom.com.cn/corp/zzjgcs/
    在这里插入图片描述


三、子域名收集

在获取目标公司所有关联域名后,我们可以开始收集它们的子域名。以下是几种常见的子域名收集方法:

3.1 利用证书透明度收集子域名

证书透明度(CT)是一个开放体系,专门记录和审核受信任的 TLS 证书。由于很多企业的域名都使用 HTTPS 协议,TLS 证书中通常包含域名信息,因此你可以通过证书透明度查询所有的子域名。常用的证书透明度查询网站有:

  • crt.sh:https://crt.sh/
  • Censys:https://search.censys.io/
  • CertSpotter:https://sslmate.com/certspotter/api/
  • Facebook CT工具:https://developers.facebook.com/tools/ct

3.2 使用在线子域名查询工具

有许多在线工具可以帮助你快速收集子域名。输入目标域名后,工具会列出相关的子域名。常用的工具包括:

  • SecurityTrails:https://securitytrails.com/
  • IP138:https://site.ip138.com/
  • 站长工具(Chinaz):https://tool.chinaz.com/subdomain/
  • DNSscan:http://www.dnsscan.cn/

3.3 通过威胁情报平台收集子域名

威胁情报平台提供了丰富的子域名数据,可以通过它们收集目标的子域名。常见的威胁情报平台有:

  • Threatbook:https://x.threatbook.com/
  • VirusTotal:https://www.virustotal.com/
  • AlienVault:https://otx.alienvault.com/
  • ThreatMiner:https://www.threatminer.org/

3.4 通过搜索引擎收集子域名

你可以使用搜索引擎来收集子域名。例如,在 Google 中可以使用 site:baidu.com 语法来查找子域名。

3.5 通过爬虫爬取网站收集子域名

通过爬虫爬取目标网站的页面,包括 robots.txtcrossdomain.xmlsitemap.xml 文件等,筛选出子域名信息。

3.6 通过 DNS 查询收集子域

可以通过工具如 nslookup 查询目标域名的 SRV、NS、MX、TXT 等记录,从中提取子域名。

3.7 通过域传送漏洞收集子域

虽然现代域传送漏洞已较为罕见,但仍可以通过以下命令

检查:

dig @ns3.baidu.com baidu.com axfr

3.8 自动化工具收集子域名

很多工具已实现了子域名收集的自动化,可以通过多个 API 快速获取子域名,常用工具有:

  • subfinder:快速的子域名收集工具,支持多个数据源。
  • OneForAll:一个功能丰富的子域名收集工具,支持多种数据源和字典爆破。
  • 子域名挖掘机:集成多种收集子域名的方式。

结语

信息收集是渗透测试的基础,通过 ASN 分析和关联域名收集,你可以更全面地识别目标资产并扩大攻击面。本文介绍的多种方法和工具可以帮助渗透测试人员更高效地进行信息收集,从而为后续的渗透测试活动提供强有力的支持。

最后,再次感谢您阅读本篇文章,如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流!您的点赞和分享将是我继续创作的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《数学分析》中不等式及补充

说明:此文章用于本人复习巩固,如果也能帮到大家那就更加有意义了。 注:1)《数学分析》中的不等式及不等式的补充

HTML之图片和超链接的学习记录

图片 在HTML中&#xff0c;我们可以使用img标签来显示一张图片。对于img标签&#xff0c;我们只需要掌握它的三个属性&#xff1a;src、alt和title。 <img src"" alt"" title"" /> src用于指定图片所在的路径&#xff0c;这个路径可以是…

unity显示获取 年月日周几【日期】

unity显示获取 年月日周几【日期】 public void ShowDate(Text txt){//txt.text DateTime now DateTime.Now; // 获取当前时间int year now.Year; // 获取年份int month now.Month; // 获取月份&#xff08;1-12&#xff09;int day now.Day; // 获取天数&#xff08;1-31&…

【区块链】深入理解智能合约 ABI

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解智能合约 ABI&#xff08;应用程序二进制接口&#xff09;一、ABI 基础…

鸿蒙ZRouter动态路由框架—生命周期管理能力

文章目录 基本使用(单个页面生命周期&#xff09;页面的全局生命周期监听工作流程图源码 ZRouter从1.1.0版本开始支持生命周期函数管理能力&#xff0c;主要有以下特点&#xff1a; 不影响你原有的生命周期业务逻辑&#xff0c;对NavDestination页面保持着零侵入性&#xff0c;…

代码随想录算法训练营第十九天|理论基础、77. 组合、216.组合总和III、17.电话号码的字母组合

理论基础 文章链接&#xff1a;代码随想录 视频讲解&#xff1a;带你学透回溯算法&#xff08;理论篇&#xff09;| 回溯法精讲&#xff01;_哔哩哔哩_bilibili关于回溯算法&#xff0c;我公众号里已经讲完了&#xff0c;并且将回溯算法专题整理成一本PDF&#xff0c;该PDF共…

uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用

文章目录 1、uniapp1.uview组件安装2.uview-plus组件安装 2、条件编译3、easycom规范1.组件路径符合规范2.自定义easycom配置的示例 总结 1、uniapp UniApp的UI组件库&#xff0c;如TMUI、uViewUI、FirstUI、TuniaoUI、ThorUI等&#xff0c;这些组件库适用于Vue3和TypeScript&…

深入探索GDB调试技巧及其底层实现原理

本文分为两个大模块&#xff0c;第一部分记录下本人常用到的GDB的调试方法和技巧&#xff0c;第二部分则尝试分析GDB调试的底层原理。 一、GDB调试 要让程序能被调试&#xff0c;首先得编译成debug版本&#xff0c;当然release版本的也能通过导入符号表来实现调试&#xff0c…

Kubernetes的基本概念

Kubernetes是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目,Kubernetes致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台。 一、资源对象概述 Kubernetes中的基本概念和术语大多是围绕资源对象(Resource Object)来说的,而资…

JavaWeb后端开发案例——苍穹外卖day01

day1遇到问题&#xff1a; 1.前端界面打不开&#xff0c;把nginx.conf文件中localhost:80改成81即可 2.前后端联调时&#xff0c;前端登录没反应&#xff0c;application.yml中默认用的8080端口被占用&#xff0c;就改用了8081端口&#xff0c;修改的时候需要改两个地方&…

(一)<江科大STM32>——软件环境搭建+新建工程步骤

一、软件环境搭建 &#xff08;1&#xff09;安装 Keil5 MDK 文件路径&#xff1a;江科大stm32入门教程资料/Keil5 MDK/MDK524a.EXE&#xff0c;安装即可&#xff0c;路径不能有中文。 &#xff08;2&#xff09;安装器件支持包 文件路径&#xff1a;江科大stm32入门教程资料…

软件开发的各类模型

目录 软件的生命周期 常见开发模型 瀑布模型 螺旋模型 增量模型、迭代模型 敏捷模型 Scrum模型 常见测试模型 V模型 W模型&#xff08;双V模型&#xff09; 软件的生命周期 软件的生命周期包括需求分析&#xff0c;计划&#xff0c;设计&#xff0c;编码&#xff0c;…

ElasticSearch学习笔记一:简单使用

一、前言 该系列的文章用于记录本人从0学习ES的过程&#xff0c;首先会对基本的使用进行讲解。本文默认已经安装了ES单机版本&#xff08;当然后续也会有对应的笔记&#xff09;&#xff0c;且对ES已经有了相对的了解&#xff0c;闲话少叙&#xff0c;书开正文。 二、ES简介 …

C++笔记---异常

1. 异常的概念 1.1 异常和错误 异常通常是指在程序运行中动态出现的非正常情况&#xff0c;这些情况往往是可以预见并可以在不停止程序的情况下动态地进行处理的。 错误通常是指那些会导致程序终止的&#xff0c;无法动态处理的非正常情况。例如&#xff0c;越界访问、栈溢出…

python opencv3

三、图像预处理2 1、图像滤波 为图像滤波通过滤波器得到另一个图像。也就是加深图像之间的间隙&#xff0c;增强视觉效果&#xff1b;也可以模糊化间隙&#xff0c;造成图像的噪点被抹平。 2、卷积核 在深度学习中&#xff0c;卷积核越大&#xff0c;看到的信息越多&#xff0…

ENSP作业——小型园区网

题目 根据上图&#xff0c;可得需求为&#xff1a; 1.配置交换机上的VLAN及IP地址。 2.设置SW1为VLAN 2/3的主根桥&#xff0c;设置SW2为VLAN 20/30的主根桥&#xff0c;且两台交换机互为主备。 3.可以使用super vlan。&#xff08;本次实验中未使用&#xff09; 4.上层通过静…

解决 Vue3、Vite 和 TypeScript 开发环境下跨域的问题,实现前后端数据传递

引言 本文介绍如何在开发环境下解决 Vite 前端&#xff08;端口 3000&#xff09;和后端&#xff08;端口 80&#xff09;之间的跨域问题&#xff1a; 在开发环境中&#xff0c;前端使用的 Vite 端口与后端端口不一致&#xff0c;会产生跨域错误提示&#xff1a; Access to X…

Windows系统中Oracle VM VirtualBox的安装

一.背景 公司安排了师带徒&#xff0c;环境搭建问题一直是初级程序员头疼的事情&#xff0c;我记录一下这些基础的内容&#xff0c;方便初学者。大部分开发者的机器还是windows系统&#xff0c;所以写了怎么安装。 二.版本信息及 操作系统&#xff1a;windows11 家庭版…

uniapp 集成 uview

注意&#xff1a;HBuildX新建项目时必须选择vue2版本&#xff0c;vue3会不支持uview 下载安装方式&#xff1a; uview安装网站&#xff1a;uView2.0重磅发布&#xff0c;利剑出鞘&#xff0c;一统江湖 - DCloud 插件市场 配置&#xff1a; 1.安装sass插件 // 安装sass npm i …

24.11.12 JavaScript2

prompt() confirm() 这些函数 会阻止js解析器(js解析器执行引擎 读取运行js) 执行 不要使用 2history对象 历史记录对象 对应浏览器前进后退按钮 history 在历史记录里 back 前进 forward 后退go 0当前文档 负数 后退n个文档 正数 前进n个文档<!…