博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux服务器上使用find查杀webshell木马方法
阅读量:5328 次
发布时间:2019-06-14

本文共 1788 字,大约阅读时间需要 5 分钟。

本文转自:

只要从事互联网web开发的,都会碰上web站点被入侵的情况。这里我把查杀的一些方法采用随记的形式记录一下,一是方便自己以后的工作需要,二是给其他朋友提供一些参考帮助。写的不周的地方,高手们不要喷,欢迎给我提供更好的意见,对于我个人来说也是个提高,并表示感谢。

我们的服务器环境是linux,所以,肯定少不了用find这个命令,并且需要配合ls命令来使用。

1、可以查找近3天被修改过的文件,并显示文件列表详细信息:

find -name "*.php" -type f -mtime -3 -exec ls -l {} \;

当然,结果中可能会包含很多cache类文件,这些文件不是我们要查找的,那么就需要把这类文件从查询结果中排除掉,往往cache文件都存放到cache特定的目录。

使用 -prune 参数来进行过滤,增加排除某些目录条件的查询命令:

find . -path "/xxxxx/caches" -prune -o -name "*.php" -type f -mtime -3 -exec ls -l {} \;

注意:

(1)、要忽略的路径参数必须紧跟着搜索的路径之后,否则该参数无法起作用。

(2)、路径结尾不要有“/”符号。

2、查到可疑文件,分析,确定是木马后,根据木马文件的文件信息查找更多的存放位置。比如木马的文件名称为“muma.php”。

find . -name "muma.php" -type f -mtime -5 -exec ls -l {} \;

以上命令,是放宽了查询时间的长度,查询最近5天该名称文件的信息列表,可以通过查看文件大小来判定是否是同样的木马文件。

看图中命令结果,文件大小都是“233”,则有很大的可能性是同样的木马文件,综合修改时间判断,最好是也cat一下检查核验,以免误杀。

可以利用find和ls命令的一些更丰富的参数信息来判定分析。

可能会用到find命令的参数功能列表:

find   /home   -size +512k #查大于512k的文件 find /home -size -512k #查小于512k的文件 find /home -mtime -2 # 在/home下查最近两天内改动过的文件 find /home -atime -1 # 查1天之内被存取过的文件 find /home -mmin +60 # 在/home下查60分钟前改动过的文件 find /home -amin +30 # 查最近30分钟前被存取过的文件 find /home -newer tmp.txt # 在/home下查更新时间比tmp.txt近的文件或目录 find /home -anewer tmp.txt # 在/home下查存取时间比tmp.txt近的文件或目录

结合ls的两种时间信息:

ls -lc filename 列出文件的 ctime 是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的时间。 ls -l filename 列出文件的 mtime 在写入文件时随文件内容的更改而更改的时间。

ctime和mtime不一致时有可能是木马文件,黑客有可能会修改了mtime时间。

3、删除木马文件

这一步应该是进一步分析木马的入侵路径等,但是这个过程又是另一个非常复杂的系统工程,后边再详细说明,暂时跳过。

find . -name "muma.php" -type f -mtime -5 -size -5k -exec rm -rf {} \;

增加一个过滤条件,-size -5k,即文件大小小于5k的。

4、查找目录下文件内容包含木马特定字符串的文件列表,并删除处理。

#查找文件,并显示文件的ctime时间,比对文件信息find . -name "*.php" -exec grep -rl "YLbgPfj524" {} \; -exec ls -lc {} \; #确认没有问题后,删除掉 find . -name "*.php" -exec grep -rl "YLbgPfj524" {} \; -exec rm -rfv {} \;

转载于:https://www.cnblogs.com/lhdz_bj/p/10727694.html

你可能感兴趣的文章
iOS8 自定义navigationbar 以及 UIBarButtonItem 边距问题
查看>>
iOS多线程编程--NSOperation(转)
查看>>
高可用Redis(四):列表,集合与有序集合
查看>>
进程线程之pid,tid
查看>>
立即执行函数
查看>>
rsync使用详解
查看>>
SVN常用命令
查看>>
bzoj3223Tyvj 1729 文艺平衡树 splay
查看>>
七夕心形demo
查看>>
Python垃圾回收机制:gc模块
查看>>
使用ifconfig命令来看网卡的IP,但是,输入命令之后,eht0里面只有 inet6 addr 而没有 inet addr...
查看>>
VsCode云端版本
查看>>
MyBatis学习--查询缓存
查看>>
Java实现快速排序
查看>>
python学习笔记--python数据类型
查看>>
Java学习总结
查看>>
一些忘记了的....
查看>>
Codeforces 448E Divisors
查看>>
linux高级技巧:rsync同步(二)
查看>>
ETL调度开发(5)——连接数据库运行数据库命令子程序
查看>>