距离上次服务器被黑也有一年多了,想不到今天服务器再一次被攻破!
上次是因为MySQL数据库的密码太简单,数据库端口为默认的3306,后来我采取了一系列的补救措施,才恢复了数据,详见我之前写的这篇文章——《删库跑路 + 比特币勒索?我的MySQL被黑客攻破了》。
最近,我发现外网进系统比较卡,各类https请求的响应时间也比以往的长,于是我登入服务器检查了情况,才发现服务器又被黑了!
这次服务器被黑,跟之前不一样,数据并没有被销毁,而是在我服务器上植入了一个进程——csvchost.exe。
svchost.exe是微软Windows操作系统中的系统文件,微软官方对它的解释是:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。许多服务通过注入到该程序中启动,所以会有多个该文件的进程。
来源 百度百科
没错,这是一个正常的系统文件,为什么会如此占用CPU呢?
其实很容易就可以猜到,这就是伪装的病毒文件。
但我想知道这是什么,于是我右键,打开文件所在目录。
这是在公用用户目录下的一个可执行文件,被NSSM封装为一个服务执行。
NSSM是一款可将Nodejs项目注册为Windows系统服务的工具。当你的Node.js项目需要部署在Windows Server上时,NSSM是一个不错的选择。
那么黑客的目的是什么呢?我打开了本目录下的配置文件。
配置文件中有一大串文本,其中有一段配置引起了我的注意:
1. "pools": [ 2. { 3. "algo": null, 4. "coin": null, 5. "url": "mine.xxxxx.com:13333", 6. "user": "43aZZQ2huB3V4Fj5SV1q1cT5JL1Dii7HXQwZc6hiiaUz2kLixv1g2ELDNRuXFGvqZjf2dKmxoJVYQDFKKwk3bKmDKjmRtbu", 7. "pass": "windows_php_2021_08_09_02_45_42", 8. "rig-id": null, 9. "nicehash": false, 10. "keepalive": true, 11. "enabled": true, 12. "tls": false, 13. "tls-fingerprint": null, 14. "daemon": false, 15. "socks5": null, 16. "self-select": null, 17. "submit-to-origin": false 18. } 19. ],
其中有一个url配置(具体网站被我替代掉了),我打开了这个网站的根域名,发现了“矿工”、“CPU挖矿”等等词汇。
简单来说,就是你的服务器被别人拿去当奴隶了!
别人用你的服务器资源,跑他的程序,帮他赚钱!
服务器被挖矿有很多的弊端,最直接的就是服务器资源被非法程序占领,正常程序获取不到应得的资源,容易造成服务器崩溃。
至于这个病毒是怎么进来的呢?云服务器上貌似有很多人都遭遇过这个问题,这个问题是由于Redis漏洞造成的。
大致思路是先通过Redis的6379默认端口,将身份认证文件放在ssh下,然后就可以登入服务器放文件了!
单单把这些文件删除了可能治标不治本,黑客直接登入 history 一查,就知道了做了啥修复手段。
那么我们如何防范呢?
1.Redis服务器不要开放6379默认端口,设置Redis密码,防止身份认证文件写入。
2.安装杀毒软件,及时修复安全漏洞
3.打开ssh下的authorized_keys, 删除没用到的密钥组
原文CSDN链接:https://zwz99.blog.csdn.net/article/details/119672623
另外看了看他们的文档,发现我4核16G的服务器,只是他们的一般级CPU,心里有点小小的失落,现在的服务器都这么强了吗?
最后,也不知道挖矿病毒清理干净了没有,先观察一段时间吧......