3.利用第三方服务目标进行被动信息收集防止被发现
3.1被动信息收集
3.1.1被动信息收集概述和目的
· 信息收集的方式可以分为两种:被动和主动
被动信息收集方式是指利用第三方的服务对目标进行访问了解。(如百度搜索,不容易被目标发现)
主动的信息收集方式:通过直接访问、扫描网站、这种将流量流经网站的行为。(如nmap扫描端口,容易被目标发现)
· 被动信息收集的目的:通过公开渠道,去获得目标主机的信息,从而不与目标系统直接交互,避免留下痕迹。
3.2信息收集DNS
3.2.1 域名解析原理
1.DNS 服务器概述
运行 DNS 服务器程序的计算机,储存DNS数据库信息。DNS 服务器分为根域DNS服务器、顶级域名 DNS 服务器。根域 DNS 服务器有13个,都存储了全部的顶级域名服务器的所在地址;顶级域名服务器存储了每位客户所注册的主机地址。
2.域名记录
A Cname NS MX PTR
A记录(Address) 正向解析:
A记录是将一个主机名(全称域名FQDN)和一个 IP地址关联起来。(大多数客户端程序默认的查询类型)。
PTR 记录 (Pointer) 反向解析
PTR 记录将一个 IP 地址对应到主机名(全称域名FQDN)。这些记录保存在 in-addr.arpa 域中。
CNAME记录(Canonical Name) 别名
别名记录,也称为规范名字(Canonical Name)。这种记录允许您多个名字映射到同一台计算机。
MX 记录(Mail eXchange)
MX记录是邮件交换记录,它指向一个邮件服务器,用电子邮件系统发邮件时根据收件人地址后缀来定位邮件服务器。
当有多个 MX 记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。
NS 记录 (Name Server)
NS (Name Server)记录是域名服务器记录,也称为授权服务器,用来定义该域名由哪个DNS服务器来进行解析。
3.DNS缓存服务器(不负责解析域,只是缓存域名解析结果)
DNS 查询过程
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 服务器建立连接。
3.2.2 DNS信息收集-NSLOOKUP
1.将域名解析为IP
-- ping命令
例: # ping baidu.com
[-c] 可指定发送数据包数量
-- nslookup命令
例: # nslookup baidu.com
[注] 通过 vim /etc/resolv.conf 编辑配置文件(配置DNS为nameserver 114.114.114.114)
Server:DNS服务器 Address:DNS服务器地址
Name:解析的域名 Address:解析到的IP地址
3.2.3 DNS信息收集-DIG
--语法1
# dig [选项] 域名
[-x]可用于反向查询IP对应的域名
--语法2 (指定进行域名解析的域名服务器)
# dig @DNS服务器地址 域名
--语法3(查询所有类型的域名记录,默认只显示A记录)
# dig @ 域名 any
查询 DNS 服务器 bind 版本信息
目的:可通过版本信息来查找相关版本漏洞的利用方式
# dig txt chaos VERSION.BIND @DNS服务器
3.2.4 查询网站的域名注册信息和备案信息
--注册信息
# whois 域名
--备案信息
http://www.beianbeian.com/
http://icp.beian.miit.gov.cn/
https://www.tianyancha.com/
[扩] 站长之家 http://whois.chinaz.com/
3.3 使用 Maltego 收集子域名信息
该工具的主要重点是分析通过互联网访问的数据之间的真实世界关系,其中包括足迹互联网基础设施和收集有关拥有该网络的人员和组织的数据。通过使用OSINT(开源情报)技术,通过查询whois记录,社交网络,DNS记录,不同的在线API,提取元数据和搜索引擎来搜索这些数据之间的连接。该工具将提供广泛的图形布局结果,允许对数据进行聚类,使关系准确和即时。
3.3.1 子域名介绍
顶级域名是域名的最后一个部分,即是域名最后一点之后的字母(如.com)。
常见的顶级域名主要分2类
1.通用顶级类别域名共6个,包括用于科研机构的 .ac; 用于工商金融企业的 .com ;用于教育机构的 .edu ; 用于政府部门的 .gov;用于互联网络信息中心和运行中心的 .edu; 用于非盈利组织的 .org。
2.国家级地区顶级域名,如“.cn”代表中国,“.uk”代表英国。
子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
3.3.2 挖掘子域名
1.子域名挖掘工具: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
3.3.3 使用Maltego CE 进行子域名挖掘
Maltego CE官网
https://www.paterva.com/web7/buy/maltego-clients/maltego-ce.php
注册账号网址
https://www.paterva.com/web7/community/community.php
桌面菜单搜索Maltego CE
3.4 使用资产检索 FOFA 搜索引擎收集信息
3.4.1 FOFA 介绍
FOFA(网络空间资产检索系统)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信息,进行资产及漏洞影响范围分析,应用分布统计、应用流行度态势感知等。相当于 shodan 来说 FOFA 的优点就是更加本土化,拥有更多的域名数据,建立了全球最大的资产规则集,而且现在已经更新了识别蜜罐的功能。
3.4.2 FOFA 基础语法
详细语法规则请参考FOFA官网 https://FOFA.so/
--1.title 网站标题
title="...." //从标题中搜索...
--2.body 网页内容
body="...." //从内容中搜索...
--3.根据地区搜索
country="..." //搜索指定国家(编码)的资产
region="..." //搜索指定行政区的资产
city="..." //搜索指定城市的资产
[注] 1.可以使用"!="排除地区
2.可以和逻辑符组合使用(&&与,||或,非)
3.4.3 通过icon图标搜索资产
打开网页 –> 检查源码 –> 在头部< header>标签里面找到< link rel=“icon” href…>标签 –> 鼠标右键复制链接地址,新窗口打开链接 –> 保存到本地 –> 打开FOFA,点击搜索框里的icon图标 –> 将下载好的icon图拖拽上传 –> 会产生一个icon_hash值
通过 icon 可以搜索到所有使用了相同 icon 的站点,但这个 icon 任何网站都可以使用所以会有非官方的资产被搜集到;部分企业或公司会更新相应的 icon ,会有一部分资产未即时更新,导致搜索不完全。
3.4.4 通过 JavaScript 文件查询
打开网页 –> 检查源码 –> 在头部< header>标签里面找到< script src=”…“>标签 –> 鼠标右键复制src地址 –> FOFA搜索
js_name="src路径"
body="src路径"
3.4.5 通过使用 FOFA 规则列表搜索 CMS 资产
打开FOFA –> 点击头像旁边的选项按钮 –> 规则列表