首页 > 其他分享 >实验六-Salt本地pojie实验

实验六-Salt本地pojie实验

时间:2023-05-12 21:57:31浏览次数:34  
标签:散列 pojie salt 口令 密码 实验 Salt 破解

【实验目的】了解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后输入如下命令,如下图所示:

image

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

image

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

image

image

image

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

image

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

image

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

image

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

image

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

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

image

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

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

image

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

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

image

标签:散列,pojie,salt,口令,密码,实验,Salt,破解
From: https://www.cnblogs.com/magicfat/p/17396367.html

相关文章

  • FactoryIO十字机械手组装工作站仿真实验程序 【程序原创】使用简单的梯形
    FactoryIO十字机械手组装工作站仿真实验程序【程序原创】使用简单的梯形图编写,逻辑清晰,通俗易懂,写有详细注释,起到抛砖引玉的作用,比较适合有动手能力的入门初学者。加工中心的机器人不是真正的机器人,是仿真软件的一个部件,通过简单的IO控制,机器人执行固定的动作。软件环境:1、西门子......
  • lcd屏幕实验
    显示原理与VGA原理类似。使用屏幕为800*480分辨率,对应的时序参数如下:行显示时序如下图:列显示时序与行显示时序类似。sourcecode`timescale1ns/1ps////////////////////////////////////////////////////////////////////////////////////Company://Engineer:/......
  • Chat Application 实验内容
    Contents1LabOverview42Setup43Assignments43.1MandatoryAssignment:ChatClient(0-150points)...............63.2MandatoryAssignment:TCPTraceAnalysis(0-100points)..........83.3ChatServer(250points).............
  • 计网实验
    OSPF什么是OSPF链路状态路由协议(开放式最短路由优先)工作过程邻居发现:OSPF路由器首先通过发送Hello消息来发现与自己直接相连的其他OSPF路由器。路由器之间通过交换Hello消息来确认彼此的存在,并建立邻居关系。链路状态数据库同步:一旦邻居关系建立,路由器将通过发送LinkStat......
  • S5PV210 | 裸机蜂鸣器实验
    S5PV210|裸机蜂鸣器实验目录S5PV210|裸机蜂鸣器实验电路原理DATASHEET(相关寄存器设置详解)2.2.7GPD0控制寄存器组2.2.7.1PortGroupGPD0ControlRegister(GPD0CON,R/W,Address=0xE020_00A0)2.2.7.2PortGroupGPD0ControlRegister(GPD0DAT,R/W,Address=0x......
  • S5PV210 | 裸机汇编LED闪烁实验
    S5PV210|裸机汇编LED闪烁实验目录S5PV210|裸机汇编LED闪烁实验原理图DATASHEET2.2.7PORTGROUPGPD0CONTROLREGISTER2.2.7.1PortGroupGPD0ControlRegister(GPD0CON,R/W,Address=0xE020_00A0)2.2.7.2PortGroupGPD0ControlRegister(GPD0DAT,R/W,Address......
  • S5PV210 | 裸机汇编LED流水灯实验
    S5PV210|裸机汇编LED流水灯实验目录S5PV210|裸机汇编LED流水灯实验开发板:1.原理图2.Datasheet相关3.代码3-1.代码实现(流水灯,仅作演示)3-2.工具mkv210_image代码4.运行SD卡启动5.参考开发板:1.原理图上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无......
  • cuda nbody实验
    1并行化非常简单得,直接分配4096线程处理,每个线程处理一个天体。每个kernel函数中的循环,就去全局变量里面找其他点的信息,进行计算就好了2优化2.1共享内存按1中的,是每个线程处理n个,这里的话,每个线程分批次处理,每次处理一部分。引入共享内存。......
  • 实验5
    试验任务11#include<stdio.h>#defineN4intmain(){intx[N]={1,9,8,4};inti;int*p;//方式1:通过数组名和下标遍历输出数组元素for(i=0;i<N;++i)printf("%d",x[i]);printf("\n");//方式2:通过指针变量遍历输出数组元素(写法1)for(p=x;p<x+......
  • 实验5
    #include<stdio.h>#defineN4intmain(){intx[N]={1,9,8,4};inti;int*p;//方式1:通过数组名和下标遍历输出数组元素for(i=0;i<N;++i)printf("%d",x[i]);printf("\n");//方式2:通过指针变量遍历输出数组元素(写法1)for(p=x;p<x+N;++p)......