Vulnerability Analysisdefault-credentialsscannerbrute-forceprotocolsyaml

changeme

changeme is a default credential scanner that detects common default credentials missed by commercial vulnerability scanners. It allows easy addition of new credentials via yaml files without writing code.

Description

Commercial vulnerability scanners often miss common default credentials, and adding them is difficult and slow. changeme addresses this by providing a simple tool to scan for default credentials across various protocols. It keeps credential data separate from code, storing all credentials in human-readable yaml files that can be easily created or modified.

Use cases include scanning networks, hosts, or services for weak default credentials during penetration testing or security assessments. It supports targets like IPs, subnets, hostnames, nmap xml files, or protocol-specific endpoints, making it versatile for different scanning scenarios.

The tool is designed for simplicity, with features like credential file creation via a guided tool and dumping available credentials for review.

How It Works

changeme scans targets for default credentials using yaml-stored credential pairs, supporting http/https, MSSQL, MySQL, Postgres, ssh, and ssh w/key protocols. It processes targets specified as IP, subnet, hostname, nmap xml file, text file, or proto://host:port. Credentials are kept separate from code for easy maintenance; new ones can be added with ./changeme.py --mkcred by answering questions. Use ./changeme.py --dump to list all available credentials.

Installation

bash
sudo apt install changeme

Flags

-h, --helpshow this help message and exit
--all, -aScan for all protocols
--category, -c CATEGORYCategory of default creds to scan for
--contributorsDisplay cred file contributors
--debug, -dDebug output
--delay, -dl DELAYSpecify a delay in milliseconds to avoid 429 status codes default=500
--dumpoutput all of the currently available credentials
--mkcredtool to create credential files by answering questions
--fingerprintEnable fingerprinting
--threads THREADSNumber of threads to use

Examples

Display the help message and usage information for the tool
changeme -h
Create a new credential yaml file by answering a few questions
./changeme.py --mkcred
Output all of the currently available credentials
./changeme.py --dump
Scan a single IP address for default credentials
changeme 192.168.1.1
Scan an entire subnet for default credentials
changeme 192.168.1.0/24
Scan a hostname for default credentials
changeme example.com
Scan using an nmap xml file as target input
changeme nmap_output.xml
Scan a specific protocol host and port for default credentials
changeme http://target:8080
Updated 2026-04-16kali.org ↗