破解Linux下的shadow文件获得账户密码

合集下载

使用JohntheRipper破解sha512加密的shadow文件密码

使用JohntheRipper破解sha512加密的shadow文件密码

使⽤JohntheRipper破解sha512加密的shadow⽂件密码John the Rippershadow⽂件解析⽂件的格式为:{⽤户名}:{加密后的⼝令密码}:{⼝令最后修改时间距原点(1970-1-1)的天数}:{⼝令最⼩修改间隔(防⽌修改⼝令,如果时限未到,将恢复⾄旧⼝令):{⼝令最⼤修改间隔}:{⼝令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}其中{加密后的⼝令密码}的格式为 $id$salt$encryptedid为1时,采⽤md5算法加密id为5时,采⽤SHA256算法加密id为6时,采⽤SHA512算法加密salt为盐值,是对密码进⾏hash的⼀个⼲扰值encrypted为散列值下载安装tar -xvf john-1.9.0.tar.gzcd john-1.9.0/src/make #找到属于⾃⼰的系统make clean linux-x86-64 #正常linux64位系统就是这个root:$6$RaPWxCGV$Z54bUhH9xccb9X580RP/cIgUVp3u6vKM2jJCaHme.fav0VnDs7UolXznMkPNAUu/dOhEDrdEmyTDNf1tIBMR./:17770:0:99999:7:::进⼊run⽬录:默认这些⽂件:复制shadow密⽂到⼀个⽂件中ppp,⽤./john ppp命令即可,出来后⽤./john --show ppp查看密码:john的所有参数:[root@iZb3kuz33l2fzfZ run]# ./johnJohn the Ripper password cracker, version 1.9.0Copyright (c) 1996-2019 by Solar DesignerHomepage: /john/Usage: john [OPTIONS] [PASSWORD-FILES]--single "single crack" mode--wordlist=FILE --stdin wordlist mode, read words from FILE or stdin--rules enable word mangling rules for wordlist mode--incremental[=MODE] "incremental" mode [using section MODE]--external=MODE external mode or word filter--stdout[=LENGTH] just output candidate passwords [cut at LENGTH]--restore[=NAME] restore an interrupted session [called NAME]--session=NAME give a new session the NAME--status[=NAME] print status of a session [called NAME]--make-charset=FILE make a charset, FILE will be overwritten--show show cracked passwords--test[=TIME] run tests and benchmarks for TIME seconds each--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only--groups=[-]GID[,..] load users [not] of this (these) group(s) only--shells=[-]SHELL[,..] load users with[out] this (these) shell(s) only--salts=[-]N load salts with[out] at least N passwords only--save-memory=LEVEL enable memory saving, at LEVEL 1..3--node=MIN[-MAX]/TOTAL this node's number range out of TOTAL count--fork=N fork N processes--format=NAME force hash type NAME: descrypt/bsdicrypt/md5crypt/bcrypt/LM/AFS/tripcode/dummy/crypt可以指定⾃⼰的密码本--wordlist=mima.txt测试本机的破解速度-test做个测试新建⼀个⽤户abc,密码123456,指定⼀个简单的密码本mima.txt,删除历史john.log⽂件mima.txt:abcabcdabcde123456123123412345abc⽤户的shadow密⽂单独保存到abc⽂件中:abc:$6$.rsMQzX5$31imN2bMPitKad5kTfJxk8.yCMos0ocAG9rfJna/hv9KaDzCXTqvM57v1/Zk/v7SbFqvemhdijVdTqtE4Y3RX1:18813:0:99999:7:::使⽤下⾯命令指定mima.txt去破解abc⽤户./john --wordlist=mima.txt pwd/abc⼏秒钟很快就出来了,毕竟字典那么短。

linux解密shadow_Linux密码文件passwd和shadow分析

linux解密shadow_Linux密码文件passwd和shadow分析

linux解密shadow_Linux密码⽂件passwd和shadow分析引⾔:与密码密切相关的两个⽂件/etc/passwd:第⼀字段:⽤户名第⼆字段:⼝令第三字段:UID第四字段:GID第五字段:⽤户名全称第六字段:⽤户的家⽬录所在位置第七字段:⽤户所⽤SHELL的类型/etc/shadow:第⼀字段:⽤户名第⼆字段:被加密的密码第三字段:表⽰上次更改⼝令的天数(距1970年01⽉01⽇)第四字段:禁⽤两次⼝令修改之间最⼩天数第五字段:两次修改⼝令间隔最多的天数第六字段:提前多少天警告⽤户⼝令将过期第七字段:在⼝令过期之后多少天禁⽤此⽤户第⼋字段:⽤户过期⽇期第九字段:保留字段⼀:关于/etc/passwd:关于/etc/passwd的内容理解在/etc/passwd中,每⼀⾏都表⽰的是⼀个⽤户的信息;⼀⾏有7个段位;每个段位⽤:号分割,⽐如下⾯是我的系统中的/etc/passwd的两⾏;beinan:x:500:500:beinan sun:/home/beinan:/bin/bashlinuxsir:x:505:502:linuxsir open,linuxsir office,138********:/home/linuxsir:/bin/bashbeinan:x:500:500:beinan sun:/home/beinan:/bin/bashlinuxsir:x:501:502::/home/linuxsir:/bin/bash第⼀字段:⽤户名(也被称为登录名);在上⾯的例⼦中,我们看到这两个⽤户的⽤户名分别是beinan和linuxsir;第⼆字段:⼝令;在例⼦中我们看到的是⼀个x,其实密码已被映射到/etc/shadow⽂件中;第三字段:UID ;请参看本⽂的UID的解说;第四字段:GID;请参看本⽂的GID的解说;第五字段:⽤户名全称,这是可选的,可以不设置,在beinan这个⽤户中,⽤户的全称是beinan sun;⽽linuxsir这个⽤户是没有设置全称;第六字段:⽤户的家⽬录所在位置;beinan这个⽤户是/home/beinan,⽽linuxsir这个⽤户是/home/linuxsir;第七字段:⽤户所⽤SHELL的类型,beinan和linuxsir都⽤的是bash;所以设置为/bin/bash;关于UID的理解:UID 是⽤户的ID值,在系统中每个⽤户的UID的值是唯⼀的,更确切的说每个⽤户都要对应⼀个唯⼀的UID,系统管理员应该确保这⼀规则。

Linux下etc shadow文件全面详解

Linux下etc shadow文件全面详解

Linux下/etc/shadow文件全面详解Linux操作系统下有一个文件负责所有用户的密码。

那就是shadow。

该文件的权限必须设置为:-r- --- --- (400)或者 -rw --- ---(600)当我们执行sudo vim /etc/shadow之后可以看到这样一幅画面:这里我详细的描述一下这个密码存储的结构。

账户名:这个不用做过多解释,账户名与/etc/passwd里面的账户名是一一对应的关系。

密码:这里可以看到3类,分别是奇奇怪怪的字符串、*和!!其中,奇奇怪怪的字符串就是加密过的密码文件。

星号代表帐号被锁定,双叹号表示这个密码已经过期了。

奇奇怪怪的字符串是以$6$开头的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$“是用SHA-256加密的。

修改日期:这个是表明上一次修改密码的日期与1970-1-1相距的天数(很蛋疼吧,为什么是相距天数而不是修改日期呢?)密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改。

密码需要修改的期限:如果是99999则永远不用改。

如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效。

修改期限前N天发出警告:比如你在第五条规定今年6月20号规定密码必须被修改,系统会从距离6-20号的N天前向对应的用户发出警告。

密码过期的宽限:假设这个数字被设定为M,那么帐号过期的M天内修改密码是可以修改的,改了之后账户可以继续使用。

帐号失效日期:假设这个日期为X,与第三条一样,X表示的日期依然是1970-1-1相距的天数,过了X之后,帐号失效。

保留:被保留项,暂时还没有被用上。

好了,这个很详细了。

后面几点不常用,前面3天是很常用的,也是大家疑问最多的。

Linux命令行下的文件加密和解密技巧

Linux命令行下的文件加密和解密技巧

Linux命令行下的文件加密和解密技巧Linux操作系统提供了强大的命令行工具,使得文件的加密和解密操作变得相对简单和高效。

本文将介绍在Linux命令行下实现文件加密和解密的技巧。

以下是具体内容:一、加密文件1. 使用 OpenSSL 加密文件OpenSSL 是一个强大的开源加密工具包,可以用于加密和解密文件。

要使用 OpenSSL 加密文件,请按照以下步骤操作:(1)打开终端窗口,并导航到要加密的文件所在的目录。

(2)运行以下命令,用于将文件加密,并生成加密后的文件:openssl enc -aes-256-cbc -salt -in 文件名 -out 加密后的文件名其中,-aes-256-cbc 是指使用 AES 256 位加密算法和 CBC 模式进行加密。

您还可以选择其他的加密算法和模式,根据您的具体需求进行调整。

2. 使用 GPG 加密文件GPG(GNU Privacy Guard)是一个开源的加密软件,用于进行文件和文本的加密和解密。

要使用 GPG 加密文件,请按照以下步骤操作:(1)确保您已经安装了 GPG 工具包。

如果没有安装,可以运行以下命令进行安装:sudo apt-get install gnupg(2)打开终端窗口,并导航到要加密的文件所在的目录。

(3)运行以下命令,用于将文件加密,并生成加密后的文件:gpg -c 文件名运行该命令后,系统会提示您输入一个加密密码。

请确保密码的安全性,同时请牢记该密码,因为解密文件时需要使用该密码。

二、解密文件1. 使用 OpenSSL 解密文件要使用 OpenSSL 解密文件,请按照以下步骤操作:(1)打开终端窗口,并导航到要解密的文件所在的目录。

(2)运行以下命令,用于将加密文件解密,并生成解密后的文件: openssl enc -d -aes-256-cbc -in 加密后的文件名 -out 解密后的文件名在运行该命令时,您需要提供正确的加密算法和模式,以确保成功解密文件。

Linux系统密码忘记后的五种恢复方法

Linux系统密码忘记后的五种恢复方法
如果你既没做系统启动软盘,同时多系统的引导LILO和GRUB又被删除,
那么只能使用Linux系统安装盘来恢复root的密码。
用第一张Linux系统安装盘启动,出现boot提示符后输入:
oot: linux rescue
此时系统进入救援模式,然后根据提示完成:
1.选择语言和键盘格式;
2.选择是否配置网卡,一般系统因网络不需要,所以可以选择否跳过网卡配
置;
3.选择是否让系统查找硬上的Redhat Linux系统,选择继续;
4.系统显示硬盘上的系统已经被找到,并挂载在/mnt/sysimage下;
5.进入拯救状态,可重新设置root的密码:
# chroot/mnt/sysimage(让系统成为根环境)
# cd /mnt/sysimage
# passwd root
是/etc/passwd密码文件的投影文件。
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
五、卸下硬盘挂到别的机器上更改
如果不怕麻烦的话,还可以把安装linux的硬盘卸下后挂到其他系统环境下
同样是去修改/etc/passwd文件,修改过后保存即可;
注:
1、在不同的linux系统下输入single的方式和方法可能有区别,希望能自己
去尝试;
2、除了需要修改/etc/passwd文件外,可能也需要修改/etc/shadow文件,这

shadow文件中密码的加密方式

shadow文件中密码的加密方式

shadow文件中密码的加密方式1) 查看shadow文件的内容cat /etc/shadow可以得到shadow文件的内容,限于篇幅,我们举例说明:root:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.:14838:0:99999:7:::其格式为:{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}【注】:shadow文件为可读文件,普通用户没有读写权限,超级用户拥有读写权限。

