linux服务器被挂马的解决办法(一)

现象:服务器网站出现偶尔打不开,并不频繁。在查找原因是使用ssh工具连接会经常断掉,无法开展工作。

解决过程:

还好使用其他服务器对另一个内网ip进行ssh连接,可以。首先怀疑外网ip所在的网卡问题。

如何查看流量过高:

1使用ifstat

wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz

ifstat -a 加入监控lo

2使用iftop监控那个端口流量

p  可以显示连接端口

3使用nethogs监控每个进程流量

yum换rpel源

wgethttp://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum install nethogs

nethogs  eth0

3个工具使用效果对比:

1. ifstat

2.iftop

3 nethogs

D USER    PROGRAM                                                                                                                                                                                 DEV        SENT      RECEIVED

?    root     124.172.118.226:6750-14.18.143.59:80                                                                                                                                                               0.000       0.200 KB/sec

?    root    124.172.118.226:2508-14.18.143.59:80                                                                                                                                                               0.000       0.200 KB/sec

?    root    124.172.118.226:15291-14.18.143.59:80                                                                                                                                                               0.000       0.200 KB/sec

?    root    124.172.118.226:52445-14.18.143.59:80                                                                                                                                                               0.000       0.200 KB/sec

?    root    124.172.118.226:62124-14.18.143.59:80                                                                                                                                                              0.000       0.200 KB/sec

?    root    124.172.118.226:22214-14.18.143.59:80                                                                                                                                                              0.000       0.200 KB/sec

?    root    124.172.118.226:7915-14.18.143.59:80                                                                                                                                                               0.000       0.200 KB/sec

?    root    124.172.118.226:51793-14.18.143.59:80                                                                                                                                                              0.000       0.200 KB/sec

?    root    124.172.118.226:18692-14.18.143.59:80                                                                                                                                                              0.000       0.200 KB/sec

通过上面分析,造成网站打不开的原因就是有进程大量发送数据包到某个ip的80端口,导致服务器网络阻塞,但是通过以上的工具,发现此木马相当的狡猾,无法发使用的那个进程。

在使用netstat、ss通过端口获取木马进程失败后

可以使用top工具,此木马在大量发包时肯定会造成资源的消耗

通过锁定发现了两个进程有大量的嫌疑:

通过ps命令找到进程执行的目录:

/usr/bin/sshupdate-bootsystem-insserv

/tmp/GuiBger

通过持续观察发现时有agent进程一闪而逝,在使用find / -name agent 后

# ll /usr/bin/bsd-port/

总用量 1120

-rwxr-xr-x. 1 root root 1135000 12月 25 11:20agent

-rwxr-xr-x. 1 root root       4 12月 25 11:20 agent.conf

-rw-r--r--. 1 root root      69 12月 25 11:50 conf.n

-rw-r--r--. 1 root root       0 10月  9 19:36 getty

此时,相关的可以进程都找到了,通过测试,在网络阻塞是删除sshupdate-bootsystem-insserv、GuiBger两个进程后,网络流量立即正常。而agent则怀疑是与黑客的通信进程,用于接收命令(瞎猜的)或者监控上面连个进程。

找到这3个进程并不意味结束,因为他们很可以是开机自启动程序,所以要在找到他们的开机自起的配置文件,我通过一个脚本实现这个功能:

#!/bin/sh

echo > /tmp/find_init.log

function ergodic(){

forfile in `ls $1`

do

if[ -d $1"/"$file ] #如果 file存在且是一个目录则为真

then

ergodic$1"/"$file

else

localpath=$1"/"$file #得到文件的完整的目录

localname=$file       #得到文件的名字

#做自己的工作.

echo  $path

rootkit_init=`cat$path | grep sshupdate | head -n 1`

if[ -z $rootkit_init ];then

echo  "sed -i ‘s#$rootkit_init##g‘ $path">>  /tmp/find_init.log

fi

fi

done

}

INIT_PATH="/etc/init.d"

ergodic $INIT_PATH

cat /tmp/find_init.log

这个脚本功能很简单,通过遍历/etc/init.d目录所有文件,使用grep搜索进程名关键词,将含有这几个进程的文件找出来。

结果如下:

sed -i‘s#/usr/bin/sshupdate-bootsystem-insserv##g‘ /etc/init.d/DbSecurityMdt

sed -i‘s#/usr/bin/sshupdate-bootsystem-insserv##g‘ /etc/init.d/insserv

还真有自启动配置,迅速删除之

在删除这个木马命令时会遇到无法删除的问题,这个很简单:

lsattr /usr/bin/sshupdate-bootsystem-insserv

查看命令的影藏权限

-------i------e- sshupdate-bootsystem-insserv

发现被限制删除操作了

chattr -i  /usr/bin/sshupdate-bootsystem-insserv

取消影藏权限,然后再删除,完成。

最后总结,之所以被黑客在linux服务器上挂马,是因为方便开发上线产品,关闭了iptables,这个教训很深刻,所以使用iptables限制服务器的端口非常有必要,如果可能最好selinux开启。当然定时更换各账户密码也很重要!

