Home

HackMyVM

Friendly 2

El escaneo de puertos con NMAP muestra abiertos solo el 22 y 80 friendly2 nmap.png La web no presenta ninguna de utilidad, pero haciendo Fuzzing se encuentran 2 directorios. friendly2 web.png friendly2 fuzzing 1.png Al comprobar el directorio ‘/tools’, lleva a otra página web estática. En este caso, un comentario en el código fuente menciona un parámetro y un valor para acceder a una imagen friendly2 tools directory.png friendly2 codigo fuente.png friendly2 imagen web.png Modificando el valor del parámetro para apuntar contra un archivo interno del equipo se termina ante un Local File Inclusion (LFI). friendly LFI.png Habiendo visto los usuarios del sistema y teniendo el SSH abierto, se accede al id_rsa con éxito friendly2 idrsa.png friendly2 idrsa mejor.png Para acceder por SSH usándolo es necesario extraer la clave. Para ello primeramente se hace uso de la utilidad ssh2john para extraer el hash que luego se podrá crackear con John the Ripper. friendly2 proceso ssh2john.png Con todos los datos necesarios se puede acceder por SSH. friendly2 conexion ssh.png Una vez dentro se encuentra la flag de user. friendly2 ssh.png Se listan las capacidades que se poseen con Sudo -L y se observa que se tienen privilegios elevados sobre cierto script. friendly2 sudo -l.png El script básicamente toma un string y lo codifica. Se observa que se usan expresiones regulares sin indicar su ruta absoluta, por lo que se puede hacer un Path y Library Hijacking. friendly2 path.png A continuación se cambia de ubicación al directorio tmp y se crea un fichero llamado grep cuyo contenido asigne permisos SUID a la bash. Además se le debe asignar permisos de ejecución al propio script. friendly2 grep.png Para que funcione, hay que tener en cuenta que si se modifica el valor de la variable Path como el usuario gh0st, el usuario root que es quien ejecuta el script no tendrá su Path modificado. Por lo que tanto la modificación del contenido de la variable para incluir la ruta actual como la ejecución del script security.sh deben realizarse en el mismo comando. Una vez realizado ya se podrá lanzar una bash como el usuario root. friendly2 root.png Inicialmente parece que la flag de superusuario aparece en el directorio /root, pero un mensaje en este archivo indica que no. friendly2 flag root.png La pista indica acerca de 3 puntos, algo como un directorio oculto. Este aparece en la raíz del sistema. friendly2-puntos-ocultos.png Dentro existe un fichero txt con un string, lo que hace recordar el script anterior de codificación. friendly2 pista 1.png Existen 2 formas de obtener esta flag. La primera consiste en pasar la cadena por Cyberchef con un cifrado ROT13 friendly2 rot13.png La segunda es pasando el string al script. Aunque para el paso 2 hay que modificar el script eliminando las 2 funciones, sobre todo la que restringe el tamaño, porque no acepta strings de más de 20 caracteres. friendly2 script modificado 1.png friendly2 rot13 2.png

← Volver al árbol de writeups