Docker 容器入侵排查

news2025/2/2 18:56:18

随着越来越多的应用程序运行在容器里,各种容器安全事件也随之发生,例如攻击者可以通过容器应用获取容器控制权,利用失陷容器进行内网横向,并进一步逃逸到宿主机甚至攻击K8s集群。

容器的运行环境是相对独立而纯粹,当容器遭受攻击时,急需对可疑的容器进行入侵排查以确认是否已失陷,并进一步进行应急处理和溯源分析找到攻击来源。在应急场景下,使用docker命令可以最大程度利用docker自身的特性,快速的获取相关信息而无需进入容器内部,帮助我们进行溯源分析和解决问题。


1.1 检查容器运行情况

使用docker ps  查看当前运行的容器,创建时间、运行状态、端口映射。

[root@ecs-t /]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED             STATUS             PORTS                          NAMES
b06352ff26cc   sagikazarmark/dvwa             "/run.sh"                About an hour ago   Up About an hour   3306/tcp, 0.0.0.0:81->80/tcp   dvwa

1.2 检查运行容器详细信息

使用docker inspect来获取容器的详细信息。

//获取容器名
docker inspect -f {{.Name}}  dvwa  


 //获取容器网络的相关信息
docker inspect -f {{.NetworkSettings}} dvwa   
docker inspect -f {{.NetworkSettings.IPAddress}} dvwa 


//目录在宿主机的具体挂载位置
docker inspect -f="{{json .Mounts}}" dvwa   
docker inspect -f "{{range .Mounts}} {{println .Source .Destination}} {{end}}" dvwa


//查看网络信息
docker inspect -f="{{json .NetworkSettings}}" dvwa

1.3 检查容器资源的使用情况

使用docker stats 查看容器的CPU、内存、网络 I/O等情况,以确认是否存在资源异常的情况。

[root@ecs-t /]# docker stats dvwa


CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b06352ff26cc   dvwa      0.00%     76.21MiB / 3.686GiB   2.02%     23.6kB / 57.6kB   24.1MB / 67.7MB   27

1.4 检查容器中进程信息

使用docker top 查看容器中的进程信息,通过PID/PPID/CMD等信息来辅助定位异常进程。

如下图:java父进程(PID:84010)触发bash反弹shell的子进程(PID:84281)。

a7586603bbf9a1ee1f90d8aef32098f6.png

1.5  查看容器中日志

使用docker logs查看容器日志,并通过关键字定位异常信息位置。

如下图:通过特征关键字找到可疑的jndi请求。

d9809f3f911a14aa12896a7173f92f91.png

1.6 查看容器中的文件变化

使用docker diff命令可以找出容器内文件状态变化。备注:三种状态(A - Add, D - Delete, C - Change )。

如下图:通过新增文件目录快速定位webshell文件。

d0e2bff407f0b79e9f420e0815ae9c13.png

1.7 失陷容器应急处理

确认容器失陷后,一般我们可以采取暂停容器、隔离容器甚至杀死容器的方式来做紧急处理。

(1)使用docker pause,暂停容器中所有的进程。

(2)使用docker commit,用于将被入侵的容器来构建镜像,从而保留现场痕迹,以便溯源。

(3)将正在运行的Docker容器禁用网络。

//将运行中的容器与用户定义的网桥断开连接
[root@localhost ~]#docker network disconnect bridge <container-name>


//禁用veth
[root@localhost ~]#docker exec -it <container-name> cat /sys/class/net/eth0/iflink
29
[root@localhost ~]#ip link show |grep 29
29: vethbf5239e@if28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue masteefault 
[root@localhost ~]# ip link set vethbf5239e down

(4)使用docker kill 杀掉运行中的容器。

docker kill -s KILL <container-name>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis客户端连接不上redis

总结 我先说一下&#xff0c;我觉得最有效就是把Linux防火墙tm的关了&#xff0c; 当我成功后&#xff0c;第二次连接时&#xff0c;防火墙开着&#xff0c;但是我能连接。 systemctl stop firewalled # 关闭防火墙 systemctl start firewalled # 开启防火墙 systemctl status …

