What’s this project?

This project aims to perform a library/tool make a SSH brute force password attack that you can use as a library as a command line tool.

The goal of ktcal2 is that it uses new non-blocking I/O AsyncIO framework, included Python 3.4.

Some links:


This project is BSD... Copy it! And, if you remember, please mention me in credits :)

How to install


sudo python3.4 -m pip install ktcal2
python3.4 kt-cal2 -h


git clone ktcal2
cd ktcal2
sudo python3.4 -m pip -r requirements.txt install
cd ktcal2/bin
python3.4 -h

How use it?

You can use this project in command line tool or as a library, in your Python projects.

As a tool

You can test SSH passwords, using a wordlist or brute forcer password generation.

Using wordlist

Basic usage:

python3.4 --password-wordlist my_password_list.txt -u root

Using user name wordlist:

python3.4 --password-wordlist my_password_list.txt --user-wordlist user_names.txt

Using password wordlist brute force

ktcal2 can generates all combinations of wordlist based in rules.

If we want to generate all combinations, with 4 word length (–max-length 4) using only numbers (-N), 0000-9999:

python3.4 -u root --max-length 4 -N

All combinations. 2 max and minimum length, only numbers 00-99:

python3.4 -u root -N --max-length 2 --min-length 2

All combinations. 2 max and minimum length. Using numbers, low and upper letters (00..aa..AA):

python3.4 -u root -N -c -C --max-length 2 --min-length 2

As a library

from ktcal2.api import run
from import GlobalParameters

def custom_display(message):
    """Displays debug info in a custom way"""
    print("----->>> %s <<<-----" % message)

if __name__ == "__main__":
    # Configure password generator, for brute forcer mode.
    password_config = PasswordConfig(low_chars=True,

    # Configure global parameters
    config = GlobalParameters(target="127.0.0.",

                              # If we wan to display info

                              # Net options

                              # Credentials


Indices and tables