mcpField
O
onvifscan

onvifscan

github.com/brownfinesecuritySecurity87555 installsUpdated 21w ago
Repository

About onvifscan

A skill for security testers using onvifscan to assess ONVIF devices such as IP cameras. It supports authentication checks and credential brute-forcing with configurable wordlists and output formats.

Key features

  1. 01Test ONVIF endpoint authentication
  2. 02Brute-force endpoint credentials
  3. 03Configure username and password wordlists
  4. 04Text, JSON, or quiet output

Use cases

  1. 01Check a camera for unauthenticated access
  2. 02Test protected endpoints with wordlists
  3. 03Review scan output in scripts or reports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/brownfinesecurity/iothackbot --skill onvifscan

After installing, type/onvifscanin Claude Code to confirm it loaded.

Details

From the project README

Onvifscan - ONVIF Security Scanner

You are helping the user scan ONVIF devices for security issues including authentication bypasses and weak credentials using the onvifscan tool.

Tool Overview

Onvifscan is an ONVIF device security scanner that can:

  • Test for unauthenticated access to ONVIF endpoints
  • Perform credential brute-forcing attacks

Instructions

When the user asks to scan ONVIF devices, test IP cameras, or assess IoT device security:

  1. Determine scan type:

    • auth: Authentication and access control testing (recommended to start)
    • brute: Credential brute-forcing on password-protected endpoints
  2. Get target information:

    • Ask for the device URL/IP
    • Determine which scan type to run
    • Check if they have custom wordlists
  3. Execute the scan:

    • Use the onvifscan command from the iothackbot bin directory
    • Format: onvifscan <subcommand> <url> [options]

Subcommands

Auth Scan

Tests ONVIF endpoints for authentication requirements:

onvifscan auth http://192.168.1.100

Options:

  • -v, --verbose: Show full XML responses
  • -a, --all: Test ALL endpoints including potentially destructive ones
  • --format text|json|quiet: Output format
Brute Force

Attempts credential brute-forcing on protected endpoints:

onvifscan brute http://192.168.1.100

Options:

  • --usernames <file>: Custom usernames wordlist (default: built-in onvif-usernames.txt)
  • --passwords <file>: Custom passwords wordlist (default: built-in onvif-passwords.txt)
  • --format text|json|quiet: Output format

Examples

Quick auth check on a device:

onvifscan auth 192.168.1.100

Auth check with verbose output:

onvifscan auth http://192.168.1.100:8080 -v

Brute force with custom wordlists:

onvifscan brute 192.168.1.100 --usernames custom-users.txt --passwords custom-pass.txt

Important Notes

  • URLs can omit http:// - it will be added automatically
  • Auth scan is non-destructive and safe to run
  • Use -a flag with caution - may test destructive endpoints
  • Brute force is rate-limited to prevent device overload (max 20 attempts by default)
  • Built-in wordlists located in wordlists/ directory

Comments

Markdown supported