【kali学习笔记】利用第三方服务对目标进行被动信息收集

news2024/12/25 12:51:34

一、被动信息收集

1、概念:

信息收集的方式分为两种:被动收集和主动收集。被动信息收集方式是指利用第三方的服务对目标进行访问了解,比如Google搜索。主动信息收集方式:通过直接访问、扫描网站,这种流量流经网站的行为,比如:nmap扫描端口。

2、被动信息收集的目的:

通过公开渠道,取获取目标主机的信息,从而不与目标系统直接交互,避免留下痕迹。

3、信息收集的内容范围:

1、ip地址段;
 2、域名信息;
 3、邮件地址;
 4、文档图片数据;
 5、公司地址;
 6、公司组织架构;
 7、联系电话、传真号码等;
 8、人员姓名、职务;
 9、目标系统使用的技术架构;
 10、公开的商业信息;

二、DNS 域名解析原理

1、 DNS 服务器概述:

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS服务器分为根域DNS服务器、顶级域名DNS服务器。根域DNS服务器有13个,都存储了全部的顶级域名服务器的所在地址;

2、域名记录的类别:

1.A记录

A记录是最常见和最常用的一种记录类型,用于指定主机名和IP(IPv4)地址之间的关系。通过添加A记录,网站管理者可以将域名与网站服务器地址进行绑定。

2.AAAA记录

与A记录相对的是,AAAA记录是用于将域名解析到IPv6地址的一种DNS记录类型。国内很多解析服务器不支持AAAA记录的设置,如果想进行AAAA记录解析,就需要将域名的NS记录指向一些专业的域名解析厂商。

3.CNAME记录

CNAME记录也是比较常用的一种记录类型,它是主机名到主机名的映射。如果需要将域名指向另一个域名,而不是一个IP地址,那么就需要添加一条CNAME记录。在CDN、企业邮箱、全局流量管理等业务场景下,经常会使用到CNAME记录。

4.NS记录

NS记录用于将子域名交给其他DNS服务商解析时使用,从某种意义上来讲NS记录相当于设置子域名解析服务器的A记录,用于在解析请求时确定该服务器的IP地址。大多数域名注册商默认使用自己的NS记录来解析用户的域名,但用户也可以设置NS记录指向更专业安全的域名解析厂商。

5.MX记录

MX记录是邮件交换记录,主要用于邮箱解析,在发送邮件时根据收件人的地址后缀进行邮件服务器的定位。MX记录的权重对邮件服务非常重要,发送邮件时,会先对域名进行解析,查找MX记录,按照权重从小到大的顺序联通服务器进行邮件发送。

6.TXT记录

TXT记录,一般用于某个主机名的标识和说明,通过设置TXT记录可以使别人更方便地联系到你。此外TXT记录还常用于做SPF反垃圾邮件和SSL证书的DNS验证等。

7.PTR记录

PTR记录可以简单理解为A记录的反向记录,用于将一个IP地址指向对应的主机名,实现通过IP地址访问域名。

8.SOA记录

SOA记录又叫起始授权机构记录,NS标记多台解析服务器,SOA记录用于表明在众多NS记录中哪一台才是主服务器。当要查询的域名在所有递归解析服务器中没有域名解析的缓存时,就会回源来请求此域名的SOA记录,获取提供权威解析服务的地址。

9.SRV记录

SRV记录即服务定位(SRV)资源记录,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。

10.URL转发

URL转发,是将当前访问的域名指向另一个网络地址,可以分为显性转发和隐性转发两种。显性URL:将域名指向另一个网络地址时,访问域名自动跳转至目标网址,地址栏显示为目标网站地址。隐性URL:访问域名跳转到目标网站,但地址栏显示为原网站地址。

3、DNS缓存

不负责解析域名,只是缓存域名解析结果。

但在实际的解析过程中,并不是客户端的每一次访问都需要委托递归服务器进行迭代查询,而是先搜索浏览器自身的DNS缓存,如果有,解析到此为止;如果DNS缓存中没有结果就会读取操作系统中的HOSTS文件查找对应的映射关系,如果有到此完成;如果没有,再请求递归服务器,进行全球递归查询。从中我们可以看出DNS缓存是获取域名解析记录的第一步骤。

4、DNS查询过程

一个DNS查询过程,通过8个步骤的解析过程就使得客户端可以顺利访问域名,但实际应用中,通常这个过程是非常迅速的;

