THM-红队侦查( Red Team Recon)

“了解你的敌人,了解他的剑。” 宫本武藏在他的著作《五环之书:经典战略指南》中写道。他还写道,“你通过了解敌人的时机,并利用敌人没有预料到的时机来赢得战斗。” 虽然这是在剑和长矛赢得战斗时写的,但它也适用于通过键盘和精心制作的数据包发起攻击的网络空间。您对目标的基础设施和人员了解得越多,就越能更好地策划您的攻击

在红队行动中,您可能只会从公司名称开始,您需要从公司名称开始收集有关目标的信息。这就是侦察发挥作用的地方。侦察(侦察)可以定义为对目标(客户)的初步调查或观察,而不提醒他们注意您的活动。如果您的侦察活动产生太多噪音,对方就会收到警报,这可能会降低您成功的可能性

我们会说明一下的内容:

  • 侦察活动的类型
  • WHOIS 和基于 DNS 的侦察
  • 高级搜索
  • 按图片搜索
  • 谷歌黑客
  • 专门的搜索引擎

我们将涵盖的一些具体目标包括:

  • 发现与我们的目标公司相关的子域
  • 收集有关主机和 IP 地址的公开可用信息
  • 查找与目标相关的电子邮件地址
  • 发现登录凭据和泄露的密码
    *找到泄露的文件和电子表格

侦查分类

侦察(recon)可分为两部分:

  • 被动侦察:可以通过被动观察来进行
  • 主动侦察:需要与目标互动来激怒它,以观察它的反应

被动侦察不需要与目标互动。换句话说,您不会向目标或目标拥有的系统发送任何数据包或请求。相反,被动侦察依赖于由第三方收集和维护的公开可用信息。开源情报 (OSINT) 用于收集有关目标的信息,可以像查看目标的公开社交媒体资料一样简单。我们可能收集的示例信息包括域名、IP 地址块、电子邮件地址、员工姓名和职位发布

主动侦察需要通过发送请求和数据包并观察目标是否响应以及如何响应来与目标进行交互。收集到的回复——或者没有回复——将使我们能够扩展我们开始使用被动侦察开发的图景。主动侦察的一个例子是使用 Nmap 扫描目标子网和活动主机。我们想要发现的一些信息包括实时主机、正在运行的服务器、侦听服务和版本号

主动侦察可以分为:

  • 外部侦察:在目标网络之外进行,重点关注可从 Internet 评估的面向外部的资产。一个例子是从公司网络外部运行 Nikto
  • 内部侦察:从目标公司的网络内部进行。换句话说,渗透测试人员或红队队员可能实际位于公司大楼内。在这种情况下,他们可能会在目标网络上使用被利用的主机。一个例子是使用 Nessus 使用目标计算机之一扫描内部网络。

内置工具

这项任务的重点是:

  • whois
  • dig, nslookup,host
  • traceroute/tracert

在开始使用该whois 工具之前,让我们先了解一下 WHOISWHOIS 是遵循RFC 3912规范的请求和响应协议。WHOIS 服务器在TCP端口 43 上侦听传入请求。域名注册商负责维护其租用域名的 WHOIS 记录。whois将查询 WHOIS 服务器以提供所有保存的记录。在下面的示例中,我们可以看到whois为我们提供了:

  • 注册商 WHOIS 服务器
  • 注册商网址
  • 记录创建日期
  • 记录更新日期
  • 注册人联系信息和地址(除非出于隐私原因而隐瞒)
  • 管理员联系信息和地址(除非出于隐私原因而隐瞒)
  • 技术联系信息和地址(除非出于隐私原因而隐瞒)

正如我们在上面看到的,仅用一个域名就可以获得很多有价值的信息。查找之后whois,我们可能会幸运地找到姓名、电子邮件地址、邮政地址和电话号码,以及其他技术信息。在查询结束时whois,我们会找到相关域的权威名称服务器

可以使用我们系统上的许多不同工具执行 DNS 查询,尤其是类 Unix 系统。在 Unix 系统、WindowsmacOS 上的一种常见工具是nslookup. 在下面的查询中,我们可以看到如何nslookup使用默认 DNS 服务器来获取与我们域相关的 AAAAA 记录

