Escalada de privilegios por PATH VARIABLE

Actualizado: jul 1


Que onda chicos, durante la semana nuestros colaboradores nos sorprendieron una gran entrevista en compañía de Alan el mago, así que los invito a que vean la entrevista en el canal.

https://bit.ly/2YsLjuJ


Por otro lado, les vengo a enseñar una técnica que me pareció interesante para la escalada de privilegios por PATH VARIABLE así que haremos algo de magia.


Pero … hay que ponernos en contexto, ¿Que es el PAHT?


Es una variable ambiental en sistemas operativos Linux y similares a Unix que especifica todos los directorios bin y sbin que contienen todos los programas ejecutables que se almacenan.


En pocas palabras cuando el usuario ejecuta cualquier comando en la terminal, solicita a la shell que busque archivos ejecutables con la ayuda de PATH Variable en respuesta a los comandos ejecutados por un usuario. El superusuario también suele tener entradas /sbin y /usr/sbin para ejecutar fácilmente los comandos de administración del sistema.


La variable de entorno PATH significa que el usuario registrado puede ejecutar archivos binarios desde el directorio actual y puede ser una técnica excelente para que un atacante escale los privilegios de root.




Esto se debe a la falta de atención al escribir el programa, por lo que el administrador no especifica la ruta completa al programa.


Pero bueno, vamos a demostrar esta técnica.

Primero lo primero, debemos comprometer el sistema destino, en este caso nuestra maquina victima y luego pasar a la fase de escalado de privilegios.


Sin perder el tiempo, hay que buscar el archivo con SUID o permiso 4000 con la ayuda del comando find.


find / -perm -u=s -type f 2>/dev/null



Dentro de la información nos dio el comando sysinfo, que nos arroja información del sistema, siendo un comando nativo de Linux se acopla a nuestra técnica ya que se divide en 4 cuatro comandos.

Hardware Info = lshw -short

Disk Info = fdisk -l

CPU Info = cat /proc/cpuinfo

Mem Usage = free -h


Así que con esta información, corromperemos sysinfo a través de Disk Info para obtener una Shell con privilegios root.


Así que, me dirijo a la carpeta tmp y creo una carpeta llamada Magic, si tienes la oportunidad de usar un editor de texto como ‘nano’ o ‘vi’ creamos la carga útil con nombre fdisk.


Esta será nuestra carga útil, una Shell reversa en python3