如果密码字符串为*,则表示系统用户不能被登入;如果字符串为!,则表示用户名被禁用;如果字符串为空,则表示没有密码。

我们可以使用passwd–d用户名清空一个用户的口令密码。

2) 解析shadow文件中密码字符串的内容对于示例的密码域$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.,我们参考了linux标准源文件passwd.c,在其中的pw_encrypt函数中找到了加密方法。

我们发现所谓的加密算法,其实就是用明文密码和一个叫salt的东西通过函数crypt()完成加密。

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

【注】:id为1时,采用md5进行加密;id为5时,采用SHA256进行加密;id为6时,采用SHA512进行加密。

3) 数据加密函数crypt()讲解i. 头文件:#define _XOPEN_SOURCE#include <unistd.h>ii. 函数原型:char *crypt(const char *key, const char *salt);iii. 函数说明:crypt()将使用DES演算法将参数key所指的字符串加以编码,key字符串长度仅取前8个字符,超过此长度的字符没有意义。

linux shadow文件原理

linux shadow文件原理

linux shadow文件原理
Linux系统中,密码加密的方式采用的是shadow文件。

这个文件的作用是保护用户的密码信息,防止被非法获取。

它的原理是将用户的密码信息存放在一个只有root用户才能访问的文件中,其他用户无法直接读取。

