一、工具介绍
* Recon-NG是一款功能极为强大的信息收集和网络侦查工具
* Recon-NG既提供了被动扫描的功能、也提供了主动扫描的功能
二、Recon-NG的打开
方式一:通过图形界面打开
方式二:通过命令行打开
* recon-ng
* 打开之后,启动界面如下
三、Recon-NG的常用命令
* add:向数据库添加一条记录
* back:退出当前模块,返回上一级
* delete:从数据库删除一条记录
* exit:退出recon-ng框架
* help:显示帮助信息
* keys:管理API //recon-ng支持许多网站的API接口,每个网站需要输入对应的key才能使用这个API。这个key是网站发给我们的
* load:载入指定模块
* pdb:打开Python调试
* query:查询数据库
* record:将命令保存为资源文件
* reload:重新载入所有模块
* resource:执行一个资源文件
* search:搜索可用的模块
* set:设置参数的值
* shell:执行操作系统的命令
* show:显示各种框架的条目
* snapshots:创建一个快照 //管理工作区快照
* spool:将结果输出到一个文件
* unset:重置参数值
* use:载入指定模块
* workspaces:管理工作区
四、查看Recon-NG的所有模块(show modules命令)
模块的作用
* Recon-NG有很多的模块,Recon-NG就是通过这些模块来进行工作的
* 如果想要使用某个模块,就在命令行输入use+模块名即可
模块的分类
模块的数量很多,系统根据功能将其分为5大众类
* ①Discovery
* ②Exploitation
* ③Import
* ④Recon:用来对目标进行侦查的
* ⑤Reporting:用来将本次在Recon-NG中操作的结果生成一份报告(提供了很多种的报告文件格式)
模块的格式
* 模块的命名采用“分层式”命名
例如:以recon/domains-hosts/bing_domain_web模块为例,该模块被分为3个部分
* recon:这是模块的类型
* domains-hosts:给出模块的工作目标,这个模块的目标就是domains-hosts,从名字可以看出工作目标就是域名
* bing_domain_web:给出使用的技术,例如这个模块bing_domain_web就是借助微软的bing对一个域名的子域名进行检查
五、模块的使用
进入一个模块
* 输入use+模块名
查看一个模块可以使用的参数
* show options
六、Recon-NG中的API Keys操作
* API Keys概念:
Recon-NG并非一个独立的工具,它的很多功能来自于互联网的一些工具,例如:Google、Bing等工具,在使用这些工具的时候需要添加该工具提供的API
Keys
keys命令参数:
* list:列出当前的已经添加在Recon-NG中的所有API Kyes
* add:添加API Kyes
* delete:删除API Kyes
查看当前Recon-NG中已经存在的API Kyes:
七、演示案例:域名解析模块
* 使用到的模块:recon/domains-hosts/brute_hosts
* 功能:该模块可以列出一个域名的所有子域名
* 原理:暴力穷解。就是利用字典文件生成各种域名,然后对这些域名发出请求,如果得到回应的话,则确认该域名的存在
模块参数:
* SOURCE:后面接域名,用于设置扫描目标
* WORDLIST:用来穷举的字典文件,这个文件已经有默认值
使用案例:
* 第一步:设置此次扫描的域名
* 第二步:执行run命令,对刚才设置的目标域名进行扫描,如果显示No record found,代表是无效的域名
* 第三步:扫描之后,查看结果(总共扫描到891个结果,其中787个是有效的)
* 第四步:使用show hosts查看找到的主机
八、演示案例:报告生成模块
* 功能:Reporting分类有一些模块,这些模块记录了在Recon-NG中记录的信息
* 提供了不同文件格式的模块,可以选择自己想要生成的文件格式来生成报告
演示案例
* 第一步:退出当前模块,使用reporting/xml模块来生成.xml格式的报告文件
* 第二步:执行run命令,将本次的实验结果生成一份报告(可以看到刚才扫描到的787条有效结果都被记录下来了)
* 第三步:退出使用Recon-NG,使用cat命令查看报告文件内容
九、演示案例:检测信息泄露模块
* 使用到的模块:recon/contacts-credentials/hibp_paste
* 功能:该模块可以可以快速的帮助你检测某一项信息是否已经泄露
* 原理:
该模块利用了“haveibeenpwned”提供的服务,该网址聚合了多起安全泄露事故中泄露的账号信息。例如:你可以在这个网址输入某个邮箱地址,然后该网址会确定你输入的这个邮箱地址是否在泄漏账号信息的数据库中
模块参数:
演示案例:
* 第一步:使用recon/contacts-credentials/hibp_paste模块
* 第二步:设置本次要查询的信息(此处输入一个邮箱)
* 第三步:执行run命令,查看某个邮箱是否在泄露账号信息的数据库中(此处显示Not Found,代表该邮箱的信息没有泄露)