《Kali渗透基础》03. 被动信息收集
阅读原文时间:2023年08月29日阅读:1

@

目录


本系列侧重方法论,各工具只是实现目标的载体。

命令与工具只做简单介绍,其使用另见《安全工具录》。

本文以 kali-linux-2022.3-vmware-amd64 为例。

1:被动信息收集

被动信息收集指从公开渠道获取信息,主要是已经公开的信息。当然也不排除私密但是泄露的信息。

要点

  • 公开渠道可获得的信息。

  • 与目标系统不产生直接交互(如扫描等)。

  • 可以尽量避免留下一切痕迹。

  • IP 地址段

  • 域名信息

  • 邮件地址

  • 文档图片数据

  • 公司地址

  • 公司组织架构

  • 联系电话 / 传真号码

  • 人员姓名 / 职务

  • 目标系统使用的技术架构

  • 公开的商业信息

  • 用所有已获得的信息来描述目标,还原目标真实情况。

  • 通过分析描述中的目标来发现其弱点。

  • 社会工程学攻击。

  • 物理缺口(物理层面,这里就不介绍了)。

2:域名信息收集

域名(Domain Name)和完全限定域名(Fully Qualified Domain Name,FQDN):

  • 域名(Domain Name)

    是一个可用于标识网络上特定实体的人类可读的名称。

    例如:example.com。

  • 完全限定域名(Fully Qualified Domain Name,FQDN)

    是一个更具体的域名表示形式,它提供了完整的域名层次结构路径,以确保在全球范围内唯一标识一个特定的网络资源。

    例如:www.example.com。

可以说 FQDN 是域名的更具体形式,提供了完整的层次结构路径,以便准确定位和访问特定的网络资源。

需要注意的是,FQDN 不同于 URL(统一资源定位符),URL包含了更多的信息,如协议(http、https 等)和路径,用于标识和定位特定的网络资源。

nslookup 常用于域名解析和网络故障排除。

nslookup 有两种操作模式,两种模式功能一致:

  • 交互式模式

    适用于在一个会话中执行多个查询或操作。

  • 命令行模式

    适用于执行一次性的简单查询或将其嵌入到脚本中。

2.1.1:命令参数

进入交互式

nslookup

命令行模式

nslookup 选项

常用选项

参数

说明

域名

要解析的主机名或域名。

nslookup www.baidu.com

-type=记录类型

指定要查询的记录类型。(默认为 A 记录)

-q=记录类型

与 -type 相同。

nslookup 163.com -q=mx

[server] IP地址

指定要使用的 DNS 服务器的 IP 地址或域名。

nslookup 163.com server 8.8.8.8

-h

显示帮助信息。

记录类型

在 nslookup 中,记录类型(Record Type)用于指定要查询的特定DNS记录类型。

记录类型

说明

any

查询所有可用记录。返回与域名对应的全部 DNS 记录。

a

查询 IPv4 地址记录。返回与域名对应的 IPv4 地址。(Address)

aaaa

查询 IPv6 地址记录。返回与域名对应的 IPv6 地址。(IPv6 Address)

cname

查询规范名称记录。返回域名的规范别名。(Canonical Name)

ns

查询名称服务器记录。返回负责处理特定域名的域名服务器信息。(Name Server)

mx

查询邮件交换器记录。返回与域名关联的邮件服务器信息。(Mail Exchanger)

ptr

查询指针记录。用于反向 DNS 查找,将 IP 地址解析为域名。(Pointer)

2.1.2:示例 - 命令行

  • 示例01

操作

nslookup 163.com -type=any 8.8.8.8

结果

网站智能 DNS:

互联网上,网站使用智能 DNS 功能,能够根据用户终端环境不同,选择最近可满足服务的服务器位置。可以优化互联网流量。

所以用不同 DNS 服务器解析同一个域名时,可能获得不同 ip 地址。

2.1.3:示例 - 交互式

输入 nslookup 回车进入交互模式。

  • 示例02:设置记录类型

set q=any

  • 示例03:指定 DNS 服务器。

server 8.8.8.8

  • 示例04:解析域名。

bilibili.com

dig 是域名系统(DNS)查询工具,常用于域名解析和网络故障排除。比 nslookup 有更强大的功能。

2.2.1:命令参数

基本语法

dig 选项

常用选项

参数

说明

域名

要解析的地址。

dig sina.com

@地址

指定使用的 DNS 服务器。

dig sina.com @8.8.8.8

-f 文件

从文件中读取要查询的主机名或 IP 地址列表。

dig -f hosts.txt

记录类型

指定要查询的记录类型。(默认为 A 记录)

dig www.sina.com any

-x IP地址

执行反向 DNS 查询。

dig -x 8.8.8.8

+short

只显示查询结果的摘要信息。

dig www.sina.com +short

+trace

追踪 DNS 查询。从根服务器迭代查询到最终的授权服务器。

dig +trace www.sina.com

+noall

不显示所有查询结果,只显示指定的记录类型。通常用于配合其他参数使用。

+answer

查询结果的回答部分。

dig +noall +answer baidu.com

记录类型详见:2.1.1:命令参数

