联系管理员

开通文章发布权限

扫码 添加微信
微信图片
电话:18888888888 QQ:

Recon-ng:Web 信息收集的智能引擎

在网络安全的复杂战场中,Recon-ng 宛如一台高效运转的智能引擎,以 Python 为燃料,凭借开源的强劲动力,驱动着自动化信息收集的征程。它作为专业的 Web 侦查框架,无缝集成多数据源,支持模块化灵活扩展。从子域名枚举到邮箱收集,从端口扫描至漏洞探测,功能一应俱全。本教程将为您全面拆解 Recon-ng,从安装步骤着手,深入核心功能,详解模块使用,展示示例命令,并分享高级技巧,助您借助这一强大工具,在渗透测试和信息安全审计中精准发力,洞察网络的每一处隐秘角落。

1. 安装与配置

1.1 安装方法

  • Kali Linux(默认已预装):

    sudo apt update && sudo apt install recon-ng

  • 其他系统(需手动安装):

    git clone https://github.com/lanmaster53/recon-ng.git
    cd recon-ng
    pip3 install -r REQUIREMENTS

1.2 模块安装

首次启动需通过 marketplace 安装模块(默认无模块):

# 更新模块列表
marketplace refresh
# 安装所有模块
marketplace install all
# 安装特定模块(如子域名爆破模块)
marketplace install recon/domains-hosts/brute_hosts

若因网络问题失败,可配置代理或 DNS(如 8.8.8.8)。


2. 核心功能与命令

2.1 工作区管理

Recon-ng 通过工作区隔离不同项目数据:

# 创建/切换工作区
workspaces add myproject
workspaces select myproject
# 列出所有工作区
workspaces list

2.2 常用命令

命令功能示例
show modules列出所有可用模块show modules
use加载模块use recon/domains-hosts/brute_hosts
show info查看模块描述show info
set设置模块参数set SOURCE example.com
run执行模块run
show hosts查看收集的主机信息show hosts
keys管理 API 密钥keys add shodan_api YOUR_KEY
root@kali:~# recon-ng -h
usage: recon-ng [-h] [-w workspace] [-r filename] [--no-version]
                [--no-analytics] [--no-marketplace] [--stealth] [--version]
                [--analytics]

recon-ng - Tim Tomes (@lanmaster53)

optional arguments:
  -h, --help        显示此帮助消息并退出
  -w workspace      加载/创建工作区
  -r filename       从资源文件加载命令
  --no-version      禁用版本检查。已在Debian中默认禁用
  --no-analytics    禁用分析报告。已在Debian中默认禁用
  --no-marketplace  禁用远程模块管理
  --stealth         禁用所有被动请求(--no-*)
  --version         显示当前版本
  --analytics       启用分析报告。将分析发送到谷歌

3. 模块使用示例

3.1 子域名爆破(brute_hosts

use recon/domains-hosts/brute_hosts
set SOURCE example.com       # 设置目标域名
set WORDLIST /path/to/wordlist.txt  # 指定字典文件(默认使用内置字典)
run

示例输出

[*] No Wildcard DNS entry found.
[*] www.example.com => 192.168.1.10
[*] mail.example.com => 192.168.1.20
[*] 5 total (5 new) hosts found.

3.2 Google 子域名枚举(google_site_web

use recon/domains-hosts/google_site_web
set SOURCE example.com
run

示例输出

[*] URL: https://www.google.com/search?q=site%3Aexample.com
[*] Found: blog.example.com
[*] Found: dev.example.com

3.3 端口扫描(shodan_ip

需配置 Shodan API:

keys add shodan_api YOUR_API_KEY
use recon/hosts-ports/shodan_ip
set SOURCE example.com
run

示例输出

[*] 192.168.1.10:80 (HTTP) - Apache 2.4.41
[*] 192.168.1.10:443 (HTTPS) - OpenSSL 1.1.1

3.4 邮箱收集(metacrawler

use recon/domains-contacts/metacrawler
set SOURCE example.com
run

示例输出

[*] admin@example.com (LinkedIn)
[*] support@example.com (GitHub)

4. 高级功能

4.1 数据库查询

Recon-ng 自动将结果存储于 SQLite 数据库,支持自定义 SQL 查询:

query SELECT * FROM hosts WHERE ip_address IS NOT NULL

4.2 报告生成

导出结果至文件(支持 HTML、CSV、XML 等格式):

use reporting/html
set CREATOR "Your Name"
set CUSTOMER "Example Corp"
run

生成文件路径:~/.recon-ng/workspaces/myproject/results.html

4.3 自定义模块开发

模块文件需按分类存放于 ~/.recon-ng/modules/,格式示例:

from recon.core.module import BaseModule

class Module(BaseModule):
    meta = {
        'name': 'Custom Subdomain Finder',
        'author': 'Your Name',
        'description': 'Finds subdomains via custom API',
    }
    def module_run(self):
        domain = self.options['SOURCE']
        # 自定义逻辑
        self.add_hosts('sub.example.com')

5. 注意事项

  1. 合法授权:仅对授权目标使用,避免非法扫描。

  2. API 配置:部分模块需 API 密钥(如 Shodan、Bing),通过 keys add 配置。

  3. 性能优化:调整 THREADSTIMEOUT 参数(show options)。

  4. 代理设置:若需绕过网络限制,配置代理:

    set PROXY 127.0.0.1:8080


6. 综合示例

目标:收集 example.com 的子域名、主机 IP 及开放端口,并生成报告:

# 创建工作区
workspaces add example_scan
workspaces select example_scan

# 枚举子域名
use recon/domains-hosts/brute_hosts
set SOURCE example.com
run

# 解析主机 IP
use recon/hosts-hosts/resolve
set SOURCE example.com
run

# 扫描端口
use recon/hosts-ports/shodan_ip
run

# 生成 HTML 报告
use reporting/html
run

通过以上命令和示例,可快速掌握 Recon-ng 的核心功能。更多模块用法可通过 show modulessearch 命令探索,或参考 官方文档

相关文章

neo4j部署手册
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
DataX和DataX-WEB 安装步骤
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、 MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
K8S集群搭建手册(集群版)
kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Apollo部署手册
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册