• Docker 恶意挖矿镜像应急实例


    01、概述

    当网络流量监控发现某台运行多个docker容器的主机主动连接到一个疑似挖矿矿池的地址时,需要快速响应和排查,以阻止进一步的损害。

    面对docker容器的场景下,如何快速分析和识别恶意挖矿容器?本文将分享一种应急响应思路,用于排查运行多个Docker容器的主机中可能存在的恶意挖矿容器。

    02、定位容器

    在宿主机上通过netstat -an 是看不到容器内的网络连接的,而一台台进入容器查看网络连接,排查效率很慢。

    我们知道宿主机上的容器都是通过dokcer0进行通信的,因此,可以通过tcpdump找到异常网络连接的容器IP地址,然后进一步关联到容器。

    (1)tcpdump抓包定位容器ip地址

    tcpdump -i docker0 dst host xx.xx.xx.xx -v

    cbca1b4cc5e53244d505e4a4461c0cf8.png

    可以看到与恶意ip建立网络连接的容器IP是:172.17.0.2

    (2)一个命令获取所有容器名称及其IP地址,匹配172.17.0.2 ,从而定位到容器。

    docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq) |grep 172.17.0.2

    8dd85261e91392f4a3cb7f03917df834.png

    (3)进入容器network namespace进行确认,找到异常的网络连接地址。

    1. #获取容器PID
    2. docker inspect -f '{{.State.Pid}}'
    3. #进入容器的network namespace
    4. nsenter -n -t pid
    5. # 验证是否进入容器的network namespace
    6. netstat -an|grep xx.xx.xx.xx

    29d7101d9337826bd584ef964b04b874.png

    03、分析排查

    (1)进入容器,找到挖矿程序的进程,恶意脚本路径为xmrig.sh。

    458b2527b0117430971ae5719311a2c7.png

    (2)我们需要进一步确认的是挖矿程序时在容器运行过程中被植入了,还是镜像文件中已经存在挖矿程序。

    使用docker diff命令查看容器内文件状态变化,未找到xmrig.sh。

    b1085a1e840505b51b5916af45217b05.png

    通过docker inspect 快速定位镜像文件系统在宿主机上对应的目录,从镜像中提取恶意文件进行对比,以确认入侵的源头为恶意镜像。

    b44ab5c9aae094d6fcdef3cd423917fb.png

    04、镜像分析

    追溯镜像的来源,解析Dockerfile文件是关键步骤。

    (1)使用docker history 命令查看指定镜像的创建历史,加上 --no-trunc,就可以看到全部信息。

    ed22b0170a92cff66a1a330e7e1194c9.png

    (2)使用dfimage从镜像中提取 Dockerfile,在这里可以清晰地看到恶意镜像构建的过程,找到恶意挖矿程序的样本。

    6ca9eb211eb206e3310f9eb71df17292.png

    05、问题处理

    (1)查找恶意镜像关联的容器

    docker ps -a|grep <IMAGE_NAME>

    3bba31b40f18b35da0720754e7c90e14.png

    (2) 删除相关容器或镜像

    1. docker rm -f <containerId>
    2. docker rmi <IMAGE_NAME>
  • 相关阅读:
    企业数据挖掘平台产品特色及合作案例介绍
    SpringSecurity(十六)---OAuth2的运行机制(中)-密码、客户端凭据授权类型以及刷新令牌
    ARM 实例代码
    我的十年编程路 2019年篇
    为 Go 开发配置Visual Studio Code
    SpringBoot SpringBoot 原理篇 1 自动配置 1.15 自动配置原理【1】
    Linux网络编程基础
    美狐美颜SDK滤镜、哈哈镜功能算法分析
    shell脚本的编写(输入、输出、变量、数组等的使用规范及实例)
    JVM高频面试题PDF版
  • 原文地址:https://blog.csdn.net/qq_23936389/article/details/132893267