#!/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. js判断浏览设备是 手机端,电脑端还是平板端

    console.log(navigator.userAgent); var os = function() { var ua = navigator.userAgent, isWindowsPhone ...

  2. 队列&优先队列

    1.队列 普通的队列都是先进先出,元素从队尾添加,从队头删除. function queue(){ var arr=[]; this.enqueue=function(item){ arr.push( ...

  3. SQLSTATE[HY000] [2002] 错误

    http://www.thinkphp.cn/topic/36194.html 使用tp框架 3.2.3 ,在windows上跑的时候没有任何问题,但是部署到linux系统和是哪个,就会报这个错,不知 ...

  4. 【t074】上学路线

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 你所在城市的街道好像一个棋盘,有a条南北方向的街道,和b条东西方向的街道. 南北方向的a条街道从西到东 ...

  5. pytorch中squeeze()和unsqueeze()函数介绍

    一.unsqueeze()函数 1. 首先初始化一个a 可以看出a的维度为(2,3) 2. 在第二维增加一个维度,使其维度变为(2,1,3) 可以看出a的维度已经变为(2,1,3)了,同样如果需要在倒 ...

  6. 洛谷P2146 [NOI2015]软件包管理器 题解 树链剖分+线段树

    题目链接:https://www.luogu.org/problem/P2146 本题涉及算法: 树链剖分: 线段树(区间更新及求和,涉及懒惰标记) 然后对于每次 install x ,需要将 x 到 ...

  7. tf.reduce_sum()函数

    1234567reduce_sum 是 tensor 内部求和的工具.其参数中: input_tensor 是要求和的 tensor axis 是要求和的 rank,如果为 none,则表示所有 ra ...

  8. H3C 显示OSPF邻居信息

  9. windows常用命令行命令

    https://blog.csdn.net/qq_32451373/article/details/77743869 打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗 ...

  10. vue-learning:7-template-v-bind-with-class-and-style

    绑定元素样式的指令v-bind:class 和v-bind:style 在HTML元素结构中,class和style特性(attribute)是非常突出的,可以为元素添加样式属性(property). ...