拿到shell后需要判断是否是处于docker环境中,上面图片我用了很简单的一个方法,查看ls -al下的根目录,看是否存在dockerenv文件,如果存在,则大概率为docker环境,下面还有其他的一些方法,在实战可以多个结合参考。观察到获取到docker搭建的容器shell与真实主机是有区别的,也就是我们存在于docker环境的shell中,不管在内容如何去操作,都只是在容器环境中,这个时候就需要突破容器环境,搭建容器逃逸,控制对方真实主机。后者是将整个系统打包,封装一个系统。
创建相同的桶,上传html文件访问测试(通过oss设置的备案域名访问,oss域名无效危害证明)通过put或者自己上传文件后访问,发现上传成功,可以通过对方设置的域名直接访问,造成接管,云厂商所对应的云服务包括:对象存储,云数据库,弹性计算服务(云主机),云控制台。各厂商对象存储名词:阿里云OSS,腾讯云COS,华为云OBS,亚马逊云S3。上传后尝试通过对方设置的域名信息访问,如访问成功,则成功接管。云安全厂商分类:阿里云,腾讯云,华为云,亚马逊云等。与其创建相同的oss(厂商,地区,相同名称)
k8s(Kubernetes) 是容器管理平台,用来管理容器化的应用,提供快速的容器调度、弹性伸缩等诸多功能,可以理解为容器云,不涉及到业务层面的开发。只要你的应用可以实现容器化,就可以部署在k8s 上,通过k8s对应用负载进行调度,配合hpa (Horizontal PodAutoscaling) 可以实现应用负载的弹性伸缩从而解决高并发量的问题。简单说就是:管理多台主机上的容器应用,是一个集群管理(Master节点)以往的攻击点思路通常:外网信息收集打点,漏洞攻击,获取权限,提权内网横向…
当账户配备了ram账户,即给该账户赋予了对于云上服务器的一些管理权限,一是方便了用户管理,但另一方面当存在服务器失陷且存在RAM用户权限,可能对云上服务器资产造成很大的危害。也就是说,数据库的登录需要在设置的云服务器且是配置的内网段环境中登录,在对互联网上的云资产来说,无疑是非常安全的,但可以配置公网访问添加白名单。当获取了一台云服务器权限,首先定位其厂商,再通过元数据读取到一些相关信息,如果配备了RAM,即可尝试读取临时凭证,进行云上渗透。在集群配置选项中,需要给数据库配置路由交换,专有虚拟网络。
上面可以看到逃逸的种类的以及其中的方法很多,但是实际环境中,是时间紧任务重,一步步的尝试逃逸难免有些费事,这里列举两种工具,CDK和check,集成了自动逃逸方法检测,CDK还集成了对应的poc实现一键逃逸,满足下列的版本时候,可以尝试该docker漏洞逃逸提权,详细的实验过程这里不作赘述,相关的操作网上也有大量的文章,但是实际的环境去逃逸,还是就事论事,会有许多的其他情况发生。CDK的自动化逃逸中包含了挂载,特权等许多的自动化利用,上述的两种逃逸类型为docker的漏洞,分别是。
堡垒机是种网络安全设备,用于保护和管理企业内部网络与外部网络之间的访问。它作为一种中间节点,提供安全的访问控制和审计功能,用于保护内部网络免受未经授权的访问和攻击。堡垒机通常被用作跳板服务器,即堡垒机来管理和访问其他内部服务器。具有身份鉴别、帐号管理、权限控制、安全审计,身份访问控制等功能,堡垒机一般部署在内网,作为内网它所管控所有主机的安全审计系统平台,一般不会在外部网络暴露web界面。