Skip to content

Medusa

Description

This module implements attacking capabilities of the Medusa bruteforce tool.

Prerequisites

Medusa must be installed.

Input parameters

target

Bruteforce target.

Name Type Required Default value Example value
target string 127.0.0.1

mod

mod (service) to attack.

Name Type Required Default value Example value
mod string ssh ftp

tasks

Number of login pairs tested concurrently.

Name Type Required Default value Example value
tasks integer 4 8

options

Additional Medusa parameters.

Name Type Required Default value Example value
options string -t 3

credentials

Group for credentials input.

Name Type Required Default value Example value
credentials object {"combo_file": "/path/to/file"}

Specify either combo_file or one of each username (username/username_file) and password (password/password_file) parameters:

username

Username to bruteforce.

Name Type Required Default value Example value
username string username

username_file

Absolute path to file with usernames to bruteforce.

Name Type Required Default value Example value
username_file string /path/to/file

password

Password to bruteforce.

Name Type Required Default value Example value
password string password

password_file

Absolute path to file with passwords to bruteforce.

Name Type Required Default value Example value
password_file string /path/to/file

combo_file

Absolute path to file with login pairs to bruteforce. The file should be in format username:password. More information can be found here.

Name Type Required Default value Example value
combo_file string /path/to/file

command

Medusa command to run with syntax as in command line (with executable).

Name Type Required Default value Example value
command string medusa -u user -p pass -h <target> -M ssh

Examples

SSH bruteforce

Input:

module_arguments:
  target: CHANGE_ME
  raw_output: true
  credentials:
    username: vagrant
    password: vagrant
  tasks: 4

Output:

{
  "result": "ok", 
  "output": "Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>\n\nACCOUNT CHECK: [ssh] Host: 192.168.56.3 (1 of 1, 0 complete) User: vagrant (1 of 1, 0 complete) Password: vagrant (1 of 1 complete)\nACCOUNT FOUND: [ssh] Host: 192.168.56.3 User: vagrant Password: vagrant [SUCCESS]\n", 
  "serialized_output": {"username": "vagrant", "password": "vagrant", "all_credentials": [{"username": "vagrant", "password": "vagrant"}]}
}

Custom command

Input:

module_arguments:
  command: medusa -t 4 -u vagrant -p vagrant -h <target> -M ssh

Output:

{
  "result": "ok", 
  "output": "Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>\n\nACCOUNT CHECK: [ssh] Host: 192.168.56.3 (1 of 1, 0 complete) User: vagrant (1 of 1, 0 complete) Password: vagrant (1 of 1 complete)\nACCOUNT FOUND: [ssh] Host: 192.168.56.3 User: vagrant Password: vagrant [SUCCESS]\n", 
  "serialized_output": {"username": "vagrant", "password": "vagrant", "all_credentials": [{"username": "vagrant", "password": "vagrant"}]}
}

Troubleshooting

So far so good.

Output serialization

Only the credentials are serialized. They're parsed from the output.

serialized_output contains:

Parameter name Parameter description
username First username found during bruteforce.
password First password found during bruteforce.
all_credentials List of dictionaries containing all the credentials found in bruteforce.