一次Linux服务器被入侵和删除木马程序的经历

一、背景

    上午看到有台服务器流量跑的很高,明显和平常不一样,流量达到了500Mbps,第一感觉应该是中木马了,被人当做肉鸡了,在大量发包。

    我们的服务器为了最好性能,防火墙(iptables)什么的都没有开启,但是服务器前面有物理防火墙,而且机器都是做的端口映射,也不是常见的端口,按理来说应该是满安全的,可能最近和***有缘吧,老是让我遇到,也趁这次机会把发现过程记录一下。

二、发现并追踪处理

1、top动态查看进程

lQLPDhtv9WtMHrTNAUDNAyawzaVq2KWinIoCiBs03AC8AA_806_320

2、ps命令查看进程的路径

# 通过PID号找到对应的进程名及所在目录
ps  -aux |grep -v grep|grep 23505

#或者使用以下命令
lsof -p 23505

lQLPDhtv9dHRPu5nzQMosCaI5KXoBDpCAogb3TiA-QA_808_103

进入 /root/.cfg目录,查看木马文件。dealer和rcu_tasked两个文件就是病毒文件。

lQLPDhtv9wOW1gpkzQEksFjBWHJPovh8Aogd0j8AuwA_292_100


3、结束异常进程并继续追踪

# 通过PID杀死进程
kill -9 23585

杀死进程后,再执行top命令,发现病毒又自己重新启动了。

image

4、查看系统定时任务,判断是否异常

crontab –e

lQLPDhtv9iQSYN0lzQHAsHoxLTYXlk6CAogcZC1A-QA_448_37

定进任务有异常执行信息,先注释此条信息。

5、查看系统运行的服务,发现了异常

  • 进入目录:/lib/systemd/system

image

  • 使用 ll 命令查看最新服务文件

# 有旧到新
ll -rt

image

  • 最终发现了异常服务文件 【myservice.service】,我们使用 vi命令打看一下内容
    vi myserver.service

image

[Unit]
Description=Example systemd service.

[Service]
Type=forking
ExecStart=/usr/bin/player
ExecStartPost=/bin/bash /usr/bin/pidsshd
Restart=always
RestartSec=2s
SuccessExitStatus=SIGHUP
TimeoutStartSec=6000
KillMode=control-group
StandardOutput=null
StandardError=null

[Install]
WantedBy=multi-user.target
  • 病毒文件位置:/usr/bin/player,因打开是乱码,所以就不看病毒文件内空。

cd /usr/bin

ll -rt

image

  • 病毒文件位置:/usr/bin/pidsshd,用于提取 myservice.service服务的PID到 /usr/bin/port文件中

image

6、再次查看系统运行的服务与病毒的关系

命令:top,监视系统活动进程和系统的资源负载信息

image

systemctl status myservice.service

image

进程PID是:2107,说明病毒程序对应上了。


三、木马手动清除

1、停止服务、禁用开机启动

# 停止服务
systemctl stop myservice.service

# 停止开机启动
systemctl disable myservice.service

# 删除服务文件
rm –rf myservice.service

停止myservice服务后,确实 rcu_tasked进程已停止,cpu使用率也降下来了。

2、删除以下3个文件

rm -rf player

image

3、删除系统定时任务异常

crontab –e

删除以下记录

lQLPDhtv9iQSYN0lzQHAsHoxLTYXlk6CAogcZC1A-QA_448_37

4、删除定时任务可执行文件

image

5、重启电脑,一切都正常了。


四、预防措施

       因为现在的木马进程保活机制做的很完善,你可能很难杀掉木马进程,在使用各种方式去查杀木马进程时,自己肯定是无比的后悔为什么不把安全机制做完善一些。下面我记录几点基本的安全设置,以后看到其他资料会再来补充。

1、避免弱口令。弱口令是最容易中木马的原因,别人一旦获取到了你的服务器口令,就相当于有了服务器的控制权。
2、ssh端口不要使用默认的22端口。因为网络上有很多破解程序一直在扫描破解公网上的服务器,通过修改ssh端口可以避免一定量的破解访问。
3、禁止root的远程登录。远程登录时使用普通用户,当需要用到root权限时,再用sudo来提权。

posted @ 2022-05-19 17:58  我命由我不由天—hao  阅读(1423)  评论(0编辑  收藏  举报