Contenido
Parte 1 : Reconocimiento
Empezaremos lanzando un nmap:
Cuantos puertos están abiertos?
R: 2
Que versión del apache esta corriendo?
R: 2.4.29
Que esta corriendo en el puerto 22?
R: SSH
Para la siguiente pregunta vamos a lanzar un gobuster:
Directorio secreto? R: /panel/
Parte 2: Consiguiendo una Shell
Para el tema de la Shell tenemos como pista el directorio /panel/ , si accedemos a el:
Parece que podemos subir un fichero. Vamos a probar a crear un script en .php para ver si lo podemos subir y conseguir hacer reverse Shell:
(Recordar las comillas bien escritas)
Creamos el siguiente script que lo que hace es enviar una Shell a la ip que el digamos y al puerto en este caso 4444. Vamos a intentar subirlo:
Pero nos dice que php no esta permitido , asi que vamos a probar con otra extensión como por ejemplo .phtml :
Y parece que ahora si se lo ha tragado. Ahora si nos fijamos de nuevo en nuestro escáner del gobuster vemos como también ha encontrado el directorio /uploads/ vamos a ir allÃ:
Como podemos ver se ha subido sin problemas , ahora solo faltarÃa hacer un nc –lvnp 4444 para que nuestro equipo escuche en ese puerto y clickar en el script para que se ejecute y nos de una Shell:
Y como podemos ver ya tenemos la Shell.
R: THM{y0u_g0t_a_sh3ll}
Parte 3 : Escalada de privilegios
Lo primero que nos piden es buscar los archivos con permisos SUID (Set User id) es decir los archivos que al ejecutarse tengan permisos de root:
Utilizaremos el siguiente comando:
Este comando busca en el directorio raÃz , los elementos de tipo archivo , con los permisos -04000 que se refiere a los que tengan activado el bit de SUID activado , es decir que al ser ejecutado por un usuario obtendrá los permisos del propietario de dicho archivo no del usuario que lo ejecute. Y para terminar hace un ls y manda los errores a dev/null.
Si nos fijamos vemos como esta el archivo /bin/usr/Python con permisos de root , asi que si encontramos un script de Python que al ejecutarlo nos de un reverse Shell ya estarÃa. Buscando por internet encontré el siguiente script:
Por supuesto antes de ejecutarlo abrimos un nc en otro terminal y obtenemos esto :