pentester@TryHackMe$ nslookup cafe.thmredteam.com
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	cafe.thmredteam.com
Address: 104.21.93.169
Name:	cafe.thmredteam.com
Address: 172.67.212.249
Name:	cafe.thmredteam.com
Address: 2606:4700:3034::ac43:d4f9
Name:	cafe.thmredteam.com
Address: 2606:4700:3034::6815:5da9

类 Unix 系统上常见的另一个工具是dig Domain Information Groper (dig) 的缩写。dig提供了很多查询选项,甚至允许您指定要使用的不同 DNS 服务器。例如,我们可以使用 国内常用114.114.114.114DNS 服务器:dig @114.114.114.114 tryhackme.com

host是查询 DNS 服务器以获取 DNS 记录的另一种有用的替代方法。考虑以下示例

Unix 系统附带的最终工具是traceroute,或者在 MS Windows 系统上是tracert. 顾名思义,它跟踪数据包从我们的系统到目标主机所采用的路由。下面的控制台输出显示,它traceroute为我们提供了将我们连接到目标系统的路由器(跃点)。值得强调的是,有些路由器不响应发送的数据包traceroute,因此我们看不到它们的 IP 地址;*用于表示这种情况

总之,我们始终可以使用:

  • whois查询 whois查询 WHOIS 数据库
  • nslookup, dig, 或host查询 DNS 服务器数据库

WHOIS 数据库和 DNS 服务器保存公开信息,查询其中任何一个都不会产生任何可疑流量。

此外,我们可以依靠 TraceroutetracerouteLinuxmacOS 系统以及tracertMS Windows 系统上)来发现我们的系统和目标主机之间的跃点。

高级搜索

能够有效地使用搜索引擎是一项至关重要的技能。下表显示了一些适用于许多流行搜索引擎的流行搜索修饰符

符号/语法 功能
"search phrase" 使用精确的搜索短语查找结果
OSINT filetype:pdf PDF查找与特定术语相关的类型的文件。
salary site:blog.tryhackme.com 将搜索结果限制在特定站点。
pentest -site:example.com 从结果中排除特定网站
walkthrough intitle:TryHackMe 查找页面标题中包含特定术语的页面。
challenge inurl:tryhackme 在页面 URL 中查找具有特定字词的页面。

注意:除了,其他需要考虑的pdf文件类型还有:docdocxpptpptxxls,xlsx

每个搜索引擎的规则和语法集可能略有不同。要了解不同搜索引擎的特定语法,您需要访问它们各自的帮助页面。一些搜索引擎,例如谷歌,为高级搜索提供了一个网络界面: 谷歌高级搜索

搜索引擎日以继夜地抓取万维网以索引新的网页和文件。有时这会导致索引机密信息。机密信息的示例包括:

  • 供公司内部使用的文件
  • 包含用户名、电子邮件地址甚至密码的机密电子表格
  • 包含用户名的文件
  • 敏感目录
  • 服务版本号(其中一些可能易受攻击且未打补丁)
  • 错误讯息

将高级谷歌搜索与特定术语相结合,可以找到包含敏感信息或易受攻击的网络服务器的文档。谷歌黑客数据库(GHDB)等网站收集此类搜索词并公开提供。让我们看一下 GHDB 的一些查询,看看我们的客户是否通过搜索引擎公开了任何机密信息。GHDB 包含以下类别的查询:

您可能需要调整这些 Google 查询以满足您的需求,因为这些查询将从所有符合条件并已编入索引的网络服务器返回结果。为避免法律问题,最好不要访问法律协议范围之外的任何文件

现在我们将探索两个额外的来源,它们可以在不与我们的目标交互的情况下提供有价值的信息:

  • 社交媒体
  • 招聘广告

社交媒体
社交媒体网站已变得非常流行,不仅供个人使用,也供企业使用。一些社交媒体平台可以透露有关目标的大量信息。尤其如此,因为许多用户倾向于过度分享关于他们自己和他们工作的细节。仅举几例,值得检查以下内容:

  • LinkedIn
  • Twitter
  • Facebook
  • Instagram

社交媒体网站可以很容易地收集给定公司员工的姓名;此外,在某些情况下,您可能会了解特定的信息片段,这些信息可以揭示密码恢复问题的答案或获得包含在目标单词列表中的想法。技术人员的帖子可能会泄露有关公司系统和供应商的详细信息。例如,最近获得 Juniper 认证的网络工程师可能会提到 Juniper 网络基础设施正在其雇主的环境中使用

