Windows系统中暴露的高危端口(如445、3389、23、21、22等)是勒索病毒、横向渗透和远程控制的主要入口,须通过netstat核查监听端口、停用SMBv1/RDP服务、防火墙封禁及终止可疑进程等多层措施加固。

Windows系统中暴露在公网或局域网的危险端口可能成为远程攻击入口,如未授权的SMB(445)、RDP(3389)、Telnet(23)、FTP(21)、SSH(22)等端口若被恶意扫描利用,极易触发勒索、横向渗透或远程控制。必须逐项核查并关闭非必需服务对应的监听端口。
确认当前所有监听端口
以管理员身份打开 PowerShell,执行:
netstat -ano -p tcp | findstr LISTENING
这会列出所有 TCP 监听端口及对应 PID。重点关注 21、22、23、135、139、445、3389、5900、8080 等高危端口号。记下每个端口后的 PID(进程ID),后续需比对服务名。
若想一次性看到端口+服务名,可运行:
Get-NetTCPConnection -State Listen | ForEach-Object { $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue; [PSCustomObject]@{LocalPort=$_.LocalPort; State=$_.State; ProcessName=$proc.ProcessName; ID=$proc.Id} } | Sort-Object LocalPort | Format-Table -AutoSize
关闭 Windows 自带的高危服务
方法一:停用 SMBv1 及禁用文件共享
进入「控制面板 → 程序 → 启用或关闭 Windows 功能」→ 取消勾选「SMB 1.0/CIFS 文件共享支持」→ 点击确定。重启后,445 端口将不再由系统内核监听(但第三方软件仍可能占用)。
方法二:彻底关闭远程桌面(RDP)
右键「此电脑」→「属性」→「远程设置」→ 选择「不启用远程桌面」→ 确定。该操作会自动停止 TermService 服务,并从防火墙规则中移除 3389 入站规则。
【注意】若你正通过 RDP 远程管理服务器,关闭后将立即断连,且无法再通过图形界面远程接入。
用防火墙封禁指定入站端口
第一步:打开「高级安全 Windows Defender 防火墙」→ 左侧点「入站规则」→ 右侧点「新建规则」→ 选择「端口」→ 下一步。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
第二步:选择「TCP」→ 在「特定本地端口」栏输入要封禁的数字,例如 【445,139,3389,23】(多个用英文逗号隔开)→ 下一步。
第三步:选择「阻止连接」→ 下一步→ 勾选「域」「专用」「公用」三个配置文件→ 下一步→ 输入名称如「Block High-Risk Ports」→ 完成。
这一步不关闭服务本身,但能确保外部流量无法抵达该端口。即使某程序意外启动并监听 445,外界也无法建立 TCP 握手。
终止占用端口的未知进程
回到 PowerShell,用之前查到的 PID 执行:
tasklist /fi "pid eq 1234"(把 1234 换成实际 PID)查看进程名。
若发现是可疑进程(如 svchost.exe 下挂了非微软签名的 DLL,或陌生名称如 update_service.exe、netagent.exe),先不要直接结束任务——先用:
Get-Process -Id 1234 | Select-Object Path,Company,StartTime
检查其路径是否在 C:\Windows\System32 或 C:\Program Files\Microsoft;若路径异常(如在 AppData、Temp、Downloads),或 Company 字段为空/显示“Unknown”,则极可能是黑产木马(如“银狐”团伙常用 Gh0st 植入后监听 443 或 22 端口)。此时应立即执行:
Stop-Process -Id 1234 -Force
然后用 Windows 安全中心全盘扫描,或手动检查启动项与服务列表。










