临时目录可执行文件排查
/tmp、/var/tmp 与 /dev/shm 是 Linux 上最常见的载荷落地位置:这些目录对所有用户可写,适合存放下载回来的工具与临时脚本,/dev/shm 还位于内存中、重启即消失。按权限位与时间窗过滤可以快速把范围压缩到少量文件,再逐个核对来源、类型与哈希。
基本信息
| 目录范围 | /tmp、/var/tmp、/dev/shm,以及 /run 下的可写子目录 |
|---|---|
| 过滤维度 | 可执行位 -perm -u+x、时间窗 -newermt、大小 -size |
| 文件类型 | 注意符号链接、socket 与 fifo,不要只查普通文件 |
| 清理策略 | 多数发行版通过 tmpfiles.d 定期清理临时目录,留存与否取决于配置 |
| 配套动作 | 发现文件后先复制样本并计算哈希,再决定是否删除 |
典型使用场景
- 排查下载后直接执行的工具与脚本
- 按时间窗定位入侵期间落地的文件
- 检查共享内存目录中出现的异常二进制或脚本
- 判断某个文件是服务运行产生的正常临时文件,还是外部落地
- 清理之前固定样本,保留后续分析所需的内容
清点与核对
清点与核对
find /tmp /var/tmp /dev/shm -xdev -type f -perm -u+x -ls 2>/dev/null | head -20 # 带执行位的文件
find /dev/shm -xdev -type f -newermt '-3 days' 2>/dev/null # 近期落地的文件
find /tmp -xdev -type f -size +1M -newermt '-7 days' -ls 2>/dev/null # 近期出现的大文件
ls -lt --time-style=long-iso /tmp | head -20 # 目录内最近改动
file /tmp/<可疑文件>; sha256sum /tmp/<可疑文件> # 认定类型并固定哈希排查维度
| 维度 | 命令要点 | 判断价值 |
|---|---|---|
| 可执行位 | -perm -u+x | 被放行可执行的载荷 |
| 时间窗 | -newermt 指定起止 | 缩小到入侵时段附近的文件 |
| 大小 | -size 指定下限 | 体积偏大的工具与压缩包 |
| 文件类型 | file 与 ls -l 输出 | 区分脚本、二进制与特殊文件 |
临时目录常被当成次要位置跳过,但下载即执行的默认落点往往就在这两三个目录里。排查时把三者一次列全,并留意 /dev/shm 中的内容重启即失,需要在主机重启之前完成采集。
对可疑文件直接执行 file 或提取字符串都有风险,尽量在分析机上对副本操作。清理动作要留到证据固定之后,先删除会让样本与时间信息一起消失,后续无法核对。