Updated Jul 14, 2026

Scanners

patator: brute-force SSH, FTP, and HTTP logins

Modular multi-protocol credential brute forcer with response filtering.

Agent

overview

What patator does

After host and service discovery, run patator as the credential-testing stage. Choose a module (ssh_login, ftp_login, http_fuzz, mysql_login), feed hosts, users, and passwords, and collect FILE and FOLDER results.

Control the run with --threads, --rate-limit, and --timeout. ignore-regex drops failed-login noise. --start and --stop offset the payload product so long jobs can resume. --groups switches cartesian product to lockstep.

Prefer hydra or medusa for simple parallel sprays across many protocols. Prefer patator when you need modular response filtering and payload offsets. A Hits/Done/Skip/Fail/Size line of all zeros usually means empty wordlists or a bad FILEn path.

source github.com/lanjelot/patator

use cases

Where patator fits

Brute force credentials over many protocols

Select the module for the service, then feed username and password files to test logins across SSH, FTP, HTTP, MySQL, and more with one engine.

Filter out failed-login noise

Set a condition on the response so patator drops attempts that match a failure pattern and reports only the ones that look like a valid login.

Control combinations and pacing

Iterate payload sets as a cartesian product or in lockstep, set --threads, and add a --rate-limit to stay within a target's tolerance.

Resume a large run

Set --start to an offset in the combined payload space to pick up a long brute-force run where it stopped instead of restarting from zero.

reference

patator inputs and flags

16 inputs
NameTypeFlagDescription
moduleSTRING·Module name selecting the protocol or service to test (ssh_login, ftp_login, http_fuzz, mysql_login).
hostsFILE·List of host:port targets.
usersFILE·Usernames to test.
passwordsFILE·Passwords to test.
threadsSTRING--threadsNumber of threads (default 10).
rate-limitSTRING--rate-limitWait N seconds between each attempt (default 0).
ignore-regexSTRING·Do not report responses that match this regex.
startSTRING--startStart from offset N in the product of all payload sets.

Showing key inputs. patator exposes 16 inputs in total.

Full flag reference (16 inputs)
NameTypeFlagDescription
yesBOOLEAN-yautomatically answer yes for all questions
stopSTRING--stopstop at offset N
debugBOOLEAN--debugenable debug messages
hostsFILE·list of host:port targets
startSTRING--startstart from offset N in the product of all payload sets
usersFILE·usernames to test
groupsSTRING--groupsiterate over payload sets simultaneously (pitchfork) instead of the cartesian product; default is '0,1..n'
moduleSTRING·module name
threadsSTRING--threadsnumber of threads (default is 10)
timeoutSTRING--timeoutwait N seconds for a response before retrying payload (default is 0)
passwordsFILE·passwords to test
rate-limitSTRING--rate-limitwait N seconds between each attempt (default is 0)
max-retriesSTRING--max-retriesskip payload after N retries (default is 4) (-1 for unlimited)
ignore-regexSTRING·do not report responses that match this regex
auto-progressSTRING--auto-progressautomatically display progress every N seconds
condition-delimiterSTRING-Xdelimiter string in conditions (default is ',')

example

Run patator

patator · command
# SSH login brute force, drop failed attempts, paced at 1spatator ssh_login host=198.51.100.10 user=FILE0 password=FILE1 0=users.txt 1=passwords.txt --threads 5 --rate-limit 1 -x ignore:mesg='Authentication failed'
sample output
17:42:03 patator    INFO - Starting Patator v1.0 (https://github.com/lanjelot/patator)17:42:03 patator    INFO - code  size    time | candidate                        |   num | mesg17:42:03 patator    INFO - -----------------------------------------------------------------17:42:05 patator    INFO - 1     22      0.031 | root:root                        |     3 | Authentication failed.17:42:06 patator    INFO - 1     22      0.028 | admin:admin                      |    11 | Authentication failed.17:42:08 patator    INFO - 0     40      0.412 | deploy:s3cret2026                |    27 | SSH-2.0-OpenSSH_8.917:42:11 patator    INFO - Hits/Done/Skip/Fail/Size: 1/40/0/0/4017:42:11 patator    INFO - Time: 0h 0m 8s.

guidance

Choosing patator

Use patator for multi-protocol credential testing with precise response filtering after host and port discovery. For a single HTTP panel form, a dedicated tool or hydra http-post-form may be simpler. For broad AD or SMB spraying, prefer netexec.

hydra

Parallel login cracker across many protocols. patator adds modular response filtering and payload offsets.

medusa

Another parallel brute forcer. patator makes hit-versus-noise separation easier via ignore-regex and conditions.

netexec

Multi-protocol enumeration and spraying. patator is the focused per-module brute-force engine.

faq

patator questions

Size 0 means no payloads loaded — empty wordlists or a FILEn path that does not resolve. Confirm users and passwords files have contents and map to real paths, then re-run.

Run patator yourself

A host list and username and password files feed patator, which brute forces the service and writes the valid credentials as a queryable output.

Facts on this page come from the live Trickest tool library.