2.2.2:示例

  • 示例01:反向查询

dig +noall +answer -x 8.8.8.8

  • 示例02:查询 DNS 服务器 BIND 版本信息

dig +noall +answer txt chaos version.bind @ns3.dnsv4.com

BIND(Berkeley Internet Name Domain)是一个常用的开源 DNS 服务器软件。BIND 提供了域名解析和 DNS 服务功能,并被广泛用于互联网上的许多 DNS 服务器。

BIND 版本信息指的是运行在特定 DNS 服务器上的 BIND 软件的版本号。据此可寻找其已知漏洞

记录类型 “ TXT ”,用于获取主机的文本记录。“ chaos ” 是一个特殊的 DNS 区域,用于存储系统信息和统计数据。

主机名 “ version.bind ”,它通常用于查询 DNS 服务器的软件版本信息。

  • 示例03

dig +trace www.sina.com

可以抓包查看其过程。

3:DNS 区域传输

区域传输(Zone transfer)是一种用于在不同的服务器之间复制和同步区域数据的机制。

为了确保安全性,要限制执行区域传输的 IP 地址,以避免未经授权的访问和潜在的数据泄漏风险。

可以通过以下两条命令尝试进行区域传输:

命令一

dig @DNS服务器 域名 axfr

“ axfr ” 用于指定进行 DNS 区域传输(AXFR)操作。

dig 命令详见:2.2:dig

示例:

dig @ns1.example.com example.com axfr

该命令的含义是从 ns1.example.com 这个 DNS 服务器执行 DNS 区域传输操作,将 example.com 域名的完整区域数据传输到执行这个命令的主机上。

命令二

host -T -l 域名 DNS服务器

这里简单介绍 host 命令参数:

参数

说明

-T

指定进行 DNS 枚举操作。

-l

指定进行完整的区域传输操作。

示例:

host -T -l sina.com 8.8.8.8

该命令的含义是使用 DNS 枚举操作,从 8.8.8.8 这个 DNS 服务器获取 sina.com 域名的完整区域数据。

4:域名字典爆破

域名字典爆破通过尝试多个可能的域名来猜测有效的域名或子域名。

因此,字典爆破主要在于字典的选择与使用。一些 DNS 字典爆破命令都自带有字典,原理大致一样。

fierce 是开源的网络安全工具,用于进行域名扫描和子域名枚举。

A DNS reconnaissance tool for locating non-contiguous IP space.

基本语法

fierce 选项

常用选项

可以查看帮助信息,很全面。这里只简单贴一下。鉴于命令比较简单,这里不补充什么了。而且,不要惧怕英语。

options:
  -h, --help            show this help message and exit
  --domain DOMAIN       domain name to test
  --connect             attempt HTTP connection to non-RFC 1918 hosts
  --wide                scan entire class c of discovered records
  --traverse TRAVERSE   scan IPs near discovered records, this won't enter adjacent class c's
  --search SEARCH [SEARCH ...]
                        filter on these domains when expanding lookup
  --range RANGE         scan an internal IP range, use cidr notation
  --delay DELAY         time to wait between lookups
  --subdomains SUBDOMAINS [SUBDOMAINS ...]
                        use these subdomains
  --subdomain-file SUBDOMAIN_FILE
                        use subdomains specified in this file (one per line)
  --dns-servers DNS_SERVERS [DNS_SERVERS ...]
                        use these dns servers for reverse lookups
  --dns-file DNS_FILE   use dns servers specified in this file for reverse lookups (one per line)
  --tcp                 use TCP instead of UDP

示例:

fierce --dns-servers 8.8.8.8 --domain sina.com.cn

dnsenum 是一个用于枚举域名信息的开源工具。通过执行多种 DNS 查询来收集与目标域名相关的信息。

基本语法

dnsenum 选项

常用选项

自己看帮助信息。(= ̄ω ̄=)喵了个咪

示例:

dnsenum -dnsserver 8.8.8.8 sina.com -o sina.xml

dnsrecon 是一款用于进行域名枚举和信息收集的开源工具。

基本语法

dnsrecon 选项

