AnotherWayIn/AI_Hardware_Hacking_Platform

GitHub: AnotherWayIn/AI_Hardware_Hacking_Platform

集成 AI 辅助分析的硬件安全测试平台,支持逻辑分析仪信号采集与嵌入式设备安全评估。

Stars: 0 | Forks: 0

# AI 硬件黑客平台 ## Kingst LA1010 逻辑分析仪 + 嵌入式设备安全测试 一个集成了 Web 控制界面的综合性硬件黑客、串口分析和嵌入式设备安全评估工具包。 ## 🎯 概述 本平台提供: - **基于 Web 的控制**,用于 Kingst LA1010 逻辑分析仪 - **实时信号可视化**,带有实时通道数据流 - **嵌入式设备安全评估**工具 - **MCP (Model Context Protocol) 集成**,用于 AI 辅助硬件分析 - **自动数据收集**和存储 ## 📦 前置条件 ### 系统要求 - macOS 12+ (Intel 或 Apple Silicon) - Python 3.9+ - 用于设备连接的 USB 端口 - 至少 4GB RAM(推荐 8GB) ### 硬件要求 - **Kingst LA1010** 逻辑分析仪(16 通道,100MHz) - **目标设备**(路由器、嵌入式系统等) - 用于连接的 **USB 线缆** - **跳线**(推荐 Dupont 线) ## 🔧 安装说明 ### 步骤 1:安装系统依赖 ``` # 安装 Homebrew (如未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装所需软件包 brew install git cmake libusb libftdi libtool autoconf automake \ pkg-config glib libzip check doxygen # 安装 sigrok-cli brew install sigrok-cli # 安装 Python 依赖 pip3 install -r requirements.txt ``` ### 步骤 2:编译 Kingst LA1010 驱动 ``` # 克隆支持 Kingst 的 libsigrok cd /tmp git clone https://github.com/AlexUg/libsigrok.git libsigrok-kingst cd libsigrok-kingst # 构建并安装 ./autogen.sh ./configure --prefix=/opt/homebrew make -j4 sudo make install ``` ### 步骤 3:提取固件 ``` # 从 KingstVIS 提取固件 python3 fwextractor.py /Applications/KingstVIS.app/Contents/MacOS/KingstVIS # 验证固件安装 ls ~/.local/share/sigrok-firmware/kingst/ ``` ### 步骤 4:验证安装 ``` # 测试设备检测 DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli --driver kingst-la1010 --scan # 预期输出: # kingst-la1010:conn=0.3 - Kingst LA1010A with 16 channels ``` ## 🚀 快速入门 ### 启动 Web 界面 ``` # 选项 1:使用启动脚本 ./start_web.sh # 选项 2:手动启动 python3 web_interface.py # 访问地址:http://localhost:31337 ``` ### 连接硬件 1. 通过 USB **插入 Kingst LA1010** 2. **连接目标设备**: - LA1010 通道 0 → 设备 TX - LA1010 通道 1 → 设备 RX(可选) - LA1010 GND → 设备 GND 3. 在 Web 界面中点击 **“Check Connection”** ### 采集信号 1. 在 Web 界面中点击 **“Start Capture”** 2. 观察 **实时通道数据流** 3. 数据自动保存到 `data/captures/` ## 📚 Wiki / 使用指南 ### 目录 1. [硬件设置](#hardware-setup) 2. [Web 界面](#web-interface) 3. [信号采集](#signal-capture) 4. [数据分析](#data-analysis) 5. [安全评估](#security-assessment) 6. [MCP 集成](#mcp-integration) 7. [故障排除](#troubleshooting) ## 硬件设置 ### Kingst LA1010 引脚分布 ``` Channel 0-15: Digital inputs (3.3V/5V tolerant) GND: Common ground VCC: Not used (logic analyzer is USB-powered) ``` ### 连接示例 **UART/串口连接:** ``` LA1010 Channel 0 → Target TX LA1010 Channel 1 → Target RX (optional) LA1010 GND → Target GND ``` **SPI 连接:** ``` LA1010 Channel 0 → MOSI LA1010 Channel 1 → MISO LA1010 Channel 2 → SCK LA1010 Channel 3 → CS LA1010 GND → GND ``` **I2C 连接:** ``` LA1010 Channel 0 → SDA LA1010 Channel 1 → SCL LA1010 GND → GND ``` ## Web 界面 ### 仪表板概览 ``` ┌─────────────────────────────────────────────────────────┐ │ 🔌 Kingst LA1010 Logic Analyzer │ ├─────────────────────────────────────────────────────────┤ │ Device Status: [🟢 Connected] │ │ Channels: 16 | Sample Rate: 100MHz | Captures: 5 │ ├─────────────────────────────────────────────────────────┤ │ Controls: [▶️ Start] [⏹️ Stop] [📈 Live View] │ ├─────────────────────────────────────────────────────────┤ │ Channel Feed: │ │ CH0: ━━━━━━━━━━━━━━━━━━━━━━━━ HIGH │ │ CH1: ━━━━━━━━━━━━━━━━━━━━━━━━ LOW │ │ CH2: ▂▃▅▂▃▅▂▃▅▂▃▅▂▃▅▂▃▅ WAVEFORM │ │ ... │ └─────────────────────────────────────────────────────────┘ ``` ### 功能特性 - **实时监控**:每 100ms 更新一次 - **通道可视化**:所有 16 个通道的波形显示 - **采集控制**:开始/停止并自动保存文件 - **设备检测**:自动检测 LA1010 连接 ## 信号采集 ### UART 采集 **命令行:** ``` DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli \ --driver kingst-la1010 \ --config samplerate=5m \ --samples 10m \ --channels D0,D1 \ -P uart:baudrate=115200:parity=none:stopbits=1:data_bits=8 \ -A uart=rx:tx \ -o uart_capture.sr ``` **Web 界面:** 1. 将采样率设置为 5MHz(足以满足 115200 波特率) 2. 启用通道 0 和 1 3. 选择 UART 解码器(115200 波特率) 4. 开始采集 ### SPI 采集 ``` DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli \ --driver kingst-la1010 \ --config samplerate=20m \ --samples 5m \ --channels D0,D1,D2,D3 \ -P spi:clk=D2:mosi=D0:miso=D1:cs=D3 \ -o spi_capture.sr ``` ### I2C 采集 ``` DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli \ --driver kingst-la1010 \ --config samplerate=5m \ --samples 10m \ --channels D0,D1 \ -P i2c:sda=D0:scl=D1 \ -o i2c_capture.sr ``` ## 数据分析 ### 查看采集数据 **PulseView (GUI):** ``` pulseview data/captures/capture_20250301_143022.sr ``` **命令行解码:** ``` # 解码 UART sigrok-cli -i data/captures/capture.sr \ -P uart:baudrate=115200 \ -A uart=rx:tx # 解码 SPI sigrok-cli -i data/captures/capture.sr \ -P spi:clk=D2:mosi=D0:miso=D1:cs=D3 \ -A spi=mosi:miso # 导出为 CSV sigrok-cli -i data/captures/capture.sr \ -O csv > data/captures/output.csv ``` ### 使用 Python 分析 ``` import subprocess # 解码采集数据为文本 result = subprocess.run([ 'sigrok-cli', '-i', 'data/captures/capture.sr', '-P', 'uart:baudrate=115200', '-A', 'uart=rx:tx' ], capture_output=True, text=True) print(result.stdout) ``` ## 安全评估 ### 路由器安全测试 **连接到串口控制台:** ``` minicom -D /dev/tty.usbserial-0001 -b 115200 ``` **检查安全漏洞:** ``` # 检查默认凭据 cat /etc/passwd # 查找配置文件 find /etc -name "*.conf" -o -name "*.cfg" # 检查运行中的服务 ps aux netstat -tulpn ``` **自动化安全扫描:** ``` python3 serial_mcp_simple.py # 通过 MCP 使用 "check_security" 工具 ``` ## MCP 集成 ### 配置 MCP 服务器 添加到您的 MCP 配置: ``` { "mcpServers": { "kingst-logic-analyzer": { "command": "python3", "args": ["kingst_mcp_simple.py"] }, "serial-broadcom-router": { "command": "python3", "args": ["serial_mcp_simple.py"] } } } ``` ### 可用工具 **Kingst MCP:** - `check_device` - 检测 LA1010 - `start_capture` - 开始采集 - `measure_frequency` - 计算波特率 **Serial MCP:** - `check_device` - 检测串口适配器 - `scan_baud_rates` - 测试常见波特率 - `check_security` - 安全评估 - `get_cracked_passwords` - 密码分析 ## 故障排除 ### 设备未检测到 **现象:** LA1010 未显示在 Web 界面中 **解决方案:** ``` # 1. 检查 USB 连接 ioreg -p IOUSB -w0 | grep -i kingst # 2. 验证驱动安装 DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli --driver kingst-la1010 --scan # 3. 检查固件 ls ~/.local/share/sigrok-firmware/kingst/ # 4. 重新连接设备并重试 python3 usb_monitor.py ``` ### 库路径问题 **现象:** `Library not loaded` 错误 **解决方案:** ``` export DYLD_LIBRARY_PATH=/opt/homebrew/lib # 或添加到 ~/.zshrc: echo 'export DYLD_LIBRARY_PATH=/opt/homebrew/lib' >> ~/.zshrc ``` ### 权限被拒绝 **现象:** 无法访问 USB 设备 **解决方案:** ``` # 将用户添加到相应的组 (Linux) sudo usermod -a -G dialout $USER # 或使用 sudo 运行 (生产环境不推荐) sudo ./start_web.sh ``` ### Web 界面无法启动 **现象:** 端口 8080 已被占用 **解决方案:** ``` # 查找并占用端口 8080 的进程 lsof -ti:8080 | xargs kill -9 # 或使用不同的端口 python3 web_interface.py --port 8081 ``` ## 📁 项目结构 ``` . ├── README.md # This file ├── requirements.txt # Python dependencies ├── .gitignore # Git exclusions │ ├── web_interface.py # Main web server ├── start_web.sh # Startup script │ ├── data/ # Data storage │ ├── captures/ # Signal captures (.sr) │ ├── firmware/ # Device firmware │ └── logs/ # Session logs │ ├── kingst/ # Kingst LA1010 tools │ ├── kingst_mcp_server.py │ ├── kingst_mcp_simple.py │ ├── install_kingst_sigrok.sh │ ├── fwextractor.py │ ├── usb_monitor.py │ └── capture_router_boot.sh │ └── mcp_servers/ # MCP implementations ├── serial_mcp_server.py └── serial_mcp_simple.py ``` ## 🤝 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 发起 Pull Request ## 📄 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## 🔗 资源 - **Kingst Electronics:** https://www.qdkingst.com/en - **sigrok Project:** https://sigrok.org/ - **Kingst sigrok Fork:** https://github.com/AlexUg/sigrok - **PulseView:** https://sigrok.org/wiki/PulseView - **MCP Documentation:** https://modelcontextprotocol.io/ ## 🆘 支持 **遇到问题?** 请检查: 1. [故障排除](#troubleshooting) 章节 2. GitHub Issues: https://github.com/AnotherWayIn/AI_Hardware_Hacking_Platform/issues 3. sigrok Wiki: https://sigrok.org/wiki/ **作者:** AnotherWayIn **项目:** AI 硬件黑客平台 **版本:** 1.0.0 **最后更新:** 2026 年 3 月 ### 🔧 硬件组件 - **Kingst LA1010** - 16 通道 USB 逻辑分析仪 (100MHz) - **Broadcom BCM63167GWV_004R** - ADSL/VDSL 路由器 - **USB 串口适配器** - 基于 FT232 的串口接口 ### 🚀 功能特性 #### 1. Kingst LA1010 终端控制 - 原生 sigrok 驱动支持 - 基于终端的采集控制 - 实时 UART/SPI/I2C 解码 - 无需 GUI #### 2. Broadcom 路由器安全评估 - 通过 CFE bootloader 访问串口控制台 - 从 NAND flash 提取固件 - 密码破解(MD5 哈希已破解) - 安全漏洞分析 #### 3. MCP 服务器 (Model Context Protocol) - `kingst_mcp_server.py` - 逻辑分析仪控制 - `serial_mcp_server.py` - 路由器串口访问 ### 📁 项目结构 ``` . ├── README.md # This file ├── .gitignore # Git exclusions ├── requirements.txt # Python dependencies │ ├── kingst/ # Kingst LA1010 Logic Analyzer │ ├── kingst_mcp_server.py # MCP server for LA1010 │ ├── kingst_mcp_simple.py # Simplified MCP server │ ├── install_kingst_sigrok.sh # Install terminal driver │ ├── fwextractor.py # Firmware extraction │ ├── usb_monitor.py # USB device monitor │ └── capture_router_boot.sh # Router boot log capture │ ├── router/ # Broadcom Router Security │ ├── security_findings.txt # Security assessment results │ ├── cracked_passwords.py # Password cracker │ ├── capture_router_boot.sh # Boot log capture script │ └── ... │ ├── mcp_servers/ # MCP Server Implementations │ ├── kingst_mcp_server.py │ └── serial_mcp_server.py │ └── docs/ # Documentation ├── MCP_README.md └── kingst_capture_config.py ``` ### 🛠️ 安装说明 #### 前置条件 ``` brew install git cmake libusb libftdi libtool autoconf automake pkg-config glib libzip check doxygen ``` #### Kingst LA1010 终端驱动 ``` chmod +x kingst/install_kingst_sigrok.sh ./kingst/install_kingst_sigrok.sh ``` #### 提取固件 ``` python3 kingst/fwextractor.py /Applications/KingstVIS.app/Contents/MacOS/KingstVIS ``` ### 🎯 快速入门 #### 1. 测试 Kingst LA1010 检测 ``` DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli --driver kingst-la1010 --scan ``` #### 2. 采集路由器启动日志 ``` DYLD_LIBRARY_PATH=/opt/homebrew/lib sigrok-cli \ --driver kingst-la1010 \ --config samplerate=5m \ --samples 10m \ --channels D0,D1 \ -P uart:baudrate=115200:parity=none:stopbits=1:data_bits=8 \ -A uart=rx:tx \ -o router_boot_log.sr ``` #### 3. 分析采集数据 ``` # 在 PulseView 中查看 pulseview router_boot_log.sr # 解码为文本 sigrok-cli -i router_boot_log.sr -P uart:baudrate=115200 -A uart=rx:tx ``` ### 🔓 安全发现 **Broadcom 路由器漏洞:** - 默认凭据:`admin/admin`、`support/support` - 所有用户均拥有 root 权限 (UID 0) - 弱 MD5 密码哈希 - NAND flash 老化(存在坏块) - **安全评分:2/10 - 严重** ### 📊 MCP 集成 添加到您的 MCP 配置: ``` { "mcpServers": { "kingst-logic-analyzer": { "command": "python3", "args": ["kingst/kingst_mcp_simple.py"] }, "serial-broadcom-router": { "command": "python3", "args": ["mcp_servers/serial_mcp_simple.py"] } } } ``` ### 📝 命令参考 #### Kingst LA1010 ``` # 扫描设备 sigrok-cli --driver kingst-la1010 --scan # 采集样本 sigrok-cli --driver kingst-la1010 --samples 1m -o capture.sr # UART 解码 sigrok-cli --driver kingst-la1010 -P uart:baudrate=115200 --samples 5m # 连续采集 sigrok-cli --driver kingst-la1010 --continuous -o live.sr ``` #### 串口路由器访问 ``` # 连接到路由器 minicom -D /dev/tty.usbserial-0001 -b 115200 # 检查安全性 python3 router/cracked_passwords.py ``` ### 🔗 资源 - **Kingst LA1010**: https://www.qdkingst.com/en - **sigrok**: https://sigrok.org/ - **Kingst sigrok fork**: https://github.com/AlexUg/sigrok - **MCP SDK**: https://github.com/modelcontextprotocol/python-sdk ### 📄 许可证 MIT 许可证 - 详见 LICENSE 文件 ### 🤝 贡献指南 1. Fork 本仓库 2. 创建您的功能分支 3. 提交您的更改 4. 推送到分支 5. 发起 Pull Request ### 🐛 故障排除 #### 设备未检测到 ``` # 检查 USB 连接 ioreg -p IOUSB -w0 | grep -i kingst # 监听 USB 事件 python3 kingst/usb_monitor.py ``` #### 固件问题 ``` # 重新从 KingstVIS 提取固件 python3 kingst/fwextractor.py /Applications/KingstVIS.app/Contents/MacOS/KingstVIS ``` #### 库路径问题 ``` # 设置库路径 export DYLD_LIBRARY_PATH=/opt/homebrew/lib ``` **作者**: seang **项目**: 硬件黑客与安全评估 **日期**: 2026 年 3 月
标签:AI辅助分析, DNS枚举, Kingst LA1010, MCP协议, Sigrok, Web控制界面, 串口通信, 人工智能, 代码生成, 侧信道分析, 信号分析, 协议解码, 命令控制, 固件提取, 实时处理, 嵌入式设备安全, 数据采集, 文档安全, 渗透测试工具, 物联网安全, 用户模式Hook绕过, 硬件安全测试, 硬件黑客, 网络安全工具, 逆向工具, 逻辑分析仪