信息收集的方式可以分为两种:被动和主动。
被动信息收集方式是指利用第三方的服务对目标进行访问了解,比如:Google搜索、FOFA搜索。
主动的信息收集方式:通过直接访问、扫描网站,这种将流量流经网站的行为。比如:nmap扫描端口,查看一下,有那些可利用的端口。
被动信息收集的目的:通过公开渠道,去获得目标主机的信息,从而不与目标系统直接交互,避免留下痕迹,比如:目标公开在浏览器上的信息、网址之类的。
1、IP地址段
2、域名信息
3、邮件地址
4、文档、图片、数据,他们自己网站上公开的
5、公司地址,天眼查
6、公司组织架构
7、联系电话 / 传真号码
8、人员姓名 / 职务
9、目标系统使用的技术架构
10、公开的商业信息
1、信息描述目标
2、发现目标
3、社会工程学攻击
4、物理缺口
3.2.1域名解析原理
1、DNS服务器概述:
运行DNS服务器程序的计算机,存储DNS数据库信息。DNS服务器分为根域DNS服务器、顶级域名DNS服务器。根域DNS服务器13个,都存储了全部的顶级域名服务器的所在地址;顶级域名服务器存储了每位客户所注册的主机地址,这里对应到163.com这个级别。
3.2.2、域名记录:A、Cname、NS、MX、PTR
(1)A记录(Address)正向解析
A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这是大多数客户端程序默认的查询类型。例:shantu.cn-> 7.7.7.8
(2)PTR记录(Pointer)反向解析
PTR记录将一个IP地址对应到主机名(全称域名FQDN)。这些记录保存在in-addr.arpa域中。
(3)CNAME记录(Canonical Name)。这种记录保存允许您将多个名字映射到同一台计算机。例:www.shantu.cn 对应IP 7.7.7.8,web.shantu.cn对应IP 7.7.7.8
(4)MX记录(Mail eXchange)
MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。
例:mail.shantu.cn
当有多个MX记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器。数字越小表示优先级越高。
(5)NS记录(Name Server)
NS(Name Server)记录时域名服务器记录,也称为授权服务器,用来指定域名由那个DNS服务器来进行解析。
例:dns.shantu.cn
3.2.3、DNS缓存服务器
缓存DNS服务器:不负责解析域,只是缓存域名解析结果。
DNS查询方式:递归查询和迭代查询
一个DNS查询过程,通过8个步骤的解析过程就使得客户端可以顺利访问www.shantu.com 这个域名,但实际应用中,通常这个过程是非常迅速的

本地DNS服务器,有域名对应的IP地址,就不会去问了,直接告诉你,如果找不到,可能是没有这个域名,或者丢包了
3.2.2DNS信息收集-NSLOOKUP
ping baidu.com

看一下域名的IP是多少
nslookup查看下域名的IP是多少
nslookup baidu.com

dig查看域名
dig baidu.com

通过dns服务器,查看域名
dig @114.114.114.114 baidu.com

查询所有,any #显示所有类型的域名记录。默认只显示 A 记录
dig @114.114.114.114 baidu.com any

反查域名,使用-x 参数 IP 反查域名
dig -x 114.114.114.114

有很多网站,也是可以反查域名的
查询 DNS 服务器 bind 版本信息
查询 DNS 版本信息的目的:可以通过版本信息来查找相关版本漏洞的利用方式
dig txt chaos VERSION.BIND @ns3.dnsv4.com

3.2.3查询网站的域名注册信息和备案信息
1、Whois 查询方式 Web 接口查询和 Whois 命令查询
(1)、通过 Web 接口查询:
这里只是举例 2 个其实有很多。
阿里云:https://whois.aliyun.com/
站长之家:http://whois.chinaz.com/
(2)、Whois 命令查询
whois baidu.com

2、备案信息查询
(1)、Web 接口查询:
http://icp.chinaz.com/
(2)、天眼查
https://www.tianyancha.com/
3.3.1 子域名介绍
顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如在 http://example.com 这个域名中,顶级域是.com(或.COM),大小写视为相同。
常见的顶级域主要分 2 类:
1、通用顶级类别域名共 6 个, 包括用于科研机构的.ac;用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心的.net;用于非盈利组织的.org。
2、国家及地区顶级域,如".cn"代表中国,".uk"代表英国等,地理顶级域名一般由各个国家或地区负责管理。.jp 代表日本国家及地区顶级域(ccTLD)的域名
子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
3.3.2 挖掘子域名的重要性
子域名是某个主域的二级域名或者多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。大门攻不下来,就攻人小门,从薄弱点下手
例如:www.xxxxx.com 主域不存在漏洞,并且防护措施严密。而二级域名 edu.xxxxx.com 存在漏洞,并且防护措施松散。
子域名挖掘工具 :layer子域名挖掘机。
搜索引擎挖掘 如: 在 Google 中输入 site:qq.com
第三方网站查询:http://tool.chinaz.com/subdomain、https://dnsdumpster.com/
证书透明度公开日志枚举:https://crt.sh/ 、http://censys.io/
其他途径:https://phpinfo.me/domain 、http://dns.aizhan.com
3.4.1 FOFA介绍
FOFA是一款非常强大的搜索引擎,FOFA(网络空间资产检索系统)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息。探索全球互联网的资产信息,进行资产及漏洞影响范围分析、应用分布统计、应用流行度态势感知等。相对于shodan来说FOFA的优点就是更加本土化,拥有更多的域名数据,建立了全球最大的资产规则集,而且现在已经更新了识别蜜罐的功能。
3.4.2FOFA基础语法
详细语法规则请参考FOFA官网https://FOFA.so/,一下仅以实战角度出发总结常用语法。
常用语法如下:
1.title网站标题
title=“beijing” 从标题中搜索“北京”