当用户在登录系统时,系统会读取shadow文件中相应用户的密码信息,并进行加密比对。

如果密码匹配成功,则允许用户登录系统。

在shadow文件中,密码信息是经过加密处理的,它是通过一个叫做密码哈希函数的算法得到的。

这个哈希函数可以将一个字符串转换为一个固定长度的哈希值,这个哈希值就是密码信息存储在shadow 文件中的内容。

当用户修改密码时,系统会重新计算哈希值,并将新的哈希值存储在shadow文件中。

这个过程中,旧的密码信息会被删除,只有新的密码哈希值会被保留。

总之,shadow文件是保护Linux系统中用户密码信息的重要组成部分。

了解它的原理可以帮助我们更好地理解Linux系统的安全机制。

- 1 -。

linux查看用户密码的方法

linux查看用户密码的方法

linux查看用户密码的方法全文共四篇示例,供读者参考第一篇示例:在Linux系统中,用户密码是被加密存储在系统文件中的,一般是在/etc/shadow文件中。

这是为了保护用户的密码安全,防止被他人轻易获取和篡改。

但有时候用户可能会忘记自己的密码,需要通过一些方法来查看或者重置密码。

下面将介绍一些常用的方法来查看用户密码的步骤。

一、通过root用户查看用户密码1. 使用root用户登录系统,打开终端。

