云原生场景下挖矿的变化
攻击梳理
攻击路径
攻击全景图
容器和宿主机挖矿场景区别
- 入口不同,宿主机挖矿偏向于应用漏洞利用和暴力破解/弱口令。容器更偏向于云原生的漏洞,各种未授权,供应链攻击(恶意镜像)。
- 执行阶段,容器会通过部署后门容器进行后续利用。容器需要去下载一些基本命令工具。
- 权限提升,容器的特点在于需要特权模式,目录挂载等操作宿主机的过程,由于docker天然的root权限,并不需要像宿主机攻击一样进行提权操作。
- 凭据窃取,容器增加了云原生相关的凭据。
- 探测,容器增加了云原生相关的端口。
- 横向移动,容器增加了云原生的利用。
攻击链
互联网热门挖矿
Graboid
graboid-first-ever-cryptojacking-worm-found-in-images-on-docker-hub
攻击路径
攻击矩阵
- Docker未授权API -> 恶意镜像拉取 -> 恶意容器部署 -> 下载恶意&脚本执行 -> 横向移动(攻击其它设备,停止其它挖矿容器)-> 挖矿
- 先横向后挖矿
- C2服务器中的ip有部分在脆弱主机列表中
LemonDuck
lemonduck-botnet-targets-docker-for-cryptomining-operations
攻击路径
攻击矩阵
- Docker未授权API -> 部署恶意容器 -> 下载恶意脚本并执行(杀进程、删文件、断连接) -> 持久化(计划任务设置)-> 防御绕过(关闭安全设备、禁用安全措施、代理矿池)-> 窃取凭据(ssh密钥、主机和用户信息)-> 横向移动(ssh)-> 挖矿
- 先挖矿,后横向
- 推测该病毒只是一个云宿主机挖矿病毒的容器版本,只是把攻击云宿主机的攻击入口替换成Docker,其它行为直接复制。理由是容器天然不具有ssh,所以使用ssh key窃取进行横向不大合理。是一个不成熟的容器挖矿病毒。
- 脚本都使用了文件名伪装,bash伪装成png或者asp
- 修改和删除大量系统文件,例如syslog、cron、httpd等
- 杀死竞争者进程、系统服务守护进程
- 断开竞争者网络连接
- 防御绕过(关闭安全设备、禁用安全措施、代理矿池)
- 窃取凭据(ssh密钥、主机和用户信息)
- 代理矿池
现在大部分挖矿都使用了代理矿池来逃避网络连接检测
Tesla&K8s
把Tesla和K8s放在一起讲,Tesla可以作为k8s入侵挖矿的典型案例。
detect-largescale-cryptocurrency-mining-attack-against-kubernetes-clusters
misconfigured-kubeflow-workloads-are-a-security-risk
Tesla攻击路径
Azure K8s挖矿事件
Tesla&k8s攻击矩阵
- k8s/kuberflow 未授权 -> 部署挖矿pod ->挖矿
- kubeflow是Google的机器学习套件,算力更高,也逐渐变成攻击对象
- k8s/kubefow未授权的危害巨大,可以直接部署容器进行挖矿,比传统宿主机挖矿的路径更短更有效
- 使用非标准端口、CDN IP、非流行矿池绕过安全检测
TeamTNT
https://mp.weixin.qq.com/s/Bw8_zNBwpL1eTZZ0dxXQQw
https://s.tencent.com/research/report/1226.html
https://www.aqniu.com/industry/78244.html
https://unit42.paloaltonetworks.com/hildegard-malware-teamtnt/
攻击路径
攻击矩阵
- 攻击攻击入口以Docker API未授权为主
- 执行下载恶意脚本、拉取恶意镜像、下载基本命令(curl、wget)等
- 木马后门、添加用户、服务/后台启动
- 权限提升采用宿主机挂载和特权容器+ssh
- 关闭主机防御、安全产品关闭、隐匿通信-IRC通信、痕迹清理-删除日志
- 窃取ssh凭据等
- 使用扫描工具扫描端口SSH、Docker
- 使用ssh密钥移动、Docker API未授权攻击横向移动