Linux下使用md5sum查看文件及程序是否被修改
2009-03-29 10:02
465 查看
你怎么知道你的系统是否被入侵过?
呵呵,你可能 说看日志啊 ,如果你遇到了高手他们会清除他们入侵的日志啊!
那怎么办呢,我们想一想 他们入侵系统做什么呢 ,无非就是取得一些系统的权嘛,
然后用这些权利去执行他们的程序,既然要取得一些权利,无非就是新建用户,组啊,
修改一些特殊的程序来挂马啊,我们就可以通过查看我们的关键的程序及文件是否被
修改过来判断有没有被入侵啊.(那为什么不看日志有没有被修改过来看是否被入侵啊,笨啊,正常情况下日志都 会被修改的啊) ,怎么看文件有没有被修改啊,在Linux下有
一个很好的工作,md5sum,就是求文件或程序的MD5和的工具啦,这个MD5又是什么东东啊 其实就是消息摘要算法啊 每个文件或程序的MD5值都是不一样的啦,它是用复杂的数学算法求得的一个128bit的值,不管你的源文件有多大,他的值都是128bit的,如果文件仅有一点的修改,MD5值也会大不相同的啊 他就相当 于一个文件的指纹啊.
所以 我们先这样做 把系统关键文档和程序的MD5值求出 并备份到另外一台安全的计算机上,当我们怀疑被入侵的时候 再把这些关键文档和程序的MD5值求一次并保存为另一个文档,再比较这两个文档有没有不同,就可以看出一些蛛丝马迹啦,
下面是一个脚本
#!/bin/bash
export path=$PATH:/root
md5sum /etc/passwd >>/etc/md5db
md5sum /etc/shadow >>/etc/md5db
md5sum /etc/group >>/etc/md5db
md5sum /usr/bin/passwd >>/etc/md5db
md5sum /sbin/portmap>>/etc/md5db
md5sum /bin/login >>/etc/md5db
md5sum /bin/ls >>/etc/md5db
md5sum /bin/ps >>/etc/md5db
md5sum /usr/bin/top >>/etc/md5db
执行这个脚本后 上述的文件的MD5值就放入/etc/md5db这个文件中了,象下面这样
[linux@/etc]# cat md5db
fa25ad401b9f8e458cc0516c289eb529 /etc/passwd
18f64e8dd87461f0208bccf264a00711 /etc/shadow
6f60617c12e3d1a9599c488dc5335b82 /etc/group
673f2fbc91f3421eb560f0a0d8858262 /usr/bin/passwd
80b3985cea8473846532824052964824 /sbin/portmap
ed78748061c05d2263baf43c6a2e400f /bin/login
774cb14b70080573906bbd26df7a9c58 /bin/ls
8cc6f96d1bd21250b731eb0ac85214a7 /bin/ps
bc1694cc57b8b5633680d57885393e19 /usr/bin/top
把/etc/md5db这个文件备份到另一个计算机中,以后发现终点 比对两个文件就是了
注意 如果你自己修改了密码 上面的有些文件的MD5值也会发生变化,那你就要重新
运行这个脚本来获得新的MD5值了.
呵呵,你可能 说看日志啊 ,如果你遇到了高手他们会清除他们入侵的日志啊!
那怎么办呢,我们想一想 他们入侵系统做什么呢 ,无非就是取得一些系统的权嘛,
然后用这些权利去执行他们的程序,既然要取得一些权利,无非就是新建用户,组啊,
修改一些特殊的程序来挂马啊,我们就可以通过查看我们的关键的程序及文件是否被
修改过来判断有没有被入侵啊.(那为什么不看日志有没有被修改过来看是否被入侵啊,笨啊,正常情况下日志都 会被修改的啊) ,怎么看文件有没有被修改啊,在Linux下有
一个很好的工作,md5sum,就是求文件或程序的MD5和的工具啦,这个MD5又是什么东东啊 其实就是消息摘要算法啊 每个文件或程序的MD5值都是不一样的啦,它是用复杂的数学算法求得的一个128bit的值,不管你的源文件有多大,他的值都是128bit的,如果文件仅有一点的修改,MD5值也会大不相同的啊 他就相当 于一个文件的指纹啊.
所以 我们先这样做 把系统关键文档和程序的MD5值求出 并备份到另外一台安全的计算机上,当我们怀疑被入侵的时候 再把这些关键文档和程序的MD5值求一次并保存为另一个文档,再比较这两个文档有没有不同,就可以看出一些蛛丝马迹啦,
下面是一个脚本
#!/bin/bash
export path=$PATH:/root
md5sum /etc/passwd >>/etc/md5db
md5sum /etc/shadow >>/etc/md5db
md5sum /etc/group >>/etc/md5db
md5sum /usr/bin/passwd >>/etc/md5db
md5sum /sbin/portmap>>/etc/md5db
md5sum /bin/login >>/etc/md5db
md5sum /bin/ls >>/etc/md5db
md5sum /bin/ps >>/etc/md5db
md5sum /usr/bin/top >>/etc/md5db
执行这个脚本后 上述的文件的MD5值就放入/etc/md5db这个文件中了,象下面这样
[linux@/etc]# cat md5db
fa25ad401b9f8e458cc0516c289eb529 /etc/passwd
18f64e8dd87461f0208bccf264a00711 /etc/shadow
6f60617c12e3d1a9599c488dc5335b82 /etc/group
673f2fbc91f3421eb560f0a0d8858262 /usr/bin/passwd
80b3985cea8473846532824052964824 /sbin/portmap
ed78748061c05d2263baf43c6a2e400f /bin/login
774cb14b70080573906bbd26df7a9c58 /bin/ls
8cc6f96d1bd21250b731eb0ac85214a7 /bin/ps
bc1694cc57b8b5633680d57885393e19 /usr/bin/top
把/etc/md5db这个文件备份到另一个计算机中,以后发现终点 比对两个文件就是了
注意 如果你自己修改了密码 上面的有些文件的MD5值也会发生变化,那你就要重新
运行这个脚本来获得新的MD5值了.
相关文章推荐
- Linux-查看命令文件是否被修改
- linux终端下,使用ls时,显示的文件颜色,都表示什么含义,在哪里可以查看和修改
- linux终端下,使用ls时,显示的文件颜色,都表示什么含义,在哪里可以查看和修改
- Linux 下 使用Qt查看执行文件中是否包含某字符串的方法
- linux比较两个文件是否一样(linux命令md5sum使用方法)
- linux之使用md5sum命令比较两个文件是否一样
- linux比较两个文件是否一样(linux命令md5sum使用方法)
- 1.2.在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
- linux比较两个文件是否一样(linux命令md5sum使用方法)
- linux查看一个文件正被那些程序使用
- linux比较两个文件是否一样(linux命令md5sum使用方法)
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- linux 查看某文件是否正在使用(被读写)
- Linux文件类型及如何查看,修改文件读写权限
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- Linux下目录文件权限的查看和修改
- Shell脚本运行hive语句 | hive以日期建立分区表 | linux schedule程序 | sed替换文件字符串 | shell推断hdfs文件文件夹是否存在
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
- 备份基础相关-042】【查看当前是归档还是非归档模式】【非归档模式切换到归档模式】【是否使用闪回恢复区修改归档日志格式】【修改归档日志使用闪回恢复区】