linux 密码保存在

/etc/shadow

shadow 文件的保存格式

python:$$mWSyC6Pv$hpMreQT77R9ML/Xx1QnRAow1tUTDjIowaTssV7bZw9S44FXYd93kfrFQ8Y2vpj/bQfrub/Q.Z6XkYDt4gAUBE0:::::::

加密格式:

{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}

密码域密文也是由三部分组成的,即:$id$salt$encrypted。

id为1时,采用md5进行加密;

id为5时,采用SHA256进行加密;

id为6时,采用SHA512进行加密。

在python中有一个crypt 模块可以进行密码计算,而且不用我们担心加密方式是什么。

crypt 方法接收两个参数,第一个是需要加密的明文,第二个参数是 salt.

linux salt 为 $6$mWSyC6Pv$ 形式 其中6表示加密方式 sha512

>>> import crypt
>>> crypt.crypt('sdssdd','$6$mWSyC6Pv$')
'$6$mWSyC6Pv$8AhSQcqAsoGsMIFHnLhvCRf4cg5gWvPHhWtliw39yIGUYwK5uODO6bzL7GUxD.X.U5N14m3MA0Pikf5fsyO0/'
>>>
>>>

shadow 只有超级用户才有权限查看,所以拷贝出来的shadow文件需要修改权限

chmod  shadow

代码实现

import crypt

def testPass(cryptPass):
salt = cryptPass[0:12] # 获取加密方式以及密码盐
try:
dictFile = open('dictionary', 'r') # 打开密码字典
try:
for word in dictFile.readlines():
word = word.strip('\n')
cryptWord = crypt.crypt(word, salt) # 将字典中读取的铭文密码通过加密与shadow密码进行判断
if cryptWord == cryptPass:
print('[+] Found Password: ' + word + "\n")
return
print('[-] Password not Found.\n')
return
except:
dictFile.close()
except:
print('[-] dictionary 文件无法打开')
exit(0) def main():
try:
passFile = open('shadow') # 打开shadow文件
try:
for line in passFile.readlines(): # 一行一行读取
if ":" in line:
user = line.split(':')[0] # 利用 : 分隔 获取用户名
cryptPass = line.split(':')[1].strip(' ') #去掉前后空格
print('[*] Cracking Password For : ' + user)
testPass(cryptPass)
except:
passFile.close()
except:
print('[-] shadow 文件无法打开') if __name__ == '__main__':
main()

linux密码暴力破解机的更多相关文章

  1. Python 黑客 --- 002 入门级 ZIP压缩文件口令暴力破解机

    Python 黑客 入门级实战:ZIP压缩文件口令暴力破解机 使用的系统:Ubuntu 14.04 LTS Python语言版本:Python 2.7.10 V 编写zip 压缩文件口令破解器需要使用 ...

  2. SSH密码暴力破解及防御实战

    SSH密码暴力破解及防御实战 一.Hydra(海德拉) 1.1 指定用户破解 二.Medusa(美杜莎) 2.1 语法参数 2.2 破解SSH密码 三.Patator 3.1 破解SSH密码 四.Br ...

  3. Linux下暴力破解工具Hydra详解

    一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ...

  4. linux下暴力破解工具hydra【转】

    一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ...

  5. Kali中密码暴力破解工具hydra的使用

    前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...

  6. 通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解

    0x1 工具和环境介绍 dvwa:渗透测试环境 BurpSuite:强大的WEB安全测试工具 sqlmap:强大的sql注入工具 以上工具和环境都在kali linux上安装和配置. 0x2 步骤说明 ...

  7. 密码暴力破解工具acccheck使用

    title: acccheck categories: Password Attacks tags: [passwords,kali linux,acccheck,infogathering,pass ...

  8. 强力密码暴力破解工具:hydra

    语法: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FIL ...

  9. linux 防暴力破解

    #!/bin/bash SCANIP=`grep "Failed" /var/log/secure* | awk '{print $(NF-3)}'| sort |uniq -c ...

随机推荐

  1. mysql concat_ws 与 concat 多字段模糊匹配应用

    有时我们希望在表中多个字段检索是否有我们给出的关键字,我们可以使用 concat_ws 和 concat 连接需要检索的字段,如: select * from userInfo where conca ...

  2. bzoj千题计划282:bzoj4517: [Sdoi2016]排列计数

    http://www.lydsy.com/JudgeOnline/problem.php?id=4517 组合数+错排公式 #include<cstdio> #include<ios ...

  3. hdu 6166 Senior Pan

    http://acm.hdu.edu.cn/showproblem.php?pid=6166 题意: 给出一张无向图,给定k个特殊点 求这k个特殊点两两之间的最短路 二进制分组 枚举一位二进制位 这一 ...

  4. SQL语句(六)成批导入导出数据

    (六) 成批导入导出数据 假设已经存在teaching数据库, 存在一张Student表,如图: 右键teaching->任务->导入数据 下一步->数据源(Microsoft Ex ...

  5. Spring Cloud(十四)Config 配置中心与客户端的使用与详细

    前言 在上一篇 文章 中我们直接用了本应在本文中配置的Config Server,对Config也有了一个基本的认识,即 Spring Cloud Config 是一种用来动态获取Git.SVN.本地 ...

  6. Jquery教你写一个简单的轮播.

    这个我表示写的不咋地-_-//,但是胜在简单,可优化性不错. 实际上我本来想写个复杂点的结构的,但是最近忙成狗了!!!!所以大家就讲究着看吧 HTML结构 <div class="ba ...

  7. TED_Topic9:How we're priming some kids for college — and others for prison

    Alice Goffman In the United States, two institutions guide teenagers on the journey to adulthood: co ...

  8. ajax函数说明

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  9. Anaconda+django写出第一个web app(七)

    今天来实现如何在页面弹出一些信息,比如注册成功后弹出注册成功的信息.这一点可以通过materialize里的Toasts来实现. django自带的messages可以告诉我们是否注册成功,以及注册失 ...

  10. Dream_Spark版本定制第一课

    从今天起,我们踏上了新的Spark学习旅途.我们的目标是要像Spark官方机构那样有能力去定制Spark. 一.  我们最开始将从Spark Streaming入手. 为何从Spark Streami ...