找到了一些域名和IP地址
2、body页面内容
body可以通过页面中包含的特定字符串来搜索资产
body="百度知道"

通过域名来查
domain="baidu.com"

3.4.3实战-FOFA根据地区搜索
country=“CN” 搜索指定国家(编码)的资产。
region=“Xinjiang” 搜索指定行政区的资产
city=“beijing” 搜索指定城市的资产
排除地区方法使用 !=
例如在通过domain 搜索资产的时候会有香港的服务器,那么如何排除香港的服务器
domain="baidu.com" && region!="HK"

通过语法组合进行筛选,&&表示左右2个条件都需要满足,左边条件为包含baidu.com域名的资产,右边条件则为地区不等于HK,HK表示香港。这样就能够帮我们定位到不包含香港服务器的资产。
通过组合条件使搜索更见精准
(domain="baidu.com"&& region!="HK") && body="百度知道"

搜索baidu.com域名排除香港的资产列表,并且body中包含百度知道
3.4.4实战-FOFA通过icon图标搜索资产
icon是网站的图标也就是每个网站title上显示的图片
例如小米官网:https://www.mi.com

点击图标>检查>ctrl+f5>icon,复制黏贴,访问域名,图片另存为,复制到ico搜索,他会自动的计算hash值,并且进行搜索
3.4.5实战-FOFA通过JavaScript文件查询
通过页面中包含的js文件进行查询定位,比如xuegod官网,使用Chrome浏览器访问:www.yinghuacd.com,右键空白处查看源码。

复制js的路径
js_name="/libs.baidu.com/jquery/1.7.0/jquery.min.js"

3.4.6实战-通过使用FOFA规则列表搜索CMS资产
点击规则列表


搜索PbootCMS

框架一样,我们可以去github上,找一些源码,去看看有没有什么漏洞,或者代码审计
我们通常使用搜索引擎都是直接搜索自己想要的内容,正常情况下我们都是直接使用语言进行描述问题来进行搜索,然后搜索引擎也有特定语法可以使用,熟练掌握搜索引擎的语法可以让你的搜索效率和准确率大幅度提升,当然我们学习这种技巧是为了寻找存在漏洞的页面,或者存在敏感信息的文件。
Google 常用语法说明
site 指定域名
inurl URL 中存在的关键字页面
intext 网页内容里面的关键字
Filetype 指定文件类型
intitle 网页标题中的关键字
link 返回你所有的指定域名链接
info 查找指定站点信息
cache 搜索 Google 里的内容缓存
技巧 1:inurl,拆开来,就是 in url ,它的作用是限定在 url 中搜索。
例:输入内容:inurl:qq.txt
技巧 2 “intitle:index.of .bash_history”
intitle 表示标题
index.of 表示包含 index.of 字段,出现该字段表示网站目录是对我们开放的,我们可以查看到网站目录下的所有文件信息。
.bash_history 表示我们要筛选的文件名称,也可以替换成其他的敏感信息文件,该文件记录了用户的历史命令记录
技巧 4 “cache:baidu.com”
cache 返回的结果是被搜索引擎收录时的页面,比如一些页面被删除了,我们通过 cache 还是可以访问

我们看到 Google 缓存的日期为 6 月 3 日,他也会提示我们当前页面可能已经更改,所以我们查看一些被删除的内容是完全可能的
技巧 5 “Kali filetype:torrent”
Kali 是我们要搜索的关键字。
filetype 指定文件类型
torrent 文件类型名称,torrent 是种子文件,可以填写任意扩展名。

这里给大家提个醒,不要下载什么文件都直接打开,一定要开启杀毒软件,原因是黑客会利用我们这种行为,伪造一个包含信息的页面,我们打开页面后下载的文件就有可能是包含病毒的文件。
总结:谷歌黑客数据库:https://www.exploit-db.com/google-hacking-database
在谷歌黑客数据库中有大量的搜索引擎语法以及搜索案例如下:

美国著名安全公司 Offensive Security 的漏洞库 http://www.exploit-db.com [比较及时]
赛门铁克的漏洞库 http://www.securityfocus.com (国际权威漏洞库)
国家信息安全漏洞共享平台 http://www.cnvd.org.cn/
国内安全厂商——绿盟科技 http://www.nsfocus.net
俄罗斯知名安全实验室 https://www.securitylab.ru/vulnerability/
CVE 常见漏洞和披露 http://cve.mitre.org
信息安全漏洞门户 http://vulhub.org.cn/index
安全客 https://www.anquanke.com/
美国国家信息安全漏洞库 https://nvd.nist.gov/
知道创宇漏洞库 https://www.seebug.org/
平时可以去看看动向,什么漏洞被收入啦,哪哪又出现漏洞啦,我们可以去测试一下,万一最新的出现漏洞,厂家还没有去修复,没有发布最新的补丁
现在有些大佬,会在博客写一些最新的复现,我们可以去做一些复现,有利于,我们技术的一些提升,刚开始大家都不会,大家可以去模仿,模仿多了,就会有自己的想法了
去收集ip地址,知道IP地址,去反查域名