1) 浏览器缓存:当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);
2) 系统缓存:当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;
3) 路由器缓存:当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客户端的DNS缓存;
4) ISP(互联网服务提供商)DNS缓存(一般就是本地DNS服务器):当在用户客户端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;
5) 根域名服务器:当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;
6) 顶级域名服务器:顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
7) 主域名服务器:主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;
8)保存结果至缓存:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。
 

5、DNS查询方式: 递归查询和迭代查询

(1)、主机向本地域名服务器的查询一般都是采用递归查询。
(2)、本地域名服务器向根域名服务器的查询的迭代查询。
 
递归:客户端只发一次请求,要求对方给出最终结果。
迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

三、DNS信息收集方法 

1、将域名解析为IP地址

可以采用直接ping的方法,这样比较直接;如果想知道百度的ip地址,命令如下:ping www.baidu.com ,可以看到百度的IP地址为:110.242.68.4

ping命令支持指定数据包的数量,ping www.baidu.com  -c 1   指定发送一个数据包;


2、使用nslookup查看域名

nslookup (全称 name server lookup) ,是一个在命令行界面下的网络工具,它有两种模式: 交互 & 非交互,进入交互模式在命令行界面直接输入nslookup按回车,非交互模式则是后面跟上查询的域名或者 IP 地址按回车。一般来说,非交互模式适用于简单的单次查询,若需要多次查询,则交互模式更加适合。

非交互模式:nslookup 的查询在不指定参数的情况下,默认查询的类型为A。非交互模式下每次查询需要输入完整的命令和参数

 Server:         192.168.19.2               本机DNS设置
Address:        192.168.19.2#53 

Non-authoritative answer:
12306.cn        canonical name = 12306.cn.wsglb0.com.   #12306.cn域名的别名
Name:   12306.cn.wsglb0.com
Address: 101.28.249.31     #12306.cn解析出来的IP v4
Name:   12306.cn.wsglb0.com
Address: 2408:871a:a900:6::29    #12306.cn解析出来的IP v6

 查询所有:nslookup -query=any 12306.cn  

-querytype 和 -type 的效用一致,可以简写为 -q 和 -ty,其在不指定类型的情况下默认查询类型为 A

 交互模式:在命令行下输入 nslookup,回车进入交互模式;

可以看到进入交互模式后不再需要输入完整的命令便可以进行查询,并且可以连续的进行查询(友情提示Ctrl+C或者Cmd+C退出)

 最上面的 Server 和 Address 是该词查询的 DNS 服务器。可以自己指定,也可以默认。
默认情况下 DNS 服务器的端口为53
非权威应答(Non-authoritative answer)意味着answer来自于其他服务器的缓存,而不是权威的12306服务器。缓存会根据 ttl(Time to Live)的值定时的进行更新。

3、DNS 信息收集-DIG

作用:查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

语法: dig (选项) 需要查询的域名
@<DNS 服务器地址>: 指定进行域名解析的域名服务器;

@<服务器地址>:指定进行域名解析的域名服务器;
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x<IP地址>:执行逆向域名查询;
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。

主机:指定要查询域名主机;
查询类型:指定DNS查询的类型;
查询类:指定查询DNS的class;
查询选项:指定查询选项。


any #显示所有类型的域名记录。默认只显示 A 记录 

  • dig 命令默认的输出信息可以分为 5 个部分。
    • 第一部分显示 dig 命令的版本和输入的参数。
    • 第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。
    • 第三部分中的 "QUESTION SECTION" 显示我们要查询的域名。
    • 第四部分的 "ANSWER SECTION" 是查询到的结果。
    • 第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。

使用-x 参数 IP 反查域名
root@xuegod53:~# dig -x 114.114.114.114

四、查询网站的域名注册信息和备案信息


1、Whois 查询方式: Web 接口查询和 Whois 命令查询;
(1)、通过 Web 接口查询:
这里只是举2 个例子,其实有很多。
阿里云:https://whois.aliyun.com/
站长之家:http://whois.chinaz.com/

(2)、Whois 命令查询
root@xuegod53:~# whois xuegod.cn



2、备案信息查询
(1)、Web 接口查询:
http://icp.chinaz.com/

(2)、天眼查
https://www.tianyancha.com/

五、 使用 Maltego 收集子域名信息

 1、子域名介绍:

顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如在http://example.com这个域名中,顶级域是.com(或.COM),大小写视为相同。
常见的顶级域主要分2类:

2、顶级域名介绍:

