Docker容器信息收集

admin 2022年7月30日00:50:00评论114 views字数 1081阅读3分36秒阅读模式

文章前言

本篇文章我们主要介绍在渗透测试过程中在获取到容器权限的情况下对容器进行有效的信息收集

信息收集

环境确定

确定当前环境是否真的为Docker容器环境,常见的方式有以下几种:

方式一:检查/.dockerenv文件是否存在

ls -al /

Docker容器信息收集


方式二:检查是否存在container环境变量(感觉不是很靠谱)

env

Docker容器信息收集

export

Docker容器信息收集

方式三:检查/proc/1/cgroup内是否包含"docker"等字符串

cat /proc/1/cgroup

Docker容器信息收集


权限信息

其次我们还需要确定我们当前具备的权限,一般dockers启动都是以root权限运行的:

whoami

Docker容器信息收集

特权模式

检测当前环境是否以特权模式启动,如果输出结果为0000003fffffffff,则说明是以特权模式启动的

cat /proc/self/status | grep CapEff
CAP信息
#查看容器docker ps -a 
#容器进程docker top 5713dea
#容器CAPgetpcaps 51776

Docker容器信息收集


Docker容器信息收集


位置信息

其次我们还需要确定当前所处的位置

Docker容器信息收集


系统信息

查看当前系统版本信息确定是否可以通过内核漏洞进行权限提升或者实现容器逃逸,例如:DirtyCow

lsb_releasen -a

Docker容器信息收集


可用命令

查看当前系统可用的命令

ls /usr/bin

Docker容器信息收集


是否出网

检测当前主机是否出网,这对后期反弹shell等具有很重要的作用


curl www.baidu.com

Docker容器信息收集


网络信息

Docker中默认是不提供ifconfig命令的:

ifconfigip addr

Docker容器信息收集

在出网且提供系统软件安装命令的情况下可以通过安装命令进行安装操作

#Ubuntuapt-get install net-tools
#CentOSyum install net-tools

Docker容器信息收集

进程服务

有时候我们进入容器的方式是通过容器提供的Web服务,有时候也可能是容器自身的安全漏洞,在我们获取到容器的权限后我们可以对当前容器所运行的其他Web服务进行一个简单探测,探测方式可以是本地端口服务也可以是进程信息:

ps -auxnetstat -ntlp

Docker容器信息收集


计划任务

查看容器中的计划任务,如果有计划任务列表可以通过增加计划任务的方式来实现反弹shell的目的

ls /var/spool/ls /var/spool/cron/crontabscat /var/spool/cron/crontabs/root

Docker容器信息收集

SSH私钥
ls -al ~/ls -al ~/.sshcat ~/.ssh/id_rsa

Docker容器信息收集


历史命令

查看历史命令记录来检索是否有敏感的历史连接记录以及连接账户密码信息等:

cat ~/.bash_history

Docker容器信息收集


原文始发于微信公众号(七芒星实验室):Docker容器信息收集

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月30日00:50:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker容器信息收集http://cn-sec.com/archives/1210606.html

发表评论

匿名网友 填写信息