时间: 2024-10-07 07:38:47

linux服务器被挂马的解决办法(一)的相关文章

一次tomcat服务器被挂马的解决经历

就在今天,我也遇到了传说中的服务器挂马事件,折腾了近一天最终解决了,遗憾的是未能抓到攻击途径.叙述一下这件事情的经过. 早上收到了一封来自于阿里云的邮件 尊敬的用户: 经检测您的云服务器(擦掉ip)存在恶意扫描,请您务必在12小时内处理,逾期未处理将禁止您服务器22.380.443.1314.3306.3433.3389.8080端口对外发包,并关停云服务器.关停后仅有一次机会自助解封,请您务必重视.感谢您的配合. 请您尽快执行以下操作 1.病毒木马清理 请您使用杀毒软件进行病毒查杀,清理系统盘

公司网站被挂马的解决办法

**网站被挂马青岛峰会期间本来想给自己放几天假的,因为公司的网站被挂马给泡汤了,打开公司网站首页,使用浏览器的源代码功能,发现自己网站的首页多了很多×××代码,于是我连接FTP查看网站首页的代码中发现了这个挂马代码,下面我把代码贴出来 : 公司网站被挂马的×××代码解释一下:这个代码是 PHP的代码是一种条件性的挂马,上面的google soso sogou baidu 都是挂马的条件,意思就是当从 google soso...等等搜索引擎来的访问客户会自动在网页上隐藏一行代码也就是挂马代码.

虚拟Linux服务器不能获取IP的解决办法

环境:Win7 X64系统→VMware Workstation →CentOS 64背景:安装Linux虚拟几天了,一向很正常的虚拟机在电脑重启后不能获取IP.解决途径:百度搜索问题解决方法: 1.检查VMware Workstation →CentOS 64设置中Network Adapte选项NAT是否勾选. 2.打开控制面板→程序和功能,选择打开或关闭Windows功能,将Internet信息信息服务中的IIS选项勾选. 3.重启.

记一次linux服务器被挂马的处理过程

有断时间突然发现zimbra邮件服务器过几天就卡死,得重启才能恢复,卡的时候根本用不了命令,按服务器关机键都没办法关机,只能强制重启.连续观察好几天,通过sar -f /var/log/sarxx查看日志发现,CPU使用率隔一阵子就会390%或者更多,但是这个sar只能查看系统层面的,没法查看是哪个进程使用率偏高.后面去网上下载了atop,这个程序可以查看得更详细,包括历史进程使用情况,安装后也一直没有查看到异常. 连续再观察几天后,突然有一天被我观察出来了,当CPU高的时候使用top命令查看有

linux中无 conio.h的解决办法

conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义.conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等.大部分DOS,Windows,Phar Lap,DOSX,OS/2等平台上的C编译器提供此文件,UNIX和Linux平台的C编译器本身通常不包含此头文件,但已经有其兼容包,可参考: http://conio.sourceforg

Linux 下WordPress FTP帐号解决办法

自己用Ubuntu搭建WordPress后在更换主题时提示需要输入FTP帐号和密码,解决办法主要是把WordPress主目录的权限所有者弄为Apache: 找到apache服务所使用的用户名和用户组 ps -aux 找到 /usr/sbin/apach 的用户名,它就是apache的所有者,我这里是 www-data sudo chown www-data:www-data -R /var/www/html/ 因为我的WordPress的主目录是 /var/www/html/ 然后刷新WordP

安装IIS之后运行aspx 显示“服务器应用程序不可用” 解决办法

引起这个的原因大概是现安装了.Net Framework,后装的IIS导致.Net没有在IIS里注册.  另外,还有可能是ASPNET账户没有IIS所指定服务器目录的权限.在资源管理器中找到“工具-文件夹选项-查看-使用简单文件夹共享(推荐)”,把前面的勾去掉,然后在服务器指定目录上点右键,属性-安全-添加-高级-立即查找,把ASPNET这个账户添加进去,给它指定完全访问的权限.这样做了以后就会发现没有了那个错误,不过如果访问数据库可能有会提示ASPNET这个账户没有权限访问数据库.这个提示就清

记一次服务器被挖矿经历与解决办法

记一次服务器被挖矿经历与解决办法 在最近的某一天里面,中午的一个小息过后,突然手机的邮件和公众号监控zabbix的告警多了起来.我拿起手机一看原来是某台服务器上的CPU跑满了,就开始登上去看一下是哪个脚本导致负荷高的(在期间使用top -d 1命令查看负荷占用情况).可以静下来想了下,中午大家都在休息不应该CPU负载会这么高的,心里想80%是服务器被黑了. 后来发现是/tmp/ddgs.3013和/tmp/qW3xT.2这两个文件跑满了服务器CPU,后来决定先kill掉文件PID和删除/tmp目

linux编译安装时常见错误解决办法

linux编译安装时常见错误解决办法 This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution复制代码 代码如下:yum -y install libxslt-devel c