招聘广告
招聘广告还可以告诉您很多关于一家公司的信息。除了透露姓名和电子邮件地址外,技术职位的职位发布还可以深入了解目标公司的系统和基础设施。热门职位可能因国家/地区而异。请务必查看您的客户发布广告所在国家/地区的职位列表网站。此外,总是值得检查他们的网站是否有任何职位空缺,看看这是否会泄露任何有趣的信息

使用该网站Wayback Machine有助于检索客户站点上职位空缺页面的先前版本

专门的搜索引擎

WHOISDNS 相关
除了我们上述疏导哦的标准 WHOISDNS 查询工具之外,还有第三方为历史 WHOIS 数据提供付费服务。一个例子是 WHOIS 历史记录,它提供了 WHOIS 数据的历史记录,如果域注册人在注册域时没有使用 WHOIS 隐私,它可以派上用场。

有少数网站提供免费使用的高级 DNS 服务。其中一些网站提供丰富的功能,并且可能有一个完整的房间专门用于探索一个领域。现在,我们将重点关注与 DNS 相关的关键方面。我们将考虑以下事项:

ViewDNS.info

ViewDNS.info提供反向 IP 查找。最初,每个 Web 服务器将使用一个或多个 IP 地址;但是,今天,共享托管服务器很常见。使用共享主机,一个 IP 地址在具有不同域名的许多不同 Web 服务器之间共享。使用反向 IP 查找,从域名或 IP 地址开始,您可以使用特定的 IP 地址查找其他域名

在下图中,我们使用反向IP查找来查找共享tryhackme.com使用的相同IP地址的其他服务器。因此,需要注意的是,知道IP地址并不一定会导致一个网站

威胁情报平台
Threat Intelligence Platform要求您提供域名或 IP 地址,它会启动从恶意软件检查到 WHOISDNS 查询的一系列测试。whois WHOISDNS 结果与我们使用和得到的结果类似dig,但威胁情报平台以更具可读性和视觉吸引力的方式呈现它们。我们从报告中获得了额外的信息。例如,在我们查找之后tryhackme.com,我们看到名称服务器 (NS) 记录被解析为它们各自的 IPv4IPv6 地址,如下图所示

我们还可以获得同一 IP 地址上的其他域的列表。我们在下图中看到的结果与我们使用ViewDNS.info获得的结果类似

专门的搜索引擎:Censys

Censys Search可以提供大量关于 IP 地址和域的信息。在此示例中,我们查找c·afe.thmredteam.com解析为的 **IP** 地址之一。我们可以很容易地推断出我们查找的 **IP** 地址属于 Cloudflare。我们可以看到80、443等端口的相关信息;但是,很明显,这个 **IP** 地址用于服务器以外的网站cafe.thmredteam.com。换句话说,这个 **IP** 地址属于我们客户Organic Cafe`以外的公司。做出这种区分很重要,这样我们就不会探查合同范围之外的系统

Shodan

在本节中,我们将演示如何从命令行使用 Shodan

要从命令行正确使用 Shodan,您需要使用Shodan创建一个帐户,然后使用 shodan命令配置为使用您的 API 密钥 shodan init API_KEY

您可以根据Shodan 帐户的类型使用不同的过滤器。要了解更多关于您可以做什么的信息shodan,我们建议您查看Shodan CLI。让我们演示一个简单的示例,该示例查找有关我们从nslookup cafe.thmredteam.com获得的 IP 地址之一的信息。使用shodan host IP_ADDRESS,我们可以得到IP地址的地理位置和开放的端口,如下图

pentester@TryHackMe$ shodan host 172.67.212.249

172.67.212.249
City:                    San Francisco
Country:                 United States
Organisation:            Cloudflare, Inc.
Updated:                 2021-11-22T05:55:54.787113
Number of open ports:    5

Ports:
     80/tcp  
    443/tcp  
	|-- SSL Versions: -SSLv2, -SSLv3, -TLSv1, -TLSv1.1, TLSv1.2, TLSv1.3
   2086/tcp  
   2087/tcp  
   8080/tcp 

posted @ 2023-04-01 14:10  Junglezt  阅读(82)  评论(0编辑  收藏  举报