Skip to main content

黑客的 OSINT 自动化。

项目描述

bbot_banner

BEE·机器人

黑客的 OSINT 自动化。

蟒蛇版本 黑色的 执照 测试 编解码器

子域演示

BBOT是一个用 Python 编写的递归模块化OSINT 框架。

它能够在单个命令中执行整个 OSINT 进程,包括子域枚举、端口扫描、网页截图(及其gowitness模块)、漏洞扫描(带有nuclei)等等。

BBOT 目前有超过50 个模块并且还在增加。

安装(点)

pip install bbot

bbot --help

先决条件:

  • Linux 或 WSL
  • Python 3.9 或更新版本

安装(码头工人)

git clone https://github.com/blacklanternsecurity/bbot && cd bbot
docker build . -t bbot
docker run bbot --help

# note: alternatively there is a helper script that will automatically map docker volumes to persist your BBOT scan data:
./bbot-docker.sh --help

如果您在安装方面需要帮助,请参阅wiki

使用 BBOT 扫描

注意:httpx大多数扫描都推荐使用该模块,因为BBOT 使用它来访问网页

例子

# list modules
bbot -l

# subdomain enumeration
bbot --flags subdomain-enum --modules httpx --targets evilcorp.com

# passive modules only
bbot --flags passive --targets evilcorp.com

# web screenshots with gowitness
bbot -m naabu httpx gowitness --name my_scan --output-dir . -t subdomains.txt

# web scan
bbot -f web-basic -t www.evilcorp.com

# web spider (search for emails, etc.)
bbot -m httpx -c web_spider_distance=2 web_spider_depth=2 -t www.evilcorp.com

# everything at once because yes
bbot -f subdomain-enum web-basic -m naabu gowitness -c web_spider_distance=2 web_spider_depth=2 -t evilcorp.com

访问 wiki 以获取更多提示和技巧

使用 BBOT 作为 Python 库

from bbot.scanner import Scanner

scan = Scanner("evilcorp.com", "1.2.3.0/24", modules=["naabu"], output_modules=["json"])
scan.start()

输出

BBOT 可以使用--output-module. 您可以同时输出多种格式。

# tee to a file
bbot -f subdomain-enum -t evilcorp.com | tee evilcorp.txt

# output to JSON
bbot --output-module json -f subdomain-enum -t evilcorp.com | jq

# output to CSV, TXT, and JSON, in current directory
bbot -o . --output-module human csv json -f subdomain-enum -t evilcorp.com

对于每一次扫描,BBOT 都会生成一个独特而有趣的名称,例如fuzzy_gandalf. 该扫描的输出,包括词云和任何 gowitness 屏幕截图等,都保存到~/.bbot/scans. 保留最近的 20 次扫描,并删除较旧的扫描。您可以使用 更改 BBOT 输出的位置,--output也可以使用 选择自定义扫描名称--name

如果您重复使用扫描名称,它将附加到其原始输出文件并利用之前的词云。

Neo4j

Neo4j 是查看 BBOT 数据并与之交互的最有趣(也是最漂亮)的方式。

新4j

  • 您可以使用单个 docker 命令启动并运行 Neo4j:
docker run -p 7687:7687 -p 7474:7474 --env NEO4J_AUTH=neo4j/bbotislife neo4j
  • 之后,运行 bbot--output-modules neo4j
bbot -f subdomain-enum -t evilcorp.com --output-modules human neo4j

用法

$ bbot --help
usage: bbot [-h] [-t TARGET [TARGET ...]] [-w WHITELIST [WHITELIST ...]] [-b BLACKLIST [BLACKLIST ...]] [-s] [-n SCAN_NAME] [-m MODULE [MODULE ...]] [-l] [-em MODULE [MODULE ...]] [-f FLAG [FLAG ...]]
            [-rf FLAG [FLAG ...]] [-ef FLAG [FLAG ...]] [-om MODULE [MODULE ...]] [-o DIR] [-c [CONFIG ...]] [--allow-deadly] [-v] [-d] [--force] [-y] [--dry-run] [--current-config] [--save-wordcloud FILE]
            [--load-wordcloud FILE] [--no-deps | --force-deps | --retry-deps | --ignore-failed-deps] [-a]

Bighuge BLS OSINT Tool