2. 输入命令:sudo cat /etc/shadow,然后输入root用户密码。

3. 在输出的结果中,可以看到所有用户的加密密码,密码会以一长串字符的形式显示。

4. 找到要查看的用户的密码信息,通常会包含用户名、加密密码、密码修改时间等信息。

二、通过修改/etc/shadow文件方式查看密码三、通过使用chage命令查看密码修改时间需要注意的是,上述方法都是通过root用户来查看用户密码信息的,因为只有root用户有权限读取/etc/shadow文件。

查看用户密码是一项敏感操作,应当谨慎对待,避免泄露用户密码信息给他人。

在日常使用Linux系统时,最好养成定期修改密码的习惯,避免使用简单密码或者将密码泄露给他人,从而保障账户的安全。

如果确实忘记了密码,可以通过一些方法来重置密码或者联系系统管理员寻求帮助。

【此段新增内容】Linux系统下查看用户密码的方法有很多种,可以根据实际情况选择合适的方法。

无论是通过root用户查看密码文件、修改/etc/shadow文件、还是使用chage命令查看密码修改时间,都需要保证操作的合法性和安全性。

希望以上内容能够帮助读者了解和掌握Linux系统下查看用户密码的方法。

【此段总结内容】第二篇示例:在Linux系统中,用户密码是加密存储在系统文件中的。

一般情况下,我们只能查看到用户的加密密码而不能直接查看明文密码。

以下是几种在Linux系统中查看用户密码的方法:1. 查看/etc/passwd文件在Linux系统中,用户的密码信息是存储在/etc/passwd文件中的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

破解Linux下的shadow文件获得账户密码废话不多说,直接上图上真像。

使用工具:John the Ripper
下载地址:/data/232566
1、下载John the Ripper工具,并上传到Linux系统
2、tar -xzvf john-1.7.8.tar.gz解压到当前文件夹
3、cd john-1.7.8目录,查看readme安装信息
#more doc/INSTALL
4、进入解压后的src目录,执行如下命令编译安装
#cd john-1.7.8
#cd src //进入源代码目录
#make
#make clean SYSTEM
#make clean generic
编译完成后,系统会在../run目录下生成John的可执行文件,使用John破解shadow文件的命令及结果
看到了吧,系统的账户以及加密密码都一览无余。

所以sa应该保护好shadow文件,因为在正常情况下只有root用户可以访问该文件,所以我们可以是用普通用户管理系统,需要使用root权限时,su -切换就是了。

相关文档
最新文档