高级开源情报搜集工具之Recon-ng

admin 2024年1月22日10:29:45评论12 views字数 7412阅读24分42秒阅读模式
项目地址:https://github.com/lanmaster53/recon-ng

Recon-ng是一款由Python编写的全功能网络侦查框架,具备独立模块、数据库交互、内置便捷函数、交互式帮助以及命令自动完成等功能。在该框架的强大环境下,用户能够迅速且深入地开展开放源情报(OSINT)研究。

该工具具备自动化功能,有助于降低OSINT研究人员在日常工作中需执行的重复性任务。首先,需将Recon-ng安装至OSINT基础虚拟机中。在终端处输入以下指令。

└─$cd ~/Downloads/Programs└─$proxychains4 git clone https://github.com/lanmaster53/recon-ng.git└─$cd recon-ng└─$python3 -m venv recon-ngEnvironment└─$source recon-ngEnvironment/bin/activate└─$sudo proxychains4 pip install -r REQUIREMENTS└─$deactivate

这应该安装Recon-ng,并在该目录中键入└─$proxychains4 ./recon-ng来启动应用程序。该屏幕将显示当前版本,我基于版本5.1.1编写此文。您还可以在Dock中启动“Recon-NG”图标,这样每次想使用该应用程序时就不需要导航到-/Downloads/Programs/recon-ng。以下命令将用于更新Recon-ng的版本,该命令已经包含在先前提到的“updates.sh”脚本中。 

高级开源情报搜集工具之Recon-ng

└─$cd ~/Downloads/Programs/recon-ng└─$proxychains4 git pull https://github.com/lanmaster53/recon-ng.git

高级开源情报搜集工具之Recon-ng

Recon-ng的在线教程资源相对较少,我所找到的多数指南主要集中在命令索引,对于具体解释的内容则相对较少。在此,我并未计划对程序功能进行总结,而是更倾向于在实际操作过程中逐步为您讲解。我们从基础知识入手,并通过多次实际搜索来加深理解。为避免截图展示,我将以9号终端字体展示所有的文本输入与输出。

在开始执行Recon-ng之后,您可能会收到关于未安装模块的通知。这是正常现象,我们会在需要时逐一添加。在提示符处,我们首先从help命令开始。输入help后,以下命令及其解释将呈现在您眼前。

back

Exits the current context(退出当前上下文环境)

dashboard

Displays a summary of activity(显示活动摘要)

db

Interfaces with the workspace's database(是与工作空间的数据库进行交互。这意味着 recon-ng 提供了一种机制,可以与数据库进行连接并执行各种数据库操作。)  

exit

Exits the framework(退出Recon-ng框架)

help

Displays this menu(显示帮助菜单)

index

Creates a module index (dev only)-创建一个模块索引,通常仅用于开发目的。这是一个操作或功能,用于生成一个包含可用模块的索引或清单。在 recon-ng 中,模块是执行不同任务的插件或组件。这些模块可以提供各种功能,如目标侦察、漏洞扫描、信息收集等。模块索引是一种记录可用模块的列表或清单,包括模块的名称、描述、作者、版本等信息

keys

Manages third party resource credentials(管理第三方API)

marketplace

Interfaces with the module marketplace(与模块市场接口:这指的是 recon-ng 框架与模块市场进行交互的能力。模块市场提供了额外的模块和功能,可以扩展 recon-ng 的功能集。)

modules

Interfaces with installed modules(与已安装的模块进行交互:这意味着 recon-ng 框架可以与已安装的模块进行交互,执行它们提供的功能和任务。)

options

Manages the current context options(管理当前上下文选项:这表示 recon-ng 框架提供了一种管理当前上下文选项的功能。上下文选项是用于配置和调整当前任务或模块行为的设置。)

pdb

Starts a Python Debugger session (dev only)-(启动 Python 调试器会话(仅限开发者):这是一个功能,用于在开发过程中启动 Python 调试器会话,以帮助开发者调试和排查问题。)

script