通用顶级类别域名常见的有:用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心的.net;用于非盈利组织的.org。
国家及地区顶级域,如".cn"代表中国,".uk"代表英国等,地理顶级域名一般由各个国家或地区负责管理。子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。

3、 挖掘子域名的重要性

子域名是某个主域的二级域名或者多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。
例如:www.xxxxx.com 主域不存在漏洞,并且防护措施严密。而二级域名 edu.xxxxx.com 存
在漏洞,并且防护措施松散。

4、子域名挖掘方法

1. 子域名挖掘工具 :Maltego 子域名挖掘机。

先在Maltego官网注册,因为目前该工具不登录是不能正常使用的,同学们需要使用 gmail
邮箱或 163 进行注册。
注册帐号网址:https://www.paterva.com/web7/community/community.php

账号注册成功:

在KALI中打开maltego,使用免费版本就可以;


2. 搜索引擎挖掘 如: 在 Google 中输入 site:qq.com
3. 第三方网站查询:http://tool.chinaz.com/subdomain、https://dnsdumpster.com/
4. 证书透明度公开日志枚举:https://crt.sh/ 、http://censys.io/
5. 其他途径:https://phpinfo.me/domain 、http://dns.aizhan.com


 


 

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

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

相关文章

Qt 中动态加载窗口(C++)

在编程中&#xff0c;我经常会遇见要根据用户触发按钮&#xff0c;动态生成窗口的情况。在此有两种方法可以动态生成窗口&#xff1a;一&#xff1a;直接在槽函数中调用窗口类。二&#xff1a;将 **.ui 添加到资源文件&#xff0c;通过 QUiLoader 加载。 现将两种方法介绍如下…

redhat 6.4安装oracle11g RAC (二)

创建一个asm Disk Group Name 组&#xff0c;并给一个名称ORC&#xff0c;并选择下面的三块盘&#xff0c;然后 Next错误的原因是由于磁盘数和冗余层级不匹配&#xff1a; 如果创建用来存放OCR和VOTEDISK的ASM磁盘组&#xff0c;那么External、Normal、High三种冗余级别对应的…

企业文件安全必知!掌握低代码平台的应用,事半功倍保障文件安全

在数字时代的今天&#xff0c;企业档案的安全变得比以往任何时候都更加重要。这些文件可能包含有关客户的敏感信息或必须始终保护的专有业务数据。但是&#xff0c;保护这些文件可能是一个复杂且耗时的过程&#xff0c;对于没有专门IT团队的公司来说尤其如此。这就是低代码平台…

组合式API【Vue3】

Vue3组合式API体验 通过一个 Counter&#xff08;自增&#xff09;案例 体验Vue3新引入的组合式API Vue2的代码&#xff1a; <template><button click"addCount">{{count}}</button> </template> <script> export default {data(){r…

SynchronousQueue的TransferQueue源码分析

QNode的源码信息分析 一行一行的分析大概内容&#xff1b;下面会省略大量的CAS操作当前节点可以获取到的next节点item在生产者和消费者下有所不同。生产者是有数据。消费者为null。waiter为当前线程isData属性是用来区分消费者和生产者的属性。值得一提的是最终生产者需要将it…

2023年我国省市县的高新技术企业数量(Excel/Shp格式)

企业是经济活动的参与主体。一个城市的企业数量决定了这个城市的经济发展水平&#xff01;比如一个城市的金融企业较多&#xff0c;那这个城市的金融产业肯定比较发达&#xff1b;一个城市的制造业企业较多&#xff0c;那这个城市的制造业肯定比较发达。 目前&#xff0c;在城…

Android 13(T) - Media框架 - 异步消息机制

由于网上已经有许多优秀的博文讲解了Android的异步消息机制&#xff08;ALooper/AHandler/AMessage那一套&#xff09;&#xff0c;而且流程也不是很复杂&#xff0c;所以这里将不会去讲代码流程。本篇将会记录学习过程中的疑问以及自己的解答&#xff0c;希望可以帮助有同样疑…

机器学习——感知机模型(手动代码)

感知机&#xff0c;应该是很简单的模型了 1. 建立模型 感知机的模型&#xff0c;是一种多元线性回归符号函数的二分类模型。 多元线性回归函数&#xff1a;【Z &#xfeff;&#xfeff;&#xfeff; W T X W^{T}X WTX】 符号函数&#xff1a; y sign(Z) 1&#xff0c;当y…

vulhub-struts2-S2-008 远程代码执行漏洞复现

