Corrosion
El escaneo con Nmap muestra solo los puertos 22 y 80 abiertos
La web es una página por defecto de apache, pero haciendo Fuzzing recursivamente encontramos la ruta /blog-post/archives
En este directorio encontramos un archivo php, lo que nos hace pensar que se está usando este lenguaje. Si comprobamos con alguna herramienta veremos que si
Utilizaremos este archivo para ver si agregando algún parámetro damos con alguna vulnerabilidad.
En este caso usaremos Gobuster para encontrar este parámetro añadiéndolo luego del fichero php y apuntando contra un archivo interno, cayendo en un LFI
Tenemos una coincidencia con file
Como tenemos habilitado el SSH es lógico pensar que podemos acceder a los logs del sistema.
Intentaremos aplicar un Log Poisoning contra el ssh
Haciendo un intento de acceso por ssh, vemos que se registra en los logs
Sabiendo esto y que por detrás se ejecuta php, intentaremos subir un código que nos permita ejecutar comandos
Nos enviaremos una reverse_shell
Dentro de la ruta /var/backups existe un comprimido que nos vamos a compartir con Netcat
Para descomprimirlo se necesita una contraseña, por lo que hay que usar el módulo zip2john de John the Ripper
Al descomprimir vemos varios archivos pertenecientes al servicio SSH, y entre ellos la contraseña con usuario randy
Nos conectamos SSH
Para escalar privilegios vemos que se puede usar Sudo -L y que podemos ejecutar un binario como root
Para aprovechar esta capacidad, vamos a borrar el actual binario y crear otro con el mismo nombre que nos permita ejecutar lo que deseemos. Para este caso directamente lanzaremos una bash, y como es root quien lo ejecuta, se lanza con máximos privilegios.
Borramos dicho archivo y creamos uno de extensión .c de otro nombre
#include<stdio.h>
#include<stdlib.h>
int main(void){
system("/bin/bash");
return 0;
}
Lo compilamos con el nombre del binario que se puede ejecutar como root, se ejecuta y seremos root.
gcc root.c -o easysyinfo
Las flags están en sus respectivos directorios
