25 ~ ConvertMyVideo - Linux
Última actualización
Última actualización
Lo primero que haremos será verificar que tenemos conexión con la maquina, mediante un ping, además mediante el TTL podemos intuir que sistema operativo esta operando
En este caso el TTL es de 63 siendo de una maquina Linux, aunque realmente el TTL de un Sistema Linux es de 64, esto se debe a que pasa por varios nodos intermediarios que disminuyen el TTL.
Para escanear los puertos utilizaremos 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 terminado el escaneo, haremos otro escaneo mas exhaustivo de los puertos encontrados, para saber mas información acerca de que servicios corren en dichos puertos.
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.
Al abrir la pagina web, encontramos un convertidor de video, vamos a interceptar una petición para ver como se manda esa petición y ver si podemos manipularla.
Con el complemente FoxyProxy, hacemos que las peticiones pasen por nuestro BurpSuite.
Lo mandamos al Repeater (Ctrl +R), para poder trabajar mas cómodo con la petición. Probamos ha ejecutar un comando simple.
Y tenemos ejecución de comandos.
Al intentar lanzar una reverse shell, no se ejecuta el comando, y esto es debido a los espacios que contiene el one liner.
Cambiamos los espacios por una variable de entorno llamada ${IFS} y ya podemos ejecutar comandos con espacios, pero seguimos sin poder ejecutar one liner, vamos a subir un archivo y ejecutarlo desde la propia maquina.
Ahora, configuramos la reverse shell con nuestra IP y Puerto, y la subimos a la maquina mediante wget.
Antes de ello levantamos un servidor con python para poder descargar la reverse shell en la maquina victima.
Y recibimos un get en nuestro servidor de python, ahora nos queda ejecutar la reverse shell en la maquina victima.
No antes ponernos en escucha con la herramienta nc por el puerto colocado en la reverse shell. Y ejecutamos el archivo.
Descripción de los parámetros:
-n : Solo direcciones de IP numéricas.
-I : Modo de escucha, para conexiones entrantes.
-v : Muestra información por pantalla.
-p : Numero del puerto.
PUERTO : El puerto que se pondrá en escucha.
Y estamos dentro de la maquina. [16]
Enumerando el sistema vemos que hay un archivo .sh
Y podemos manipularlo
Vamos a añadirle una línea para darle permiso SUID a la /bin/bash y ver si lo ejecuta root.
Ahora esperamos a ver si root lo ejecuta. Y si root ejecuta ese script, dándonos permiso SUID a la /bin/bash.
Ahora con un simple bash -p, nos dara una shell temporal como root.
Y somos root.
Descargamos una