linux服务器上使用find查杀webshell木马方法

简介: linux服务器上使用find查杀webshell木马方法本文转自:http://ju.outofmemory.cn/entry/256317只要从事互联网web开发的,都会碰上web站点被入侵的情况。

linux服务器上使用find查杀webshell木马方法
本文转自:http://ju.outofmemory.cn/entry/256317

只要从事互联网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 {} ;
20160426144502

以上命令,是放宽了查询时间的长度,查询最近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 {} ;
Oracle & MSSQL & Postgresql & Mysql 调优 & 优化

相关文章
|
16天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
15天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
19 0
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
39 2
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
11天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1236 8
|
12天前
|
Linux
Linux 指令|date|cal|find|grep|热键
Linux 指令|date|cal|find|grep|热键
|
15天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
26 0
|
18天前
|
监控 Linux
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
419 4