利用DPU/IPU 卸载容器镜像以及文件系统的相关操作

1、背景和动机 随着云原生(Cloud Native)被工业界广泛接受&#xff0c;容器(container)在数据中心被广泛部署&#xff0c;其地位正在逐步取代传统的虚拟机(Virtual Machine)。当然目前依然存在用轻量虚拟机来运行和部署容器&#xff0c;比如使用Kata Containers。简单来讲&…

FPGA实现USB3.0 UVC 相机OV5640摄像头输出 基于FT602驱动 提供工程源码和QT上位机源码

目录 1、前言2、UVC简介3、FT602芯片解读4、我这儿的 FT601 USB3.0通信方案5、详细设计方案基于FT602的UVC模块详解 6、vivado工程详解7、上板调试验证8、福利&#xff1a;工程代码的获取 1、前言 目前USB3.0的实现方案很多&#xff0c;但就简单好用的角度而言&#xff0c;FT6…

2023 年 8 个最佳 React UI 组件库和框架

将展示八个最好的 React UI 组件库和框架&#xff0c;如下表所示&#xff1a;&#xff08;星标加关注&#xff0c;开车不迷路&#xff09; 「React Bootstrap&#xff1a;」一个与 Bootstrap 框架集成的实用的 React UI 库。「Grommet&#xff1a;」如果您想在设计中实现可访问…

基于Servlet+mysql+jsp学生宿舍信息管理系统

基于Servletmysqljsp学生宿舍信息管理系统 一、系统介绍二、功能展示1.用户登陆2.学生-主页面3.学生-缺勤记录4.学生-修改密码5.宿舍管理员-主页面6.宿舍管理员-学生查看7.宿舍管理员-缺勤记录8.系统管理员-宿舍管理员管理9.系统管理员-学生管理10.系统管理员-宿舍楼管理11.系统…

中高级前端面试秘籍,为你保驾护航金三银四

引言 各位大佬在评论中指出的种种问题小弟万分感谢。由于这一年来&#xff0c;出了不少变动&#xff0c;所以才一直耽搁&#xff0c;现已修复各位大佬指出的问题和建议。请大家放心食用&#xff01;感恩~&#x1f973; 当下&#xff0c;正面临着近几年来的最严重的互联网寒冬&a…

《文渊》期刊简介及投稿邮箱

《文渊》期刊简介及投稿邮箱 《文渊》是正规国家级连续型电子期刊&#xff0c;新闻出版广电总局可查&#xff0c;国家级教育核心刊物、中国核心期刊数据库收录期刊。 主管单位&#xff1a;中国出版传媒股份有限公司 主办单位&#xff1a;中国出版传媒股份有限公司 文渊&…

变量的线程安全分析

目录 变量的线程安全 常见线程安全类 变量的线程安全 成员变量和静态变量是否线程安全&#xff1f; 如果它们没有共享&#xff0c;则线程安全 如果它们被共享了&#xff0c;根据它们的状态是否能够改变&#xff0c;又分两种情况 如果只有读操作&#xff0c;则线程安全如果…

【30天熟悉Go语言】7 Go流程控制之分支结构if、switch

文章目录 一、前言二、if1、单分支Go语法规范&#xff1a; 2、双分支Go语法规范 3、多分支 三、switch1、基本语法2、语法规范1&#xff09;switch2&#xff09;case3&#xff09;default 四、总结 一、前言 Go系列文章&#xff1a; GO开篇&#xff1a;手握Java走进Golang的世界…

手机APP大用户并发测试

一、背景 随着智能手机近年来的快速增长&#xff0c;从游戏娱乐到移动办公的各式各样的手机APP软件渗透到我们的生活中&#xff0c;对于大型的手机APP测试不仅要关注它的功能性、易用性还要关注它的性能&#xff0c;最近发现LoadRunner12可以对手机APP做性能测试&#xff0c;但…

