@tom_doerr: 执行递归互联网扫描以自动化漏洞赏金侦查和攻击面管理。 https://github.co…

X AI KOLs Timeline 工具

摘要

BBOT 是一款开源多功能扫描器,旨在通过递归扫描能力自动化互联网侦查、漏洞赏金任务和攻击面管理。

执行递归互联网扫描以自动化漏洞赏金侦查和攻击面管理。 https://t.co/R0R6PsE1fQ https://t.co/nuHiZ7lltd
查看原文
查看缓存全文

缓存时间: 2026/08/17 06:10

通过执行递归互联网扫描,自动化漏洞赏金侦察与攻击面管理。https://t.co/R0R6PsE1fQ https://t.co/nuHiZ7lltd


blacklanternsecurity/bbot

来源:https://github.com/blacklanternsecurity/bbot

bbot_banner Python 版本 许可证 PyPi 下载量 Ruff 测试状态 Codecov 覆盖率 Discord

BEE·bot 是一款受 Spiderfoot (https://github.com/smicallef/spiderfoot) 启发的多用途扫描器,专为自动化您的侦察、漏洞赏金和攻击面管理而构建!

BBOT 实时扫描演示
BBOT 实时扫描演示 - 使用 VivaGraphJS (https://github.com/blacklanternsecurity/bbot-vivagraphjs) 进行可视化

安装

# 稳定版本
pipx install bbot
# 开发版(前沿版本)
pipx install --pip-args '\--pre' bbot

更多安装方式,包括 Docker (https://hub.docker.com/r/blacklanternsecurity/bbot),请参阅《入门指南》(https://www.blacklanternsecurity.com/bbot/Stable/)

从 2.x 升级? BBOT 3.0 在 CLI、预设、模块、事件和 Python API 方面包含重大变更。升级前请查阅《2.x → 3.0 迁移指南》(https://www.blacklanternsecurity.com/bbot/Stable/migration/3.0_breaking_changes/)(源文件)。

加速提示: BBOT 的 DNS 解析器 (blastdns (https://github.com/blacklanternsecurity/blastdns)) 会在 /etc/resolv.conf 中为每个解析器启动多个线程。添加更多未过滤的解析器能显著提升扫描速度。详情请参阅示例 resolv.conf 和《技巧与窍门》(https://www.blacklanternsecurity.com/bbot/Stable/scanning/tips_and_tricks/#speed-up-scans-with-more-dns-resolvers)。

示例命令

1) 子域名发现器

结合被动 API 源与针对目标特定域名变体的递归 DNS 暴力破解。

# 发现 evilcorp.com 的子域名
bbot -t evilcorp.com -p subdomain-enum
# 仅使用被动源
bbot -t evilcorp.com -p subdomain-enum -rf passive

subdomain-enum.yml

description: 通过 API 枚举子域名,暴力破解
flags:
  - subdomain-enum
output_modules:
  - subdomains
config:
  dns:
    threads: 25
    brute_threads: 1000
# 在此填入您的 API 密钥
# modules:
#   github:
#     api_key: ""
#   chaos:
#     api_key: ""
#   securitytrails:
#     api_key: ""

BBOT 通常比其他工具多发现 20-50% 的子域名。域名越大,差距越明显。欲知其原理,请参阅《工作原理》(https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/)。

2) 网络爬虫

# 爬取 evilcorp.com,提取电子邮件及其他信息
bbot -t evilcorp.com -p spider

spider.yml

description: 递归网络爬虫
modules:
  - http
blacklist:
  # 防止爬虫因触发登出而使会话失效
  - "RE:/.*(sign|log)[_-]?out"
config:
  web:
  # 连续跟踪的链接数量
  spider_distance: 2
  # 不跟踪目录深度超过 4 的链接
  spider_depth: 4
  # 每页最多跟踪的链接数
  spider_links_per_page: 25

3) 电子邮件收集器

# 使用免费 API + 抓取进行快速电子邮件枚举
bbot -t evilcorp.com -p email-enum
# 结合子域名枚举 + 网络爬虫以获得最大产出
bbot -t evilcorp.com -p email-enum subdomain-enum spider

email-enum.yml

description: 从 API、网络抓取等途径枚举电子邮件地址
flags:
  - email-enum
output_modules:
  - emails

4) 网络扫描器

# 对 www.evilcorp.com 进行轻量级网络扫描
bbot -t www.evilcorp.com -p web
# 对 www.evilcorp.com 进行深度网络扫描
bbot -t www.evilcorp.com -p web-heavy

web.yml

description: 快速网络扫描
include:
  - iis-shortnames
flags:
  - web

web-heavy.yml

description: 深度网络扫描
include:
  # 包含 web 预设
  - web
flags:
  - web-heavy

5) 全能模式(一切尽在掌控)

# 全能模式
bbot -t evilcorp.com -p kitchen-sink
# 大致等同于:
bbot -t evilcorp.com -p subdomain-enum cloud-enum code-enum email-enum spider web paramminer webbrute web-screenshots

kitchen-sink.yml

description: 全能模式
include:
  - subdomain-enum
  - cloud-enum
  - code-enum
  - email-enum
  - spider
  - web
  - paramminer
  - webbrute
  - web-screenshots
  - baddns-heavy
config:
  modules:
    dnsbrute:
      recursive_mutations: true
    dnscommonsrv:
      recursive_mutations: true
    webbrute:
      avoid_wafs: false
    wayback:
      urls: true
      parameters: true
      archive: true

工作原理

点击下方图表探索 BBOT 的内部工作原理 (https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/)。
BBOT 工作原理图

输出模块

BBOT 作为 Python 库

同步方式

from bbot.scanner import Scanner

if __name__ == "__main__":
    scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
    for event in scan.start():
        print(event)

异步方式

from bbot.scanner import Scanner

async def main():
    scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
    async for event in scan.async_start():
        print(event.json())

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

参见:这个邪恶的 Discord 机器人
一个响应 /scan 命令的 BBOT Discord 机器人 (https://www.blacklanternsecurity.com/bbot/Stable/dev/#discord-bot-example)。从 Discord 服务器中舒适地扫描互联网!
bbot-discord

功能概览

  • 支持多目标
  • 网页截图
  • 一系列攻击性 Web 模块
  • 基于自然语言处理的子域名变体
  • 原生输出到 Neo4j(及更多)
  • 使用 Ansible 自动安装依赖
  • 使用自定义 YARA 规则搜索整个攻击面
  • Python API + 开发者文档

目标

BBOT 通过 -t 参数接受无限数量的目标。您可以直接在命令行指定目标,或通过文件指定(或两者兼用):

bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum

目标可以是以下任意一种:

  • DNS 名称 (evilcorp.com)
  • IP 地址 (1.2.3.4)
  • IP 范围 (1.2.3.0/24)
  • 开放的 TCP 端口 (192.168.0.1:80)
  • URL (https://www.evilcorp.com)
  • 电子邮件地址 ([email protected])
  • 组织 (ORG:evilcorp)
  • 用户名 (USER:bobsmith)
  • 文件系统 (FILESYSTEM:/tmp/asdf)
  • 移动应用 (MOBILE_APP:https://play.google.com/store/apps/details?id=com.evilcorp.app)

更多信息,请参阅《目标》(https://www.blacklanternsecurity.com/bbot/Stable/scanning/#targets-t)。
要了解 BBOT 如何处理范围,请参阅《范围》(https://www.blacklanternsecurity.com/bbot/Stable/scanning/#scope)。

API 密钥

类似于 Amass 或 Subfinder,BBOT 支持多种第三方服务的 API 密钥,例如 SecurityTrails 等。标准做法是在 ~/.config/bbot/secrets.yml 中输入您的 API 密钥。注意允许多个 API 密钥:

modules:
  shodan_dns:
    api_key: 4f41243847da693a4f356c0486114bc6
  c99: # 多个 API 密钥
    api_key:
      - 21a270d5f59c9b05813a72bb41707266
      - ea8f243d9885cf8ce9876a580224fd3c
      - 5bc6ed268ab6488270e496d3183a1a27
  virustotal:
    api_key: dd5f0eee2e4a99b71a939bded450b246
  securitytrails:
    api_key: d9a05c3fd9a514497713c54b4455d0b0

如果您愿意,也可以在命令行指定:

bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246

详情请参阅《配置》(https://www.blacklanternsecurity.com/bbot/Stable/scanning/configuration/)。

模块、标志等完整列表

文档

贡献

一些最优秀的 BBOT 模块是由社区编写的。BBOT 正在不断改进;它的功能日益强大!我们欢迎贡献。不仅仅是代码,还有创意!如果您有关于新功能的构想,请在《讨论》(https://github.com/blacklanternsecurity/bbot/discussions)中告知我们。
如果您想亲自动手,请参阅《贡献指南》(https://www.blacklanternsecurity.com/bbot/Stable/contribution/)。您可以在那里找到设置说明以及如何编写 BBOT 模块的简易教程。我们还有详尽的《开发者文档》(https://www.blacklanternsecurity.com/bbot/Stable/dev/)。

感谢这些杰出的人为 BBOT 做出贡献!:heart:
特别感谢:

  • @TheTechromancer 创建了 BBOT
  • @liquidsec 在 BBOT 的网络黑客功能方面所做的广泛工作,包括 badsecrets (https://github.com/blacklanternsecurity/badsecrets) 和 baddns (https://github.com/blacklanternsecurity/baddns)
  • Steve Micallef (@smicallef) 创建了 Spiderfoot
  • @kerrymilan 在 Neo4j 和 Ansible 方面的专业知识
  • @domwhewell-sage 及其一系列强大的代码搜集模块
  • @aconite33 和 @amiremami 毫不留情的测试
  • Aleksei Kornev (@alekseiko) 将 bbot Pypi 仓库的所有权授予我们 <3

相似文章