被动与主动侦察

在计算机系统和网络出现之前,孙子兵法在孙子兵法中教导说:“知己知彼,必胜不疑。” 如果您扮演攻击者的角色,则需要收集有关目标系统的信息。如果你扮演防御者的角色,你需要知道你的对手会发现你的系统和网络的什么

侦察(recon)可以定义为收集有关目标信息的初步调查。这是统一杀伤链在系统上获得初步立足点的第一步。我们将侦察分为:

  • 被动侦察
  • 主动侦察

在被动侦察中,您依赖于公开可用的知识。您无需直接与目标接触即可从公开可用资源中获取这些知识。把它想象成你从远处看着目标领土,而不是踏上那个领土

被动侦察活动包括许多活动,例如:

  • 从公共 DNS 服务器查找域的DNS记录
  • 检查与目标网站相关的招聘广告
  • 阅读有关目标公司的新闻文章

另一方面,主动侦察无法如此谨慎地实现。它需要与目标直接接触。把它想象成你检查门窗上的锁,以及其他潜在的入口点

主动侦察活动的例子包括:

  • 连接到公司服务器之一,例如HTTPFTPSMTP
  • 致电公司试图获取信息(社会工程学
  • 冒充修理工进入公司场所

考虑到主动侦察的侵入性,除非获得适当的法律授权,否则很快就会陷入法律困境

被动侦查

我们将学习三个命令行工具:

whois查询 WHOIS 服务器

nslookup查询DNS服务器

dig查询DNS服务器

我们使用whois查询 WHOIS 记录,而我们使用nslookupdig查询DNS数据库记录。这些都是公开可用的记录,因此不会提醒目标。

我们还将学习两种在线服务的用法:

  • DNSDumpster
  • Shodan.io

这两个在线服务使我们能够在不直接连接到目标的情况下收集有关目标的信息

Whois

WHOIS 是遵循RFC 3912规范的请求和响应协议。WHOIS 服务器在TCP端口 43 上侦听传入请求。域名注册商负责维护其租用域名的 WHOIS 记录。WHOIS 服务器回复与所请求域相关的各种信息。特别感兴趣的是,我们可以学习:

  • 注册商:域名是通过哪个注册商注册的?
  • 注册人联系方式:姓名、单位、地址、电话等。(除非通过隐私服务隐藏)
  • 创建、更新和到期日期:域名首次注册的时间是什么时候?最后一次更新是什么时候?什么时候需要更新?
  • 名称服务器:请求哪个服务器来解析域名?

要获取这些信息,我们需要使用whois客户端或在线服务。许多在线服务提供whois信息;但是,使用本地 whois 客户端通常更快、更方便

语法是whois DOMAIN_NAME,其中DOMAIN_NAME是您尝试获取更多信息的域。考虑以下示例执行whois tryhackme.com

user@TryHackMe$ whois tryhackme.com
[Querying whois.verisign-grs.com]
[Redirected to whois.namecheap.com]
[Querying whois.namecheap.com]
[whois.namecheap.com]
Domain name: tryhackme.com
Registry Domain ID: 2282723194_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2021-05-01T19:43:23.31Z
Creation Date: 2018-07-05T19:46:15.00Z
Registrar Registration Expiration Date: 2027-07-05T19:46:15.00Z
Registrar: NAMECHEAP INC
Registrar IANA ID: 1068
Registrar Abuse Contact Email: abuse@namecheap.com
Registrar Abuse Contact Phone: +1.6613102107
Reseller: NAMECHEAP INC
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID:
Registrant Name: Withheld for Privacy Purposes
Registrant Organization: Privacy service provided by Withheld for Privacy ehf
[...]
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2021-08-25T14:58:29.57Z <<<
For more information on Whois status codes, please visit https://icann.org/epp

我们可以看到很多信息;我们将按照显示的顺序检查它们。首先,我们注意到我们被重定向到whois.namecheap.com以获取我们的信息。在这种情况下,目前namecheap.com正在维护该域名的 WHOIS 记录。此外,我们可以看到创建日期以及最后更新日期和到期日期。

接下来,我们获取有关注册服务商和注册人的信息。我们可以找到注册人的姓名和联系信息,除非他们使用某些隐私服务。虽然上面没有显示,但我们得到了这个域的管理员和技术联系人。最后,如果我们有任何DNS记录要查找,我们会看到我们应该查询的域名服务器。

可以检查收集到的信息以发现新的攻击面,例如社会工程或技术攻击。例如,根据渗透测试的范围,您可能会考虑对管理员用户的电子邮件服务器或 DNS 服务器进行攻击,假设它们归您的客户所有并且在渗透测试的范围内。

需要注意的是,由于自动化工具滥用 WHOIS 查询来收集电子邮件地址,许多 WHOIS 服务都对此采取了措施。例如,他们可能会编辑电子邮件地址。此外,许多注册人订阅了隐私服务,以避免他们的电子邮件地址被垃圾邮件发送者收集并保护他们的信息的私密性

nslookup 和 dig

在前面的任务中,我们使用 WHOIS 协议来获取有关我们正在查找的域名的各种信息。特别是,我们能够从注册商那里获得DNS服务器。

使用 查找域名的 IP 地址nslookup,代表名称服务器查找。您需要发出命令nslookup DOMAIN_NAME,例如,nslookup tryhackme.com。或者,更一般地说,您可以使用nslookup OPTIONS DOMAIN_NAME SERVER. 这三个主要参数是:

  • OPTIONS 包含查询类型,如下表所示。例如,您可以使用AIPv4 地址和AAAAIPv6 地址。
  • DOMAIN_NAME 是您正在查找的域名。
  • SERVER 是您要查询的DNS服务器。您可以选择任何本地或公共 DNS 服务器进行查询。Cloudflare 提供1.1.1.11.0.0.1Google 提供8.8.8.88.8.4.4Quad9 提供9.9.9.9149.112.112.112。如果您想要 ISPDNS 服务器的替代方案,您可以选择更多的公共DNS服务器
查询类型 结果
A IPv4 地址
AAAA IPv6 地址
别名 规范名称
MX 邮件服务器
面向服务架构 授权开始
TXT TXT记录

THM-被动侦察和主动侦查的更多相关文章

  1. Nginx被动健康检查和主动健康检查

    1.被动健康检查 Nginx自带有健康检查模块:ngx_http_upstream_module,可以做到基本的健康检查,配置如下: upstream cluster{ server max_fail ...

  2. JVM类载入过程及主动引用与被动引用

    了解类载入全过程,有助于了解JVM执行过程,以及更深入了解java动态性(解热部署,动态载入),提高程序灵活性. 类载入全过程: JVM将class文件字节码文件载入到内存中.并对数据进行校验解析和初 ...

  3. wifi的主动扫描和被动扫描

    要实现wifi上的探针模块,简单了了解了802.11中的各种帧,对一些帧的发送频率和方式也有简单了解.不过了解的都不够细致.只是简单知道手机打开wifi后回不停的向外发送probe request这个 ...

  4. REDTEAM 指南---第四章 外部侦察

    第四章 外部侦察 贡献者:Haythem Arfaoui 翻译BugMan 主动侦察 介绍 主动足迹涉及使用可以帮助您收集更多信息的工具和技术 有关目标的信息.与被动足迹不同的是,过程永远不会“触及” ...

  5. 强大的开源网络侦查工具:IVRE

    IVRE简介 IVRE(又名DRUNK)是一款开源的网络侦查框架工具,IVRE使用Nmap.Zmap进行主动网络探测.使用Bro.P0f等进行网络流量被动分析,探测结果存入数据库中,方便数据的查询.分 ...

  6. Java 8 被动迭代式特性介绍(转自IBM)

    编程语言一般都需要提供一种机制用来遍历软件对象的集合,现代的编程语言支持更为复杂的数据结构,如列表.集合.映射和数组.遍历能力是通过公共方法提供,而内部细节都隐藏在类的私有部分,所以程序员不需要了解其 ...

  7. 设计模式- 主动对象(Active Object)

    译者注:1.对象分为主动对象和被动对象,主动对象内部包含一个线程,可以自动完成动作或改变状态,而一般的被动对象只能通过被其他对象调用才有所作为.在多线程程序中,经常把一个线程封装到主动对象里面.2.在 ...

  8. 网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析

    科来 做流量分析,同时也做了一些安全分析(偏APT)——参考其官网:http://www.colasoft.com.cn/cases-and-application/network-security- ...

  9. 所有的Java虚拟机必须实现在每个类或接口被Java程序 “ 首次主动使用 ” 时才初始化他们

    原文:https://www.cnblogs.com/fanjie/p/6916784.html Java程序对类的使用方式可分为两种– 主动使用– 被动使用 被动使用以后再讲,这里说说什么是主动使用 ...

  10. Security+学习笔记

    第二章 风险分析 风险管理 评估:确定并评估系统中存在的风险 分析:分析风险对系统产生的潜在影响 响应:规划如何响应风险的策略 缓解: 缓解风险对未来安全造成的不良影响 风险分析流程 资产确定 漏洞确 ...

随机推荐

  1. 【peewee】Python使用peewee时where中不同类型比较的问题

    问题 以学生表为例,TableStudents表中age字段是TextField类型,想要筛选出18岁以上的学生 TableStudents.select().where(TableStudents. ...

  2. swoft-个基于 Swoole 原生协程的PHP 微服务框架

    刚才百度了一下swoft框架,官网打不开了,仓库也暂停了.不由感慨.曾经和同事踩了许多坑使用此极其小众的框架完成微服务项目.使用它的唯一目的就是提高程序性能(底层使用了协程),为此大家都学习了很多新知 ...

  3. reactnative安装

    React Native 介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是React 在原生移动应用平台的衍生产物,使用JS.JSX.CS ...

  4. Java中集合基础相关知识

    1.集合基础 1.1 集合概述 编程的时候如果需要存储多个数据使用长度固定的数据存储,适应不了元素个数变化的需求,这时候我们就需要用集合. 集合类的特点:提供了一种存储空间可变的存储模型,存储的数据容 ...

  5. python 实现视频流下载保存MP4

    # -*- coding:utf-8 -*-import sysimport osfrom glob import globimport requests reload(sys)sys.setdefa ...

  6. axios实现无感刷新

    前言 最近在做需求的时候,涉及到登录token,产品提出一个问题:能不能让token过期时间长一点,我频繁的要去登录. 前端:后端,你能不能把token 过期时间设置的长一点. 后端:可以,但是那样做 ...

  7. new一个实例的原理及过程

    前提,要明白new出来的实例是什么,包含了哪些内容? 请看一下举例代码↓↓↓↓ function Person(name,age){ this.name = name; this.age = age; ...

  8. html页面间传递参数

    $.query.get("id") jquery.params.js代码 /** * jQuery.query - Query String Modification and Cr ...

  9. RabbitMQ问题汇总

    内网通过代理服务器访问MQ服务器,无法连接 使用的是socket连接,要设置socket代理,而不是http代理 Properties prop = System.getProperties(); / ...

  10. commons-lang3

    字符串的处理类(StringUtils) //判断是否为空(注:isBlank与isEmpty 区别) StringUtils.isBlank(null);StringUtils.isBlank(&q ...