options:
  -h, --help            show this help message and exit
  -n SCAN_NAME, --name SCAN_NAME
                        Name of scan (default: random)
  -m MODULE [MODULE ...], --modules MODULE [MODULE ...]
                        Modules to enable. Choices: affiliates,asn,aspnet_viewstate,azure_tenant,binaryedge,blind_ssrf,bypass403,c99,censys,certspotter,cookie_brute,crobat,crt,dnscommonsrv,dnsdumpster,dnszonetransfer,emailformat,ffuf,ffuf_shortnames,generic_ssrf,getparam_brute,github,gowitness,hackertarget,header_brute,host_header,httpx,hunt,hunterio,iis_shortnames,ipneighbor,leakix,massdns,naabu,ntlm,nuclei,passivetotal,pgp,securitytrails,shodan_dns,skymem,smuggler,sslcert,sublist3r,telerik,threatminer,urlscan,viewdns,wappalyzer,wayback,zoomeye
  -l, --list-modules    List available modules.
  -em MODULE [MODULE ...], --exclude-modules MODULE [MODULE ...]
                        Exclude these modules.
  -f FLAG [FLAG ...], --flags FLAG [FLAG ...]
                        Enable modules by flag. Choices: active,aggressive,brute-force,deadly,passive,portscan,report,safe,slow,subdomain-enum,web
  -rf FLAG [FLAG ...], --require-flags FLAG [FLAG ...]
                        Disable modules that don't have these flags (e.g. --require-flags passive)
  -ef FLAG [FLAG ...], --exclude-flags FLAG [FLAG ...]
                        Disable modules with these flags. (e.g. --exclude-flags brute-force)
  -om MODULE [MODULE ...], --output-modules MODULE [MODULE ...]
                        Output module(s). Choices: csv,http,human,json,neo4j,websocket
  -o DIR, --output-dir DIR
  -c [CONFIG ...], --config [CONFIG ...]
                        custom config file, or configuration options in key=value format: 'modules.shodan.api_key=1234'
  --allow-deadly        Enable running modules tagged as "deadly"
  -v, --verbose         Be more verbose
  -d, --debug           Enable debugging
  --force               Run scan even if module setups fail
  -y, --yes             Skip scan confirmation prompt
  --dry-run             Abort before executing scan
  --current-config      Show current config in YAML format

Target:
  -t TARGET [TARGET ...], --targets TARGET [TARGET ...]
                        Targets to seed the scan
  -w WHITELIST [WHITELIST ...], --whitelist WHITELIST [WHITELIST ...]
                        What's considered in-scope (by default it's the same as --targets)
  -b BLACKLIST [BLACKLIST ...], --blacklist BLACKLIST [BLACKLIST ...]
                        Don't touch these things
  -s, --strict-scope    Don't consider subdomains of target/whitelist to be in-scope

Word cloud:
  Save/load wordlist of common words gathered during a scan

  --save-wordcloud FILE
                        Output wordcloud to custom file when the scan completes
  --load-wordcloud FILE
                        Load wordcloud from a custom file

Module dependencies:
  Control how modules install their dependencies

  --no-deps             Don't install module dependencies
  --force-deps          Force install all module dependencies
  --retry-deps          Try again to install failed module dependencies
  --ignore-failed-deps  Run modules even if they have failed dependencies

Agent:
  Report back to a central server

  -a, --agent-mode      Start in agent mode

BBOT 配置

