必须启用“审核登录事件→失败”策略,否则系统不生成4625日志;启用后在事件查看器→windows日志→安全中筛选id 4625,重点关注logon type=10(rdp)、源ip、失败原因代码(如0xc000006a密码错误),同一ip高频触发即为暴力破解。

当你在Windows 10上发现远程桌面(RDP)频繁被尝试登录却始终失败,又没收到任何告警,就得立刻查事件ID 4625——这是系统唯一主动记录“谁、从哪、输错什么、为什么错”的安全凭证。它不依赖第三方工具,但必须提前开启审核策略,否则日志为空就是常态,不是你漏看了,是系统根本没写。
确认4625日志是否已启用
打开“运行”(Win+R),输入gpedit.msc回车→依次展开:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 审核策略→双击“审核登录事件”→勾选“失败”→确定。
【未启用该策略,所有4625事件都不会生成,后续任何筛选都无意义】
执行gpupdate /force强制刷新组策略,或重启生效。若系统为Win10家庭版,无法使用gpedit.msc,需改用PowerShell命令启用(见后文PowerShell部分)。
用事件查看器快速定位RDP暴力痕迹
按Win+R输入eventvwr.msc回车→左侧导航栏展开“Windows 日志”→点击“安全”→右键“安全”→选择“筛选当前日志”→在“事件ID”框中输入4625→点击“确定”。
此时列表只显示失败登录。重点看三列:时间(是否密集集中在某时段)、源网络地址(是否同一IP反复出现)、帐户名(是否为administrator、admin、guest等常见弱口令目标)。
双击任一事件→切换到“详细信息”选项卡→展开“事件数据”→查找Logon Type: 10(表示RDP远程交互式登录)和Status: 0xC000006A(密码错误)或0xC000006D(用户名错误)。若同一IP在10分钟内触发20+条4625且Logon Type全为10,基本可判定为暴力破解。
用PowerShell提取高危IP并统计次数
右键“开始”→选择“Windows PowerShell(管理员)”→粘贴执行:
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} | Where-Object {$_.Properties[8].Value -eq 10} | Group-Object {$_.Properties[18].Value} | Sort-Object Count -Descending | Select-Object Name, Count
这条命令只筛选Logon Type为10(RDP)的4625事件,再按源IP(Properties[18])分组统计。输出结果第一行的IP就是最高频攻击源。
注意:Properties索引值必须准确,18对应源IP,8对应登录类型。索引错一位就会返回空或错误字段——这是PowerShell解析安全日志最常踩的坑。
补救与加固操作
第一步:立即在Windows防火墙高级设置中,新建入站规则→限制3389端口仅允许可信IP段访问(如公司办公网出口IP)。
第二步:打开“系统属性→远程设置”,取消勾选“允许远程连接到此计算机”,改用Windows自带的“快速助手”或企业级零信任网关替代明文RDP暴露。
第三步:禁用administrator账户,创建新管理员账户并启用Windows Hello PIN或FIDO2密钥登录,彻底规避密码爆破路径。











