入侵渗透 抓取内网windows登陆密码及查看密文相关问题

本文主要是介绍入侵渗透 抓取内网windows登陆密码及查看密文相关问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. windows登录的明文密码,存储过程是怎么样的? 密文存在哪个文件下?该文件是否可以打开,并且查看到密文?

        在Windows中,用户登录的密码不会以明文形式保存,会以加密形式存储。其默认使用NTLM或Kerberos认证协议进行加密存储密码

        其密文存储在路径​​​C:\Windows\System32\config\SAM中的SAM,Windows系统中所有用户的hash值可以从SAM文件获得,如果是在域环境中,则存在域控制器的NTDS.dit文件中。这些文件由操作系统进行管理,正常情况下无法直接打开和查看。但是我们可以通过下载外部工具mimikatz通过hashdump模块来查看。

        想要查看到hash值或进一步获取明文密码,需要一定的技术手段。例如,可以使用mimikatz这类工具读取lsass.exe进程内存来获取已登录用户的NTLM hash。另外,也可以通过修改特定的注册表项,强制让系统在特定条件下暴露出明文密码。

        总得来说,虽然Windows系统中的密码是以密文形式存储的,但通过一些特殊的技术手段,仍然有可能获取到用户的明文密码。因此,对于系统安全而言,除了密码的加密存储外,还需要采取其他安全措施以保护用户账户的安全性。

2.通过hashdump 抓取出所有用户的密文,为什么分为两个模块? 这两个模块分别都代表什么?

        通过hashdump抓取的所有用户密文分为两个模块,分别是LM hashNT hash

        这两个模块代表的是Windows操作系统中用于存储用户密码散列值的两种不同算法。第一个模块永远是一样的aad3b435b51404eeaad3b435b51404ee

3.为什么第一个模块永远是一样的aad3?

        因为早期版本的Windows使用了一种名为LAN Manager Hash(LM Hash)的加密方法。由于LM Hash使用的DES加密算法安全性较低,较容易被破解,微软在新的Windows版本中默认禁用了LM Hash,但出于兼容性考虑,系统仍然会生成一个固定的LM Hash值。

4. 这两个模块的加密算法有什么不同,如何加密的?

         第一部分加密基于md4,过程是用户密码首先被转换为Unicode格式,然后使用Unicode Little-Endian编码进行哈希

        第二部分是将用户密码一些随机数来结合计算出的哈希值,更复杂更安全。

详解:

        LM Hash使用的是DES加密算法,DES 是一种对称加密算法,它使用一个 56 位的密钥来加密数据。在 LM 哈希中,用户的密码首先被转换为一个 16 字节的字符串,然后这个字符串被分成两个 8 字节的部分,每部分都使用 DES 算法进行加密。

        NT Hash则使用了更加安全的MD4或MD5算法。MD4 是一种密码哈希函数,它将任意长度的数据映射为固定长度的哈希值。在 NTLM 哈希中,用户的密码首先被转换为一个 Unicode 字符串,然后这个字符串被 MD4 算法处理生成一个 16 字节的哈希值。随着安全要求的提高,现代Windows系统倾向于使用更安全的NT Hash来存储用户密码的散列值。

        综上所述,通过hashdump抓取的用户密文分为LMhash和NThash两个模块,其中第一个模块的固定值是由于历史兼容性原因所致,而两个模块所使用的加密算法存在差异,体现在它们所依赖的加密技术上。

这篇关于入侵渗透 抓取内网windows登陆密码及查看密文相关问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945905

相关文章

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Java死锁问题解决方案及示例详解

《Java死锁问题解决方案及示例详解》死锁是指两个或多个线程因争夺资源而相互等待,导致所有线程都无法继续执行的一种状态,本文给大家详细介绍了Java死锁问题解决方案详解及实践样例,需要的朋友可以参考下... 目录1、简述死锁的四个必要条件:2、死锁示例代码3、如何检测死锁?3.1 使用 jstack3.2

解决JSONField、JsonProperty不生效的问题

《解决JSONField、JsonProperty不生效的问题》:本文主要介绍解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录jsONField、JsonProperty不生效javascript问题排查总结JSONField