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 {} \;

以上命令,是放宽了查询时间的长度,查询最近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 {} \;
linux服务器上使用find查杀webshell木马方法的更多相关文章
- Linux服务器上的禅道迁移及升级方法(Linux to Linux)
由于阿里云服务器(Linux系统)到期停用,故需要将部署在该服务器上的禅道迁移到新的Linux服务器上.另外,借此机会,正好可以对旧版禅道进行一次升级.下面总结此次迁移和升级的具体操作方法. 一.禅道 ...
- PHP网站在Linux服务器上安全设置方案
本文总结了PHP网站在Linux服务器上一些安全设置(ps:还有一些设置给忘了),在<lnmp一键安装包>大多数参数已经包含,如果有什么更多的设置,大家一起讨论学习 PHP安全配置 1. ...
- PHP网站在Linux服务器上面的安全配置
本文详细总结了PHP网站在Linux服务器上面的安全配置,包含PHP安全.mysql数据库安全.web服务器安全.木马查杀和防范等,很好很强大很安全. PHP安全配置 1. 确保运行php的用户为一般 ...
- Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量
Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...
- ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...
- 在Linux服务器上运行Jupyter notebook server教程
在Linux服务器上运行Jupyter notebook server教程 很多deep learning教程都推荐在jupyter notebook运行python代码,方便及时交互.但只在本地运行 ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- Linux服务器上监控网络带宽的18个常用命令
[51CTO精选译文]本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以 ...
随机推荐
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catchFromPBomService': Cannot create inner bean '(inner bean)#302efb82' of type [com.thinkgem.jeesite.modules.fd
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catchFromPBo ...
- HashMap的hash原理
public static void main(String[] args) { String[] keyArray = {"Terra", "Jonas", ...
- 手推C3算法
C3算法规则 -- 每一个类的继承顺序都是从基类向子类看 -- 形成一个指向关系的顺序[当前类] + [父类的继承顺序] -- 进行一个提取 -- 如果一个类出现从左到右的第一个顺序上,并且没有出现在 ...
- Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍.本来以为花不了 ...
- day 07
# 数据类型的相互转化# 字符编码# 文件操作 # 1.哪些类型可以转化为数字# res = int('10')# print(res)# res = int('-3')# print(res)# r ...
- md5 collision(md5碰撞)之记录一些MD5值
md5 collision之记录一些MD5值 “Magic Hash”的PHP漏洞可以使得攻击者非法获取用户的账号信息. 漏洞原因: PHP以一种特定的方式处理被哈希的字符串,攻击者可以利用其 ...
- CenOS 6.4下安装中文输入法
1.使用root登录 输入:yum install "@Chinese Support" 2.回到桌面设置添加输入法 参考链接:http://www.linuxidc.com/Li ...
- Mysql 5.7--ubuntu18.04 安装过程及遇到的问题
Mysql 5.7安装过程 1. 下载mysql的apt-config文件 a. https://dev.mysql.com/downloads/file/?id=477124 b. 点击downlo ...
- 微信小程序框架集合
UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...
- Maven解决包冲突
依赖树 $ mvn dependency:tree [WARNING] [WARNING] Some problems were encountered while building the effe ...