它能够在单个命令中执行整个 OSINT 进程,包括子域枚举、端口扫描、网页截图(及其gowitness
模块)、漏洞扫描(带有nuclei
)等等。
安装
#必须安装 Python 3.9 或更新版本
#pipx推荐作为替代方案,pip已在 Python 环境中安装了 BBOT。
pipx install bbot
使用介绍
$ bbot --help
用法: bbot [-h] [-t TARGET [目标 ...]] [-w WHITELIST [白名单 ...]] [-b BLACKLIST [黑名单 ...]] [-s] [-n 扫描的名字] [-m 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]大型BLS OSINT工具
选项:
-h, --help 显示帮助信息并退出
-n SCAN_NAME, --name SCAN_NAME
扫描名称(默认:random)
-m MODULE [MODULE ...], --modules MODULE [MODULE ...]
要启用的模块. 可选: 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 列出可用的模块列表
-em MODULE [MODULE ...], --exclude-modules MODULE [MODULE ...]
排除这些模块。
-f FLAG [FLAG ...], --flags FLAG [FLAG ...]
通过falg启用模块。可选: active,aggressive,brute-force,deadly,passive,portscan,report,safe,slow,subdomain-enum,web
-rf FLAG [FLAG ...], --require-flags FLAG [FLAG ...]
禁用没有这些标志的模块(例如--require-flags passive)
-ef FLAG [FLAG ...], --exclude-flags FLAG [FLAG ...]
禁用带有这些标志的模块。(例如:--exclude-flags brute-force)
-om MODULE [MODULE ...], --output-modules MODULE [MODULE ...]
输出模块(s)。选择: csv,http,human,json,neo4j,websocket
-o DIR, --output-dir DIR
-c [CONFIG ...], --config [CONFIG ...]
自定义配置文件,或key=value格式的配置选项: 'modules.shodan.api_key=1234'
--allow-deadly 启用标记为的运行模块 "deadly"
-v, --verbose 更详细的
-d, --debug 调试模式
--force 即使模块设置失败,也要运行scan
-y, --yes 跳过扫描确认提示
--dry-run 执行扫描前终止
--current-config 以YAML格式显示当前配置
Target:
-t TARGET [TARGET ...], --targets TARGET [TARGET ...]
以种子扫描为目标
-w WHITELIST [WHITELIST ...], --whitelist WHITELIST [WHITELIST ...]
什么被认为是范围内的(默认情况下与--targets相同)
-b BLACKLIST [BLACKLIST ...], --blacklist BLACKLIST [BLACKLIST ...]
不要碰这些东西
-s, --strict-scope 不要认为目标/白名单的子域名在范围内
Word cloud:
保存/加载扫描期间收集的常用单词列表
--save-wordcloud FILE
扫描完成后输出wordcloud到自定义文件
--load-wordcloud FILE
从自定义文件加载wordcloud
模块依赖关系:
控制模块如何安装它们的依赖项
--no-deps 不要安装模块依赖项
--force-deps 强制安装所有模块依赖项
--retry-deps 请再次尝试安装失败的模块依赖项
--ignore-failed-deps 运行模块,即使它们有失败的依赖项
代理:
向中心服务器发回报告
-a, --agent-mode 以代理模式启动
示列
#列出模块
bbot -l
#子域名枚举
bbot --flags subdomain-enum --targets exe.com
#只进行被动扫描
bbot --flags passive --targets exe.com
#使用gowitness进行网页截图
bbot --modules naabu httpx gowitness --name my_scan --output-dir . --targets exe.com 1.2.3.4/28 4.3.2.1 targets.txt
#Web spider(搜索电子邮件等)
bbot -m httpx -c web_spider_distance=2 -t www.exe.com
#
输出
#BBOT 默认输出到 STDOUT,但可以同时输出多种格式(带--output-module)。
# tee to a file
bbot -f subdomain-enum -t exe.com | tee exe.txt
#输出为JSON
bbot --output-module json -f subdomain-enum -t exe.com | jq
# 在当前的目录中输出为CSV, TXT和JSON
bbot -o . --output-module human csv json -f subdomain-enum -t exe.com对于每一次扫描,BBOT 都会生成一个独特而有趣的名称,例如fuzzy_gandalf. 该扫描的输出,包括词云和任何 gowitness 屏幕截图等,都保存到~/.bbot/scans. 保留最近的 20 次扫描,并删除较旧的扫描。您可以使用 更改 BBOT 输出的位置,--output也可以使用 选择自定义扫描名称--name。
配置
BBOT 按以下顺序从这些位置加载其配置:
~/.config/bbot/defaults.yml
~/.config/bbot/bbot.yml #
将这个用于其他所有内容
~/.config/bbot/secrets.yml #
将此用于 API 密钥和东西
命令行(通过--config
)
命令行参数优先于所有其他参数。你可以给 BBOT 一个自定义配置文件--config myconf.yml
,或者像这样的单个参数:--config http_proxy=http://127.0.0.1:8080 modules.shodan_dns.api_key=1234
. 要显示完整和当前的 BBOT 配置,包括任何命令行参数,请使用bbot --current-config。
###基本选项###
# BBOT工作目录
home: ~/.bbot
# 离主搜索范围还有多远
scope_search_distance: 1
# 不要输出距离主作用域更远的事件
scope_report_distance: 1
#解析DNS名称/ ip的主要作用域距离
scope_dns_search_distance: 2
#限制BBOT线程的数量
max_threads: 20
#限制DNS线程数
max_dns_threads: 100
#限制一次可以运行的暴力模块的数量
max_brute_forcers: 2
#
##高级选项###
#从其他事件中推断某些事件,例如从IP范围中推断IP地址,从url中推断DNS_NAMEs,等等。
speculate: True
#被动地搜索url、主机名、电子邮件等事件数据。
excavate: True
#在扫描结束时总结活动
aggregate: True
#HTTP代理
http_proxy:
#HTTP超时(用于Python请求;API调用,等等)。
http_timeout: 30
#HTTP超时(针对httpx)
httpx_timeout: 5
#启用/禁用web请求/响应的调试消息
http_debug: false
#设置一行中可以跟随的HTTP链接的最大数量(0 ==不允许爬行)
web_spider_distance: 0
#设置web爬虫的最大目录深度
web_spider_depth: 1
#通过DNS解析生成新的DNS_NAME和IP_ADDRESS事件
dns_resolution: true
#DNS查询超时时间
dns_timeout: 10
#禁用BBOT对选定域的智能DNS通配符处理
dns_wildcard_ignore: []
#在验证通配符DNS时要进行多少完整性检查
#如果BBOT的通配符检测不起作用,请增加此值
dns_wildcard_tests: 5
#在遇到这么多DNS请求后,跳过对某个域和rdtype的DNS请求
timeouts or SERVFAILs
#这样可以避免出现故障的DNS服务器挂起扫描
dns_abort_threshold: 10
#开启/关闭对包含IP地址的PTR记录的过滤
dns_filter_ptrs: true
#打开/关闭dns查询的调试消息
dns_debug: false
#是否校验SSL证书
ssl_verify: false
#在清除旧的扫描结果之前要保留多少扫描结果
keep_scans: 20
#Web user-agent
user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
#完全忽略带有这些扩展的url
url_extension_blacklist:
# images
- png
- jpg
- bmp
- ico
- jpeg
- gif
- svg
# web/fonts
- css
- woff
- woff2
- ttf
# audio
- mp3
- m4a
- wav
- flac
# video
- mp4
- mkv
- avi
- wmv
- mov
- flv
- webm
#只将带有这些扩展的url分发给httpx(输出中省略了这些扩展)
url_extension_httpx_only:
- js
#不要输出这些类型的事件(它们仍然分发给模块)
omit_event_types:
- HTTP_RESPONSE
- URL_UNVERIFIED
#BBOT服务器URL
agent_url: ''
#Agent承载认证令牌
agent_token: ''
#自定义交互服务器设置
interactsh_server: null
interactsh_token: null
interactsh_disable: false
项目地址:
https://github.com/blacklanternsecurity/bbot
或微信公众号回复“bbot”获取
免责声明
合一安全提供的资源仅供学习,利⽤本公众号合一安全所提供的信息⽽造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,公众号合一安全及作者不为此承担任何责任,一旦造成后果请⾃⾏承担责任!合一安全部分内容及图片源自网络转载,版权归作者及授权人所有,若您发现有侵害您的权利,请联系我们进行删除处理。谢谢 !