RPM完整性检查
📄

RPM完整性检查

Published
March 27, 2023
Category
应急响应与取证
Subcategory
事件响应流程与策略
事件检测与分析
Tags
Linux
RPM
Author
KK
Notes
本文介绍了如何通过rpm命令检查系统完整性,以及如何使用rpm2cpio和cpio命令来提取和还原文件。文章详细介绍了rpm命令的-Va选项以及输出格式,以及cpio命令的常用选项和挂载命令。此外,文章还提供了一个文件提取和还原的案例,展示了如何使用这些命令来修复文件丢失的问题。
系统完整性可以通过 rpm 自带的 -Va 来校验检查所有的 rpm 软件包,查看哪些命令是否被替换了:
./rpm -Va > rpm.log
如果一切均校验正常将不会产生任何输出,如果有不一致的地方,就会显示出来,输出格式是 8 位长字符串,每个字符都用以表示文件与 RPM 数据库中一种属性的比较结果 ,如果是. (点) 则表示测试通过。
验证内容中的 8 个信息的具体内容如下
  • S文件大小是否改变
  • M文件的类型或文件的权限(rwx)是否被改变
  • 5文件 MD5 校验是否改变(可以看成文件内容是否改变)
  • D设备中,从代码是否改变
  • L文件路径是否改变
  • U文件的属主(所有者)是否改变
  • G文件的属组是否改变
  • T文件的修改时间是否改变

命令替换

rpm2cpio 包全名 | cpio -idv .文件绝对路径
  • rpm2cpio 将 rpm 包转换为 cpio 格式的命令
  • cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
Cpio 选项 < [文件|设备]
  • i:copy-in 模式
  • d:还原时自动新建目录
  • v:显示还原过程
挂载命令 rpm 包:
  • mkdir /mnt/chrom/ 建立挂载点
  • mount -t iso9660 /dev/cdrom /mnt/cdrom/ 挂载光盘
  • mount/dev/sr0 /mnt/cdrom/
文件提取还原案例
  1. rpm -qf /bin/ls 查询ls命令属于哪个软件包,
  1. mv /bin/ls /tmp 先把 ls 转移到 tmp 目录下,造成 ls 命令丢失的假象
  1. rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 提取 rpm 包中 ls 命令到当前目录的 /bin/ls 下
  1. cp /root/bin/ls /bin/ 把 ls 命令复制到 /bin/ 目录 修复文件丢失