ronin-wordlists
Description
ronin-wordlists is a library and tool for managing wordlists. ronin-wordlists can install and update wordlists, and contains a curated list of popular wordlists and their download URLs.
Features
- Installs, updates, and manages wordlist files and Git repositories.
- Contains a curated list of popular wordlists and their download URLs.
- Allows looking wordlists up by name, instead of explicit path.
- Supports searching for wordlists in
/usr/share/wordlists
(Kali Linux and BlackArch Linux),/usr/local/wordlists
, and~/.cache/ronin-wordlists/wordlists
directories.
Synopsis
$ ronin-wordlists
Usage: ronin-wordlists [options]
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
download, install
help
list, ls
purge
remove, rm
search
update, up
List popular wordlists available for download or installation:
$ ronin-wordlists search
[ alexa-top-1000 ]
* URL: https://github.com/urbanadventurer/WhatWeb/blob/master/plugin-development/alexa-top-1000.txt
* Categories: dns, domains
* Summary: The Alexa Top 1000 domain names.
[ subdomains ]
* URL: https://raw.githubusercontent.com/rbsec/dnscan/master/subdomains.txt
* Categories: dns, subdomains
* Summary: List of common subdomain names used by the dnscan util.
...
Download a known wordlist:
ronin-wordlists download rockyou
Download a wordlist from a URL:
ronin-wordlists download https://example.com/path/to/wordlist.gz
Update all downloaded wordlists:
ronin-wordlists update
Update a specific wordlist:
ronin-wordlists update SecLists
Examples
Open a wordlist by name:
require 'ronin/wordlists'
wordlist = Ronin::Wordlists.open('alexa-top-1000')
# =>
# #<Wordlist::File:0x00007f7b548bf840
# @format=:txt,
# @path="/home/ronin/.cache/ronin-wordlists/wordlists/alexa-top-1000.txt">
wordlist.each do |word|
# ...
end
Download a custom wordlist into ~/.cache/ronin-wordlists/wordlists
:
Ronin::Wordlists.download('https://...')
List installed wordlists:
Ronin::Wordlists.list
# => #<Set: {"alexa-top-1000.txt", "rockyou.txt", ...}>
Requirements
- Ruby >= 3.0.0
- wordlist ~> 1.1
- ronin-core ~> 0.2
Install
gem install ronin-wordlists
Gemfile
gem 'ronin-wordlists', '~> 0.1'
gemspec
gem.add_dependency 'ronin-wordlists', '~> 0.1'
Development
- Fork It!
- Clone It!
cd ronin-wordlists/
./scripts/setup
git checkout -b my_feature
- Code It!
bundle exec rake spec
git push origin my_feature
License
Copyright (c) 2023-2024 Hal Brodigan (postmodern.mod3@gmail.com)
ronin-wordlists 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-wordlists 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-wordlists. If not, see https://www.gnu.org/licenses/.