文件系统取证总览
拿到一块镜像,问"里面有什么"表面上是文件恢复,实际拆开是三层:镜像 → 卷(分区 / LVM / RAID)→ 文件系统。只有第三层才决定"文件叫什么、多大、什么时候改过、删到哪里去了"。
按发布时间浏览公开内容,找到下一份值得学习的资料。
拿到一块镜像,问"里面有什么"表面上是文件恢复,实际拆开是三层:镜像 → 卷(分区 / LVM / RAID)→ 文件系统。只有第三层才决定"文件叫什么、多大、什么时候改过、删到哪里去了"。
即时通讯数据在移动取证里证据价值高,也容易被整块漏掉。
Linux 取证最反直觉的一点是它没有集中入口。Windows 上 Security.evtx 一个文件就能回答「谁在什么时候登录了什么」,Linux 没有等价物:同样的信息被拆散在文本日志、文件时间戳、utmp 二进制...
产出的镜像就是后面所有分析的天花板。镜像阶段丢了数据、混进了写操作、或者哈希链断了,后面再精巧的结论都站不住。
从宝塔 7.7 之后的新版架构开始,面板不再明文保存数据库口令。
把一块 2 TB 硬盘完整复制下来,产出的那个 2 TB 文件就是 DD 镜像。
取证是典型的平时看不出、考试现原形的技能。在自己的笔记本上跑通 fls、icat、Volatility 插件链,一路读懂每一个字段的含义,只能说明会用工具,说明不了能在压力下做出判断。
Prefetch 回答「程序有没有跑过」。用户行为痕迹回答另一件事——人在干什么。
哈希与完整性校验 里的 MD5 / SHA-256 有一个前提:它是对完整字节序列的一次性摘要。这带来两个后果,第二个才是近似匹配存在的理由。
如果你接手的是一台还在运行的机器,或者一台刚刚被人手动关机的机器,那么有一个问题磁盘永远回答不了:这台机器在被关掉的那一刻,到底在做什么?
服务器取证的对象是一台还在跑的机器,证据与业务共存在同一套系统里。
拿到 Windows Server 镜像,最容易犯的错误是套用桌面 Windows 的思路。
比对 2 TB 的镜像和原始介质是不是同一份,靠逐字节比对要跑几天。哈希把它压成 64 个十六进制字符。
技术失误大多可以补救——镜像采错了重采,参数填错了重跑,时间戳算错了重新换算。越权取证往往不可挽回,而且它的代价不落在技术层面。
拿到镜像之后,最自然的想法是"挂载起来看看里面有什么"。这个想法在便利性上无可指摘,在证据安全上却极其危险——因为操作系统的挂载过程本身就会写盘。