Records and executes command scripts(记录并执行命令脚本:这指的是 recon-ng 框架可以记录和执行命令脚本。通过编写和执行脚本,可以自动化执行一系列的命令和操作。)

shell

Executes shell commands(执行 shell 命令:这表示 recon-ng 框架具有执行 shell 命令的功能。这使得用户可以在框架内部执行系统级别的命令。)

show

Shows various framework items(显示各种框架项目:这意味着 recon-ng 框架提供了一些功能,用于显示和展示不同的框架项目,如模块、任务、结果等。)

snapshots

Manages workspace snapshots(管理工作空间快照:这指的是 recon-ng 框架提供了一种管理工作空间快照的功能。工作空间快照是当前工作空间状态的快照,可以保存、加载和恢复。)

spool

Spools output to a file(将输出保存到文件:这表示 recon-ng 框架可以将输出结果保存到文件中,以便后续分析和使用。)

workspaces

Manages workspaces管理工作空间:这意味着 recon-ng 框架提供了工作空间管理功能,允许用户创建、切换、删除和管理不同的工作空间。工作空间是存储和组织数据的环境。)

键入marketplace search将显示当前可用的功能。将marketplace视为Recon-ng中的实用工具列表,每个选项都是一个“资源”。就像Bing是一个我们可以通过Web浏览器使用的网站资源一样,“bing__domain_web”是我们可以在Recon-ng中使用的特定资源。您可以随时在Recon-ng中键入marketplace info以获取有关特定项目的详细信息。例如,键入marketplace info virustotal将显示以下描述。    

高级开源情报搜集工具之Recon-ng

这提供了详细的描述,以及实用程序是否需要API密钥或其他依赖项。它还确认我们尚未安装该模块。我们将在本章稍后执行此选项。目前,我们必须设置我们的第一个调查。在我们可以在该程序中进行任何研究之前,我们必须创建一个工作区。工作区是一个容器,将您的工作与其他调查分开。将工作区视为案卷文件。您可能在桌子上有一堆案卷,每个案卷都有自己的文件夹。在与案卷相关联的文件夹中进行的所有工作都保留在其中。工作区类似。您应该为每个调查创建一个新的工作区。它们可以稍后删除或保留以进行额外的工作。您可以随时键入"workspaces list"来查看当前使用的工作区。目前,我们将通过执行"workspaces create OSINT"命令来创建一个名为"OSINT"的新工作区。

高级开源情报搜集工具之Recon-ng

创建后,您将自动开始使用新的工作空间。如果您创建了多个工作空间,例如一个名为OSINT2的工作空间,您可以通过输入workspaces load OSINT2来切换到该工作空间。您可能为每个目标嫌疑人创建一个工作空间,或者为整个案件创建一个单一的工作空间。每种情况都是独特的。

现在,我们已经创建了一个空间,我们可以开始了。让我们从使用Profiler模块进行一个非常简单但强大的查询开始。首先,我们必须在Recon-ng中使用以下命令安装该模块。该模块在我测试的时候发现已经无法使用。

└─$marketplace install profiler

该模块现已安装,但尚未加载。以下是加载该模块的操作。

└─$modules load profiler

现在模块已加载,我们可以添加任何所需的输入。由于该模块查询用户名,因此我们将使用以下命令将目标“inteltechniques”添加进去。请注意,SOURCE是大写的,这是必需的。

└─$options set SOURCE inteltechniques

我们应该使用以下命令来测试我们的输入。    

└─$input

现在应该给出以下回应。

高级开源情报搜集工具之Recon-ng

最后,我们可以使用以下命令启动该模块。

└─$run

该脚本应该查询inteltechniques的用户名,并与众多在线服务进行比对。当完成时,它不会呈现任何结果,但却能够找到并存储有价值的数据。要查看结果,请输入以下内容。

└─$show profiles

结果看起来类似于以下内容。

高级开源情报搜集工具之Recon-ng

仅仅几秒钟之内,我们查询了几十个在线服务,并立刻只收到了包含目标用户名存在的三个服务。这展示了使用Recon-ng可以节省大量时间的能力。如果你被要求找到十个嫌疑人的在线资料,这可以在几分钟内完成。让我们重复这个过程,但使用另一个用户名,使用以下命令。

