Recon-NG使用

介绍

在渗透测试中,第一步莫非搜集信息,而搜集信息其被动搜索方法是很不错的。为什么?对于搜集信息被主机检测到的可能性来说,被动搜索是最低的,其次是主机检测、端口扫描等,然后就是主机服务、应用、补丁等。对于被动搜集,Recon-NG 是一个很不错的工具。
何为 Recon-NG,主要用来对于目标的信息搜集,可以搜集哪些东西?ip 地址,子域名,子域名 ip,位置,邮件地址,用户,密码等。

常用参数

输入recon-ng就进入工具

[recon-ng][default] > help

Commands (type [help|?] ):
---------------------------------
add             将记录添加到数据库中
back            退出当前回话
delete          从数据库中删除记录
exit            退出框架
help            显示帮助
keys            管理框架API键
load            加载指定模块
pdb             打开 Python 的 Debug 回话
query           查询数据库
record          Records commands to a resource file
reload          重新加载所有模块
resource        Executes commands from a resource file
search          搜索可用的模块
set             设置模块的选择
shell           执行shell命令
show            显示各种框架项目
snapshots       管理工作区快照
spool           Spools output to a file
unset           附件模块选择
use             加载指定的模块
workspaces      管理工作区

命令技巧:workspaces 然后双击tab会显示这个命令下可使用的参数。其他命令也行。

创建工作区

Recon-ng -w 公司名  或者  workspaces add 公司名字

添加keys

有的模块需要使用网站的keys

keys  list    这个命令可以查看需要key的网站
keys   add   twitter_api   keys码

上面添加keys

搜索模块

加入要搜索和bing相关的模块

srarch  bing

数据保存

每次run后数据都保存再一个表格中

show hosts   可以查看查询结果

设置模块参数

show  option  可以查看当前使用模块可以设置的参数

set命令可以设置参数

set  SORCE query  select from hosts from select where host like ‘%sina.com.cn%’

上面是把模块的SORCE设置为select from hosts from select where host like ‘%sina.com.cn%’

一个完整的流程

1.刚启动时我们会发现命令行前的符号为 default,也就是默认空间的意思,准备一个新的目标时建议新建一个工作空间,命令如下:

workspaces add 公司名字

2.可以使用搜索引擎来搜索相关信息,以前搜索引擎有三个,分别是 google、baidu、bing。
baidu 模块下架了,那怎么办,使用 bing 即可,其命令如下:

use recon/domains-hosts/bing_domain_web
set SOURCE  XXXX
run

3.搜索后可进行暴力破解子域名,其模块是 recon/domains-hosts/brute_hosts, 其命令如下:

use recon/domains-hosts/brute_hosts
set SOURCE  XXXX
run

4.随后可使用 netcraft 查询域名,什么是 netcraft?它用来查询网站信息,例如服务器、web 服务器、机房等。怎么了解它呢,你可以直接访问官网 https://netcraft.com,然后输入域名即可查询。这里的命令如下:

use recon/domains-hosts/netcraft
set SOURCE  XXXX
run

这里有一个坑需要注意,它可能会提示你 timed out,提示你超时,不要慌,这个网站打开可能会慢点,但是可以访问。不如再 run 一下试试看。

5.然后可以将所有的域名解析成 ip 地址,其命令如下:

use recon/hosts-hosts/resolve
set SOURCE  XXXX
run

6.接下来可以将所有的域名解析成主机名,其用到的模块是 recon/hosts-hosts/reverse_resolve,命令如下:

use recon/hosts-hosts/reverse_resolve
set SOURCE  XXXX
run

7.这时可以去指定的域名中查找一些隐私文件,也就是泄露文件,何为泄露文件,例如 robots 文件、phpinfo 文件、xml 配置文件等等,有很多,具体的文件可以看命令的执行过程,其命令如下:

use discovery/info_disclosure/interesting_files
set SOURCE  XXXX
run

8.这时可以探测其 ip 的地址位置,用到的模块是 recon/hosts-hosts/ipinfodb,这里有一个坑需要注意下,你直接用是不行的,因为 ipinfodb 模块要依赖 ipinfodb 的 API 密钥,具体的获取方法和配置方法开头有记录,配置好后,执行以下命令即可:

use recon/hosts-hosts/ipinfodb
set SOURCE  XXXX
run

9.查询地址后可以再查询一下 whois 的邮件地址,用到的模块是 recon/domains-contacts/whois_pocs,其命令如下:

use recon/domains-contacts/whois_pocs
set SOURCE  XXXX
run

10.最后可以搜集一下公共的 PGP 存储中的邮件地址,什么是 PGP,它用来对邮件进行加密,执行以下命令:

use recon/domains-contacts/pgp_search
set SOURCE  XXXX
run

11.然后可以使用 hibp_paste 模块,什么是 hibp_paste,它可以根据你的邮件地址去搜索,看你的邮件密码有没有在某些地方泄露,想了解你可以访问官网:https://haveibeenpwned.com,这个只作为了解,对于国内测试来说,可以不使用这个模块,因为这个是针对国外的,咱们使用可能效果不太理想,可忽略。其命令如下:

use recon/contacts-credentials/hibp_paste
set SOURCE  XXXX
run

12.至此,可以用此流程来搜集一个目标网,然后将以上的搜集内容导出报告即可,以 html 格式为例,用到的模块是 reporting/html,其命令如下:

use reporting/html

创建报告后设置一下创建者名称,如下命令:


set CREATOR xxx

同时,也设置一下客户的名称,如下命令:

set CUSTOMER xxx

最后执行 run 命令运行,会输出其报告的 html 文件地址,然后 exit 退出。

总结

Recon-ng有侦查,发现,汇报,和攻击四大块(import没发现有多大的用处,所以暂时为四大块),可用show modules查看有哪些模块。

侦察

Profiler模块: 查询某个用户名在那些网站(知名)有注册。
可用 search profiler 查询在具体路径
使用模块:use recon/profiles-profiles/profiler
查看用法:show option 或者 info info更加详细
根据提示,需要设置SOURCE选项,用命令:set SOURCE cesign
然后运行:run
查看结果(根据提示更新了profiles表,查看表的命令为show 表名) show profiles

发现

Interesting_files模块:查找某网站的敏感文件
命令跟前面一样

Search interesting_files
Use discovery/info_disclosure/interesting_files
Show info  #查看用法,可以看到参数比较多,含义我就不解释了

攻击

command_injector模块:命令注入,多用于木马文件

Search command_injector
Use path-to/command_injector
Show info #可以看到具体的参数
set base_url http://172.16.227.128/other/a.php

报告

Html模块:把运行的结果生成html文件
Recon-NG使用_第1张图片

你可能感兴趣的:(信息安全,工具,被动信息收集)