bbot边缘计算部署:在树莓派上运行情报扫描

【免费下载链接】bbot OSINT automation for hackers. 【免费下载链接】bbot 项目地址: https://gitcode.com/GitHub_Trending/bb/bbot

随着网络安全情报收集(OSINT)需求的增长,传统服务器部署模式面临成本高、灵活性不足的问题。本文将介绍如何在树莓派(Raspberry Pi)这类边缘计算设备上部署bbot,实现低成本、低功耗的情报自动化扫描。通过本教程,你将掌握Docker镜像适配、资源优化配置及典型扫描场景的实战应用,让树莓派变身便携式OSINT工作站。

硬件与系统准备

树莓派部署需满足以下最低配置:

  • 硬件:树莓派4B(2GB RAM以上)或同等性能ARM设备
  • 系统:Raspberry Pi OS Bullseye(64位)
  • 存储:至少16GB microSD卡(推荐32GB UHS-I级别)
  • 网络:稳定的Wi-Fi或以太网连接

系统优化配置

为确保bbot稳定运行,需先优化树莓派系统设置:

# 安装必要依赖
sudo apt update && sudo apt install -y docker.io python3.9 python3.9-venv

# 配置Docker开机启动
sudo systemctl enable docker && sudo systemctl start docker

# 将用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER && newgrp docker

注意:若遇到Python版本问题,可参考官方故障排除指南docs/troubleshooting.md中的"Installation troubleshooting"部分,使用Python 3.9+环境配置方案。

Docker镜像构建与适配

bbot官方提供的Docker镜像默认针对x86架构,需为树莓派的ARM架构重新构建。项目根目录下的Dockerfile已包含基础构建逻辑,我们只需稍作调整:

ARM架构适配修改

# 修改基础镜像为ARM兼容版本
FROM arm64v8/python:3.10-slim

# 保留原有依赖安装逻辑
RUN apt-get update && apt-get install -y openssl gcc git make unzip curl wget vim nano sudo

# 后续构建步骤保持不变
COPY . .
RUN pip install .
WORKDIR /root
ENTRYPOINT [ "bbot" ]

构建与测试镜像

在树莓派上执行以下命令构建镜像:

# 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/bb/bbot
cd bbot

# 构建ARM架构Docker镜像
docker build -t bbot-arm:latest .

# 验证镜像架构
docker inspect --format '{{.Architecture}}' bbot-arm:latest  # 应输出arm64

运行配置与资源优化

树莓派硬件资源有限,需通过配置调整平衡性能与扫描效果。bbot提供了预设配置文件,推荐使用轻量级扫描模式:

基础扫描命令

# 使用轻量级预设运行域名扫描
docker run --rm -it -v "$HOME/.bbot/scans:/root/.bbot/scans" bbot-arm:latest -t example.com -p fast

命令解析:-p fast指定使用presets/fast.yml预设,该配置禁用了耗资源的端口扫描和深度爬虫,适合边缘设备运行。

高级资源限制配置

为防止bbot占用过多系统资源,可添加Docker资源限制参数:

# 限制CPU使用为1核,内存为1GB
docker run --rm -it \
  --cpus=1 \
  --memory=1g \
  -v "$HOME/.bbot/scans:/root/.bbot/scans" \
  -v "$HOME/.config/bbot:/root/.config/bbot" \
  bbot-arm:latest -t example.com -p subdomain-enum

配置文件位置:扫描结果默认保存在宿主机的~/.bbot/scans目录,配置文件可通过defaults.yml自定义调整。

实战场景:边缘情报扫描

树莓派的便携性使其适合现场情报收集,以下是两个典型应用场景:

场景一:现场子域名枚举

使用bbot的子域名枚举模块快速发现目标关联资产:

# 使用子域名枚举预设
docker run --rm -it -v "$HOME/.bbot/scans:/root/.bbot/scans" bbot-arm:latest \
  -t target.com \
  -p subdomain-enum \
  --output csv

扫描结果将以CSV格式保存,可通过Excel或Python进行分析。核心子域名枚举逻辑由modules/subdomainradar.pymodules/securitytrails.py等模块实现。

场景二:轻量级端口扫描

在网络现场快速识别开放服务:

# 仅扫描常用端口(前100个)
docker run --rm -it -v "$HOME/.bbot/scans:/root/.bbot/scans" bbot-arm:latest \
  -t 192.168.1.0/24 \
  -m portscan \
  --ports top100

端口列表定义:扫描端口范围来自wordlists/top_open_ports_nmap.txt,可根据需求修改该文件自定义端口列表。

可视化与报告生成

bbot支持多种输出格式,结合树莓派的本地显示能力,可实现扫描结果可视化:

生成HTML报告

# 运行扫描并生成HTML报告
docker run --rm -it -v "$HOME/.bbot/scans:/root/.bbot/scans" bbot-arm:latest \
  -t example.com \
  -p web-basic \
  --output web_report

扫描完成后,在宿主机上通过浏览器打开报告文件:

firefox ~/.bbot/scans/<scan-id>/web_report/index.html

扫描结果可视化

bbot内置的词云生成功能可直观展示扫描发现:

情报词云示例

词云生成逻辑位于bbot/helpers/wordcloud.py,支持自定义词频分析和可视化参数。

常见问题与解决方案

性能优化建议

  1. 使用swap交换空间

    sudo dphys-swapfile setup && sudo dphys-swapfile swapon
    
  2. 调整扫描并发度: 修改defaults.yml中的threads参数,建议设为2-4(树莓派4B)

网络连接问题

若遇到API请求失败,检查网络代理配置或使用离线模式:

# 使用离线模式运行(仅本地枚举)
docker run --rm -it -v "$HOME/.bbot/scans:/root/.bbot/scans" bbot-arm:latest \
  -t example.com \
  --offline

存储管理

定期清理扫描结果以释放空间:

# 保留最近3次扫描结果
ls -tp ~/.bbot/scans | grep -v '/$' | tail -n +4 | xargs -I {} rm -- {}

总结与扩展方向

在树莓派上部署bbot实现了边缘计算与OSINT的完美结合,既降低了硬件成本,又保留了核心情报收集能力。未来可探索以下扩展方向:

  1. 电池供电方案:配合移动电源实现完全便携化扫描
  2. 传感器集成:结合GPS模块记录扫描位置信息
  3. 自动化工作流:通过scripts/目录下的工具实现定时扫描与报告推送

通过本文介绍的方法,你可以将闲置的树莓派改造成专业的情报扫描设备,为网络安全评估和资产发现提供灵活高效的解决方案。更多高级配置可参考官方开发文档docs/dev/index.md

【免费下载链接】bbot OSINT automation for hackers. 【免费下载链接】bbot 项目地址: https://gitcode.com/GitHub_Trending/bb/bbot

Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