首页 > 其他分享 >【待做】【整理】【域渗透系列】域探测

【待做】【整理】【域渗透系列】域探测

时间:2024-08-22 10:27:56浏览次数:11  
标签:系列 cn 渗透 DC dev 探测 Admins io cyberbotic

一、概述

通过前面章节已经从Workstation 2上的提升访问权限中获得了某些凭证材料,可以进行一些域探测为进一步横向移动做准备

本节主要介绍通过普通域用户进行信息枚举,使用不同工具获取域特定信息,后面章节介绍更加专业的域攻击(如域信任和GPO滥用等)

注意:进行域探测并不一定需要高完整性权限,在某些情况下(例如 SYSTEM)可能效果更差

二、PowerView

PowerView(https://github.com/PowerShellMafia/PowerSploit)用于域枚举的强大工具,可以过powershell进行复杂的域信息收集

beacon> powershell-import C:\Tools\PowerSploit\Recon\PowerView.ps1

2.1 域名查询

使用-Domain参数查询当前域或指定域的域信息,包括域名、林名和域控制器

beacon> powershell Get-Domain

Forest                  : cyberbotic.io
DomainControllers       : {dc-2.dev.cyberbotic.io}
Children                : {}
DomainMode              : Unknown
DomainModeLevel         : 7
Parent                  : cyberbotic.io
PdcRoleOwner            : dc-2.dev.cyberbotic.io
RidRoleOwner            : dc-2.dev.cyberbotic.io
InfrastructureRoleOwner : dc-2.dev.cyberbotic.io
Name                    : dev.cyberbotic.io

2.2 域控查询

查询当前或指定域的域控制器

beacon> powershell Get-DomainController | select Forest, Name, OSVersion | fl

Forest    : cyberbotic.io
Name      : dc-2.dev.cyberbotic.io
OSVersion : Windows Server 2022 Datacenter

2.3 域林查询

使用-Forest参数查询当前林或指定林的所有域

beacon> powershell Get-ForestDomain

Forest                  : cyberbotic.io
DomainControllers       : {dc-1.cyberbotic.io}
Children                : {dev.cyberbotic.io}
DomainMode              : Unknown
DomainModeLevel         : 7
Parent                  : 
PdcRoleOwner            : dc-1.cyberbotic.io
RidRoleOwner            : dc-1.cyberbotic.io
InfrastructureRoleOwner : dc-1.cyberbotic.io
Name                    : cyberbotic.io

Forest                  : cyberbotic.io
DomainControllers       : {dc-2.dev.cyberbotic.io}
Children                : {}
DomainMode              : Unknown
DomainModeLevel         : 7
Parent                  : cyberbotic.io
PdcRoleOwner            : dc-2.dev.cyberbotic.io
RidRoleOwner            : dc-2.dev.cyberbotic.io
InfrastructureRoleOwner : dc-2.dev.cyberbotic.io
Name                    : dev.cyberbotic.io

2.4 域策略查询

查询当前域或指定域/域控制器的默认域策略或域控制器策略,尤其关注域密码策略等信息

beacon> powershell Get-DomainPolicyData | select -expand SystemAccess

MinimumPasswordAge           : 1
MaximumPasswordAge           : 42
MinimumPasswordLength        : 7
PasswordComplexity           : 1
PasswordHistorySize          : 24
LockoutBadCount              : 0
RequireLogonToChangePassword : 0
ForceLogoffWhenHourExpire    : 0
ClearTextPassword            : 0
LSAAnonymousNameLookup       : 0

2.5 域用户查询

查询所有或特定用户。使用-Properties参数可以返回特定属性信息。默认返回当前域的所有用户,使用-Identity参数返回特定用户信息

beacon> powershell Get-DomainUser -Identity jking -Properties DisplayName, MemberOf | fl

displayname : John King
memberof    : {CN=Internet Users,CN=Users,DC=dev,DC=cyberbotic,DC=io, CN=Support 
              Engineers,CN=Users,DC=dev,DC=cyberbotic,DC=io}

上述结果表明 jking 是Support Engineers组的成员。域中的大多数权限都委托给域组,而不是单个用户。因此如果这个域组具有特权访问权限,那么其成员也拥有这些权限

注意:如果运行此命令时不带参数-Identity,需要等待一段时间才能返回所有域用户的数据

2.6 域主机查询

查询所有或特定的域主机

beacon> powershell Get-DomainComputer -Properties DnsHostName | sort -Property DnsHostName

dnshostname            
-----------            
dc-2.dev.cyberbotic.io
fs.dev.cyberbotic.io
sql-2.dev.cyberbotic.io
web.dev.cyberbotic.io
wkstn-1.dev.cyberbotic.io
wkstn-2.dev.cyberbotic.io

2.7 OU查询

查询所有或特定的组织单元(OU)

beacon> powershell Get-DomainOU -Properties Name | sort -Property Name

name            
----            
Domain Controllers
File Servers
Servers         
SQL Servers     
Web Servers     
Workstations

2.8 域组查询

查询所有或特定域组信息

beacon> powershell Get-DomainGroup | where Name -like "*Admins*" | select SamAccountName

samaccountname
--------------
Domain Admins 
Key Admins  
DnsAdmins   
MS SQL Admins 
Studio Admins

2.9 域组成员查询

查询特定域组成员

beacon> powershell Get-DomainGroupMember -Identity "Domain Admins" | select MemberDistinguishedName

MemberDistinguishedName                           
-----------------------                           
CN=Nina Lamb,CN=Users,DC=dev,DC=cyberbotic,DC=io  
CN=Administrator,CN=Users,DC=dev,DC=cyberbotic,DC=io

2.10 域组策略对象查询

查询所有或特定组策略对象 (GPO),GPO使用-ComputerIdentity参数枚举特定计算机的GPO

beacon> powershell Get-DomainGPO -Properties DisplayName | sort -Property DisplayName

displayname                    
-----------                    
Computer Certificates
Default Domain Controllers Policy
Default Domain Policy
LAPS
Proxy Settings
Server Admins
Vulnerable GPO
Windows Defender
Windows Firewall
Workstation Admins

2.11 域组策略对象查询

查询组名对应GPO名称,再查询这些GPO包括哪些计算机

beacon> powershell Get-DomainGPOLocalGroup | select GPODisplayName, GroupName

GPODisplayName     GroupName          
--------------     ---------          
Workstation Admins DEV\Support Engineers
Server Admins      DEV\Support Engineers

上面返回信息表明Support Engineers组被分配了对某些GPO包括的计算机具有本地访问权限,尽管 GPO名称中是具有本地管理员访问权限,但也可能是不同的本地组权限,例如远程桌面用户

2.12 获取域GPO用户与本地组关联信息

枚举特定域用户/组是在哪些计算机上具有管理员权限,可以用来查找具有本地管理员访问权限的域组

beacon> powershell Get-DomainGPOUserLocalGroupMapping -LocalGroup Administrators | select ObjectName, GPODisplayName, ContainerName, ComputerName | fl

ObjectName     : Support Engineers
GPODisplayName : Server Admins
ContainerName  : {OU=Servers,DC=dev,DC=cyberbotic,DC=io}
ComputerName   : {web.dev.cyberbotic.io, sql-2.dev.cyberbotic.io, fs.dev.cyberbotic.io}

ObjectName     : Support Engineers
GPODisplayName : Workstation Admins
ContainerName  : {OU=Workstations,DC=dev,DC=cyberbotic,DC=io}
ComputerName   : {wkstn-1.dev.cyberbotic.io, wkstn-2.dev.cyberbotic.io}

上述结果表明Support Engineers域组在web、sql-2、fs、wkstn-1 和 wkstn-2计算机上具有本地管理员权限

2.13 域信任查询

查询当前或特定域的所有域信任关系

beacon> powershell Get-DomainTrust

SourceName      : dev.cyberbotic.io
TargetName      : cyberbotic.io
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : WITHIN_FOREST
TrustDirection  : Bidirectional
WhenCreated     : 8/15/2022 4:00:00 PM
WhenChanged     : 8/15/2022 4:00:00 PM

SourceName      : dev.cyberbotic.io
TargetName      : dev-studio.com
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : 
TrustDirection  : Inbound
WhenCreated     : 8/16/2022 9:52:37 AM
WhenChanged     : 8/16/2022 9:52:37 AM

三、SharpView

SharpView(https://github.com/tevora-threat/SharpView)PowerViewC# 移植版,与powershell版本功能基本一致,但不具备与管道功能

beacon> execute-assembly C:\Tools\SharpView\SharpView\bin\Release\SharpView.exe Get-Domain

Forest                         : cyberbotic.io
DomainControllers              : {dc-2.dev.cyberbotic.io}
Children                       : {}
DomainMode                     : Unknown
DomainModeLevel                : 7
Parent                         : cyberbotic.io
PdcRoleOwner                   : dc-2.dev.cyberbotic.io
RidRoleOwner                   : dc-2.dev.cyberbotic.io
InfrastructureRoleOwner        : dc-2.dev.cyberbotic.io
Name                           : dev.cyberbotic.io

四、ADSearch

ADSearch(https://github.com/tomcarver16/ADSearch)与 PowerView 和 SharpView 相比, ADSearch 的内置搜索功能较少,但它允许指定自定义轻量级目录访问协议 (LDAP) 搜索。这些搜索可用于识别目录中符合给定条件的信息

例如,搜索所有objectCategory为user的对象

beacon> execute-assembly C:\Tools\ADSearch\ADSearch\bin\Release\ADSearch.exe --search "objectCategory=user"

[*] No domain supplied. This PC's domain will be used instead
[*] LDAP://DC=dev,DC=cyberbotic,DC=io
[*] CUSTOM SEARCH: 

[*] TOTAL NUMBER OF SEARCH RESULTS: 10
    [+] cn : Administrator
    [+] cn : Guest
    [+] cn : krbtgt
    [+] cn : CYBER$
    [+] cn : Bob Farmer
    [+] cn : John King
    [+] cn : Nina Lamb
    [+] cn : MS SQL Service
    [+] cn : Squid Proxy
    [+] cn : STUDIO$

可以使用过滤器进一步限制查询结果。例如,搜索所有以单词“admins”结尾的域组

beacon> execute-assembly C:\Tools\ADSearch\ADSearch\bin\Release\ADSearch.exe --search "(&(objectCategory=group)(cn=*Admins))"

[*] No domain supplied. This PC's domain will be used instead
[*] LDAP://DC=dev,DC=cyberbotic,DC=io
[*] CUSTOM SEARCH: 
[*] TOTAL NUMBER OF SEARCH RESULTS: 5
    [+] cn : Domain Admins
    [+] cn : Key Admins
    [+] cn : DnsAdmins
    [+] cn : MS SQL Admins
    [+] cn : Studio Admins

可以使用AND、OR 和 NOT 条件使这些条件更加复杂。可以使用--full参数返回所有属性,也可以使用--attributes参数返回特定属性

beacon> execute-assembly C:\Tools\ADSearch\ADSearch\bin\Release\ADSearch.exe --search "(&(objectCategory=group)(cn=MS SQL Admins))" --attributes cn,member

[*] TOTAL NUMBER OF SEARCH RESULTS: 1
    [+] cn     : MS SQL Admins
    [+] member : CN=Developers,CN=Users,DC=dev,DC=cyberbotic,DC=io

使用json参数还可用于以 JSON 格式格式化输出

[
  {
    "cn": "MS SQL Admins",
    "member": "CN=Developers,CN=Users,DC=dev,DC=cyberbotic,DC=io"
  }
]

原创 高级红队专家

标签:系列,cn,渗透,DC,dev,探测,Admins,io,cyberbotic
From: https://www.cnblogs.com/o-O-oO/p/18373300

相关文章

  • 【OS系列】程序、进程与线程之区别大揭秘,一图读懂胜千言
    1.程序(Program)程序是一组指令的集合,它存储在磁盘上,是一个静态的实体。程序本身并不执行任何操作,它只是提供了一个执行的蓝图。例如,一个编译好的可执行文件(如Windows的.exe文件)就是一个程序。2.进程(Process)进程是程序的一次执行实例,是操作系统进行资源分配和调度的基本......
  • 【内网渗透系列】域内权限划分
    域本地组成员范围:林中所有的用户、全局组、通用组、本域的域本地组。作用范围:本域。用途:给域内的资源设置访问权限。举例:test域有一台打印机P,test域中的用户A和B需要有访问权,新建域本地组DL,给域本地组DL赋予访问打印机P的权限,把用户A和B加到域本地组DL即可。全局组成员范围......
  • MongoDB系列之一文总结索引
    概述分类索引的分类:按照索引包含的字段数量,可分为单键索引(单字段索引)和组合索引(联合索引、复合索引)按照索引字段的类型,可以分为主键索引和非主键索引按照索引节点与物理记录的对应方式来分,可以分为聚簇索引和非聚簇索引,其中聚簇索引是指索引节点上直接包含了数据记录,而后者......
  • MongoDB系列之WiredTiger引擎
    概述关系型数据库MySQL有InnoDB存储引擎,存储引擎很大程度上决定着数据库的性能。在MongoDB早期版本中,默认使用MMapV1存储引擎,其索引就是一个B-树(也称B树)。从MongoDB3.0开始引入WiredTiger(以下简称WT)存储引擎,在性能及稳定性上都有明显的提升。从MongoDB3.2开始,WT作为默认的引......
  • 分布式系列之ID生成器
    背景在分布式系统中,当数据库数据量达到一定量级后,需要进行数据拆分、分库分表操作,传统使用方式的数据库自有的自增特性产生的主键ID已不能满足拆分的需求,它只能保证在单个表中唯一,所以需要一个在分布式环境下都能使用的全局唯一ID。应用场景用户ID、图片ID等各种业务场景分库......
  • 【原创】【深入浅出系列】之代码可读性
    这是“深入浅出系列”文章的第一篇,主要记录和分享程序设计的一些思想和方法论,如果读者觉得所有受用,还请“一键三连”,这是对我最大的鼓励。一、老生常谈,到底啥是可读性一句话:见名知其义。有人说好的代码必然有清晰完整的注释,我不否认;也有人说代码即注释,是代码简洁之道的最高境......
  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(2)
    1.插件的用法1.1.C/C++1.1.1.插件介绍1.1.2.插件配置1.2.Clang-Format1.3.cpp-check-lint1.3.1.cpplint1.3.2.cppcheck1.3.3.插件的使用1.4.C/C++AdvancedLint1.4.1.插件介绍1.4.2.插件配置1.5.BracketPairColorizer1.5.1.插件介绍1.......
  • DC-1综合靶场渗透从外网打到内网,权限提升,入侵痕迹清除,干货,建议收藏
    前言博客主页:【h0ck1r丶羽】的公众号~~由于传播、利用本公众小羽网安提供的文章、工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号小羽网安及作者不为此承担任何责任,一旦造成后果请自行承担!本文主要讲解了渗透测试中的完整渗透测试流程,主要包含【信息收......
  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)
    VSCode是笔者用过的最好用的开发工具,没有之一。笔者14年的码龄生涯中,先后用过Eclipse、IntelliJIDEA、WebStorm、PyCharm、VisualStudio(2010/2013/2015)、NetBeans、SublimeText等,但自从用VSCode之后,就再没换过其他工具,一直用到现在有5年多的时间。1.本文目标这篇文......
  • 一 、USB入门系列之认识USB
    认识USBusb的类型接头外形上USB类型描述USB-A最广泛的接口标准USB-B一般用于打印机、扫描仪、USBHUB等外部USB设备(j-tag就用到了)USB-CUSB-C将成为欧盟电子设备的通用标准(常说的type-c)总线版本上总线版本描述速率(Xb/s)USB0.7第一个版本,发展阶......