@


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

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

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

1:被动信息收集

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

要点

  • 公开渠道可获得的信息。
  • 与目标系统不产生直接交互(如扫描等)。
  • 可以尽量避免留下一切痕迹。

1.1:收集内容

  • IP 地址段
  • 域名信息
  • 邮件地址
  • 文档图片数据
  • 公司地址
  • 公司组织架构
  • 联系电话 / 传真号码
  • 人员姓名 / 职务
  • 目标系统使用的技术架构
  • 公开的商业信息

1.2:信息用途

  • 用所有已获得的信息来描述目标,还原目标真实情况。
  • 通过分析描述中的目标来发现其弱点。
  • 社会工程学攻击。
  • 物理缺口(物理层面,这里就不介绍了)。

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 等)和路径,用于标识和定位特定的网络资源。

2.1:nslookup

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

2.2:dig

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 字典爆破命令都自带有字典,原理大致一样。

4.1:fierce

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

4.2:dnsenum

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

基本语法

dnsenum 选项

常用选项

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

示例:

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

4.3:dnsrecon

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

基本语法

dnsrecon 选项

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

5:域名注册信息

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

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

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

  • 网站查询
  • whois 命令

5.1:相关网站

5.2:whois

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

基本语法

whois 选项

常用选项

使用 whois -h 查看。

示例:

whois -h whois.apnic.net 192.0.43.10

6:搜索引擎

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

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

6.1:Shodan

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

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

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

6.2:Google

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

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

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

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

Google Hacking Database(GHDB):

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

6.3:其他

  • Yandex

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

  • ZoomEye

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

7:相关工具

7.1:theHarvester

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

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

基本语法

theHarvester 选项

常用选项

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

7.2:Maltego

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

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

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

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

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

初次使用需注册。

7.3:Recon-NG

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

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

其命令格式与 msf 类似。

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

8:其他途径

8.1:社工字典

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

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

https://github.com/Mebus/cupp

8.2:Metadata

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

常见领域中的元数据:

  • 图像和音频

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

  • 文档和文件

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

  • 数据库

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

  • 网络和互联网

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

  • 科学研究

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

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

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

8.3:Exif

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

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

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

基本语法

exiftool 图片

示例:


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

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

《Kali渗透基础》03. 被动信息收集的更多相关文章

  1. 小白日记2:kali渗透测试之被动信息收集(一)

    一.被动信息收集 被动信息收集指的是通过公开渠道可获得的信息,与目标系统不产生直接交互,尽量避免留下一切痕迹的信息探测.被动探测技术收集的信息可以大致分为两类, 即配置信息和状态信息. 被动探测可收集 ...

  2. 被动信息收集1——DNS基础 + DNS解析工具 NSLOOKUP使用

    被动信息收集 特点: 基于公开渠道 与目标不直接接触 避免留下一切痕迹 标准參考--OSINT: 美国军方 北大西洋公约组织 名词解释 DNS--Domain Name System 域名系统 因特网 ...

  3. 0x01.被动信息收集

    被动信息收集 基于公开渠道,不与目标系统产生直接交互,尽量避免留下痕迹(不进行大量扫描,正常交互范围) 信息收集内容 IP段 域名 邮件地址(定位邮件服务器,分为个人搭建和公网邮件系统) 文档图片数据 ...

  4. python-arp 被动信息收集

    python-arp 被动信息收集 概述 横向移动的时候由于局域网中可能存在未分配的IP,如果请求这些未分配的IP可能导致被发现(旁路检测设备),先可以做一下arp被动信息收集.当然对蜜罐类设备没用. ...

  5. 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng

    Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...

  6. 小白日记5:kali渗透测试之被动信息收集(四)--theHarvester,metagoofil,meltag,个人专属密码字典--CUPP

    1.theHarvester theHarvester是一个社会工程学工具,它通过搜索引擎.PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息. ...

  7. kali linux之被动信息收集(dns信息收集,区域传输,字典爆破)

    公开可获取的信息,不与目标系统产生交互,避免留下痕迹 下图来自美军方 pdf链接:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf 信息收集内容(可利用 ...

  8. Kali学习笔记5:被动信息收集工具集

    1.Shodan SHODAN搜索引擎不像百度谷歌等,它们爬取的是网页,而SHODAN搜索的是设备. 物联网使用过程中,通常容易出现安全问题,如果被黑客用SHODAN搜索到,后果不堪设想. 网站:ht ...

  9. 被动信息收集-其他收集目标信息的途径:cupp、 recon-ng

    除了google等搜索收集,还有其他途径进行信息收集,其中就包括用命令行或集成的软件.框架进行搜集信息. 1.先举例几个简单的命令: 其实也会是调用搜索引擎,如谷歌必应等,需要翻墙,可以用proxyc ...

  10. 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce

    一.DIG linux下查询域名解析有两种选择,nslookup或者dig.Dig(Domain Information Groper)是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M ...

随机推荐

  1. JavaWeb概念

    1 基本概念 1.1 前言 web开发: web,网页的意思,类如:www.baidu.com 静态web: html,css 提供给所有人看到的数据始终不会改变! 动态web: 几乎所有的网站:类如 ...

  2. 【GiraKoo】Android监听屏幕尺寸变化通知

    [GiraKoo]Android监听屏幕尺寸变化通知 Android系统中存在多种情况可能导致屏幕尺寸发生变化.例如:横竖屏切换,虚拟按键,分屏,键盘弹出等. App有的时候需要了解屏幕的真实尺寸,D ...

  3. 2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么?

    2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么? 答案2023-05-20: go语言的slice扩容流程 go版本是1.20.4. 扩容流程见源码见runtime/ ...

  4. LINIUX 查询命令的 区别 chich whereis locate fing

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which  查看可执行文件的位置. whereis 查看文件的位置. locate   配合数据库查看文件位置 ...

  5. 终于把 7 年前的 Docker Hub 账号恢复了

    折腾 docker,向 Docker Hub 提交镜像的时候发现原来自己在 2014 年就已经注册过 Docker Hub 的账号了,而且在 https://hub.docker.com/u/shen ...

  6. SYCTF2023 WEB writeup

    CarelessPy 一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼...(虽然我确实是(bushi) 查看页面源代码,给了个/eval /login 两个路由,/eval是个目 ...

  7. mysql_三大范式

    介绍 数据库的三大范式就是数据库的表应该如何设计,应该注意什么. 第一范式 要求每一张表都有一个主键,每一个字段都不可再分. 举例: id username address 1 张三 中国,北京 2 ...

  8. 【保姆级教程】Vue项目调试技巧

    前言 在Vue项目开发过程中,当遇到应用逻辑出现错误,但又无法准确定位的时候,知晓Vue项目调试技巧至关重要,debug是必备技能. 同后台项目开发一样,可以在JS实现的应用逻辑中设置断点,并进行单步 ...

  9. 【python基础】类-继承

    编写类时,并非总是要从空白开始.如果要编写的类时另一个现成类的特殊版本,可使用继承.一个类继承另一个类时,它将自动获得另一个类的所有属性和方法 原有的类称为父类,而新类被称为子类.子类继承了其父类的所 ...

  10. python3使用pjsua进行呼叫测试

    环境:CentOS 7.6_x64    Python版本 :3.9.12 pjsip版本:2.13   之前写过一篇CentOS7环境编译python3.9版本pjsua的文章: https://w ...