10 ~ Anonymous - Linux
Última actualización
Última actualización
Una vez iniciada la maquina y esperar el minuto, lo primero que haremos será hacer un ping a la maquina, para saber dos cosas mediante el ttl, la primera para saber si tenemos conexión con la maquina y la segunda para conocer el sistema operativo.
En este caso la maquina da un ttl de 63 siendo un sistema operativo Linux, pero el ttl real de Linux es de 64, esto es debido a los saltos intermediarios que hay en la red.
Lo primero que haremos será realizar un escaneo de puertos con la herramienta nmap.
Descripción de los parámetros:
-p- : Escanea los puertos especificados, en este caso escanea los 65535 puertos.
--open : Muestra solo los puertos abiertos.
-sS : Escanea mediante TCP SYN.
--min-rate : Envía paquetes no mas lentos que el número indicado por segundo en nuestro caso 5000.
-Pn : Omite el descubrimiento de host.
-n : No realiza resolución DNS.
-vvv : Muestra la información mientras se esta realizando el escaneo.
IP : La IP que queremos escanear.
-oG : Guarda la salida del escaneo en un formato grepeable.
Una vez finalizado el escaneo, realizaremos un escaneo mas exhaustivo para saber mas información acerca de los puertos y servicios abiertos que tiene la maquina.
Descripción de los parámetros:
-p : Escanea los puertos especificados.
-sC : Lanza varios scripts defaults de nmap.
-sV : Determina los servicios que están corriendo en los puertos además de información extra.
IP : La IP que queremos escanear.
-oN : Guarda la salida en el formato de nmap.
Vamos a empezar a enumerar el puerto 21 con el servicio FTP, ya que podemos conectarnos como el usuario anonymous.
Vemos que tenemos una carpeta dentro del FTP y tenemos todos los privilegios.
Ingresamos en la carpeta y vemos un script, un archivo log y un documento de texto.
Nos descargamos todo el contenido para analizarlo mas cómodamente en nuestra maquina.
Lo primero que analizamos sera el script.
Vemos que borra los archivos del directorio tmp, y añade una lineal al archivo log que hemos visto y descargado.
Vamos a probar a modificar el script por una reverse shell.
Subimos la reverse shell al FTP, ya que tenemos todos los privilegios.
Ahora toca ponernos en escucha con la herramienta nc.
Descripción de los parámetros:
-n : Solo direcciones de IP numéricas.
-l : Modo de escucha, para conexiones entrantes.
-v : Muestra información por pantalla.
-p : Numero del puerto.
PUERTO : El puerto que se pondrá en escucha.
[14]
Y tenemos una reverse shell.
Lo primero será buscar la flag del usuario.
Una vez encontrada, vamos a realizar una enumeración del sistema, y sin ir muy lejos vemos que estamos en el grupo lxd.
Sabiendo esto es muy sencillo escalar privilegios. En mi caso me descargue una imagen llamada alpine, y la ejecute.
Al ejecutarlo nos dio un fichero .tar.gz.
Ahora con la herramienta searchsploit buscamos un exploit de lxd.
Lo descargamos.
Descripción de los parámetros:
-m : Copia el exploit.
Y en mi caso modifique la cabecera del script.
Ahora hay que transferir el script y el .tar.gz a la maquina victima, en la maquina vemos que tenemos el comando wget disponible.
Pues nos abrimos un servidor con python3 y nos descargamos los archivos a la maquina victima.
Ahora ejecutamos el script con la siguiente sintaxis.
Y SOMOS ROOT. Ahora buscaremos la flag de root, pero dentro de la carpeta /mnt que es donde se ha creado el contenedor lxd y hay veremos la carpeta root donde estará la flag del usuario.