LM

Windows Vista / Server 2008已经默认关闭,在老版本可以遇到,但根据windwos的向下兼容性,可以通过组策略启用它(https://support.microsoft.com/en-us/help/299656/how-to-prevent-windows-from-storing-a-lan-manager-hash-of-your-passwor)。

加密过程:

299BD128C1101FD6

  

1.将所有小写字母转换为大写字母
2.将密码填充为包含NULL字符的14个字符
3.将密码拆分为两个7个字符的块
4.从每个7个字符的块中创建两个DES密钥
5. 使用DES加密字符串“ KGS!@ #$%”这两个块。
6.连接两个DES加密的字符串。

  

hash破解:

john --format=lm hash.txt
hashcat -m 3000 -a 3 hash.txt

  

NThash

NTLM是现在Windows系统上存储密码的方式,可以通过转储SAM数据库或使用Mimikatz来获得。

加密过程:

B4B9B02E6F09A9BD760F388B67351E2B

  

MD4(UTF-16-LE(your-password))

  

hash破解:

john --format=nt hash.txt
hashcat -m 1000 -a 3 hash.txt

  

NTMLV1

NTLM协议在服务器和客户端之间的质询/响应中使用NTHash,协议的v1同时使用NT和LM哈希,具体取决于配置和可用内容。

加密过程:

u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c

  

C = 8-byte server challenge, random
K1 | K2 | K3 = LM/NT-hash | 5-bytes-0
response = DES(K1,C) | DES(K2,C) | DES(K3,C)

  

hash破解:

john --format=netntlm hash.txt
hashcat -m 5500 -a 3 hash.txt

  

NTMLV2

这是NTLM协议的新版本和改进版本,这使其很难破解。该概念与NTLMv1相同,只是发送到服务器的算法和响应不同,从Windows 2000开始,在Windows中为默认值。

加密过程:

admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030

 

SC = 8-byte server challenge, random
CC = 8-byte client challenge, random
CC* = (X, time, CC2, domain name)
v2-Hash = HMAC-MD5(NT-Hash, user name, domain name)
LMv2 = HMAC-MD5(v2-Hash, SC, CC)
NTv2 = HMAC-MD5(v2-Hash, SC, CC*)
response = LMv2 | CC | NTv2 | CC*

  

hash破解:

john --format=netntlmv2 hash.txt
hashcat -m 5600 -a 3 hash.txt

  

LM NTML NET-NTLM2理解及hash破解的更多相关文章

  1. 电脑hash破解

    我一直在想,到底用什么样的方式才能较长时间地控制已经得到了权限的目标呢?留后门,种木马,甚至是Rootkit?留的Webshell痕迹太明显,哪怕是一句话的Webshell,都极容易被管理员清除.放了 ...

  2. Hash破解神器:Hashcat的简单使用

    Hash破解神器:Hashcat的简单使用 2014-06-10 21:02:42|  分类: 离线密码破解 |  标签:密码字典  rar密码破解  zip密码破解  密码破解  |举报|字号 订阅 ...

  3. [梁山好汉说IT] 如何理解一致性Hash

    [梁山好汉说IT] 如何理解一致性Hash 0x00 摘要 用梁山酒店分配客人为例来理解一致性Hash. 0x01. 与经典哈希方法的对比 经典哈希方法:总是假设内存位置的数量是已知且固定不变的.因为 ...

  4. 理解php Hash函数,增强密码安全

    1.声明 密码学是一个复杂的话题,我也不是这方面的专家.许多高校和研究机构在这方面都有长期的研究.在这篇文章里,我希望尽量使用简单易懂的方式向你展示一种安全存储Web程序密码的方法. 2.“Hash” ...

  5. MySQL提权之user.MYD中hash破解方法

    经常在服务器提权的时候,尤其是windows环境下,我们发现权限不高,却可以读取mysql的datadir目录,并且能够成功下载user.MYD这个文件.但是在读取内容的时候,经常会遇到root密码h ...

  6. 理解一致性Hash算法

    简介 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CAR ...

  7. Hash值破解工具(findmyhash与hash-identifier破解Hash值)

    Hash值破解工具(findmyhash与hash-identifier破解Hash值) 前言: Kali Linux提供各种哈希密文破解工具,如hashcat.john.rainbows.不论哪一种 ...

  8. 20155220吴思其 实验2 Windows口令破解

    实验目的: 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windows 实验工具 LC5 SuperDic 实验原理 口令破解方法 ...

  9. # 2017-2018-1 20155232《信息安全技术》实验二——Windows口令破解

    2017-2018-1 20155232<信息安全技术>实验二--Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 ...

随机推荐

  1. Shell脚本(五)函数

    总结下shell中的函数用法 #!/bin/bash function add_v1() { echo "call function add" } function add_v2( ...

  2. 单调队列+二分 G - Queue 小阳买水果

    B. Queue 这个题目会做的很偶然,突然想到的,因为我们要求离这只海象的最远的比他年轻的海象,这个年轻的海象可以用单调栈维护. 就是从前往后遍历一遍,单调栈里面存年龄从小往大的海象,这个为什么这么 ...

  3. mybatis控制台打印执行的sql语句

  4. Day_11【集合】扩展案例5_对list集合对象中的元素进行反转,求最大值最小值,求元素i在list集合中首次出现的索引,将oldvalue替换为newvalue

    分析以下需求,并用代码实现 定义MyArrays工具类,该工具类中有以下方法,方法描述如下: 1.public static void reverse(ArrayList<Integer> ...

  5. STM32 进行软件复位的方法

    platform:stm32f103xx include:core_cm3.h /** \brief System Reset \details Initiates a system reset re ...

  6. 瞬间教你学会使用java中list的retainAll方法

    retainAll方法简介 当我们有两个list集合的时候,我们可以使用retainAll方法求得两个list集合的子集.retainAll是Collection接口中提供的一个方法,各个实现类有自己 ...

  7. 移动端纯css超出盒子出现横向滚动条

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. 手把手numpy教程【二】——数组与切片

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Numpy专题的第二篇,我们来进入正题,来看看Numpy的运算. 上一篇文章当中曾经提到过,同样大小的数据,使用Numpy的运算速度会 ...

  9. pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named

    参考了这个解决办法:https://blog.csdn.net/qq_36829091/article/details/82180866 我的是Windows,linux的和Windows的解决办法有 ...

  10. 3.5 Go布尔型

    1.Go布尔型 一个布尔类型的值只有两种:true 和 false. if 和 for 语句的条件部分都是布尔类型的值,并且==和<等比较操作也会产生布尔型的值. package main im ...