首页 > 其他分享 >《Kali渗透基础》03. 被动信息收集

《Kali渗透基础》03. 被动信息收集

时间:2023-05-25 09:24:01浏览次数:46  
标签:03 示例 渗透 Kali 信息 域名 DNS 8.8 com

目录


这里只是起跑线而不是终点线。
本文以 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 图片

示例:

在这里插入图片描述


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

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

标签:03,示例,渗透,Kali,信息,域名,DNS,8.8,com
From: https://www.cnblogs.com/GCom/p/17430166.html

相关文章

  • Mybatis中,SpringMVC中,SpringBoot项目中,出现There is no getter for property named 'x
    现象:Thereisnogetterforpropertynamed'xxxxxx'报错原因:其实说起原因有很多种,百度上都有很详细的说明,其中最重要也是经常发生的就是mapper.xml与是对应的实体类匹配不上导致错误发生,而我报错的原因是从mapper接口中向xml传入参数的时候,传入的是实体类对象,只有这一个参数,而在......
  • python:Error: EPERM: operation not permitted, mkdir 'F:\Program Files\nodejs\n
     可以发现文件没有权限npmERR!Error:EPERM:operationnotpermitted,mkdir'F:\ProgramFiles\nodejs\node_global\node_modules'将nodejs的文件权限改为完全控制之后操作即可 ......
  • A Knight's Journey
    [提交][状态]题目描述Theknightisgettingboredofseeingthesameblackandwhitesquaresagainandagainandhasdecidedtomakeajourneyaroundtheworld.Wheneveraknightmoves,itistwosquaresinonedirectionandonesquareperpendiculartoth......
  • window 10 安装node.js时遇到2502 2503错误解决方法
    最近想安装一下node.js,可是在安装过程中出现了2503和2502的问题,如下图:不过除了这些代码外,微软并没有提供解决办法。这一问题出现在Win7/Win8.1/Win10中,原因就是C:\Windows\Temp文件夹NTFS权限错误。为了能够让WindowsInstaller操作正确,当前账户需要有Temp文件夹完全管理员权......
  • 03、SECS-I 协议介绍
    03、SECS-I协议介绍上一篇我们学习了SECS-II协议,对SECS-II协议有了初略的了解,现在我们再来一起学习SECS-I协议。文章的内容基本上来自参考资料和自己看的文档,若有侵权,请联系删除,谢谢。SECS-I属于传输协议标准,主要定义了电气规格、传输速度、交握码等物理信息。1、SEC......
  • 03人月神话阅读笔记
    第5章画蛇添足5.1尽早交流和持续沟通能使结构师有较好的成本意识,以及使开发人员获得对设计的信心,并且不会混淆各自的责任分工。面对估算过高的难题,结构师有两个选择:削减设计或者建议成本更低的实现方法——挑战估算的结果。后者是固有的主观感性反应。此时,结构师是在向开发人员......
  • kali一些信息收集指令
    1.为什么要收集信息渗透测试方法论的第二个阶段是信息收集阶段。在这个阶段中,要尽可能地收集与测试目标有关的各类信息。这些信息包括DNS信息、IP地址、采用的技术以及具体配置、用户名的组织单位、文件、程序代码、密码重置信息、联系人信息等。信息收集阶段收集到的每一条信息......
  • SSRFmap-20230329
    Usage:ssrfmap.py[-h][-rREQFILE][-pPARAM][-mMODULES][-l[HANDLER]][-v[VERBOSE]][--lhostLHOST][--lportLPORT][--rfiles[TARGETFILES]][--uagentUSERAGENT][--ssl[SSL]][--proxyPROXY][--level[LEVEL]]选项:-h,--help显示此帮助......
  • 集中化日志管理平台的应用day03 暂时没用
    3、项⽬搭建3.1项⽬概述搭建⼀套微服务环境,实现多点⽇志采集,⽤于web请求的访问链路跟踪,包含以下跟踪点:请求的前台⻚⾯请求到达nginx的转发记录请求的后台⽅法请求的业务输出标记远程的⽅法调⽤(如有涉及)3.2设计⽬标3.2.1检索维度可以按常⽤维度做到快速检索:某次请求......
  • pta_【CPP0038】单向链表模板类
    #include<iostream>usingnamespacestd;template<typenameT>classNode{public:Node(Tdata):data(data),next(nullptr){cout<<"NodeConstructorrun"<<endl;}Node(constNode<T>&other)......