NTLM||LM算法lsasswinlogon进程

news2024/11/18 4:46:54

来填坑了,这篇blog我们就来讲一下mimikatz能抓到开机的密码的原理

1.lsass&&winlogon

不知道大家有没有好奇过,我们每次开机输入密码之后,电脑又怎么知道我们是否输入正确呢?

:这就要的得益于我们的两个进程了 lsass 和 winlogon

作死的可以试一下吧你们电脑的这两个关掉,看你电脑崩不崩就完事了

下面是正经的:我们来讲一下电脑开机的原理!!

当然,这是在Windows的一些早期电脑的图片,现在的Windows一般不会将密码保存在内存中

我们输入密码验证开机密码如下

  1. 先运行winlogon.exe程序,并且获取用户的密码,传给lsass.exe进程
  2. 然后lsass进程再对传来的密码进行加密和 C://windows/system32/config下的SAM文件对比
  3. 如果一样,则登录成功,否则则登录失败

而 Mimikatz的sekurlsa模块用于从lsass.exe进程中提取各种凭据信息,包括NTLM哈希、Kerberos票据等。这使得攻击者能够获取用户的凭据,从而进行后续攻击!

但是对于win11,做法可不太一样

2.Mimikatz抓取Win11的密码,但是NTLM

对于一些Win10的版本以及Win11 你会发现,就算以管理员身份敲上这行代码,也是抓不到的

ERROR kuhl_m_sekurlsa_acquireLSA ; Logon list

 你会收获如上报错!!但是是不是就是没有办法了呢???

那肯定不!!!道高一丈,魔高一尺        下面我就来演示一下

先以管理员身份运行mimikatz 接着输入 privilege::debug 命令 

 然后正常来说你是会看到这样的报错的

于是可以输入以下命令

token::elevate

最后一步指令,这样就能抓到了

lsadump::sam

这样就能抓到你的电脑的HTLM值了!! 不信?? 用你的python运行一下这个脚本

from Crypto.Hash import MD4
import binascii

password = "你的电脑密码".encode("utf-16le")
md4_hash = MD4.new(password).digest()
print(binascii.hexlify(md4_hash).decode())

 看看你运行的结果和你抓到的ntlm值一不一样就是了

3.NTLM和LM的hash算法加密过程

 先说一下NTLM,这个算法直到现在的Windows版本都还在被使用

NTLM的编码可以分为以下几步

  1. 先对明文进行hex编码
  2. 再对上一步进行Unicode编码 (每两个数字之后加两个0)
  3. 再对上一步结果进行md4单向hash加密结果的16进制就是NTLM的值

虽然这么说但是我自己去试,发现结果是不一样的,很奇怪

于是我就尝试了另外一种py的脚本方法,也就是上面的py脚本

from Crypto.Hash import MD4
import binascii

password = "admin".encode("utf-16le")   # 将字符串 "admin" 进行Unicode编码
md4_hash = MD4.new(password).digest()
print(binascii.hexlify(md4_hash).decode())    # 将二进制的 MD4 哈希值转换为十六进制,并打印出来

这样跑出来的结果就是NTLM的hash值

然后就是lm的计算过程

由于LM算法的种种弱点,如密码限制、弱密钥、单向函数等,它在安全性上存在很大的问题,因此在现代系统中已经被更安全的方法所替代。

以上就是对于相关知识的一些普及和概述了    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1443345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前后端的那些事】webrtc入门demo(代码)

文章目录 前端代码apivue界面 后端modelwebsocketconfigresource 龙年到了,先祝福各位龙年快乐,事业有成! 最近在搞webrtc,想到【前后端的那些事】好久都没有更新了,所以打算先把最近编写的小demo发出来。 p2p webrt…

Android 移动应用开发 创建第一个Android项目

