账号增删事件
新增或删除账号是建立持久化的常见手段,相关痕迹分散在三处:认证日志中的账号管理记录、审计日志里针对用户数据库的写入事件,以及 /etc/passwd 与家目录的时间戳。三处互相对照,才能确定动作发生的时刻与发起者。
基本信息
| 日志记录 | auth.log 或 secure 中的 useradd、userdel、groupadd 行 |
|---|---|
| 审计事件 | 对 /etc/passwd、/etc/group 设置监视后的相关事件 |
| 文件时间戳 | /etc/passwd、/etc/shadow 与 /home/<用户> 的 mtime 与 ctime |
| 审计字段 | auid 用于标识发起操作的登录会话 |
| 相关程序 | useradd、usermod、passwd 与 sudo |
| 权限要求 | 读取以上内容通常需要 root |
典型使用场景
- 确认账号被创建或删除的时刻
- 判断操作由哪个登录会话发起
- 找出账号新建后立即登录的痕迹
- 核对家目录与骨架文件的生成时间
- 评估持久化账号的影响范围
最小示例
最小示例
grep -E 'useradd|userdel|groupadd' /var/log/auth.log | tail -20
ausearch -m ADD_USER -ts today 2>/dev/null | head -20
stat -c '%n mtime=%y ctime=%z' /etc/passwd /etc/shadow
ls -ld --time-style=long-iso /home/* | head # 家目录创建时间
grep -E 'sudo:.*useradd' /var/log/auth.log | tail -10
lastlog 2>/dev/null | head -10 # 各账号最近登录时间痕迹与判断
| 痕迹 | 含义 | 判断方式 |
|---|---|---|
| 账号管理日志行 | 创建或删除动作 | 含新账号名与发起终端 |
| 审计事件 | 对用户数据库的写入 | 含 auid 与执行程序 |
| /etc/passwd 时间戳 | 用户库最后改动 | 与账号创建时间对照 |
| /home 目录 | 家目录创建时刻 | 与骨架文件内容比对 |
| lastlog 输出 | 账号最近登录时间 | 判断新账号是否被使用 |
不同发行版记录账号创建的方式不同:有的写进认证日志,有的只在审计日志里留下痕迹,两处都要查。
对 /etc/passwd 与 /etc/group 设置审计监视后,能直接定位写入进程与发起会话,是最直接的证据来源。
新账号创建后往往紧接一次登录,把创建时间与登录记录放在同一时间窗内看,很容易确认账号用途。
取证阶段不要执行删除账号或加锁操作:会改变系统状态,也影响后续可用的记录;处置动作按流程另行安排。