【实验目的】了解Salt型密码的加密机制,学会使用本地密码pojie工具来pojieSalt型密码,了解pojie密码原理。

【知识点】Salt,密码pojie

【实验原理】

1.Salt概念

在密码保护技术中,salt是用来修改口令散列的随机数据串。可将salt加入散列,即使系统的另一用户也选用了同一口令,也可通过唯一辨识用户口令来避免冲突。也可加入salt,使用口令散列匹配策略为进攻系统的攻击者制造困难,因为,在口令散列中增加salt可防止攻击者使用字典单词来检验整个系统。salt值属于随机值。用户注册时,系统用来和用户密码进行组合而生成的随机数值,称作salt值,通称为加盐值。

背景:

系统通常把用户的密码如MD5加密后,以密文形式保存在数据库中,来防止黑客偷窥。

产生:

随着对MD5密文查询工具的出现,而很多用户的密码又设置简单,单纯的对用户密码进行MD5加密后保存,用密文很容易就能反查询得到某用户的密码

原理:

为用户密码添加Salt值,使得加密的得到的密文更加冷僻,不宜查询。即使黑客有密文查询到的值,也是加了salt值的密码,而非用户设置的密码。salt值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符、位数可以根据要求而不一样。

用途:

当用户首次提供密码时(通常是注册时),由系统自动添加随机生成的salt值,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的加盐值,然后散列,再比较散列值,已确定密码是否正确。

其它:

经过添加salt值处理的密码,即使用户设置的原密码是相通的,数据库中的密文却是不同的。

2.口令pojie原理

密码pojie,作为黑客常用的攻击手段之一,在攻击的初步阶段实现了账号口令的暴力猜测,为深入攻击做准备。使用精心的构造口令字典、性能强劲的运算系统,能够快速、有效的完成口令强度较低的账户的pojie。无论口令加密采用DES算法、MD5算法,还是其他机制,因为它们具有单向不可逆的特性,要想从算法本身去pojie,难度相当大,通常只存在理论上的可能性。由于各种加密算法都是公开的,虽然逆向猜解不可行,但从正向猜解却是很现实的。因为,设置口令的用户是人,人们在设置口令时,习惯使用一些容易记忆且带有明显特征的口令,如用户名、生日、电话号码、亲友姓名等,这就给我们pojie口令带来机会。我们可以制作一个字典文件:里面的条目都是经常用作口令的字串。猜解口令时,就从字典文件中读出一个条目作为口令,使用与系统口令加密算法相同的方法进行加密,得到的字串与口令文件中的条目进行比较,如果相同,则猜解成功;否则,继续下一次尝试。最终结果可能得到了真正的用户口令,也可能字典文件条目用尽而不能pojie。口令pojie的方法主要是字典法,利用字典文件进行口令猜解。常见的口令猜解模式主要是:

字典模式:即使用指定的字典文件进行口令猜解。

混合模式:即指定字典规则,对字典条目进行某种形式的变化,增加字典内容,提高猜解的效率。

暴力模式:即遍历所有可能的密钥空间,进行口令猜解。

JohntheRipper

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

【软件工具】

操作系统:Windows7

工具:JohntheRipper

【实验目标】

使用JohntheRipperpojie带Salt值的密码散列文件

【实验步骤】

步骤1:使用JohntheRipperpojie带Saltde密码散列文件

首先解压工具包,进入目录【D:\网络攻防技术\5.Salt型密码散列本地pojie实验】,解压工具包【Tools.rar】到当前文件夹然后打开一个命令提示符,进入实验工具目录中的【john179j5\run】子目录,使用cmd运行John.exe,查看可用参考数,打开cmd后输入如下命令,如下图所示:

或直接在run目录下空白处shift+右键选择在此处打开命令行运行john.exe。

“__format”参数用来指定所要破解的密码的类型,如下图所示,在所支持的破解类型中,其中有一个类型名为“dynamic_n”,即动态密码类型。接着运行命令“John--subformat=LIST”来查看各类支持的动态破解类型。

比如常见的Discuz论坛,其带Salt的加密机制为:md5(md5(\(pass).\)salt)对应的是“dynamic_6”这种破解类型。查看破解速度。破解速度取决于主机的机器性能以及所要破解的类型,这里以“dynamic_6”这种破解类型为例,命令为john--format=dynamic_6-test(请一定注意命令的书写格式)。

查看实验工具目录下要破解的密码文档“salt_6.txt”,内容如下所示:

每一行都是一个目标用户的密码散列信息,格式为:“用户名:最终的hash值$salt”。使用如下命令进行简单模式的密码破解:john--format=dynamic_6--singleD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

破解结束后,可以使用如下命令查看已经破解成功的密码:john--format=dynamic_6--showD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

步骤2:进行字典模式的密码破解

使用如下命令进行字典模式的密码破解:john--format=dynamic_6--wordlist=D:\网络攻防技术\5.Salt型密码散列本地破解实验\pass-1w.dicD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。这里使用了“pass-1w.dic”这个字典。

步骤3:使用暴力模式的密码破解

