moby
Description
"Sometimes when they go fishing, they get a whale and it sinks their boat."
Moby is a credentials poisoning tool which floods phishing forms with fake credentials. When phishing operations collect data, the overwhelming volume of fake credentials makes the collected data worthless.
Use responsibly. Only target confirmed phishing sites.
Installation
Prerequisites
- Some version of Ruby.
- *nix, so that it has access to /usr/share/dict/words.
1. via RubyGems
$ gem install moby.rb2. via Bundler
Add to your Gemfile:
gem 'moby.rb'Then run:
$ bundle install3. via Homebrew
$ brew tap thoran/tap
$ brew install thoran/tap/moby4. via git
$ git clone git@github.com:thoran/moby.git
$ cd moby
$ bundle install
$ rake testUsage
From the command line
1. Specify form name and field names
$ moby --url https://phishing.site --form_name form-name --username_field_name login --password_field_name password2. Specify form name and field names with short switches
This is the same as above, but using alternate switches:
$ moby --url https://phishing.site --f form-name --user_field login --pass_field password3. Specify form number and field numbers
This selects the second form on the page (using zero-based indexing) and the first and second fields:
$ moby --url https://phishing.site --form_number 1 --username_field_number 0 --password_field_number 14. Specify form number and field numbers with short switches
This selects the second form on the page (using zero-based indexing) and the first and second fields:
$ moby --url https://phishing.site --form_number 1 --user_field_number 0 --pass_field_number 15. Specify nothing but the URL
$ moby --url https://phishing.siteThis is equivalent to:
$ moby --url https://phishing.site --form_number 0 --username_field_number 0 --password_field_number 16. With other options
$ moby --url https://phishing.site --debug --user_agent 'Mozilla/5.0' --username_hostname mydomain.com --username_is_email_address --verboseNote that username_hostname is useful only if username_is_email_address is true.
From within Ruby
1. Specify form name and field names
require 'moby'
moby = Moby.new(
url: 'https://phishing.site',
form_name: 'form-name',
username_field_name: 'login',
password_field_name: 'password'
)
moby.counter_phish2. Specify form number and field numbers
This selects the second form on the page (using zero-based indexing) and uses the first and second fields therein:
require 'moby'
moby = Moby.new(
url: 'https://phishing.site',
form_number: 1,
username_field_number: 0,
password_field_number: 1,
)
moby.counter_phish3. Specify nothing but the URL
require 'moby'
moby = Moby.new(
url: 'https://phishing.site',
)
moby.counter_phishThis is equivalent to:
require 'moby'
moby = Moby.new(
url: 'https://phishing.site',
form_number: 0,
username_field_number: 0,
password_field_number: 1,
)
moby.counter_phish4. With other options
require 'moby'
moby = Moby.new(
url: 'https://phishing.site',
debug: true,
user_agent: 'Mozilla/5.0',
username_hostname: 'mydomain.com', # Only useful if username_is_email_address is true.
username_is_email_address: true,
verbose: true
)
moby.counter_phishNote that there's no equivalent short names for constructor arguments.
Contributing
- Fork it:
https://github.com/thoran/moby/fork - Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Create a new pull request