#!/usr/bin/env python
# -*- coding:UTF-8 -*- import crypt
import sys # 哈希密码的前两位就是盐的前两位,这里我们假设盐只有两位。
# 程序分两部分,一部分是打开字典,另一部分是哈希匹配密码 #standard DES, two salt
def desPass(cryptpass):
#get salt from the front place
saltf = cryptpass[0:2]
return saltf #for $6$
def sha512Pass(cryptpass):
saltf = "$6$"+cryptpass.split("$")[2]
return saltf #for $5$
def sha256Pass(cryptpass):
saltf = "$5$"+cryptpass.split("$")[2]
# saltf = "$5$rounds=5000$anexamplestringf"
return saltf def main():
banner = '''
python CrackPass.py 5
one params is type for you are cracking
0 ---- standard DES for 2 salt
5 ---- sha256 crypt $5$salt$secret
6 ---- sha512 crypt $6$salt$secret salt contains $5$salt
if $salt contain "$",will cause inaccuracy. Maybe you need set the salt by your hand,for example:# saltf = "$5$rounds=5000$anexamplestringf"
'''
print banner
method = sys.argv[1]
passfile = open('Password','r')
#从文件中一行一行读取
for line in passfile.readlines():
cryptpass = line.strip()
print "Cracking Password For: %s"%cryptpass #select type
if method == "":
salt = desPass(cryptpass)
elif method == "":
salt = sha512Pass(cryptpass)
elif method == "":
salt = sha256Pass(cryptpass)
print salt
dictfile = open('dictionary','r')
for word in dictfile.readlines():
word = word.strip('\n')
cryWord = crypt.crypt(word,salt) if cryptpass == cryWord:
print "Found passwd: %s"%word
print "ok"
return
print "Password not found!" if __name__ == '__main__':
main()

现在只写了$6$  $5$开头的和一种普通的DES两位盐加密的

爆破linux一般用¥6¥

注意一般密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文

真正的盐值包括ID部分,我上面判断salt是根据$分割,默认是密文中只有三个$

有时salt中本来就含有$,

这时就需要自己指定salt了,saltf = "$5$rounds=5000$anexamplestringf"

可以观察出来,观察不出来,就多尝试

我的  QQ921658495  希望与大家交流

爆破linux密码 $6$3uwqC9JI$d9iPRmTDAoXs/IbsplxS3iyeErHqw7fUycacXNHyZk1UCSwFEydl515/zXN7OEwHnyUaqYcNG的更多相关文章

  1. 爆破root密码hash John the Ripper和hydra爆破ssh密码

    官方网站:http://www.openwall.com/john/ 下载:wget http://www.openwall.com/john/j/john-1.8.0.tar.gz 解压:tar - ...

  2. 使用单用户模式破解Linux密码

    使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击 ...

  3. 使用John the ripper工具来尝试破解Linux密码

    这篇文章主要介绍了使用John the ripper工具来尝试破解Linux密码的方法,这款工具可能主要被用来破解系统用户的密码以获得文件操作权限,需要的朋友可以参考下 John有别于Hdra之类的工 ...

  4. 修复linux密码

    To reset the root password of your server, you will need to boot into single user mode. Access the M ...

  5. Python 破解Linux密码

    简介:因为Linux的密码都是加密过的(例如:$6$X.0bBN3w$NfM7YYHevVfCnZAVruItAEydaMJCF.muefZsxsgLK5DQoahW8Pqs1BSmoAFfi5J/b ...

  6. 忘记linux密码

    http://blog.163.com/xygzlyq@126/blog/static/22585899200810471512530/

  7. 使用sha512算法加密linux密码

    查看当前主机的加密算法: [root@realserver ~]# authconfig --test |grep hashing password hashing algorithm is sha5 ...

  8. 一条命令修改Linux密码

    方法一.直接使用passwd命令 /bin/echo newpass|/usr/bin/passwd --stdin username *注:该方式只适用于红帽系操作系统,比如centos,redha ...

  9. python多线程爆破压缩包密码

    import zipfile from threading import Thread #多线程库 import optparse #选定字典或者文件 def extractFile(zfile,pa ...

随机推荐

  1. vue2——指令渲染,{{}}渲染

    博客地址 :https://www.cnblogs.com/sandraryan/ 声明式的渲染,以{{}}的形式调用数据 <!DOCTYPE html> <html lang=&q ...

  2. 2018-11-19-win10-uwp-使用-Matrix3DProjection-进行-3d-投影

    title author date CreateTime categories win10 uwp 使用 Matrix3DProjection 进行 3d 投影 lindexi 2018-11-19 ...

  3. Android本地数据存储: ASimpleCache

    一:前言 在上一篇博客Android本地数据存储: Reservoir 博客中,我提到,除了Reservoir库,还可以采用ASimpleCache开源库,来实现本地数据存储.昨天并没有仔细的对比Re ...

  4. supersockets支持热更新的服务器实例配置选项

    SuperSocket 支持以下配置选项的热更新: * logCommand * idleSessionTimeOut * maxRequestLength * logBasicSessionActi ...

  5. IDEA中安装activiti并使用

    1.IDEA中本身不带activiti,需要自己安装下载. 打开IDEA中File列表下的Settings 输入actiBPM,然后点击下面的Search...搜索 点击Install 下载 下载结束 ...

  6. spark mllib docs,MLlib: RDD-based API

    MLlib: RDD-based API This page documents sections of the MLlib guide for the RDD-based API (the spar ...

  7. Python--day28--摘要算法

    摘要算法:

  8. Python--day26--面向对象思维导图

  9. 2019-9-2-本文说如何显示SVG

    title author date CreateTime categories 本文说如何显示SVG lindexi 2019-09-02 12:57:38 +0800 2018-2-13 17:23 ...

  10. H3C HDLC协议使用限制