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. c# 16进制byte转成int

    ]; Ratedata=System.BitConverter.GetBytes(FreResultTBoxValue); 上面这个 FreResultTBoxValue 变量是int,系统中自带in ...

  2. Aop学习笔记

    在学习编程这段时间我想大家都是习惯了面向过程或者面向对象的思想来编程,较少或者没有接触过面向方面编程的思想. 那么什么是面向方面(Aspect)——其实就是与核心业务处理逻辑无关的切面,例如记录日志. ...

  3. 如何在Ubuntu-14.04上安装g++-6.3 ?

    特别注意: ppa:ubuntu-toolchain仅为尝鲜测试版,并非官方稳定版. 以下仅用于学习,不建议进行以下操作,以免出现包依赖关系问题,影响系统稳定性. askUbuntu github a ...

  4. 国内k8s集群部署的几种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lusyoe/article/details/80217291前言总所周知,由于某种原因,通过官方的方 ...

  5. MySQL命令行查询乱码解决办法

    MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如 ...

  6. python中的无参装饰器和有参装饰器

    python中的无参装饰器和有参装饰器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 装饰器特点: 1>.开放封闭原则,即对扩展是开放的,对修改时封闭的: 2>.装饰器 ...

  7. GUI起头

    package com.lovo.frame; import java.awt.Color;import java.awt.Container;import java.awt.Font;import ...

  8. starUML的使用方法和各种线条的含义

    使用方法https://www.cnblogs.com/syncCN/p/5433746.html 各种线条的含义:https://www.cnblogs.com/huaxingtianxia/p/6 ...

  9. 何凯文每日一句打卡||DAY14

  10. ASP.net 控件实现数据级联

    今天我们来一起用ASP.net实现一个级联,这个小不点应该是会经常用到的的. 咱们简单的画两个窗体.文本框会根据下拉框所选的内容显示不同的内容. 具体实现效果如下 步骤一: 准备工作,建立相应的数据库 ...