The Klyda mission has been created to assist in fast credential primarily based assaults in opposition to on-line internet purposes.
Klyda helps the use from easy password sprays, to massive multithreaded dictionary assaults.
Klyda is a brand new mission, and I’m in search of any contributions. Any assist could be very appreciated.
Klyda presents easy, simple to recollect utilization; nevertheless, nonetheless presents configurability to your wants:
- Mulithreaded duties
- Mix wordlists for bigger scale assaults
- Blacklisting information to slender down outcomes
- Restrict thread pace for sneaky functions
1) Clone the Git repo to your machine, git clone https://github.com/Xeonrx/Klyda
2) Cd into the Klyda listing, cd Klyda
3) Set up the neccessary modules through Pip, pip set up requests beautifulsoup4 colorama numpy
4) Show the Klyda assist immediate for utilization, python3 klyda.py -h
Klyda has been primarily designed for Linux, however ought to work on any machine able to operating Python.
What Klyda must work are solely 4 easy dependencies: URL to assault, username(s), password(s), and formdata.
The URL
You may parse the URL through the --url
tag. It ought to look one thing like this, --url http://127.0.0.1
Keep in mind to by no means launch an assault on a webpage, that you do not have correct permission to take action.
Usernames
Usernames are the principle goal to those dictionary assaults. It might be a complete vary of usernames, a number of in particular, or maybe only one. That is all of your resolution when utilizing the script. You may specify usernames in a number of methods…
1) Specify them manually, -u Admin User123 Visitor
2) Give a file to make use of, or a number of to mix, -U customers.txt further.txt
3) Give each a file & handbook entry, -U customers.txt -u Johnson924
Passwords
Passwords are the exhausting half to those assaults. You do not know them, therefore why dictionary & brute pressure assaults exists. Just like the usernames, you may give from only one password, as much as nevertheless many you need. You may specify passwords in a number of methods…
1) Specify them manually, -p password 1234 letmein
2) Give a file to make use of, or a number of to mix, -P passwords.txt further.txt
3) Give each a file & handbook entry, -P passwords.txt -p redklyda24
FormData
FormData is the way you type the request, so the goal web site can take it in, and course of the given data. Often you would want to specify a: username worth, a password worth, and typically an additional worth. You may see the FormData your goal makes use of by reviewing the community tab, of your browsers examine factor. For Klyda, you employ the -d
tag.
It is advisable to use placeholders to Klyda is aware of the place to inject within the username & password, when fowarding out its requests. It could look one thing like this… -d username:xuser password:xpass Login:Login
xuser
is the placeholder to inject the usernames, & xpass
is the placeholder to inject the passwords. Ensure you know these, or Klyda will not have the ability to work.
Format the FormData as (key):(worth)
Blacklists
With a purpose to Klyda to know if it hit a profitable strike or not, you’ll want to give it information to dig by way of. Klyda takes use of given blacklists from failed login makes an attempt, so it might inform the distinction between a failed or full request. You may blacklist three several types of information…
1) Strings, --bstr "Login failed"
2) Standing Codes, --bcde 404
3) Content material Size, --blen 11
You may specify as a lot information for every blacklist as wanted. If any of the given information will not be discovered from the response, Klyda provides it a “strike”, saying it was a profitable login try. In any other case if information within the blacklists is discovered, Klyda marks it as an unsuccessful login try. Because you give the information for Klyda to judge, false positives are non-apparent.
In the event you do not give any information to blacklist, then each request might be marked as a strike from Klyda!
Charge limiting & Threads
By default, Klyda solely makes use of a single thread to run; however, you may specify extra, utilizing the -t
tag. This may be useful for rushing up your work.
Nevertheless, credential assaults could be very loud on a community; therefore, are detected simply. A focused account may merely simply receieve a easy lock on account of too many login makes an attempt. This creates a DoS assault, however prevents you from gaining the customers’s credentials, which is the objective of Klyda.
So to make these assaults rather less loud, you may take use of the --rate
tag. This lets you restrict your threads to a sure variety of requests per minute.
It is going to be formatted like this, --rate (# of requests) (minutes)
For instance, --rate 5 1
will solely ship out 5 requests for every minute. Keep in mind, that is for every thread. In the event you had 2 threads, this may ship 10 requests per minute.
Instance
Check Klyda out on the Rattling Weak Internet App (DVWA), or Mutillidae.
python3 klyda.py --url http://127.0.0.1/dvwa/login.php -u consumer visitor admin -p 1234 password admin -d username:xuser password:xpass Login:Login --bstr "Login failed"
python3 klyda.py --url http://127.0.0.1/mutillidae/index.php?web page=login.php -u root -P passwords.txt -d username:xuser password:xpass login-php-submit-button:Login --bstr "Authentication Error"
The Future
Like talked about earlier, Klyda continues to be a piece in progress. For the longer term, I plan on including extra performance and reformating code for a cleaner look.
My prime piority is so as to add proxy performance, and am presently engaged on it.