简介

  John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。

安装

John the Ripper下载地址:http://www.openwall.com/john/

源码包安装

系统:CentOS6.5   软件包:john-1.8.0.tar.gz

#tar zxvf john-1.8.0.tar.gz -C /usr/src/
#cd /usr/src/john-1.8.0/
#ll
drwxr-xr-x. 2 root root 4096 9月 21 11:44 doc //手册文档
drwxr-xr-x. 2 root root 4096 9月 21 11:45 run //运行程序
drwxr-xr-x. 2 root root 4096 9月 21 11:45 src //源码文件 #cd src/ //切换到src/目录下执行"make clean linux-x86-64"命令,即可执行编译过程
#make clean linux-x86-64 //编译,可单独执行make命令,查看可用的编译操作、支持的系统类型(make clean 系统类型)
//编译完成后,run/子目录下会生成一个名为john的可执行程序
#ls ../run/john //确认已生成可执行程序john

John the Ripper 不需要特别的安装操作,编译完成后的run子目录中包括可执行程序john及相关的配置文件、字典文件等,可以复制到任何位置使用。

使用

这里以破解linux中用户密码文件为例

//创建几个密码简单的用户,做验证
useradd zhangsan
useradd lisi
useradd musker
passwd zhangsan
passwd lisi
passwd musker
//准备待破解的密码文件
cp /etc/shadow /root/shadow.txt
//执行暴力破解
cd /usr/src/nmap-7.60/run/
./john /root/shadow.txt //执行暴力破解
[root@aery run]# ./john /root/shadow.txt
Loaded password hashes with different salts (crypt, generic crypt() [?/])
Press 'q' or Ctrl-C to abort, almost any other key for status
(musker)
(lisi)
2g ::: % / .009693g/s .3p/s .2c/s .2C/s yekoms..niwroc
Use the "--show" option to display all of the cracked passwords reliably
Session aborted
... //如果检测时间太长,可以使用Ctrl + C 组合键强行终止

破解过程

破解出来的密码信息自动保存到john.post文件中,可以结合 " --show " 选项进行查看

[root@aery run]# ./john --show /root/shadow.txt
lisi::::::::
musker:::::::: password hashes cracked, left

可以结合 " --wordlist= " 选项来指定字典文件的位置

John the Ripper 默认提供的字典文件为password.lst,其列出了3000多个常见的弱口令

破解密码之前需要清空以破解的账户列表,以便重新分析

:> john.pot     //清除已破解出的账户列表

./john --wordlist=./password.lst /root/shadow.txt     //指定字典破解密码文件

只要字典强大破解上只是时间的问题

John the Ripper-弱口令检测的更多相关文章

  1. Linux服务器的弱口令检测及端口扫描

    一.弱口令检测--John the Ripper John the Ripper工具可以帮助我们扫描出系统中密码安全性较低的用户,并将扫描后的结果显示出来. 1.安装John the Ripper: ...

  2. 我们通常这样使用Linux弱口令检测!

    在Internet环境中,过于简单的口令是服务器面临的最大风险,对于管理员来说,即使找出这些弱口令账号是非常必要的,这样便于采取进一步的安全措施. 这里的话,弱口令检测需要用到一款密码破译软件--Jo ...

  3. 甲方安全建设之office365邮箱弱口令检测

    甲方安全建设之office365邮箱弱口令检测 信息收集 资产范围 资产列表总数是521 抓包后发现只有102 一番测试之后发现控制Response的关键在于MaxEntriesReturned字段, ...

  4. 基于端口的弱口令检测工具--iscan

    亲手打造了一款弱口令检测工具,用Python编写,主要可以用于内网渗透.弱口令检测等方面,目前集成了常见端口服务,包含 系统弱口令:ftp.ssh.telnet.ipc$ 数据库弱口令:mssql.m ...

  5. [原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)

    0x000 前言 sshcrack是一个命令行下的SSH密码爆破工具,适用于内渗中SSH密码检测 当然也可用于外网SSH密码爆破,支持Windows/Linux,其它系统未测.Tip1 0x001 目 ...

  6. linux系统安全及应用——弱口令检测

    Joth the Ripper,简称JR,一款密码分析工具,支持字典式的暴力破解,通过对shadow文件的口令分析,可以检测密码强度,官方网站http://www.openwall.com/john/ ...

  7. redis未授权弱口令检测脚本(redis未授权访问漏洞,利用redis写webshell)

    以下如有雷同,不胜荣幸 * --- 示例代码!!!!!----*/ #! /usr/bin/env python # _*_  coding:utf-8 _*_ import socket impor ...

  8. snmp默认团体名/弱口令漏洞及安全加固

    0x00基础知识 简单网络管理协议(SNMP)被广泛用于计算机操作系统设备.网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况.在运行SNMP服务的设备上,若管理员配置不当运行默认团体 ...

  9. 批量redis未授权检测工具&批量redis弱口令爆破工具

    今天需要然后就百度搜索了一波,然后自己稍微改了一下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: 偷来 ...

随机推荐

  1. R实战 第十二篇:随机数

    由R生成的随机数实际上伪随机数,也就是说,随机数是由某种算法而不是真正的随机过程产生的,随机数生成器需要一个初始值来生成数字,该初始值叫做种子.通过把种子设置为特定的值,可以保证每次运行同一段代码时都 ...

  2. Autofac踩坑经历

    背景 接口框架使用反射,动态生成Controller,使用Autofac进行依赖注入,并替换默认DependencyResolver及IControllerFactory,Controller实例化代 ...

  3. 【教程】switch上的Human Fall Flat如何设置本地双人?

    1. 保证两个手柄已插入主机上 2. 进入游戏至游戏开始界面 3. 将主机插入拓展坞,等待电视显示 4. 稍等数秒,电视上会提示使用手柄方式 5. 此时按照多人游戏的手柄操作方法即可

  4. tensorflow-gpu安装的一些注意

    按正确的顺序安装,严格安装特定的版本 1,下载和安装严格版本的cuda和cuDnn,其他版本的不干活.比如要求9.0你就不能装9.1.https://www.tensorflow.org/instal ...

  5. python实现本地图片上传到服务区

    本地图片上传到服务器,其本质上来讲,就是读取本地图片,复制到服务器,并返回服务器url 前端代码,用的form表单提交,form表单中包含两个文件选择表单元素,选择文件,点击提交按钮,提交form表单 ...

  6. win8.1系统下安装ubuntu实现双系统实践教程

    寒假闲来无事,一程序猿哥们给发了一个linux的shell编程指南,看了几张感觉不错.于是装一个试试. 没想到一装才知道了那么的问题. 下面开始: step 1: 软件准备:Ubuntu 系统镜像,这 ...

  7. Python-常见面试题-持续更新

    1.请你简要介绍一下Python的生成器是什么 答:Python生成器是一个返回可以迭代对象的函数,可以被用作控制循环的迭代行为. 生成器类似于返回值为数组的一个函数,这个函数可以接受参数,可以被调用 ...

  8. Python_复习_34

    +# 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱), ...

  9. c++入门之再话内存和引用

    此处没有代码,仅仅讨论一些这样的问题:我们为何使用引用?在哪里使用引用? 首先从函数的角度思考?:函数进行一般参数传递的时候,是怎么样传递的?普通类型的参数传递,是将传递的实参复制一份,到另一个内存空 ...

  10. javascript与php与python的函数写法区别与联系

    1.javascript函数写法种类: (一).第一种 function test(param){ return 111; } (二).第二种 var test = function(param){ ...