漏洞描述 影响版本: 2.1.0 - 2.3.1 漏洞原理 S2-008 涉及多个漏洞&#xff0c;Cookie 拦截器错误配置可造成 OGNL 表达式执行&#xff0c;但是由于大多 Web 容器&#xff08;如 Tomcat&#xff09;对 Cookie 名称都有字符限制&#xff0c;一些关键字符无法使用使得这个点显得…

JAVA-IO流实践操作

什么是IO流&#xff1f; I&#xff1a;Input O&#xff1a;Output 通过IO可以完成硬盘文件的读和写。 流是一连串连续动态的数据集合。可以理解为是我们在内存和硬盘之间进行文件读写的一个管道。抽象的一个概念。我们可以看成是一个管道&#xff0c;我们输入的数据要从管道…

C语言编程—强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如&#xff0c;如果您想存储一个 long 类型的值到一个简单的整型中&#xff0c;您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型&#xff0c;如下所示&am…

PyTorch 深度学习 || 2. 全连接网络 | Ch2.2 PyTorch 全连接网络分类

PyTorch 全连接网络分类 文章目录 PyTorch 全连接网络分类1. 非线性二分类2. 泰坦尼克号数据分类2.1 数据的准备工作2.2 全连接网络的搭建2.3 结果的可视化 1. 非线性二分类 import sklearn.datasets #数据集 import numpy as np import matplotlib.pyplot as plt from sklear…

从源码角度分析 MyBatis 工作原理

一、MyBatis架构 从 MyBatis 代码实现的角度来看&#xff0c;MyBatis 的主要组件有以下几个&#xff1a; SqlSession - 作为 MyBatis 工作的主要顶层 API&#xff0c;表示和数据库交互的会话&#xff0c;完成必要数据库增删改查功能。 Executor - MyBatis 执行器&#xff0c;…

前端自动化测试的核心概念及思考

本文&#xff0c;将主要结合钉钉中的业务实践和落地&#xff0c;描述笔者对前端自动化测试场景的理解。 本文将主要从“为什么前端要做自动化测试、前端自动化测试分类、业务做自动化测试要抓住的核心点、核心工具推荐“这四个部分做阐述&#xff0c;下面直接进入正文。 大钉…

【嵌入式Linux内核驱动】05_IIC子系统 | 硬件原理与常见面试问题 | 应用编程 | 内核驱动 | 总体框架

硬件原理 IIC协议 IIC 基础 IIC协议简介—学习笔记_iic标准协议_越吃越胖的黄的博客-CSDN博客 简介 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种串行通信协议&#xff0c;用于连接微控制器、传感器、存储器和其他外设。 I2C使用两条线&#xff08;SDA和S…

Spark 1--3章简介,架构体系, 环境搭建

今天开始了新的课程 由我们的星哥带领我们踏入Spark的神秘殿堂 01_SparkCore 1. Spark简介 1.1 什么是Spark Spark是一种快速、通用、可扩展的大数据分析引擎&#xff0c;2009年诞生于加州大学伯克利分校AMPLab&#xff0c;2010年开源&#xff0c;2013年6月成为Apache孵化…

Cisco模拟器配置OSPF

一、前言 1.1 本文为Cisco模拟器配置OSPF操作笔记 (供新手参考&#xff09; 使用Cisco模拟器&#xff0c;配置OSPF协议&#xff0c;并使各台电脑ping通&#xff0c;如下参考图&#xff01; 1.2 思科路由器设置ip设置 在将设备摆放完毕后&#xff0c;需要配置每台设备的IP&…

【科普】干货!带你从0了解移动机器人(四) ——移动机器人导航技术

移动机器人导航是指移动机器人确定自己在地图参考系中的位置后&#xff0c;自动规划出通往地图参考系中某个目标位置路径并沿着该路径到达目标位置点的能力&#xff0c;是移动机器人行动能力的关键。 基于整个智能制造的发展&#xff0c;移动机器人导航技术大致可分为以下几种&…

【MarkDown】CSDN Markdown之思维导图mindmap详解

文章目录 思维导图(Mindmap)一个思维导图的例子语法形状矩形圆角矩形圆形爆炸云朵六边形默认 图标和类图标类 不清晰的缩进Markdown字符串与库或网站资源集成 思维导图(Mindmap) Mindmap现在是一个实验性的图表类型。语法和特性可能会在未来版本中更改&#xff0c;除了图标集成…