寻味一座城,从吃吃吃开始

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 小黑 运营 / SandLiu 卷圈 监制 / 姝琦 文案 / 小黑 产品统筹 / bobo 场地支持 / 声湃轩天津站 为了再也不用在节目里喊“我们真的不是美食节目”&#xff0c;2023年7月起&#xff0c;原汤话原食将更名为“记者下班”…

记录--极致舒适的Vue可编辑表格

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 使用ElementPlus的Table啥都好&#xff0c;就是没有可编辑表格&#xff01;&#xff01;&#xff01;&#x1f62d; 既然UI库不支持&#xff0c;那我们实现一个可编辑表格是很难的事么&#xff1f;&am…

Avalon 学习系列(五)—— 过滤器

Avalon 本身有很多过滤器&#xff0c;例如 date、number等文本过滤器、循环过滤器&#xff1b;avalon 也提供了方法可以根据需求自定义过滤器。 示例&#xff1a; &#xff08;1&#xff09;定义一个 myFunc 的个性化过滤器&#xff0c;并加在元素上&#xff1b; &#xff0…

一文带你玩转 RustChinaConf 2023,内含赞助商展位活动福利和 Workshop 介绍

除了两天干货满满的会议外&#xff0c;RustChinaConf 的赞助商也准备了精美的周边礼物等待大家去打卡。每位参会者在签到的时候会获得一张集章卡&#xff0c;集齐上面所有的章&#xff0c;可至签到处兑换精美礼物一份。偷偷剧透一下&#xff0c;奖品有大家喜欢的 Rust 小螃蟹玩…

【计算机网络】第一章 概述(上)

文章目录 第一章 概述1.2 因特网概述1.2.1 网络、互连网&#xff08;互联网&#xff09;和因特网1.2.2 因特网发展的三个阶段1.2.4 因特网的组成 1.3 三种交换方式1.3.1 电路交换1.3.2 分组交换1.3.3 报文交换1.3.4 三种方式对比 1.4 计算机网络的定义 第一章 概述 1.2 因特网概…

「深度学习之优化算法」笔记(二)优化算法的分类

1. 优化算法的分类 1.1常见的优化算法 在分类之前&#xff0c;我们先列举一下常见的优化算法&#xff08;不然我们拿什么分类呢&#xff1f;&#xff09; 1.遗传算法Genetic algorithm 2.粒子群优化算法Particle Swarm Optimization 3.差分进化算法Differential Evolution 4.人…

springboot第27集:springboot-mvc,WxPay

在数据库中&#xff0c;DISTINCT 关键字用于查询去重后的结果集。它用于从查询结果中去除重复的行&#xff0c;只返回唯一的行。 要使用 DISTINCT 关键字&#xff0c;可以将其放置在 SELECT 关键字之前&#xff0c;指示数据库返回去重后的结果。 请注意&#xff0c;DISTINCT 关…

Linux常用命令——getenforce命令

在线Linux命令查询工具 getenforce 显示当前SELinux的应用模式&#xff0c;是强制、执行还是停用。 补充说明 grename命令可以重命名卷组的名称。 语法 getenforce例子 查看当前SELinux的应用模式。 [rootlocalhost ~]# getenforce Enforcing在线Linux命令查询工具 原文…

ChatGPT时代,我的新书《智慧共生》上市了

告诉你一个好消息&#xff0c;我在人民邮电出版社的第二本书《智慧共生&#xff1a;ChatGPT 与 AIGC 生产力工具实践》刚刚上市&#xff0c;你现在就可以在 京东 和 当当买到了。 有人把 2022 年称作 AIGC&#xff08;人工智能生成内容&#xff09; 的元年&#xff0c;我深表赞…

浅谈数据中台之数据开发

目 录 01 前言‍ 02 中台概念及背景 ‍‍‍‍‍‍‍ 03 数据中台建设方法‍‍‍‍‍‍ 04 数据开发实践 01‍ 前言‍‍ 2015年阿里在国内首次提出了中台概念&#xff0c;由阿里引领发展&#xff0c;迅速在互联网企业中形成了一股浪潮。在数字化转型的道路上&#xff0c;为了…