└─$options set SOURCE humanhacker└─$run└─$show profiles

以下结果显示了在第二次查询期间收集到的额外在线资料。当您接收到目标数据时,Recon-ng将继续存储它。这是该应用程序的一个更强大的功能之一。

高级开源情报搜集工具之Recon-ng

让我们在另一个模块中进行另一个例子。首先,我们必须通过输入“back”来离开当前模块,返回工作区。接下来,使用以下命令安装四个额外的模块。

└─$marketplace install bing_domain_web└─$marketplace install google_site_web└─$marketplace install brute_suffix└─$marketplace install pgp_search

我们将按顺序使用这些,并针对网站cnn.com进行操作。首先,我们将使用命令“modules load bing_domain_web”加载bing_domain_web选项。接下来,我们将使用命令“options set SOURCE cnn.com”设置我们的源,并使用“run”命令执行脚本。该模块在我测试的时候发现针对“cnn.com”没有发现有价值的返回数据。

└─$modules load bing_domain_web└─$options set SOURCE cnn.com└─$run

此命令将查询Bing搜索引擎以获取与域名cnn.com相关联的主机。结果确定了超过70个独特的主机,包括以下内容。

[*] [host] internationaldesk.blogs.cnn.com ()[*] [host] crossfire.blogs.cnn.com ()[*] [host] reliablesources.blogs.cnn.com ()    [*] [host] lightyears.blogs.cnn.com ()[*] [host] commercial.cnn.com ()[*] [host] collection.cnn.com ()

我们可以在谷歌上复制这种类型的搜索,以确保我们没有错过任何有价值的主机,方法是先输入back,然后modules load google_site_web,然后options set SOURCE cnn.com,最后run。这通知我们发现了38个主机(其中15个是新的),这表明Bing发现了比谷歌更多的主机,而谷歌发现了15个主机,这些主机不在我们从Bing收集的主机列表中。

└─$back└─$modules load google_site_web└─$options set SOURCE cnn.com└─$run

由于Recon-ng可以解析重复项,我们应该有一个由谷歌和Bing共同努力得出的唯一主机列表。输入show hosts将显示所有主机。以下是一个小部分。

└─$show hosts

高级开源情报搜集工具之Recon-ng

接下来,让我们输入back命令离开当前模块,然后输入modules load brute_suffix命令加载我们的下一个演示模块。

└─$back    └─$modules load brute_suffix

由于我们没有为该模块设置源域名,我们将使用选项设置源域名为socialengineer.org。除了.com和.org之外,还有许多顶级域名(TLDs)。执行run命令将搜索各种TLD,如.net、.tv等。完成后,输入show domains命令将显示我们更新的目标地址集合,准备进行进一步搜索。在本例中,我被通知找到了其他域名,包括以下内容。

└─$options set SOURCE socialengineer.org└─$run└─$show domains

高级开源情报搜集工具之Recon-ng

关于新线索的分析,我们将在稍后进行。现阶段,我们可以复用之前执行的bing_domain_web和google_site_web模块,以显著扩充我们的主机列表。此刻,适宜暂停并进行一番反思,审视已发生的情况。每当我们获取到数据,Recon-ng便会将其存储在专用的工作空间中。在进行新一轮搜索或重复旧有搜索时,所有新增数据都会被追加。因此,我们无需记录每一项发现,因为Recon-ng已为我们详细记录。这使得我们能够汇集一些先前无法手动管理的数据量。接下来,我们将继续探讨个人联系。

