首页/安全/取证与溯源速查/登录成功事件(4624)字段解读
Windows 取证55 条

登录成功事件(4624)字段解读

4624 的要点字段:目标账号、登录类型、来源 IP、进程:判断交互式还是远程、来自哪台机器靠这几个字段。

取证与溯源速查安全更新于 2026-10-13

4624 记录了什么

Windows 安全日志里的事件 ID 4624 表示一次登录成功,是重建登录来源与渠道的核心条目。它不只有账号和时间,还写明登录类型(交互、网络、远程桌面等)、登录进程、来源 IP 与端口、认证包,较新系统还带发起登录的进程路径。单看一条意义有限,把同一账号的多条 4624 按时间排列,就能看出访问路径是从本机、内网共享还是 RDP 进来的。

基本信息

日志位置事件查看器 → Windows 日志 → 安全;默认路径 %SystemRoot%\System32\winevt\Logs\Security.evtx
查看权限需要管理员权限(安全日志默认仅管理员可读)
关键字段TargetUserName、LogonType、IpAddress/IpPort、LogonProcessName、ProcessName
配套事件4625 失败、4672 特权分配、4648 显式凭据、4778/4779 会话重连与断开
日志容量默认 Security.evtx 大小有限,事件会被覆盖,需要提前导出或加大配额
采集方式Get-WinEvent 导出、wevtutil epl 导出 evtx 文件、或镜像中直接取日志文件

典型使用场景

  • 确认某账号的登录渠道:本机交互、网络共享还是远程桌面
  • 按来源 IP 聚合,找出非预期的访问来源
  • 区分「服务账号正常登录」与「被用于交互式登录」
  • 与 4625 配对,判断爆破是否最终得手
  • 核对账号被用于登录的时间是否落在入侵窗口内
  • 为横向移动分析提供登录类型与来源主机证据

检索与取值

检索与取值
# 取最近 50 条登录成功事件,只打印时间与关键字段
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 50 |
  ForEach-Object {
    $x = [xml]$_.ToXml()
    $d = @{}; $x.Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_['#text'] }
    [pscustomobject]@{ Time=$_.TimeCreated; User=$d['TargetUserName']; Type=$d['LogonType']; IP=$d['IpAddress']; Proc=$d['ProcessName'] }
  }
# 只看远程桌面(类型 10)的登录
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 500 |
  Where-Object { $_.Message -match 'Logon Type:\s+10' } | Select-Object -First 10 TimeCreated, Message
# 导出原始 evtx 供离线分析
wevtutil epl Security C:\evidence\Security.evtx

关键字段逐项读法

字段含义判读要点
TargetUserName被登录的账号以 $ 结尾多为机器账号,排查时先过滤掉
LogonType登录渠道2 交互、3 网络、5 服务、10 远程桌面,判读差异极大
IpAddress/IpPort来源地址与端口本机回环 127.0.0.1 与 ::1 属常见,不是外部来源
LogonProcessName执行认证的组件User32 多为交互登录,NtLmSsp/Advapi 常见于网络与服务登录
ProcessName发起登录的进程路径较新系统才有;出现异常路径值得追查
WorkstationName来源计算机名写短横线表示不可用,此时要靠 IP 判断
空 IP 或以短横线显示的登录,多为本地会话、系统服务或缓存凭据登录,先按登录类型归类再逐类筛查,比逐条看效率高得多。
安全日志默认容量有限且滚动覆盖最快。发现异常后应尽快导出 Security.evtx,并确认审计策略里登录成功与失败都已开启,否则部分渠道根本没有记录。
从磁盘镜像里取日志文件时,可用离线工具解析 evtx,避免在原始系统上反复查询产生新的日志条目。

易错点

  • 按 Data 数组下标取字段:不同 Windows 版本的字段顺序会变,应改用字段名取值
  • 把 127.0.0.1 或 ::1 当外部来源,得出「本机被远程登录」的错误结论
  • 忽略 LogonType,把服务账号的类型 5 登录当成人工操作,误判工作量与行为
  • 只看 4624 不看 4625,无法区分尝试失败与最终成功,攻击是否得手说不清
  • 安全日志被覆盖后才去查,关键时间段已不存在,只能依赖镜像或其他来源

数据来源与参考

  • Microsoft Docs(4624 事件文档)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