利用 John the Ripper 破解用户登录密码
一、什么是 John the Ripper ?
看到这个标题,想必大家都很好奇,John the Ripper
是个什么东西呢?如果直译其名字的话就是: John
的撕裂者(工具)。 相比大家都会觉得摸不着头脑,撕裂者是啥玩意啊?
事实上,John the Ripper
是一款大受欢迎的、免费的开源软件。也是一个基于字典的快速破解密码的工具,是一款用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES
、 MD4
、 MD5
等。 John the Ripper
支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括 Unix
、 Linux
、 Windows
、 DOS
模式、 BeOS
和 OpenVMS
,主要目的是破解不够牢固的 Unix/Linux
系统密码。
如果你想使用专门针对特定操作系统优化、并生成相应本地代码的商业版本的该产品,那么你可以使用 John the Ripper Pro
,主页地址在这里:http://www.openwall.com/john/pro/,你可以根据你的需要去购买或者下载破解字典表。本文以 Linux
下的 John the Ripper
为例来给大家讲解其用法。
目前 John the Ripper
的最新版本是 1.8.0
,我们可以通过输入 john
命令去查看当前的版本信息和帮助信息。
如果想了解 John the Ripper
的最新动态,请参看官网:https://www.openwall.com/john/
如果你想添加新功能, Github
项目链接在这里:https://github.com/magnumripper/JohnTheRipper
二、John the Ripper 的安装和使用
John the Ripper
在 Windows
、 Linux
和 MacOS
都有对应的安装包,去官网下载即可。
官网链接:https://www.openwall.com/john/
而在这里我就介绍 Debian/Ubuntu
的简便安装方法。由于在 apt
仓库中已经内置了 John the Ripper
,我们只需要通过以下命令即可安装。
sudo apt-get install john
john
命令的具体参数选项如下表:
选 项 | 描 述 |
---|---|
--single
|
single crack 模式,使用配置文件中的规则进行破解
|
--wordlist=FILE--stdin
|
字典模式,从 FILE 或标准输入中读取词汇
|
--rules
|
打开字典模式的词汇表切分规则 |
--incremental[=MODE]
|
使用增量模式 |
--external=MODE
|
打开外部模式或单词过滤,使用 [List.External:MODE] 节中定义的外部函数
|
--stdout[=LENGTH]
|
不进行破解,仅仅把生成的、要测试是否为口令的词汇输出到标准输出上 |
--restore[=NAME]
|
恢复被中断的破解过程,从指定文件或默认为 $JOHN/john.rec 的文件中读取破解过程的状态信息
|
--session=NAME
|
将新的破解会话命名为 NAME ,该选项用于会话中断恢复和同时运行多个破解实例的情况
|
--status[=NAME]
|
显示会话状态 |
--make-charset=FILE
|
生成一个字符集文件,覆盖 FILE 文件,用于增量模式
|
--show
|
显示已破解口令 |
--test
|
进行基准测试 |
--users=[-]LOGIN|UID[,..]
|
选择指定的一个或多个账户进行破解或其他操作,列表前的减号表示反向操作,说明对列出账户之外的账户进行破解或其他操作 |
--groups=[-]GID[,..]
|
对指定用户组的账户进行破解,减号表示反向操作,说明对列出组之外的账户进行破解。 |
--shells=[-]SHELL[,..]
|
对使用指定 shell 的账户进行操作,减号表示反向操作
|
--salts=[-]COUNT
|
至少对 COUNT 口令加载加盐,减号表示反向操作
|
--format=NAME
|
指定密文格式名称,为 DES/BSDI/MD5/BF/AFS/LM 之一
|
--save-memory=LEVEL
|
设置内存节省模式,当内存不多时选用这个选项。 LEVEL 取值在 1~3 之间
|
下面我们以破解 Linux
用户密码为例子简单讲解一些 John the Ripper
的用法。
三、John the Ripper 破解 Linux 用户登录密码
环境准备
Debian/Ubuntu
John the Ripper
工具/etc/passwd
/etc/shadow
注:
/etc/passwd
和/etc/shadow
两个文件包含了用户的信息和密码hash
值
破解过程
1、创建一个测试用户
我们可以添加一个测试用户 test
,并把它密码设置为 password
。
创建新用户test:
sudo useradd -m test -G sudo -s /bin/zsh
zsh
是我当前默认的 shell
,你可以通过如下命令查看你当前的 shell
:
echo $SHELL
设置 test
用户的密码:
sudo passwd test
出现如下信息,即说明成功了。
2、利用 unshadow
组合 /etc/passwd
和 /etc/shadow
两个文件
unshadow
命令会将 /etc/passwd
的数据和 /etc/shadow
的数据结合起来,创建 1
个含有用户名和密码详细信息的文件。
我们可以通过以下命令将这两个文件结合起来:
cd ~
sudo unshadow /etc/passwd /etc/shadow > test_passwd
3、使用 John the Ripper
破解 Linux
用户登录密码
我们这时候还需要一个字典,由于 John
自带了一个字典,字典位于 /usr/share/john/password.lst
。当然你也可以自行去网上选择适合你的字典。
我们可以开始对Linux登录用户名和密码进行破解:
john --wordlist=/usr/share/john/password.lst test_passwd
破解结果如下:
我们可以看到, test_passwd
文件中存在的三个用户名 root
,test
, python
的密码,均被破解了。
我们可以查看破解信息:
john --show test_passwd
以上是关于 John the Ripper
其中一个简单地使用,更多高级用法,像暴力破解,增量模式等等,请参看官方文档:https://www.openwall.com/john/doc/MODES.shtml
四、演示视频
利用 John the Ripper 破解用户登录密码相关推荐
- 如何清除XP的开机用户登录密码
如何清除XP的开机用户登录密码 一.利用 NET 命令 我们知道在 Windows XP 中提供了" net user "命令,该命令可以添加.修改用户账户信息,其语法格式为: n ...
- 修改ranger ui的admin用户登录密码踩坑小记
修改的ranger ui的admin用户登录密码时,需要在ranger的配置里把admin_password改成一样的,否则hdfs的namenode在使用admin时启动不起来,异常如下: Trac ...
- linux 去掉登陆密码吗,Linux 清除 Windows用户登录密码
Linux 清除 Windows用户登录密码 [toc] 一. 环境 Windows 系统: Windows 10 win10.png Linux 系统: Parrot Linux parrot_se ...
- 银河麒麟V10-桌面版 用户登录密码遗忘解决过程
银河麒麟V10-桌面版 用户登录密码遗忘解决过程 系统版本: 银河麒麟V10-桌面版,内核:Linux-4.4.131 解决办法: 重启系统,进单用户模式进行修改. 解决步骤: 第一步:重启操作系统, ...
- 苹果用计算机知道密码,怎么查看苹果系统电脑中safari浏览器内的用户登录密码...
怎么查看苹果系统电脑中safari浏览器内的用户登录密码 随着科技的发展,电脑已经成为人们日常生活中必不可少的工具,当我们在使用苹果电脑中的safari浏览器浏览网页时,系统会自动保存账号密码,那么我 ...
- linux用户登录报密码不对,Linux用户登录密码的生成
一.从自动化需求说起 如何生成一个Linux用户登录密码?可能有人会说用passwd生成.的确,passwd命令能够帮助我们重置用户登录密码,但是这并没有解答如何生成一个Linux用户登录密码的疑问. ...
- 破解XP登录密码步骤
1.破解Windows登录密码需要的软件 上战场没有武器可不行,破解Windows登录密码其实也不需要什么特别的软件,准备一张系统盘,要带WindowsPE的,现在大多数系统盘上都带WindowsPE ...
- Python破解网站登录密码脚本
这篇文章主要为大家介绍一个简单的Python暴力破解网站登录密码脚本,文中的过程讲解详细,对我们学习Python有一定的帮助,感兴趣的可以学习一下.编程学习资料点击领取 目录 测试靶机为DVWA,适合 ...
- Oracle忘记用户登录密码
C:\Users\neusoft>sqlplus/nolog --启动SQLPLUS但不进行连接操作 SQL*Plus: Release 11.2.0.1. ...
最新文章
- Docker网络配置进阶
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!...
- AnyChat SDK支持哪些开发语言?
- jOOQ类型安全数据库查询教程
- 使用Chrome开发者工具调试Android端内网页(微信,QQ,UC,App内嵌页等)
- 剑指offer(C++)-JZ77:按之字形顺序打印二叉树(数据结构-树)
- 如何使用idea创建数据库表(源码)
- TrueNAS静态IP设置
- Spring Security 密码加密器 Pbkdf2PasswordEncoder 、 BCryptPasswordEncoder
- post-GWAS:使用coloc进行共定位分析(Colocalization)
- 用计算机看影碟是数字化过程,2012年上海市高中《信息科技》学业水平考试1-5(含答案)...
- 中海达ihand30手簿详细教程_中海达iHand30 手簿使用说明书
- Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
- 永顺一中2021高考成绩查询入口,2017年高考永顺传来喜报
- ec12编码器电路图_光电编码器电路图.DOC
- ubuntu 16.04 更换国内源
- 腾讯推出全新 Linux QQ 并正式上线官网
- 如何从SaaS应用程序查询和提取数据
- 2020市政方向-通用基础(质量员)考试软件及市政方向-通用基础(质量员)模拟考试软件
- web前端学会使用图片轮播
热门文章
- html csv 中文乱码,csv 中文乱码
- linux备份能压缩吗,Linux备份与压缩命令
- 6年软件测试,职场上的摸爬滚打,告诉我这些.......
- vue图片滚动抽奖_Vue项目开发-仿蘑菇街电商APP
- 认真学习系列:计算机组成原理——哈工网课笔记
- 查看zk状态时报错“Error contacting service. It is probably not running
- git21天打卡Day2-注册账号
- windows oracle增量备份脚本,oracle 增量备份脚本
- 神威计算机主板型号,十代酷睿高端型Z490主板曝光 总线规格依旧是PCIe 3.0且USB接口并不支持USB 3.2...
- php语法中变量如何定义和使用,PHP语法—PHP的变量