Recon-ng 5.x 版本的变化
Recon-ng 于2019年6月进行了重大更新,从4.9.6版本升级至5.0.0。本文旨在通过提供常见命令的速查表以及部分旧语法到新语法的映射,帮助用户适应新版本。
如果您和我一样,可能会认为4.x版本的知识能帮助您快速上手5.x版本,但这是错误的。相反,如果将Recon-ng 5.x视为一个全新的工具,您会更容易适应。请忘记4.x版本的知识。
访问GitHub上的Recon-ng wiki。阅读整个“入门”部分,并可能加入其末尾提到的Slack工作区。阅读整个“功能”部分。“故障排除”部分也非常有用且简短。“视频”部分中的“Recon-ng v5介绍”屏幕录像也值得花时间观看。开始时请慢慢来,并为自己做笔记。
Recon-ng 5.x的主要变化包括:
- 从BitBucket迁移到GitHub
- 更新至Python 3(现在最低要求是Python 3.6)
- 将模块移至单独管理的“市场”
- 修改部分命令的语法
手动向数据库添加种子数据现在通过“db insert [your_item_type]”完成,而不是“add [your_item_type]” 上下文必须明确声明:“modules search …”而不是“search …”,以及“options set …”而不是“set …” 所有内容都区分大小写且为小写,除了选项名称(全局和每个模块)必须为大写。
工具的实际使用变化不大,但初始任务足够不同,以至于我感到完全迷失。如果您有脚本或rc文件,这些也需要更新以使用新语法。
上述“主要变化”中的第一个很容易:项目现在在GitHub上,而不是BitBucket。如果您访问旧的BitBucket站点,会得到新的URL:https://github.com/lanmaster53/recon-ng
更新至Python 3的调整更少,因为它对您使用工具的方式没有影响。除非您正在开发Recon-ng模块,否则可以忽略此架构变化。
将所有模块移至“市场”允许模块与Recon-ng框架本身分开创建和维护。这带来了两个巨大且直接的好处。首先,它清晰划分了框架的责任和任何给定模块的处理范围。其次,它允许模块独立于框架更新,这意味着模块更新不再像以前那样具有破坏性。您可以从Recon-ng wiki了解更多关于市场如何工作的信息。
作为Recon-ng用户,您需要知道的关于市场的唯一事情是它存在,并且您必须从中“安装”模块才能使用它们。如果您在初始设置时这样做,您可以(几乎)忘记这种分离。
然而,本文的主要重点是适应新的命令语法。以下部分提供了新安装的建议顺序,以及在使用Recon-ng进行实际工作时参考的速查表。
设置
克隆存储库,安装框架依赖项,安装市场模块的三个额外依赖项,启动框架,安装市场模块,然后添加您自己的API密钥。完成这些步骤后,您将拥有一个功能正常的Recon-ng安装,准备使用。
|
|
首次启动
设置完成后,启动Recon-ng到一个名为“example”的新工作区,安装模块,然后添加您的API密钥。安装所有市场模块比选择单个模块并逐个安装更简单,但您可以选择任一方式。
以下屏幕截图显示了首次启动Recon-ng到新工作区(完成上述安装任务后)并完成所有框架设置任务,使其准备就绪。
|
|
请注意,预期密钥名称列表只有在安装模块后才会填充。如果您在安装任何内容之前运行“keys list”,将没有输出。您仍然可以添加密钥,只是在添加时必须知道每个密钥的正确名称。
还要注意,如果您在添加密钥时拼错了名称,框架会接受您输入的内容。这是框架更好地处理新API密钥的一种方式,但副作用是如果您在添加密钥时打错字,不会收到错误,但使用新密钥的模块在运行时将失败。届时您会收到清晰的错误消息,因此很容易恢复,但值得知道这里没有对密钥名称进行验证。
基本用法
接下来,我们将查看全局选项,添加一些种子数据,并开始我们的侦察项目。
首先,查看全局选项以了解它们是什么。然后我们将将默认超时更改为15秒,只是为了了解如何设置这些。
|
|
所有选项的名称(全局和每个模块)都是大写的。如果您尝试用小写设置它们,将会失败。但是!选项卡补全有效且不区分大小写。如果您键入options set time<tab>,框架会自动补全为options set TIMEOUT。
添加种子数据
|
|
让Recon-ng告诉您替代语法,然后使用它:
|
|
加载并运行模块
运行模块
设置模块选项
在模块上下文中,“info”命令告诉您模块从哪里获取其种子(或“源”)数据,并告诉您如何修改它。大多数模块默认从模块全名中第一个单词的表中读取。例如,模块“domains-hosts/hackertarget”将从“domains”表中已有的内容开始。
模块“info”
Recon-ng 5.x 速查表
阅读Recon-ng wiki并熟悉其组织方式后,此速查表可能对语法和工作流程的有用提醒。
https://www.blackhillsinfosec.com/wp-content/uploads/2019/11/recon-ng-5.x-cheat-sheet-Sheet1-1.pdf
下一步
既然您已经了解了如何安装Recon-ng 5.x,如何查看可用模块,如何自定义它们的行为,以及如何运行它们,您应该准备好开始一个侦察项目。开始时请将速查表放在手边,以免在语法问题上卡住。更好的是——在过程中为自己制作一个只包含所需内容的速查表。
一旦您有了适合需求的工作流程(创建工作区、添加种子数据、以某种顺序运行模块),下一步逻辑上是使用资源文件为您自动化所有操作。
资源文件是一个包含Recon-ng命令的文本文件,每行一个命令。框架将像您手动键入它们一样运行它们。“script record”命令允许您将操作记录到其中一个资源文件中,然后“script execute”(或启动框架时命令行上的“-r”参数)将为您运行它。您也可以通过直接键入来手动制作文件。
如果您需要在使用Recon-ng时精确记录您的操作,“spool”命令可以做到这一点。
如果您需要在工作时定期对工作区进行快照,请查看“snapshots”命令。
经过几次练习运行后,这一切都会变得自然而然。一旦您花时间制作适合您流程的资源文件,Recon-ng将成为一个美妙的助手,在您处理其他事情时为您收集开源信息。