自我感觉不如前面两个好用。o(´^`)o。反正,这类工具只需熟悉一个即可。

5:域名注册信息

域名注册信息是与域名相关的注册和所有者信息。

这些信息通常包括域名所有者的名称、联系信息、注册日期、过期日期、域名服务器(DNS服务器)等。

查找和获取特定域名的 DNS 注册信息,有以下方法:

  • 网站查询

  • whois 命令

  • AFRINIC(African Network Information Center,非洲网络信息中心)

    https://www.afrinic.net/

  • APNIC(Asia-Pacific Network Information Centre,亚太网络信息中心)

    https://www.apnic.net/

  • ARIN(American Registry for Internet Numbers,美洲互联网数字资源注册局)

    https://www.arin.net/

  • IANA(Internet Assigned Numbers Authority,互联网数字分配机构)

    https://www.iana.org/

  • ICANN(Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址分配机构)

    https://www.icann.org/

  • LACNIC(Latin America and Caribbean Network Information Centre,拉丁美洲和加勒比网络信息中心)

    https://www.lacnic.net/

  • NRO(Number Resource Organization,数字资源组织)

    https://www.nro.net/

  • RIPENCC(Réseaux IP Européens Network Coordination Centre,欧洲网络协调中心)

    https://www.ripe.net/

  • Internic(Internet Network Information Center,互联网网络信息中心)

    https://www.internic.net/

whois 用于查询和获取域名的注册信息。可以查看与特定域名相关的注册商、域名所有者、注册日期、过期日期、DNS 服务器等信息。

基本语法

whois 选项

常用选项

使用 whois -h 查看。

示例:

whois -h whois.apnic.net 192.0.43.10

6:搜索引擎

合理使用搜索引擎可能会有意想不到的收获。

  • 公司新闻动态
  • 重要雇员信息
  • 机密文档/网络拓扑
  • 用户名密码
  • 目标系统软硬件技术架构

Shodan 专门用于搜索与互联网连接的设备和系统。它主要关注的是物联网设备、工业控制系统、服务器和其他网络设备等特定类型的联网设备。

链接:https://www.shodan.io/

登录后,可在首页查看筛选语法。

Google 搜索引擎工作原理是通过自动化程序(爬虫)定期抓取互联网上的网页内容,并建立一个庞大的索引数据库。

善用 Google 的筛选语法也能有以外收获

除此以外,Exploit-DB 提供了一个广泛的漏洞利用数据库:

https://www.exploit-db.com/

Google Hacking Database(GHDB):

https://www.exploit-db.com/google-hacking-database

  • Yandex

Yandex 是俄罗斯最大的互联网搜索引擎和在线服务提供商之一。

  • ZoomEye

ZoomEye 专门用于搜索与互联网上的网络设备和系统相关的信息。它被称为网络空间搜索引擎,与 Shodan 类似。

7:相关工具

theHarvester 能够在多个搜索引擎、DNS 服务器、互联网档案馆和其他公开数据源中搜索信息。如电子邮件地址、子域名、主机名、开放端口等。

theHarvester is used to gather open source intelligence (OSINT) on a company or domain.

基本语法

theHarvester 选项

常用选项

自己看帮助信息。(= ̄ω ̄=)

Maltego 是一款用于数据挖掘和情报收集的可视化工具。

通过可视化关联,能帮助用户发现隐藏的信息、连接和模式,从而支持取证、网络侦查、情报分析和安全评估等任务。

Maltego 的核心概念是 “ 实体 ” 和 “ 变换 ”。

  • 实体代表各种信息元素,例如人员、组织、域名、IP地址、电子邮件等。
  • 变换是执行各种操作和查询的过程,用于获取、分析和展示实体之间的关系和属性。

通过点击图标使用命令 maltego 打开工具。

初次使用需注册。

Recon-NG 是一款开源情报收集和侦察框架(全特性 web 侦察框架)。它用于自动化和简化情报收集任务。其核心思想是通过模块化和插件化的方式,扩展其功能和数据源。

Recon-NG 它支持各种模块,包括搜索引擎、社交媒体、在线数据库、网络扫描工具等,用于执行各种查询和收集信息。用户可以根据自己的需求选择和配置适当的模块,将其组合成工作流程,并进行自动化执行。

其命令格式与 msf 类似。

通过点击图标使用命令 recon-ng 打开工具。

8:其他途径

按个人信息生成专属的密码字典。

Common User Password Profiler(CUPP,通用用户密码探查器):

https://github.com/Mebus/cupp

元数据(Metadata)是描述数据的数据,即关于数据的信息。通常包含有关数据的结构、格式、含义、来源、创建者、时间戳等信息。

常见领域中的元数据:

  • 图像和音频

    在图像和音频文件中,元数据可以包含有关拍摄设备、拍摄时间、分辨率、作者、版权信息等。

  • 文档和文件

    在文档和文件中,元数据可以包含有关创建者、最后修改时间、文档类型、关键字、版本历史等。

  • 数据库

    在数据库中,元数据描述了表、字段、索引、关系和约束等数据库结构信息,使得数据的组织和查询变得更加高效和准确。

  • 网络和互联网

    在网络和互联网中,元数据用于描述网页的标题、描述、关键字、链接关系等,以及用于搜索引擎索引和网页排名。

  • 科学研究

    在科学研究中,元数据可以描述实验数据的收集方法、实验条件、测量单位、数据质量等,使得其他研究人员可以理解和重现实验。

元数据可以手动添加,也可以由系统自动生成。

它能以各种格式存储,如标记语言(如XML、JSON)、数据库表、注释字段等。

Exif(Exchangeable Image File Format)是一种用于存储数字图像和音频文件元数据的标准格式。通常用于 JPEG、TIFF 和 RAW 图像文件中,用于记录与图像相关的信息。

Exif 提供了关于图像的拍摄参数、设备信息、拍摄时间等详细的元数据。

Kali 中,可以使用 exiftool 命令查看相关信息。

基本语法

exiftool 图片

示例:


恶莫大于纵己之欲,祸莫大于言人之非。

——《格言联璧》(清)金缨