Recon-ng
https://bitbucket.org/LaNMaSteR53/recon-ng/overview
Recon-ng 绝对可以称得上是信息收集的利器
这款工具使用Python编写,是一个开源免费的功能十分全面的Web侦查框架。说到框架,大家肯定会想到很多框架,比如msf ,如果你熟悉msf的命令格式,那么Recon-ng 的使用你也一定会很顺手。这款工具也具备完整的独立模块,可以快速彻底地进行基于Web的侦察
Recon-ng 官网是这样说的:
我们不打算与现有的框架进行竞争,我们只做信息收集这一部分,如果你想exploit,那么你就使用metasploit framework,如果你想社会工程学,那么你就用SET,如果你想要进行信息收集,那么请使用Recon-ng
Recon-ng 官方使用手册
https://bitbucket.org/LaNMaSteR53/recon-ng/wiki/Usage%20Guide
Kali中默认已经安装了这个工具,所以就不需要再次安装了
与很多应用程序一样,recon-ng使用之前需要建立一个工作区
recon-ng –w Hasee_workspace
创建工作区之后我们会遇到一堆红色字,告诉我们各种api没有设置,我们忽略它,一会设置
如果我们不是第一次进入,
那么有两种方式
1.直接加载一个配置好的记录文件 recon-ng –r record.txt 这种方式与msf中加载与定义配置是一样的。
2.可以直接recon-ng ,进入后输入workspaces
可以看到workspaces有四个子命令,可以使用list 查看当前都有哪些工作区(其实从图中位置可以看出来,我们直接进去有一个默认的工作区叫做default,)
我们就使用 Hasee_workspace吧
workspaces select Hasee_workspace
切换过来之后我们就查看一下帮助信息吧
help
keys命令
之前会提示各种API报错,现在我们就来解决这个问题,keys就是管理这些api的一个命令,跟之前一样我们来看一下有哪些子命令
这回大家应该就熟悉了吧,我们list一下吧
有很多很多的api需要我们去填写,同时也表明了recon-ng 可以从这些地方获取数据,api的使用其实跟我们之前讲shodan的时候差不多,我就填写一下我的shodanapi吧
有些遗憾的是不支持国内的搜索引擎,比如百度
bing的api我好像还没有申请过,我去试一试
…….
…….
最终只找到了google的搜索引擎api,其他的初来乍到实在不知道如何进行获取
以后如果获取到了我就去试一试吧
query
query允许我们使用sql语句对数据库进行查询
不过现在我们还没有查询什么,应该什么呀查询不到,而且还不知道数据库结构
record
这个选项可以把当前的设置保存为一个记录
使用字命令start 开始记录
reload
重新加载,没啥说的
resource
在框架中加载记录文件
search
搜索recon-ng 中的模块名,与 msf中是一样的
比如我们搜索shodan
set
设置模块中的属性值,这个在各个框架里都差不多
shell
执行一个shell命令
在现在的版本似乎不在需要这个命令,因为在框架中直接执行命令也是可以实现的
show
这个命令也是框架中常用命令
snapshots
创建快照
spool
输出到一个文件
add
向数据库中添加记录
back
退回上一个命令
我们实操性的看一下吧
实操之前,我们先对recon-ng 进行一下基本的配置
show options
包括 dns服务器、代理、线程数、超时时间、User-Agent、详细程度
之后我们查看一下有哪些模块
包括侦察、发现、导入、攻击、报告五大功能模块
侦查模块
主要分为以下这些方面,这个命名方式和maltego很像,是由 aaa 得出bbb
companies-contacts 公司得到联系人
companies-multi 公司到综合信息
contacts-contacts 联系人到联系人
contacts-credentials 联系人到凭证信息
contacts-domains 联系人到域名
contacts-profiles 联系人到注册配置文件
credentials-credentials 凭证到凭证
domains-contacts 域名到联系人
domains-credentials 域名到凭证
domains-domains 域名到域名
domains-hosts 域名到主机
domains-vulnerabilities域名到漏洞信息
hosts-domains 主机到域名
hosts-hosts 主机到主机
hosts-locations 主机到地理位置
hosts-ports 主机到端口
locations-locations 地理位置到地理位置
locations-pushpins 地理位置到pushpins
netblocks-companies 网段到公司
netblocks-hosts 网段到主机
netblocks-ports 网段到端口
ports-hosts 端口到主机
profiles-contacts 注册配置文件到联系人
profiles-profiles 注册配置文件到注册配置文件
profiles-repositories 注册配置文件到资料库
repositories-profiles 资料库到注册配置文件
repositories-vulnerabilities 资料库到漏洞信息
由于我们提供的API有限,所以只能使用部分模块
公司 – 联系人 这项是不行了,我们没有那几个api
公司 – 综合信息
并没有什么结果
邮箱测试
可以看到解析出了邮箱的一些信息,似乎hasee使用的邮箱服务器是·腾讯提供的
由于模块是在是太多了,所以我们就来挑几个吧
我们选择一个shodan的试一试吧
这个模块是根据域名来进行查询的。可以看到搜索到mail.hasee.com 这个记录
由于我们不确定www.hasee.com的IP地址,所以就不进行其他的shodan查询了
我们来到google这里
google 的模块只有两个,我们选择其中一个来进行查询
查询结束后我来查看一下结果
show hosts
现在我们尝试将域名解析为IP地址
还有反向解析的模块,我就不演示了,此时因为已经产生了一些记录,所以我们可以进行query查询了
由于我们只有google和shodan的APIkey ,所以我们能够使用的功能还是有限的,所以在这里介绍的其实还是低估了recon-ng的能力
在FB上看到有人推荐 recon/profiles-profiles/profiler这个模块,这个模块是检测提交的用户名在各个大网站的注册情况(遗憾的是几乎所有的网站都是国外的,国内要是有就好了)
附上结果
这个模块也是十分的给力
recon/contacts-credentials/hibp_breach
这个模块可以检测我们提供的email地址是否被攻破过(曾经的泄漏是否包含)
从图中可以看出service@hasee.com这个邮箱地址曾经在信息泄漏事件中被波及,让我十分惊讶的是这个邮箱是在 2011年天涯网站泄漏、2016年Youku泄漏、2017年Onliner Spambot 信息泄漏是否都被泄漏过,说明recon-ng也是关注我们国内的一些信息泄漏事件的。同时也表漏出hasee官方人员在工作和生活中可能没有一个很好的分隔
recon/domains-contacts/metacrawler 这个模块的功能是搜索与域名相关的元数据
遗憾的是它有一定的问题,会报 IndexError: list index out of range 这种错误
官方对于此问题给了回复,不过并没有解决,说是谷歌那边的问题。所以这个功能还是使用theharvester’吧,后来我发现似乎所有与google相关的都会有这个问题(遗憾的是谷歌黑客也使用不了了)
recon/domains-domains/brute_suffix
这个模块是枚举顶级域名的
recon/domains-hosts/brute_hosts
主机名暴力破解
至此侦查模块就结束了
发现模块
这个模块的内容就涉及主动信息收集了,虽然我们要讲的是被动信息收集,不过以后可能就不会再回来讲这个工具了,所以我们就在这里顺带讲了吧
discovery/info_disclosure/interesting_files
导入模块
这个模块就是将其他格式的文件数据导入进来,目前没有这个需求,所以就不需要倒入了
攻击模块
攻击模块分别是命令注入和XPath注入,由于目前还没有发现,就不演示了
报告模块
可以看到支持多种格式的导出,方便就一步的进行数据处理。
下面我们就来尝试一下生成报告
之后我们查看一下生成的结果是什么样的
每个节点还可以点开