BBOT 按以下顺序从这些位置加载其配置:

  • ~/.config/bbot/defaults.yml
  • ~/.config/bbot/bbot.yml<-- 使用这个作为你的主要配置
  • ~/.config/bbot/secrets.yml<-- 将此用于敏感内容,例如 API 密钥
  • 命令行(通过--config

这些配置文件将在您首次运行 BBOT 时自动为您创建。

命令行参数优先于所有其他参数。你可以给 BBOT 一个自定义配置文件--config myconf.yml,或者像这样的单个参数:--config http_proxy=http://127.0.0.1:8080 modules.shodan_dns.api_key=1234. 要显示完整和当前的 BBOT 配置,包括任何命令行参数,请使用bbot --current-config.

有关配置选项的说明,请defaults.yml参阅wiki

模块

注意:您可以在Module Playground找到更多有趣和有趣的模块。有关如何安装这些其他模块的说明,请参阅wiki

模块 需要 API 密钥 描述 标志 产生的事件
aspnet_viewstate 解析网页的视图状态并对照 blacklist3r 检查它们 活跃、安全、网络 脆弱性
绕过403 检查 403 页面的常见绕过 积极、进取、网络 发现
cookie_brute 检查常见的 HTTP cookie 参数 积极的、进取的、蛮力的、缓慢的、网络的 发现
dnszone传输 尝试 DNS 区域传输 活动、安全、子域枚举 DNS_NAME
呸呸呸 用 Go 编写的快速网络模糊器 主动、进取、蛮力、致命、网络 网址
ffuf_shortnames 在组合 IIS 短名称中使用 ffuf 主动,进取,蛮力,网络 网址
generic_ssrf 检查通用 SSRF 积极、进取、网络 脆弱性
getparam_brute 检查常见的 HTTP GET 参数 积极的、进取的、蛮力的、缓慢的、网络的 发现
见证 截取网页截图 活跃、安全、网络 截屏
header_brute 检查常见的 HTTP 标头参数 积极的、进取的、蛮力的、缓慢的、网络的 发现
主机头 尝试常见的 HTTP 主机头欺骗技术 积极、进取、网络 发现
httpx 访问网页。许多其他模块依赖于httpx 活跃、安全、网络 HTTP_RESPONSE,网址
打猎 注意通常可利用的 HTTP 参数 活跃、安全、网络 发现
iis_shortnames 检查 IIS 短名称漏洞 主动、安全 URL_HINT
纳布 使用 naabu 执行端口扫描 主动、积极、端口扫描 OPEN_TCP_PORT
ntlm 注意支持 NTLM 身份验证的 HTTP 端点 活跃、安全、网络 DNS_NAME,发现
快速且可定制的漏洞扫描程序 积极的,积极的,致命的,网络 脆弱性
走私者 检查 HTTP 走私 积极的、进取的、蛮力的、缓慢的、网络的 发现
sslcert 访问开放端口并检索 SSL 证书 活动,电子邮件枚举,安全,子域枚举 DNS_NAME,EMAIL_ADDRESS
泰利里克 扫描关键 Telerik 漏洞 积极、进取、网络 发现,漏洞
虚拟主机 虚拟主机的模糊测试 活跃,进取,蛮力,致命,缓慢,网络 DNS_NAME,VHOST
分析仪 从网络响应中提取技术 活跃、安全、网络 技术
附属公司 在扫描结束时总结附属域 被动,报告,安全
asn 在 bgpview.io 中查询 ASN 被动、报告、安全、子域枚举 ASN
azure_tenant 在 Azure 中查询租户姐妹域 被动、安全、子域枚举 DNS_NAME
二元边 X 查询 BinaryEdge API 被动、安全、子域枚举 DNS_NAME
内置 X 查询 Builtwith.com 的子域 被动、安全、子域枚举 DNS_NAME
c99 X 查询子域的 C99 API 被动、安全、子域枚举 DNS_NAME
中央系统 X 查询 Censys API 电子邮件枚举,被动,安全,子域枚举 DNS_NAME、EMAIL_ADDRESS、IP_ADDRESS、OPEN_PORT、协议
证书观察者 查询 Certspotter 的子域 API 被动、安全、子域枚举 DNS_NAME
杂技演员 查询子域的 Project Crobat 被动、安全、子域枚举 DNS_NAME
crt 查询子域的 crt.sh(证书透明度) 被动、安全、子域枚举 DNS_NAME
dnscommonsrv 检查常见的 SRV 记录 被动、安全、子域枚举 DNS_NAME
dnsdumpster 查询子域的 dnsdumpster 被动、安全、子域枚举 DNS_NAME
电子邮件格式 在 email-format.com 中查询电子邮件地址 电子邮件枚举,被动,安全 电子邮件地址
全猎 X 查询子域的 fullhunt.io API 被动、安全、子域枚举 DNS_NAME
github X 查询 Github 的 API 获取相关仓库 被动、安全、子域枚举 URL_UNVERIFIED
黑客目标 查询hackertarget.com API 的子域 被动、安全、子域枚举 DNS_NAME
亨特里奥 X 在hunter.io 中查询电子邮件 电子邮件枚举,被动,安全,子域枚举 DNS_NAME、EMAIL_ADDRESS、URL_UNVERIFIED
邻居 查看周围子网中的 IP 积极、被动、子域枚举 IP地址
泄漏 在leakix.net 中查询子域 被动、安全、子域枚举 DNS_NAME
群发 使用 massdns 的蛮力子域(高效) 激进的,蛮力的,被动的,慢的,子域枚举 DNS_NAME
otx 查询 otx.alienvault.com 的子域 被动、安全、子域枚举 DNS_NAME
被动总 X 查询子域的 PassiveTotal API 被动、安全、子域枚举 DNS_NAME
pgp 查询常用 PGP 服务器的电子邮件地址 电子邮件枚举,被动,安全 电子邮件地址
快速域名 在 rapiddns.io 中查询子域 被动、安全、子域枚举 DNS_NAME
安全路径 X 查询子域的 SecurityTrails API 被动、安全、子域枚举 DNS_NAME
shodan_dns X 查询 Shodan 的子域 被动、安全、子域枚举 DNS_NAME
天际线 在 skymem.info 中查询电子邮件地址 电子邮件枚举,被动,安全 电子邮件地址
子列表3r 查询 sublist3r 的子域 API 被动、安全、子域枚举 DNS_NAME
威胁矿工 查询threatminer的子域API 被动、安全、子域枚举 DNS_NAME
网址扫描 查询 urlscan.io 的子域 被动、安全、子域枚举 DNS_NAME,URL_UNVERIFIED
浏览器 查询viewdns.info的相关域名的反向whois 被动、安全、子域枚举 DNS_NAME
回程 查询archive.org 的子域API 被动、安全、子域枚举 DNS_NAME,URL_UNVERIFIED
变焦眼 X 查询 ZoomEye 的子域 API 被动、安全、子域枚举 DNS_NAME

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

bbot-1.0.3.583.tar.gz (172.3 kB 查看哈希

已上传 source

内置分布

bbot-1.0.3.583-py3-none-any.whl (211.4 kB 查看哈希

已上传 py3