在应急响应中,我们经常会使用find命令来查找系统中被黑客修改过的文件,或者被上传的木马后门文件,灵活使用find命令可以达到事半功倍的效果,现总结下使用技巧
举例,查找最近被更改的jsp文件 find /webapp -name "*.jsp" -mtime 0
这里面容易混淆的是mtime后门的数字n
find . –mtime n:
最后一次修改发生在距离当前时间n*天至n+1天
例如要查找1天内被修改的JSP文件:
find /webapp -name "*.jsp" -mtime 0
0*天~0+1天内修改的文件
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
搜索最近七天内被访问过的所有文件 find . -type f -atime -7
搜索恰好在七天前被访问过的所有文件 find . -type f -atime 7
搜索超过七天内被访问过的所有文件 find . -type f -atime +7
搜索访问时间超过10分钟的所有文件 find . -type f -amin +10
搜索大于10KB的文件 find . -type f -size +10k
搜索小于10KB的文件 find . -type f -size -10k
搜索等于10KB的文件 find . -type f -size 10k
当前目录下搜索出权限为777的文件 find . -type f -perm 777
找出当前目录下权限不是644的php文件 find . -type f -name "*.php" ! -perm 644
找出当前目录下所有root的文件,并把所有权更改为用户tom find .-type f -user root -exec chown tom {} ;
上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。
找出家目录下所有的.txt文件并删除 find $HOME/. -name "*.txt" -ok rm {} ;
上例中,-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。