这里使用“Digits”字符组合模式来进行暴力破解:john--format=dynamic_6--incremental=DigitsD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。关于“Digits”模式的设置可以查看John目录中的“Join.ini”配置文件中的“[Incremental:Digits]”部分的设置,默认如下:从中可以看到,“Digits”字符集合暴力破解的密码最长为8。注:若要终止程序的运行,可以按“Ctrl+C”。

步骤4:最后查看所有已经破解成功的密码

使用如下命令查看所有已经破解成功的密码:john--format=dynamic_6--showD:\网络攻防技术\5.Salt型密码散列本地破解实验\salt_6.txt。

实验六-Salt本地pojie实验的更多相关文章

  1. VMware vSphere服务器虚拟化实验六 vCenter Server 添加储存

                                                                          VMware vSphere服务器虚拟化实验六 vCente ...

  2. windows本地安全策略实验-远程桌面连接锁定账户

    windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...

  3. 实验六 CC2530平台上P2P通信的TinyOS编程

    实验六 CC2530平台上P2P通信的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的掌握射频通信TinyOS编程方法 学生通过本实验应理解TinyOS中 ...

  4. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块

    实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念. ...

  5. 实验 六:分析linux内核创建一个新进程的过程

    实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...

  6. Linux内核分析实验六

    Linux内核分析实验六 进程控制块PCB——task_struct(进程描述符) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_s ...

  7. MySQL数据库实验六:存储过程建立与调用

    实验六  存储过程建立与调用 一.实验目的 理解存储过程的概念.建立和调用方法. 二.实验环境 三.实验示例 1.定义一个函数,按性别计算所有学生的平均年龄. CREATE FUNCTION aver ...

  8. 实验六 DIV+CSS的综合应用

    实验六 DIV+CSS的综合应用 [实验目的] 1.掌握DIV布局的方法: 2.利用CSS对DIV进行美化: 3.利用CSS对文本图像等网页元素进行美化 [实验环境] 连接互联网的PC ,Win7操作 ...

  9. HCIA-datacom 4.2 实验二:本地AAA配置实验

    关于本实验 AAA是Authentication(认证).Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证.授权.计费三种安全功能.这三种安 ...

  10. 实验六 MapReduce实验:二次排序

    实验指导: 6.1 实验目的基于MapReduce思想,编写SecondarySort程序. 6.2 实验要求要能理解MapReduce编程思想,会编写MapReduce版本二次排序程序,然后将其执行 ...

随机推荐

  1. dotnet 6 在 System.Text.Json 使用 source generation 源代码生成提升 JSON 序列化性能

    这是一个在 dotnet 6 早就引入的功能,此功能的使用方法能简单,提升的效果也很棒.使用的时候需要将 Json 序列化工具类换成 dotnet 运行时自带的 System.Text.Json 进行 ...

  2. 构建RAG应用-day05: 如何评估 LLM 应用 评估并优化生成部分 评估并优化检索部分

    评估 LLM 应用 1.一般评估思路 首先,你会在一到三个样本的小样本中调整 Prompt ,尝试使其在这些样本上起效. 随后,当你对系统进行进一步测试时,可能会遇到一些棘手的例子,这些例子无法通过 ...

  3. Java设计模式-观察者模式-SpringBoot实现

    观察者模式 项目:https://gitee.com/KakarottoChen/blog-code.git 的:JavaSpringListener 一.Java观察者模式 Java观察者模式是一种 ...

  4. 程序员天天 CURD,怎么才能成长,职业发展的思考(2)

    接着上一篇:程序员天天 CURD,怎么才能成长,职业发展思考 上一篇写到了用年限来谈程序员的发展,在 4 - 6 年这个时间段需要做的一些事情,接着写这个时间段的. 第 4.5 年时候,你可能会做一些 ...

  5. htts证书申请

    https://freessl.cn/ 教程: https://www.bilibili.com/video/BV1Ug411673P/?spm_id_from=333.337.search-card ...

  6. ansible(13)--ansible的lineinfile模块

    1. lineinfile模块 功能:修改或删除文件内容,与系统中的 sed 命令类似: 主要参数如下: 参数 说明 path 指定要操作的文件 regexp 使用正则表达式匹配对应的行 line 修 ...

  7. 🔥httpsok-v1.8.1 一分钟搞定SSL证书自动续期

    httpsok-v1.8.1 一分钟搞定SSL证书自动续期 简介 一行命令,一分钟轻松搞定SSL证书自动续期 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设计. ...

  8. VRRP 虚拟路由器冗余协议

    目录 文章目录 目录 为什么要使用 VRRP 技术? VRRP VRRP 的概念 VRRP 的工作原理 VRRP 的状态机 VRRP 的工作过程 VRRP 的选举机制 VRRP 的报文格式 VRRP ...

  9. Linux/Golang/glibC系统调用

    Linux/Golang/glibC系统调用 本文主要通过分析Linux环境下Golang的系统调用,以此阐明整个流程 有时候涉略过多,反而遭到质疑~,写点文章证明自己实力也好 Golang系统调用 ...

  10. Must use PackageReference 解决办法

    Must use PackageReference 这是因为 .net framework的项目 在nuget时,引用到了 .net core 下的包. 解决办法,把之前引用的相关包全部在nuget上 ...