kali中john的使用方法

yizhihongxing

Kali中John的使用方法

John the Ripper是一个常用的密码破解工具,它可以通过多种攻击方式尝试破解密码。在Kali Linux中,安装了John the Ripper,可以利用其强大的特性来减小字典攻击、暴力攻击等的破解时间。本文将介绍如何在Kali Linux中使用John the Ripper破解密码。

安装John the Ripper

在Kali Linux中,默认安装了John the Ripper,因此,你不需要进行任何安装操作。但是在使用之前,我们需要确认John the Ripper更新到了最新版本。打开终端,并编辑以下命令进行升级:

sudo john --update

John the Ripper基础用法

下面我们来研究John the Ripper的基本用法。

单用户模式

在单用户模式下,John the Ripper会通过使用指定的字典(字典可以是一个文本文件,其中列举了常见的密码组合)对单个用户的密码进行破解。

sudo john --wordlist=/path/to/wordlist /path/to/password/file

其中,/path/to/wordlist是字典文件的路径,/path/to/password/file是待破解的密码文件的路径。破解结束后,John the Ripper会输出找到的密码。

多用户模式

在多用户模式下,John the Ripper会对所有用户的密码进行破解。使用以下命令:

sudo unshadow /etc/passwd /etc/shadow > passwords.txt
sudo john --wordlist=/path/to/wordlist passwords.txt

其中,unshadow命令将/etc/passwd和/etc/shadow中的用户与密码合并到一个文件中,即passwords.txt。之后,密码文件可以使用john命令进行破解。

暴力攻击

使用暴力攻击方法,John the Ripper会用所有可能的字符组合进行破解。对于长度为n的密码,对于每个位置都有相应数量的字符组合,对应的破解时间将达到O(c^n)时间。

sudo john --incremental /path/to/password/file

彩虹表

彩虹表是一种将密码散列哈希映射到密码本身的预先计算特定类型哈希值的表,从而提高速度,降低计算时间。使用命令进行破解:

sudo john --format=nt /path/to/password/file --pot=filename
sudo john --session=filename --restore

彩虹表的创建和使用方式可使用john命令的--make-charset和--rules参数。

总结

通过本文,你已经学会了如何使用John the Ripper在Kali Linux中进行密码破解。虽然密码破解是一项有风险的活动,但在某些场景下(例如对自己的系统进行破解)可以帮助我们快速找出弱密码。也许你没有某些设备所需的硬件来进行更高级的破解,但在大多数日常任务或挖掘任务中,John the Ripper就足够用了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:kali中john的使用方法 - Python技术站

(0)
上一篇 2023年3月29日
下一篇 2023年3月29日

相关文章

  • 一篇文章带你了解JVM内存模型

    一篇文章带你了解JVM内存模型 简介 JVM(Java虚拟机)是Java程序的运行环境,它负责将Java字节码转换为机器码并执行。JVM内存模型定义了Java程序在内存中的组织结构和访问规则。本文将详细介绍JVM内存模型的各个部分,并提供示例说明。 JVM内存模型的组成部分 JVM内存模型由以下几个部分组成: 1. 方法区(Method Area) 方法区是…

    other 2023年8月2日
    00
  • 深入了解JS之作用域和闭包

    深入了解JS之作用域和闭包攻略 作用域(Scope) 作用域是指在程序中定义变量的区域,它决定了变量的可见性和生命周期。在JavaScript中,有三种作用域:全局作用域、函数作用域和块级作用域。 全局作用域(Global Scope) 全局作用域是指在整个程序中都可访问的变量。在全局作用域中定义的变量可以被程序中的任何地方访问到。 示例: var glob…

    other 2023年7月29日
    00
  • ora-01466:无法读取数据-表定义已更改

    ORA-01466: 无法读取数据-表定义已更改 ORA-01466是Oracle数据库中的一个错误代码,表示在读取数据时,表的定义已经发生了更改。这通常是由于在读取数据时,表的结构被修改或删除所致。以下是ORA-01466的完整攻略。 步骤 以下是ORA-01466的步骤: 确认错误代码和错误消息。 检查表的结构是否已更改。 如果表的结构已更改,请更新查询…

    other 2023年5月6日
    00
  • echarts中markarea中文字现实的配置(见注释)

    以下是关于“echarts中markarea中文字现实的配置”的完整攻略,包括markarea中文字的基本知识、配置markarea中文字的方法和两个示例等。 markarea中文字的基本知识 在 echarts 中,markarea 是一种用于标记区域的图形元素。markarea 可以用于标记数据的范围趋势等。在 markarea 中,可以添加文字来说明标…

    other 2023年5月7日
    00
  • 通过配置.htaccess文件实现子目录绑定二级域名的方法

    下面是通过配置.htaccess文件实现子目录绑定二级域名的方法的完整攻略。 1. 编写.htaccess文件 在需要绑定二级子域名的子目录下创建或编辑.htaccess文件,并在里面添加以下代码(假设要绑定的子域名是subdomain.example.com): RewriteEngine on RewriteBase /subdirectory/ Rew…

    other 2023年6月27日
    00
  • C语言实现斐波那契数列(非递归)的实例讲解

    C语言实现斐波那契数列(非递归)的实例讲解 什么是斐波那契数列 斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列是以递归的方式定义:F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2) (n>=2,n∈N*),用文字来说,就是斐波那契数列列由0和1开始,之后的斐波那契数就…

    other 2023年6月27日
    00
  • #define中 #与##用法

    Define中 #与##用法 在C/C++编程语言中,#define是一种用来定义预处理宏的关键字。#define语句中的#符号和##符号在预处理宏定义中扮演着重要的角色。 #符号 在#define语句中,#符号用来将宏参数转化成一个字符串。假设我们有一个预处理宏MESSAGE,它接收一个参数,并将这个参数的值转化为一个字符串。下面是一个使用#符号的例子: …

    其他 2023年3月28日
    00
  • 基于SVN源码服务器搭建(详细教程分析)

    下面我将详细讲解“基于SVN源码服务器搭建(详细教程分析)”的完整攻略。 背景 SVN(Subversion)是一种开放源代码的版本控制工具,广泛应用于软件开发行业。在开发团队中,代码的版本是非常重要的,SVN可以帮助管理和跟踪开发过程中不断变化的代码版本。本攻略旨在帮助软件开发团队搭建SVN源码服务器,方便团队协作开发。 环境准备 在搭建SVN源码服务器之…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部