{
  "markdown": "# IoTHackBot\n\nOpen-source IoT security testing toolkit with integrated Claude Code skills for automated vulnerability discovery.\n\n## Overview\n\nIoTHackBot is a collection of specialized tools and Claude Code skills designed for security testing of IoT devices, IP cameras, and embedded systems. It provides both command-line tools and AI-assisted workflows for comprehensive IoT security assessments.\n\n## Tools Included\n\n### Network Discovery & Reconnaissance\n\n- **wsdiscovery** - WS-Discovery protocol scanner for discovering ONVIF cameras and IoT devices\n- **iotnet** - IoT network traffic analyzer for detecting protocols and vulnerabilities\n- **netflows** - Network flow extractor with DNS hostname resolution from pcap files\n- **nmap** (skill) - Professional network reconnaissance with two-phase scanning strategy\n\n### Device-Specific Testing\n\n- **onvifscan** - ONVIF device security scanner\n  - Authentication bypass testing\n  - Credential brute-forcing\n\n### Firmware & File Analysis\n\n- **chipsec** (skill) - UEFI/BIOS firmware static analysis\n  - Detect known rootkits (LoJax, ThinkPwn, HackingTeam)\n  - Generate EFI executable inventories with hashes\n  - Decode firmware structure and extract NVRAM\n\n- **ffind** - Advanced file finder with type detection and filesystem extraction\n  - Identifies artifact file types\n  - Extracts ext2/3/4 and F2FS filesystems\n  - Designed for firmware analysis\n\n### Android Analysis\n\n- **apktool** (skill) - APK unpacking and resource extraction\n  - Decode AndroidManifest.xml\n  - Extract resources, layouts, strings\n  - Disassemble to smali code\n\n- **jadx** (skill) - APK decompilation\n  - Convert DEX to readable Java source\n  - Search for hardcoded credentials\n  - Analyze app logic\n\n### Hardware & Console Access\n\n- **jtagprobe** - SWD/JTAG debug interface probe via SEGGER J-Link\n  - Classifies targets as OPEN / LOCKED / DEAD\n  - Sweeps SWD then JTAG across multiple clock speeds\n  - Decodes DPIDR / IDCODE to vendor (STM32, NXP, Nordic, TI, ...)\n  - Halt + memory read to confirm true debugger control\n  - Per-attempt JLinkExe stdout captured for pentest evidence\n\n- **picocom** (skill) - IoT UART console interaction for hardware testing\n  - Bootloader manipulation\n  - Shell enumeration\n  - Firmware extraction\n  - Includes Python helper script for automated interaction\n\n- **telnetshell** (skill) - IoT telnet shell interaction\n  - Unauthenticated shell testing\n  - Device enumeration\n  - BusyBox command handling\n  - Includes Python helper script and pre-built enumeration scripts\n\n## Installation\n\n### Prerequisites\n\n```bash\n# Python dependencies\npip install colorama pyserial pexpect requests\n\n# System dependencies (Arch Linux)\nsudo pacman -S nmap e2fsprogs f2fs-tools python python-pip inetutils\n\n# For other distributions, install equivalent packages\n```\n\n### Setup\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/BrownFineSecurity/iothackbot.git\ncd iothackbot\n```\n\n2. Add the bin directory to your PATH:\n```bash\nexport PATH=\"$PATH:$(pwd)/bin\"\n```\n\n3. For permanent setup, add to your shell configuration:\n```bash\necho 'export PATH=\"$PATH:/path/to/iothackbot/bin\"' >> ~/.bashrc\n```\n\n## Usage\n\n### Quick Start Examples\n\n#### Discover ONVIF Devices\n```bash\nwsdiscovery 192.168.1.0/24\n```\n\n#### Test ONVIF Device Security\n```bash\nonvifscan auth http://192.168.1.100\nonvifscan brute http://192.168.1.100\n```\n\n#### Analyze Network Traffic\n```bash\n# Analyze PCAP file for IoT protocols\niotnet capture.pcap\n\n# Live capture\nsudo iotnet -i eth0 -d 60\n```\n\n#### Extract Network Flows\n```bash\n# Extract flows from device with DNS resolution\nnetflows capture.pcap --source-ip 192.168.1.100\n\n# Get just hostname:port list\nnetflows capture.pcap -s 192.168.1.100 --format quiet\n```\n\n#### Analyze Firmware\n```bash\n# Identify file types\nffind firmware.bin\n\n# Extract filesystems (requires sudo)\nsudo ffind firmware.bin -e\n```\n\n### Claude Code Plugin\n\nIoTHackBot is available as a Claude Code plugin, providing AI-assisted security testing with specialized skills.\n\n#### Available Skills\n\n| Skill | Description |\n|-------|-------------|\n| **chipsec** | UEFI/BIOS firmware static analysis - malware detection, EFI inventory |\n| **apktool** | Android APK unpacking and resource extraction |\n| **jadx** | Android APK decompilation to Java source |\n| **ffind** | Firmware file analysis with filesystem extraction |\n| **iotnet** | IoT network traffic analysis |\n| **jtagprobe** | SWD/JTAG debug interface probe via J-Link |\n| **netflows** | Network flow extraction with DNS hostname resolution |\n| **nmap** | Professional network reconnaissance |\n| **onvifscan** | ONVIF device security testing |\n| **picocom** | UART console interaction |\n| **telnetshell** | Telnet shell enumeration |\n| **wsdiscovery** | WS-Discovery device discovery |\n\n#### Plugin Installation\n\n**Option 1: Use directly during development**\n\n```bash\nclaude --plugin-dir /path/to/iothackbot\n```\n\n**Option 2: Install as local marketplace (persistent)**\n\nAdd to `~/.claude/settings.json`:\n\n```json\n{\n  \"extraKnownMarketplaces\": {\n    \"iothackbot-local\": {\n      \"source\": {\n        \"source\": \"directory\",\n        \"path\": \"/path/to/iothackbot\"\n      }\n    }\n  },\n  \"enabledPlugins\": {\n    \"iothackbot\": true\n  }\n}\n```\n\nThen restart Claude Code for the settings to take effect.\n\n**Option 3: Project-specific setup**\n\nFor use within a specific project, the skills are also available via the `.claude/skills/` symlink for backwards compatibility.\n\n## Tool Architecture\n\nAll tools follow a consistent design pattern:\n\n- **CLI Layer** (`tools/iothackbot/*.py`) - Command-line interface with argparse\n- **Core Layer** (`tools/iothackbot/core/*_core.py`) - Core functionality implementing ToolInterface\n- **Binary** (`bin/*`) - Executable wrapper scripts\n\nThis separation enables:\n- Easy automation and chaining\n- Consistent output formats (text, JSON, quiet)\n- Standardized error handling\n- Tool composition and pipelines\n\n## Configuration\n\n### IoT Detection Rules\n`config/iot/detection_rules.json` - Custom IoT protocol detection rules for iotnet\n\n### Wordlists\n- `wordlists/onvif-usernames.txt` - Default usernames for ONVIF devices\n- `wordlists/onvif-passwords.txt` - Default passwords for ONVIF devices\n\n## Development\n\n### Adding New Tools\n\nSee `TOOL_DEVELOPMENT_GUIDE.md` for detailed information on:\n- Project structure standards\n- Development patterns\n- Output formatting guidelines\n- Testing and integration\n\n### Key Interfaces\n\n- **ToolInterface** - Base interface for all tools\n- **ToolConfig** - Standardized configuration object\n- **ToolResult** - Standardized result object with success, data, errors, and metadata\n\n## Output Formats\n\nAll tools support multiple output formats:\n\n```bash\n# Human-readable text with colors (default)\nonvifscan auth 192.168.1.100\n\n# Machine-readable JSON\nonvifscan auth 192.168.1.100 --format json\n\n# Minimal output\nonvifscan auth 192.168.1.100 --format quiet\n```\n\n## Security & Ethics\n\n**IMPORTANT**: These tools are designed for authorized security testing only.\n\n- Only test devices you own or have explicit permission to test\n- Respect scope limitations and rules of engagement\n- Be aware of the impact on production systems\n- Use appropriate timing to avoid denial of service\n- Document all testing activities\n- Follow responsible disclosure practices\n\n## Contributing\n\nContributions are welcome! Please ensure:\n\n- New tools follow the architecture patterns in `TOOL_DEVELOPMENT_GUIDE.md`\n- All tools support text, JSON, and quiet output formats\n- Code includes proper error handling\n- Documentation is clear and comprehensive\n\n## License\n\nMIT License - See LICENSE file for details\n\n## Disclaimer\n\nThis toolkit is provided for educational and authorized security testing purposes only. Users are responsible for ensuring they have proper authorization before testing any systems. The authors are not responsible for misuse or damage caused by this toolkit.\n",
  "bytes": 7917,
  "sha": "474cb9fe4ba06b091fd991e23a44e381db6ee883fccc52fa9d5a2d4d9ec32d39",
  "repo_slug": "brownfinesecurity/iothackbot",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_brownfinesecurity_iothackbot_skills_wsdi_068e024f/readme"
}