输入show contacts将显示当前工作空间中存储的任何联系人。您可能没有任何联系人,所以让我们添加一些。首先,输入back确保您已退出之前的模块。接下来,使用modules load pgp_search加载另一个模块。这将扫描我们已定位的所有存储域,并搜索这些域中与公共PGP密钥关联的任何电子邮件地址。我们尚未为此模块设置源,但您可能已经准备好了一些。在之前的示例中,您在其他顶级域中搜索了socialengineer.org,并获得了许多结果。如果在此模块中输入input,您应该看到列出的相同域。这是因为Recon-ng不断存储找到的数据,并使其可供将来使用。如果我们输入run,将搜索此列表,但不会找到结果。请注意,此列表不包含我们的目标域social-engineer.org,只包含以前找到的其他名称。因此,您可能希望删除这些源,然后使用以下命令添加一个新的新源。

└─$back└─$modules load pgp_search└─$options unset SOURCE└─$options set SOURCE cnn.com└─$run

键入“run”并按下回车键执行进程,然后提交“show contacts”以显示结果。以下是部分输出,其中标识出了新的电子邮件地址。这些地址现在都存储在您的工作空间中,准备进行下一轮的研究。

└─$show contacts

高级开源情报搜集工具之Recon-ng

让我们思考一下这如何有利。假设你正在调查众多网站。Recon-ng提供了数十个实用程序,自动化查询并提供即时信息。将其扩大到数十个或数百个域、配置文件或其他目标数据,你就有了一个简单的方法来复制几个小时的工作。在另一种情况下,你正在调查与案件相关的潜在电子邮件地址列表。将它们输入Recon-ng中,可以在所有帐户中执行搜索。检查一个地址的工作量与检查数千个地址的工作量相同。这种令人印象深刻的能力只是这个应用程序可以完成的一小部分。现在似乎是退出,创建报告并开始新一组操作的好时机。以下命令将退出当前模块;安装报告功能;指示Recon-ng我们要使用报告工具;强制使用图形html(Web)模板;将“客户”设置为IntelTechniques;将“创建者”设置为M.Bazzell;并执行该过程。    

└─$back└─$marketplace install html└─$modules load html└─$options set CUSTOMER IntelTechniques└─$options set CREATOR M.Bazzell└─$run

请注意最后一条命令后的输出。它标识报告已完成,并提供了存储位置。由于我是从我的OSINT虚拟机上运行Recon-ng的,默认位置是~/.reconng/workspaces/OSINT/results.html。因此,我可以打开我的桌面上的主文件夹,双击“.recon-ng”文件夹,再双击“workspaces”文件夹,再双击“OSINT”文件夹,然后打开“results”文件。请注意,您必须在文件应用程序的首选项菜单中启用“显示隐藏文件”选项。请注意,域名、主机和联系人部分未展开,但包含大量信息。在文件底部,“Created by”、日期和时间清楚地标识了这些报告的详细信息。    

高级开源情报搜集工具之Recon-ng

希望这个演示解释了Recon-ng的用法。在窗口中执行“exit”会关闭所有内容,但不会删除任何内容。在我们的下一个示例之前,让我们删除之前的工作并重新开始。请注意,删除工作区会删除所有相关数据和报告。如果需要,请确保已导出您的证据。

首先,重新启动Recon-ng。以下命令显示当前的工作区;删除OSINT工作区;并创建一个名为“location”的新工作区。

└─$workspaces list└─$workspaces remove OSINT└─$workspaces create location

本章仅对Recon-ng的部分功能进行了简要阐述。建议您重新审视开篇所列的模块,并尝试执行各模块。总体来说,该应用程序较为稳定,即便出现错误,也多为无害性质。在请求API密钥方面,向相关服务提出申请即可获得最佳效果。Recon-ng各模块的“信息”屏幕上均显示了“所需密钥”字段中的相关要求。值得注意的是,许多API密钥均可免费获取,为探索更多可能性提供便利。总之,Recon-ng的应用范围广泛,足以撰写一本专著。本节旨在让您熟悉该程序,并领略自动查询功能的强大(后台回复[教程]获取高级情报工具详细使用教程文档)。    

原文始发于微信公众号(OSINT情报分析师):高级开源情报搜集工具之Recon-ng

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月22日10:29:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   高级开源情报搜集工具之Recon-nghttps://cn-sec.com/archives/2416658.html

发表评论

匿名网友 填写信息