实验六-Salt本地pojie实验
【实验目的】了解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实验的更多相关文章
- VMware vSphere服务器虚拟化实验六 vCenter Server 添加储存
VMware vSphere服务器虚拟化实验六 vCente ...
- windows本地安全策略实验-远程桌面连接锁定账户
windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...
- 实验六 CC2530平台上P2P通信的TinyOS编程
实验六 CC2530平台上P2P通信的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的掌握射频通信TinyOS编程方法 学生通过本实验应理解TinyOS中 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块
实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念. ...
- 实验 六:分析linux内核创建一个新进程的过程
实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...
- Linux内核分析实验六
Linux内核分析实验六 进程控制块PCB——task_struct(进程描述符) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_s ...
- MySQL数据库实验六:存储过程建立与调用
实验六 存储过程建立与调用 一.实验目的 理解存储过程的概念.建立和调用方法. 二.实验环境 三.实验示例 1.定义一个函数,按性别计算所有学生的平均年龄. CREATE FUNCTION aver ...
- 实验六 DIV+CSS的综合应用
实验六 DIV+CSS的综合应用 [实验目的] 1.掌握DIV布局的方法: 2.利用CSS对DIV进行美化: 3.利用CSS对文本图像等网页元素进行美化 [实验环境] 连接互联网的PC ,Win7操作 ...
- HCIA-datacom 4.2 实验二:本地AAA配置实验
关于本实验 AAA是Authentication(认证).Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证.授权.计费三种安全功能.这三种安 ...
- 实验六 MapReduce实验:二次排序
实验指导: 6.1 实验目的基于MapReduce思想,编写SecondarySort程序. 6.2 实验要求要能理解MapReduce编程思想,会编写MapReduce版本二次排序程序,然后将其执行 ...
随机推荐
- Java面试题:SimpleDateFormat是线程安全的吗?使用时应该注意什么?
在日常开发中,我们经常会用到时间,我们有很多办法在Java代码中获取时间.但是不同的方法获取到的时间的格式都不尽相同,这时候就需要一种格式化工具,把时间显示成我们需要的格式. 最常用的方法就是使用Si ...
- Nginx 简单应用(Windows os)
实际问题如下: 我的电脑上有vm虚拟机,我有两个网络,一个叫137,一个叫102 ,我现在vm的网络是102的网络(137不允许被vm使用),但是别人都是137的网络,如何让137的局域网访问我的vm ...
- Git实战技巧:恢复被强制push -f失踪的代码
前言 Git是一个易学难精的分布式版本控制系统,被我们码农常用于代码的管理.如果你还不了解Git,建议先通过廖雪峰的Git教程进行了解,再来看本文,因为本文以使用技巧为主,不会在基础名词上做过多解释. ...
- 应用zabbix的实时导出(real-time export)功能
说明 zabbix作为监控软件,有时也会需要获取历史数据作进一步的分析,通常可以采用3种办法: 通过zabbix API定期获取(通过web) 通过后端数据库定期读取(通过db) 应用实时导出功能配合 ...
- Go-Zero技能提升:深度探究goctl的妙用,轻松应对微服务开发挑战!(三)
前言 有位同学在群里说:"Go-Zero官方文档太简洁了,对小白有点不友好.好奇你们是怎么学习的?项目是怎么封装的?有什么提高开发效率的技巧吗?". 来来来,这期内容给你安排上,先 ...
- Notion API中Internal Notion integrations和Public Notion integrations的区别
Internal Notion integrations Internal Notion integrations与一个单一的.特定的工作区相联系,只有该工作区的成员可以使用这个integration ...
- SpringBoot-mybatis-plus 分页
前言: 想必数据分页对于每一个程序员并不陌生,针对分页查询功能代码实现上:肯定是代码简洁明了且能达到分页的效果会更好! 现在我将基于SpringBoot - mybatisPlus分页查询的方法总结如 ...
- Linux(一):Linux操作系统
Linux(一):Linux操作系统 对于我们编程人员来讲,linux对于我们几乎已经是像windows对于普通用户一样,好像和同行交流说不会linux就像说不会用计算机一样羞耻.这里打算从头开始温故 ...
- console小知识
console.log(JSON.stringify(object,null,2));
- Semantic Kernel入门系列:利用Handlebars创建Prompts functions
引言 本章我们将学习通过Handlebars Prompts Template来创建Prompts functions. 什么是Handlebars? Handlebars是一个流行的 JavaScr ...
