LogonSessions 学习笔记(9.17):会话枚举与凭据审计

LogonSessions 学习笔记(9.17):会话枚举与凭据审计

LogonSessions 学习笔记(9.17):会话枚举与凭据审计

适用读者:Windows 运维/安全/取证工程师,需回答"谁在登录""从哪来""什么时候走"的所有细节问题。

你将收获

  • 弄清 LogonSessions 的原理(基于 LSA 的会话枚举、LUID/LogonId 概念)
  • 会读输出里的 Logon Type、User、SID、Auth Package、Logon Time、Session 等关键字段
  • 5 个高频取证/审计剧本(本机取证、RDP 溯源、共享滥用、服务账号滥用、横向移动排查)
  • PsLoggedOn 的差异与互补、与 4624/4634 事件的交叉验证方法
  • 常见坑与最小干扰实践(权限、远程调用姿势、时间线对齐)

一、LogonSessions 是什么?

LogonSessions.exe 是 Sysinternals 提供的轻量工具,用于从 LSA(本地安全机构) 直接枚举系统当前存在的登录会话 ,展示每个会话的用户、域、SID、登录类型、认证包、登录时间、会话 ID 等关键信息。它专注"以何种方式何时 "登入了本机(含交互/网络/服务等多类型),是本机活体 会话视角的权威清单。(Microsoft Learn)

核心差异:LogonSessions 直接面向 LSA 会话表 ;事件日志的 4624/4634 是历史记录;PsLoggedOn 更偏"谁在交互/共享使用"。三者交叉,能把"点 → 线 → 面"的证据链补齐。


二、工作原理(速写)

  • LSA 为每次成功登录建立一条Logon Session ,分配唯一 LUID/LogonId,并维护其安全上下文(用户、SID、认证包、Logon Type、时间戳、Session 等)。
  • LogonSessions 调用本地 LSA 接口枚举当前有效会话,按会话维度输出字段。会话结束(注销/超时)后对应项从 LSA 视图中消失。(Microsoft Learn)

三、输出字段速读

常见字段与判断要点(不同版本输出略有差异):

  • Logon Type :登录方式。典型值:
    • 2=Interactive(本机)
    • 3=Network(访问共享/网络资源)
    • 4=Batch(计划任务早期类型)
    • 5=Service(服务账户)
    • 7=Unlock(解锁)
    • 10=RemoteInteractive(RDP)
    • 11=CachedInteractive(缓存凭据本地登录)
      值的定义与语义可结合 4624 文档/知识库交叉参照。(manageengine.com)
  • User / Domain / SID :身份与安全标识。服务型会话常见 NT AUTHORITY\SYSTEMLOCAL SERVICE 等。
  • Auth Package :如 Negotiate/NTLM/Kerberos。横向移动或不合规环境中 NTLM 偏多。
  • Logon Time:LSA 记录的建立时间(活体视角)。
  • Session:交互会话 ID(与 RDP/控制台会话关联)。

四、典型用途与场景剧本

剧本 1:本机"谁在登录",一眼看全

cmd 复制代码
logonsessions -p
  • -p:显示进程与会话的相关映射(版本略异)。结合 Console/RemoteInteractive 能快速区分控制台 vs. 远程。(Microsoft Learn)

剧本 2:RDP 溯源与并发会话核查

  • 关注 Logon Type=10(RemoteInteractive) ,对照 Session 与时间戳,识别是否存在多并发 管理会话;与安全日志 4624 (成功登录)/ 4634 (注销)校验时间线与来源。(Microsoft Learn)

剧本 3:共享滥用/网内横移排查

  • Logon Type=3(Network) 通常出现在共享访问/SMB 横向移动路径;若同一账号在多台主机上出现大量 Type 3,结合 DC 上 4624/4768/4769(Kerberos)可定位来源主机与跳板链。

剧本 4:服务账号与计划任务清点

  • Logon Type=5(Service)/4(Batch) 可快速枚举"长期持有权限"的技术账号是否超范围在线;对比实际服务配置与期望清单,发现越权与遗留。

剧本 5:锁屏解锁审计

  • Logon Type=7(Unlock) 结合 Logon Time 与交互会话,辅助核对"在岗/离岗"时间线(合规场景下)。

五、与 PsLoggedOn/事件日志 的配套用法

  • LogonSessions:活体会话"此刻还在不在"。
  • PsLoggedOn:偏交互/共享使用者(本机+远程资源),对审计"谁占用共享"非常直观。
  • 事件 4624/4634 :历史流入/流出记录(域控/本机 Security 日志),包含 Logon Type 、来源主机/IP 等。三者交叉,能排除时序错觉孤证 。(Microsoft Learn)

六、最小干扰与远程姿势

  • 权限:本机管理员上下文最佳(访问 LSA 数据结构)。
  • 远程 :LogonSessions 不直接列远程主机,推荐 PsExec \\host logonsessions 在目标机本地执行并回传控制台输出(留痕可控)。(Microsoft Learn)
  • 时间同步:对齐 NTP,避免跨主机时间线偏差导致误判(尤其与 4624 校验时)。

七、常见问题速查

  • 看不到期望会话?
    • 账户权限不足 / EDR 拦截 LSA 查询 / 会话已结束(从 LSA 消失,仅可在 4624/4634 找历史)。
  • RDP 来源怎么看不到 IP?
    • 结合本机或 DC 的 4624 记录取 Source Network Address ;某些 RDP 版本/设置会出现字段异常,见微软相关说明。(Microsoft Learn)
  • 服务账号很多、难分真假?
    • 结合 PsService 导出服务配置 + LogonSessions 的 Service 会话,做"应有 vs. 实有"差异清单。

八、实用命令清单(可直接带走)

cmd 复制代码
:: 1) 基础清单(当前所有会话)
logonsessions

:: 2) 带进程/会话映射(版本支持时)
logonsessions -p

:: 3) 远程取目标机会话(通过 PsExec)
psexec \\srv-01 -s logonsessions

:: 4) 结合事件日志校验(域控/本机)
wevtutil qe Security "/q:*[System[(EventID=4624)]]" /c:5 /rd:true /f:text

(说明:wevtutil 示例仅作快速抽样,实际建议按用户/时间/LogonType 精确筛选。)


九、审计要点与最佳实践

  • 最小权限强认证优先:读取类操作原则上低风险,但建议固定跳板/审计机执行。
  • 留痕:把 LogonSessions 输出归档,与 4624/4634 定期对账,建立"峰值/异常"基线。
  • 自动化:结合 PsExec/PowerShell 定时采样关键服务器(AD、文件服务器、跳板机)。

十、小结

当你需要"当下"的登录真相时,LogonSessions 是最干净的入口;当你需要"历史的轨迹",就找 4624/4634 ;当你要知道"谁在占用共享或交互登录",再加上 PsLoggedOn 。把这三者捆起来用,你的登录取证与横向移动溯源 就有了稳定的三角支点。(Microsoft Learn)

------ 下一篇:SDelete(9.18):安全删除与介质回收的边界与实战。

相关推荐
NAGNIP5 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab6 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab6 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP10 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年10 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼10 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS11 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区12 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈12 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang12 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx