Skip to content

ronin-rb/ronin-brute

Repository files navigation

ronin-brute

CI Code Climate

Description

ronin-brute is a micro-framework and tool for bruteforcing network services.

Features

  • Uses asynchronous I/O and fibers for concurrent bruteforcing.
  • Supports defining new bruteforcer modules as plain old Ruby class.
  • Supports builtin bruteforcers for:
    • HTTP Basic-Auth
    • HTTP login form
    • FTP
    • POP3
    • IMAP
    • MySQL
    • Telnet
    • SSH
  • Supports loading additional bruteforcer modules from Ruby files or from installed 3rd-party git repositories.

Synopsis

$ ronin-brute
Usage: ronin-brute [options] [COMMAND [ARGS...]]

Options:
    -V, --version                    Prints the version and exits
    -h, --help                       Print help information

Arguments:
    [COMMAND]                        The command name to run
    [ARGS ...]                       Additional arguments for the command

Commands:
    completion
    help
    list
    run
    show

List available bruteforcers:

$ ronin-brute list
  ftp
  http/basic_auth
  http/login
  imap
  mysql
  pop3
  ssh
  telnet

Install a 3rd-party repository of bruteforcers:

$ ronin-repos install https://github.com/user/bruteforcers.git

Print additional information about a specific bruteforcer:

$ ronin-brute show NAME

Run a bruteforcer against a host:

ronin-brute run ftp -U usernames.txt -P passwords.txt -p host=example.com

Examples

Start the bruteforceable http/basic_auth docker container in another terminal. The valid credentials are admin and password1234.

Finds the first valid username and password:

require 'ronin/brute/builtin/http/basic_auth'

Ronin::Brute::HTTP::BasicAuth.find_first(
  usernames: Wordlist.open('usernames.txt'),
  passwords: Wordlist.open('passwords.txt'),
  params: {
    host: '0.0.0.0',
    port: 8000
  }
)
# => ["admin", "password1234"]

Requirements

Install

$ gem install ronin-brute

Gemfile

gem 'ronin-brute', '~> 0.1'

gemspec

gem.add_dependency 'ronin-brute', '~> 0.1'

Development

  1. Fork It!
  2. Clone It!
  3. cd ronin-brute/
  4. ./scripts/setup
  5. git checkout -b my_feature
  6. Code It!
  7. bundle exec rake spec
  8. git push origin my_feature

License

Copyright (c) 2023-2024 Hal Brodigan ([email protected])

ronin-brute is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ronin-brute is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with ronin-brute. If not, see https://www.gnu.org/licenses/.

About

[WIP] A micro-framework and tool for bruteforcing credentials.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published