【问题标题】:Forensic analysis - process log取证分析 - 进程日志
【发布时间】:2014-11-17 09:40:08
【问题描述】:

我正在对基于主机的证据进行取证分析 - 检查服务器硬盘驱动器的分区。

我有兴趣找到所有“用户”在系统死机/重新启动之前运行的进程。

由于这不是实时分析,我无法使用 ps 或 top 查看正在运行的进程。

所以,我想知道是否有像 /var/log/messages 这样的日志来显示用户运行的进程。

我在 /var/log/* 中查看了很多日志 - 它们提供了有关登录、包更新、授权的信息 - 但没有关于流程的信息。

【问题讨论】:

    标签: linux unix process computer-forensics


    【解决方案1】:

    如果没有启用“命令记帐”,则没有。

    【讨论】:

    • 好的,感谢您的回复。未启用命令记帐。我想我至少可以参考 .bash_history 来查看用户运行的命令。
    • 是的。您也可以尝试查看上次修改或访问的文件。
    【解决方案2】:

    找到东西的机会不是很大,反正有几点需要考虑:

    • 取决于正常死亡/重启的情况(如果进程正常终止,.bash_history 和类似文件可能会使用最近的会话信息进行更新)
    • utmp 和 wtmp 文件可能会在重新启动时提供活动用户列表。
    • 操作系统可能正在保存故障转储(取决于 linux 发行版)。如果是这样 - 您可以在崩溃时检查操作系统状态。详情请参阅 RedHat 的 crash (http://people.redhat.com/anderson/crash_whitepaper/)。
    • /tmp,/var/tmp 可能有一些线索,什么在运行
    • 任何具有 mtime 和 ctime 时间戳(也可能是 atime)的文件接近崩溃时间
    • 也许您可以从交换分区中获得一些有用的信息(尤其是在重新启动与大量 RAM 使用有关的情况下)。

    【讨论】:

      【解决方案3】:

      所以,我想知道是否有像 /var/log/messages 这样的日志 显示用户运行的进程

      鉴于 /var/log 的文件系统路径指定的操作系统,我假设您使用的是 ubuntu 或某些基于 linux 的服务器,并且如果您在机器运行时没有进行实时取证或内存取证(内存捕获被抓取),并且您重新启动系统,/var/log 中没有文件将进程归因于用户。但是,如果用户使用的是 bash shell,那么您可以检查 .bash_history 文件,该文件显示了该用户运行的命令,我认为是 500(默认情况下对于 bash shell)。

      或者,如果进行了内存转储(/dev/mem 或 /dev/kmem),那么您可以使用易失性来提取在盒子上运行的进程。但是,我认为您不能将这些进程归因于运行它们的用户。您需要波动性的额外输出才能建立该链接。

      【讨论】:

        猜你喜欢
        • 2012-05-11
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 2012-09-13
        • 1970-01-01
        • 2015-06-22
        • 2011-08-29
        • 1970-01-01
        相关资源
        最近更新 更多