首页/安全/取证与溯源速查/会话重建:从登录到退出
日志溯源53 条

会话重建:从登录到退出

以登录记录为起点、注销为终点,把中间的命令执行、网络连接、文件操作按时间归入同一次会话,形成可读的会话叙事。

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

会话窗口重建

会话重建是把一次登录从开始到结束框起来,为后续行为定出观察窗口。边界通常取认证成功行到 session closed 或 Disconnect 行;窗口内的命令、提权与文件改动按时间排列,就得到一次入侵的完整过程。

基本信息

开始边界认证成功记录,如 Accepted 或 session opened
结束边界session closed、Connection closed、Disconnect
旁证材料shell 历史、sudo 记录、审计日志中的 tty 与 pid 字段
缺失处理没有结束记录时用下一条登录或重启记录作近似边界
时间粒度到秒,必要时结合相邻事件推断顺序
输出形态带明确边界的会话表,供报告行为叙述使用

典型使用场景

  • 还原单次登录期间发生的全部动作
  • 判断某次文件改动是否落在会话窗口内
  • 处理没有结束记录的崩溃或断电场景
  • 为多台主机的事件建立统一观察窗
  • 支撑报告中行为叙述章节的时序描述

最小示例

最小示例
sed -n '/03:20:0/,/05:40:/p' /var/log/auth.log | grep -E 'Accepted|sudo|Disconnect|closed' | head -40
last -F | head -10                                    # 与 wtmp 会话记录互校
grep -E 'sudo:' /var/log/auth.log | head -20          # 窗口内的提权记录
ausearch -ts 03:20:00 -te 05:40:00 -m EXECVE 2>/dev/null | head -20
uptime -s                                             # 窗口内是否发生过重启

事件与作用

事件作用注意
Accepted起始边界区分口令与密钥
session opened会话正式建立与认证成功可能相差数秒
sudo 记录窗口内提权动作命令内容最直接
session closed结束边界缺失说明异常退出
Disconnect连接断开多为超时或主动退出
下一条登录近似边界必须在报告中注明假设
缺少结束记录时,用下一条登录、重启或日志轮转作为近似边界,并写明这一假设,不要把它当作精确事实。
会话之间的间隔也值得看:同一账号短时间内反复建立会话,通常是自动化脚本或跳板机的特征。
会话窗口只是观察范围,不等于窗口内每条动作都由该会话产生;多用户同时在线时必须用 tty 与 pid 字段做归属。

易错点

  • 把窗口内所有事件都归到同一会话:并发登录时不同会话交织,必须用 tty 与 pid 归属
  • 硬套下一条登录作为结束边界却不注明:近似边界被当成事实,结论会被质疑
  • 只取认证日志:提权与命令记录分散在审计与 shell 历史里,不合并就无法重建过程
  • 忽略时区与日志格式:跨主机会话对齐时格式差异会导致事件顺序错乱

数据来源与参考

  • SANS 会话重建资料
  • auditd 文档(tty 字段)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