UNIX口令破解机

    在编写我们的UNIX口令破解机时,我们需要使用UNIX 计算口令hash 的crypt()算法。Python 标准库中已自带有crypt 库。要计算一个加密的UNIX 口令hash,只需调用函数crypt.crypt(),并将口令和salt 作为参数传递给它。该函数会以字符串形式返回口令的hash。

设计思路:

    黑客穷举了字典中所有单词,并用Unix crypt() 函数对它们加密,然后将结果偷来的加密密码进行对比。 这就是:字典攻击法 ,来破解加密的口令。

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
环境:Ubuntu
      Python3.5.2
       
# -*- coding: UTF-8 -*-
#破解UNIX口令密码
import crypt
 
def testPass(cryptPass):    #穷举密码
  salt = cryptPass[0:2]
  dicFile = open('dicfile.txt', 'r')
  if salt == '$6':
    for word in dicFile.readlines():
      word = word.strip()
      cryptWord = crypt.crypt(word,cryptPass)
      if cryptWord == cryptPass:
        print('[+] Found Password:' + word)
        return
    else:
      print('[-] Not Found Password')
      return
  else:
    for word in dicFile.readlines():
      word = word.strip()
      cryptWord = crypt.crypt(word, salt)
      if cryptWord == cryptPass:
        print('[+] Found Password:' + word)
        return
    else:
      print('[-] Not Found Password')
      return
 
def main():     #处理口令文件
  passFile = open('passwords.txt','r')
  for line in passFile.readlines():
    if ':' in line:
      user = line.split(':')[0]
      cryptPass = line.split(':')[1].strip()
      print('[*] Cracking Password For: ' + user)
      testPass(cryptPass)
 
if __name__ == '__main__':
  main()

 

get源代码戳我

 

posted @   ZhiChao&  阅读(791)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示