文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录(所有图片、布局、字AndroidManifest.xml 有四大组件,程序添加权限声明 Project下的结构 二、开发android时,部分库下载异…

【Dubbo源码二:Dubbo服务导出】

入口 Dubbo服务导出的入口:服务导出是在DubboBootstrapApplicationListener在监听到ApplicationContextEvent的ContextRefreshedEvent事件后,会触发dubboBootstrap.start(), 在这个方法中最后会导出Dubbo服务 DubboBootstrapApplicationListener Dub…

【北邮鲁鹏老师计算机视觉课程笔记】03 edge 边缘检测

【北邮鲁鹏老师计算机视觉课程笔记】03 1 边缘检测 有几种边缘? ①实体上的边缘 ②深度上的边缘 ③符号的边缘 ④阴影产生的边缘 不同任务关注的边缘不一样 2 边缘的性质 边缘在信号突变的地方 在数学上如何寻找信号突变的地方?导数 用近似的方法 可以…

【DDD】学习笔记-领域模型与函数范式

函数范式 REA 的 Ken Scambler 认为函数范式的主要特征为:模块化(Modularity)、抽象化(Abstraction)和可组合(Composability),这三个特征可以帮助我们编写简单的程序。 通常&#…

电商网站基础布局——以小兔鲜为例

项目准备 /* base.css */ /* 內减模式 */ * {margin: 0;padding: 0;box-sizing: border-box; }/* 设置网页统一的字体大小、行高、字体系列相关属性 */ body {font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","Hiragino Sans…

编码安全风险是什么,如何进行有效的防护

2011年6月28日晚20时左右,新浪微博突然爆发XSS,大批用户中招,被XSS攻击的用户点击恶意链接后并自动关注一位名为HELLOSAMY的用户,之后开始自动转发微博和私信好友来继续传播恶意地址。不少认证用户中招,也导致该XSS被更…

【深蓝学院】移动机器人运动规划--第4章 动力学约束下的运动规划--笔记

0. Outline 1. Introduction 什么是kinodynamic? 运动学(Kinematics)和动力学(Dynamics)都是力学的分支,涉及物体的运动,但它们研究的焦点不同。 运动学专注于描述物体的运动,而…

反应式编程

反应式编程 前言1 反应式编程概览2 初识 Reactor2.1 绘制反应式流图2.2 添加 Reactor 依赖 3.使用常见的反应式操作3.1 创建反应式类型3.2 组合反应式类型3.3 转换和过滤反应式流3.4 在反应式类型上执行逻辑操作 总结 前言 你有过订阅报纸或者杂志的经历吗?互联网的确从传统的…

第66讲管理员登录功能实现

项目样式初始化 放assets目录下; border.css charset "utf-8"; .border, .border-top, .border-right, .border-bottom, .border-left, .border-topbottom, .border-rightleft, .border-topleft, .border-rightbottom, .border-topright, .border-botto…

WWW 万维网

万维网概述 万维网 WWW (World Wide Web) 并非某种特殊的计算机网络。 万维网是一个大规模的、联机式的信息储藏所。 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。 这种访问方式称为“链接”。 万维网是分…

线上编程答疑解惑回顾,初学编程中文编程在线屏幕共享演示

线上编程答疑解惑回顾,初学编程中文编程在线屏幕共享演示 一、学编程过程中有不懂的怎么办? 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载——常用工具下载——编…

Python入门知识点分享——(二十)继承和方法重写

今天是大年三十,祝大家龙年大吉,当然无论何时何地,我们都不要忘记继续学习。今天介绍的是继承和方法重写这两种面向对象编程特点。继承机制指的是,一个类(我们称其为子类或派生类)可以使用另一个类&#xf…

无心剑中译佚名《春回大地》

The Coming of Spring 春回大地 I am coming, little maiden, With the pleasant sunshine laden, With the honey for the bee, With the blossom for the tree. 我来啦,小姑娘 满载着欣悦的阳光 蜂儿有蜜酿 树儿有花绽放 Every little stream is bright, All …

【Leetcode】LCP 30. 魔塔游戏

文章目录 题目思路代码结果 题目 题目链接 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪…

Apache Zeppelin 整合 Spark 和 Hudi

一 环境信息 1.1 组件版本 组件版本Spark3.2.3Hudi0.14.0Zeppelin0.11.0-SNAPSHOT 1.2 环境准备 Zeppelin 整合 Spark 参考:Apache Zeppelin 一文打尽Hudi0.14.0编译参考:Hudi0.14.0 最新编译 二 整合 Spark 和 Hudi 2.1 配置 %spark.confSPARK_H…

moduleID的使用

整个平台上有很多相同的功能,但是需要不同的内容。例如各个模块自己的首页上有滚动新闻、有友好链接等等。为了公用这些功能,平台引入了moduleID的解决方案。 在前端的配置文件中,配置了模块号: 前端页面请求滚动新闻时&#xff0…

Sam Altman计划筹集5至7万亿美元;OPPO发布AI时代新功能

🦉 AI新闻 🚀 Sam Altman计划筹集5至7万亿美元,建立全球芯片帝国 摘要:Sam Altman宣布计划筹集5至7万亿美元来建立全球芯片帝国,以满足日益增长的AI基础设施需求。他已在全球寻求资金,包括中东土豪。此外…

Flume拦截器使用-实现分表、解决零点漂移等

1.场景分析 使用flume做数据传输时,可能遇到将一个数据流中的多张表分别保存到各自位置的问题,同时由于采集时间和数据实际发生时间存在差异,因此需要根据数据实际发生时间进行分区保存。 鉴于此,需要设计flume拦截器配置conf文件…

Java 内存区域介绍

(1)程序计数器 程序计数器主要有两个作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。 在多线程的情况下,程序计数器用于记录…