8
月
在社区成长 8 月
LEVEL 90
100 XP
ldeep 是一种后利用LDAP 枚举工具,设计用于Active Directory 环境。它使红队人员、安全专业人员和渗透测试人员能够在获得经过身份验证的访问权限后通过LDAP 查询域对象和关系。凭借枚举用户、组、计算机、SPN、GMSA 机密、LAPS 密码、委派路径和组成员身份等功能,ldeep Discover 可以帮助消除错误配置和权限升级机会,而无需依赖PowerShell 或基于Windows 的工具。
主要特点
先决条件
设置/配置
枚举和利用
结论
主要属性:轻量级和模块化
快速扫描并分类输出
帮助识别升级路径和敏感数据
适用于内部渗透测试、红队或夺旗(CTF) 练习
凭据发现: 在配置文件、环境变量和历史文件中搜索硬编码机密。
配置枚举: 扫描不安全的设置、可写配置和系统策略。
权限升级向量: 识别错误配置的权限、计划任务和过时的软件版本。
环境感知: 提供对用户、组、进程、服务和网络访问的可见性。
结构化输出: 以可读格式呈现结果,从而加快决策速度。
您可以通过shell 访问目标系统(例如,通过反向shell、SSH 或漏洞利用)。
该系统允许基本的shell 命令(没有像AppArmor/SELinux 锁定这样的严格限制)。
目标环境支持标准shell 实用程序(grep、find、awk 等)。
您有权执行利用后操作(例如授权的安全测试)。
对系统枚举和权限升级概念的基本了解。
git 克隆https://github.com/franc-pentest/ldeep.git
深CD
chmod +x ldeep.sh
然后用一个简单的命令执行它
./ldep.sh
Disclaimer: 我们没有在ldeep 设置中包含屏幕截图,因为我们在Kali Linux 上进行了演示,其中已经预装了ldeep。
ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 计算机
枚举计算机帐户有助于识别工作站、服务器、DC 和服务帐户。此信息对于规划横向移动、瞄准高价值资产以及识别机器进行Kerberos 或基于SMB 的攻击至关重要。识别DC(例如DC01)允许攻击者有效地集中权限升级或凭证转储工作。
ldeep ldap -u raj -p Password01 -d ignite.local -s ldap: //192.168.1.20 conf
查询LDAP 配置分区会生成JSON 格式的输出,其中显示对象的详细信息。这揭示了AD 的内部结构和对象类型,有助于映射域。 ldeep 识别显示说明符,某些环境可能会滥用或错误配置。 conf 选项枚举配置命名上下文,这是AD 元数据的丰富来源。
ldeep ldap -u raj -p Password01 -d ignite.local -s ldap://192.168.1.20 委托
此命令有助于识别Active Directory 内委派设置中的严重错误配置。无约束委派(例如DC01$)允许受感染的主机冒充域中的用户,包括域管理员。 RBCD 条目(例如badpc:rbcd
C01$)揭示了可以冒充目标主机身份的机器,从而实现横向移动或权限升级。在后利用过程中,识别这些条目对于计划攻击(例如Kerberos 委托滥用、DC 同步或金票攻击)至关重要。
ldeep ldap -u raj -p Password01 -d ignite.local -s ldap: //192.168.1.20 域策略
此命令显示关键的域安全配置,例如密码复杂性(DOMAIN_PASSWORD_COMPLEX)、最小/最大密码期限、锁定阈值和历史记录要求。这些设置有助于评估密码策略和用户帐户保护的强度。弱配置(例如短密码长度、无锁定阈值或低历史计数)可以显着缓解暴力破解、密码喷射和重放攻击。了解这一点有助于攻击者评估凭证在攻击后被泄露或重复使用的容易程度。
ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 fsmo
FSMO 角色是由特定域控制器(DC) 处理的关键域范围操作。此命令标识哪些DC 托管诸如架构主机、域命名主机、RID 主机、PDC 仿真器和基础设施主机等角色。从攻击者的角度来看,了解FSMO 角色持有者有助于针对最有影响力的DC 进行权限升级或全域攻击。损害FSMO 持有者,尤其是PDC 或Schema Master,可能会允许对Active Directory 功能和复制进行深度控制。
ldeep ldap -u komal -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 gmsa
通过委派或ACL 错误配置或过度暴露gMSA 可能会让攻击者检索其凭据,包括NTLM 哈希值和AES 密钥,如上所示。提取这些机密的攻击者可以跨域模拟服务帐户,尤其是在gMSA 具有提升权限的情况下。这是一个秘密的权限升级向量,并且可读哈希的存在使得检查gMSA 对象的访问控制变得至关重要。
ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 gpo
配置错误的GPO 可能会允许脚本执行、用户权限滥用或横向移动。攻击者可能会滥用GPO 来部署恶意软件或后门。莫罗维
目录
ldeep概述主要特点
先决条件
设置/配置
枚举和利用
结论
ldeep 概述
安全专业人员使用开源枚举工具LDEEP(深度枚举和升级后利用)来简化渗透测试的访问后阶段。一旦他们在系统上获得初步立足点,LDEEP 就会帮助他们以有组织、可编写脚本的方式识别薄弱配置、暴露的凭据、管理不当的权限以及潜在的权限升级向量。主要属性:轻量级和模块化
快速扫描并分类输出
帮助识别升级路径和敏感数据
适用于内部渗透测试、红队或夺旗(CTF) 练习
主要功能
LDEEP 专注于提取高价值的开发后数据:凭据发现: 在配置文件、环境变量和历史文件中搜索硬编码机密。
配置枚举: 扫描不安全的设置、可写配置和系统策略。
权限升级向量: 识别错误配置的权限、计划任务和过时的软件版本。
环境感知: 提供对用户、组、进程、服务和网络访问的可见性。
结构化输出: 以可读格式呈现结果,从而加快决策速度。
先决条件
在使用LDEEP 之前,请确保满足以下条件:您可以通过shell 访问目标系统(例如,通过反向shell、SSH 或漏洞利用)。
该系统允许基本的shell 命令(没有像AppArmor/SELinux 锁定这样的严格限制)。
目标环境支持标准shell 实用程序(grep、find、awk 等)。
您有权执行利用后操作(例如授权的安全测试)。
对系统枚举和权限升级概念的基本了解。
设置/配置
LDEEP 入门很简单,除了基本shell 环境之外不需要任何依赖项:git 克隆https://github.com/franc-pentest/ldeep.git
深CD
chmod +x ldeep.sh
然后用一个简单的命令执行它
./ldep.sh
Disclaimer: 我们没有在ldeep 设置中包含屏幕截图,因为我们在Kali Linux 上进行了演示,其中已经预装了ldeep。
枚举和利用
在假设的违规场景中进行初始访问后,让我们开始枚举和利用阶段。枚举计算机对象
此命令显示域中所有计算机注册帐户的列表。ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 计算机
枚举计算机帐户有助于识别工作站、服务器、DC 和服务帐户。此信息对于规划横向移动、瞄准高价值资产以及识别机器进行Kerberos 或基于SMB 的攻击至关重要。识别DC(例如DC01)允许攻击者有效地集中权限升级或凭证转储工作。
枚举 AD 元数据
此命令显示Active Directory 的配置分区,以显示显示设置、服务和架构对象等详细信息,对于映射域范围设置和潜在的错误配置非常有用。ldeep ldap -u raj -p Password01 -d ignite.local -s ldap: //192.168.1.20 conf
查询LDAP 配置分区会生成JSON 格式的输出,其中显示对象的详细信息。这揭示了AD 的内部结构和对象类型,有助于映射域。 ldeep 识别显示说明符,某些环境可能会滥用或错误配置。 conf 选项枚举配置命名上下文,这是AD 元数据的丰富来源。
枚举委托
此命令显示具有委派权限的计算机,包括不安全的配置,例如无约束委派和基于资源的约束委派(RBCD) 关系。ldeep ldap -u raj -p Password01 -d ignite.local -s ldap://192.168.1.20 委托
此命令有助于识别Active Directory 内委派设置中的严重错误配置。无约束委派(例如DC01$)允许受感染的主机冒充域中的用户,包括域管理员。 RBCD 条目(例如badpc:rbcd
枚举域策略
此命令通过LDAP 显示域范围的密码和帐户锁定策略设置。ldeep ldap -u raj -p Password01 -d ignite.local -s ldap: //192.168.1.20 域策略
此命令显示关键的域安全配置,例如密码复杂性(DOMAIN_PASSWORD_COMPLEX)、最小/最大密码期限、锁定阈值和历史记录要求。这些设置有助于评估密码策略和用户帐户保护的强度。弱配置(例如短密码长度、无锁定阈值或低历史计数)可以显着缓解暴力破解、密码喷射和重放攻击。了解这一点有助于攻击者评估凭证在攻击后被泄露或重复使用的容易程度。
枚举 FSMO 角色
此命令枚举域内的灵活单主操作(FSMO) 角色持有者。ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 fsmo
FSMO 角色是由特定域控制器(DC) 处理的关键域范围操作。此命令标识哪些DC 托管诸如架构主机、域命名主机、RID 主机、PDC 仿真器和基础设施主机等角色。从攻击者的角度来看,了解FSMO 角色持有者有助于针对最有影响力的DC 进行权限升级或全域攻击。损害FSMO 持有者,尤其是PDC 或Schema Master,可能会允许对Active Directory 功能和复制进行深度控制。
枚举 gMSA 凭据
此命令显示域中组托管服务帐户(gMSA) 的凭据和相关详细信息。ldeep ldap -u komal -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 gmsa
通过委派或ACL 错误配置或过度暴露gMSA 可能会让攻击者检索其凭据,包括NTLM 哈希值和AES 密钥,如上所示。提取这些机密的攻击者可以跨域模拟服务帐户,尤其是在gMSA 具有提升权限的情况下。这是一个秘密的权限升级向量,并且可读哈希的存在使得检查gMSA 对象的访问控制变得至关重要。
枚举 GPO
此命令显示如何使用ldeep 工具在Active Directory 环境中通过LDAP 枚举组策略对象(GPO)。ldeep ldap -u raj -p 密码@1 -d ignite.local -s ldap: //192.168.1.20 gpo
配置错误的GPO 可能会允许脚本执行、用户权限滥用或横向移动。攻击者可能会滥用GPO 来部署恶意软件或后门。莫罗维