内网渗透是网络安全渗透测试的核心环节之一,指在已突破外网边界 (如拿下 Web 服务器、外网主机权限)后,对内部网络进行横向移动、权限提升、信息收集、持久化控制的一系列操作。其知识体系涵盖基础理论、核心技术、工具使用、防御思路四大板块,具体分类如下:
一、 内网渗透基础理论
- 内网拓扑与协议认知
- 内网常见架构:域环境(Windows AD)、工作组环境、混合云环境(内网 + 云服务器)。
- 核心协议:
- TCP/IP 协议簇(ARP、ICMP、TCP、UDP):用于内网主机通信和探测。
- SMB 协议(445 端口):Windows 文件共享、远程执行的核心协议,永恒之蓝(MS17-010)漏洞的载体。
- LDAP 协议(389 端口):域环境中用户、计算机、组信息的查询协议。
- Kerberos 协议(88 端口):域环境的身份认证协议,是黄金票据、白银票据攻击的基础。
- RPC 协议(135 端口):远程过程调用,用于 Windows 远程管理。
- 权限与身份体系
- Windows 权限:普通用户、管理员(Administrator)、SYSTEM 权限(系统最高权限)。
- 域权限:域用户、域管理员(Domain Admin)、企业管理员(Enterprise Admin)、域控制器(DC)权限。
- Linux 权限:UID=0(root)、普通用户、sudo 权限。
- 渗透测试准则与法律边界
- 必须获得书面授权,明确测试范围、时间、目标,禁止未经授权的渗透行为。
- 遵守《网络安全法》《数据安全法》等相关法律法规。
二、 内网渗透核心技术流程
内网渗透的标准流程遵循 "信息收集 → 横向移动 → 权限提升 → 持久化 → 数据提取 → 痕迹清理" 六步走。
1. 内网信息收集(核心前置步骤)
目标是摸清内网 "家底",包括主机存活情况、开放端口、服务版本、用户信息、域环境信息等。
- 主机探测
- 主动探测:
ping扫描、arp-scan(ARP 扫描,适合内网段)、fping(批量存活主机探测)。 - 被动探测:监听内网 ARP 包、DNS 请求,识别存活主机。
- 主动探测:
- 端口与服务扫描
- 工具:
nmap(经典端口扫描,支持-sS半开扫描、-sV版本探测)、masscan(高速端口扫描)。 - 重点关注端口:135(RPC)、139(NetBIOS)、445(SMB)、389(LDAP)、5985(WinRM)、22(SSH)、3389(RDP)。
- 工具:
- 域环境信息收集(关键)
- 判断是否存在域:
ipconfig /all(查看 DNS 后缀)、net config workstation(Windows)。 - 查询域控制器:
nltest /dclist:域名、dsquery server(域内执行)。 - 查询域用户 / 组:
net user /domain(域用户)、net group "Domain Admins" /domain(域管理员组)。 - 工具:
BloodHound(可视化域内权限关系,识别域内 "最短攻击路径")。
- 判断是否存在域:
- 主机详细信息收集
- Windows:
systeminfo(系统版本、补丁)、tasklist(进程)、netstat -ano(网络连接)、reg query(注册表信息)。 - Linux:
uname -a(系统版本)、ps -ef(进程)、cat /etc/passwd(用户)、cat /etc/shadow(密码哈希,需 root 权限)。
- Windows:
2. 横向移动(内网渗透核心)
目标是从已控制的 "跳板机",向其他内网主机扩散权限。核心思路是利用凭证或漏洞访问其他主机。
- 凭证传递攻击(Pass The ...,内网最常用)
- Pass The Hash(PTH,哈希传递) :无需明文密码,直接使用 Windows 用户的 NTLM 哈希值登录其他主机(需开启 SMB 或 RDP 服务)。
- 工具:
mimikatz(sekurlsa::pth命令)、Impacket工具集(psexec.py、wmiexec.py)。
- 工具:
- Pass The Ticket(PTT,票据传递) :利用 Kerberos 票据进行身份认证,无需哈希,适合域环境。
- 工具:
mimikatz(kerberos::ptt命令)、Rubeus(Kerberos 票据管理工具)。
- 工具:
- Pass The Password(PTP,密码传递):使用明文密码登录多台主机,适合弱密码场景。
- Pass The Hash(PTH,哈希传递) :无需明文密码,直接使用 Windows 用户的 NTLM 哈希值登录其他主机(需开启 SMB 或 RDP 服务)。
- 漏洞利用横向移动
- Windows 漏洞:MS17-010(永恒之蓝,SMB 漏洞)、CVE-2021-34527(PrintNightmare,打印服务权限提升 + 远程执行)、CVE-2022-26923(AD CS 权限提升)。
- Linux 漏洞:Dirty COW(脏牛,权限提升)、OpenSSH 漏洞(如 CVE-2021-41617)。
- 工具:
Metasploit(exploit 模块)、searchsploit(漏洞利用代码查询)。
- 远程服务横向移动
- Windows:利用 WMI(
wmiexec.py)、WinRM(evil-winrm)、PSEXEC(psexec.exe)、RDP(远程桌面,需开启 3389 端口)。 - Linux:利用 SSH(密钥或密码登录)、SCP(文件传输)、Rsync(同步服务漏洞)。
- Windows:利用 WMI(
3. 权限提升(提权)
目标是将当前用户权限提升至系统最高权限(Windows SYSTEM / 域管理员,Linux root)。
- Windows 提权
- 系统漏洞提权:利用未打补丁的漏洞,如 MS16-032(权限提升)、CVE-2021-34527。
- 服务提权:利用配置错误的服务(如权限过高的服务可被修改为恶意二进制文件)。
- 计划任务提权:创建高权限计划任务,执行恶意脚本。
- 工具 :
wesng(Windows 漏洞扫描,基于系统补丁信息)、PrivescCheck(提权检查脚本)。
- Linux 提权
- 内核漏洞提权:如 Dirty COW、CVE-2022-0847(Dirty Pipe)。
- sudo 提权 :利用
sudo -l查看可执行的高权限命令,通过命令参数漏洞提权(如sudo vim可执行!/bin/sh获取 root)。 - SUID 提权 :查找系统中设置 SUID 位的文件(
find / -perm -u+s -type f 2>/dev/null),利用其漏洞执行命令。 - 工具 :
LinPEAS(Linux 提权扫描脚本)、LinEnum。
4. 持久化控制
目标是在目标主机 / 域中留下后门,即使当前会话断开,也能重新获取权限。
- Windows 持久化
- 创建隐藏管理员账户 :
net user 隐藏账户 密码 /add && net localgroup administrators 隐藏账户 /add。 - 注册表持久化 :修改注册表启动项(
HKLM\Software\Microsoft\Windows\CurrentVersion\Run)。 - 计划任务持久化 :创建定期执行的恶意计划任务(
schtasks命令)。 - 后门持久化 :安装
Meterpreter后门、Empire代理、Cobalt Strike Beacon。
- 创建隐藏管理员账户 :
- Linux 持久化
- SSH 密钥持久化 :将公钥写入目标主机
~/.ssh/authorized_keys,实现无密码登录。 - crontab 计划任务:添加定时执行的恶意脚本。
- rootkit 植入:修改系统内核,隐藏后门进程和文件。
- SSH 密钥持久化 :将公钥写入目标主机
- 域环境持久化
- 黄金票据:伪造 Kerberos TGT 票据,利用域管理员哈希生成,可长期控制域。
- 白银票据:伪造特定服务的 Kerberos 票据,权限范围小于黄金票据。
- DCShadow 攻击:模拟域控制器,篡改域内用户信息。
5. 数据提取与痕迹清理
- 数据提取 :收集敏感数据(如域内用户哈希、数据库密码、业务数据),工具:
mimikatz(提取密码哈希)、LaZagne(提取各类应用密码)、rclone(云存储数据同步)。 - 痕迹清理 :删除日志文件,清除操作记录,避免被管理员发现。
- Windows:清理事件日志(
wevtutil cl命令)、删除文件访问记录。 - Linux:清理
/var/log/auth.log(SSH 登录日志)、history命令历史记录。
- Windows:清理事件日志(
三、 内网渗透核心工具
| 工具类型 | 代表工具 | 核心用途 |
|---|---|---|
| 信息收集 | nmap、arp-scan、BloodHound | 端口扫描、域权限可视化 |
| 凭证提取 | mimikatz、LaZagne | 提取 Windows 密码哈希、应用密码 |
| 横向移动 | Impacket 工具集、evil-winrm | SMB/WMI/WinRM 远程执行 |
| 漏洞利用 | Metasploit、searchsploit | 漏洞利用模块、EXP 查询 |
| 权限提升 | PrivescCheck、LinPEAS | Windows/Linux 提权扫描 |
| 持久化 | Cobalt Strike、Empire | 远控后门、域渗透协同 |
四、 内网渗透防御思路
- 基础防护
- 定期打补丁,关闭无用端口和服务(如 135、139、445 非必要时禁用)。
- 启用强密码策略,禁止域内用户密码复用,定期更换密码。
- 限制管理员权限,避免使用域管理员账户登录普通主机。
- 监控与审计
- 监控内网异常行为:如大量 ARP 扫描、445 端口异常访问、Kerberos 票据伪造。
- 开启日志审计,定期检查 Windows 事件日志、Linux 系统日志。
- 使用 EDR(终端检测与响应)工具,检测恶意进程和后门。
- 域环境防护
- 部署域控制器审计策略,监控域管理员操作。
- 禁用 NTLM 认证,强制使用 Kerberos 认证,降低 PTH 攻击风险。
- 定期使用 BloodHound 排查域内权限漏洞。