24 ~ DogCat - Linux
Última actualización
Última actualización
Una vez que tenemos la IP de la maquina, lo primeo que hacemos sera realizar un ping para verificar si tenemos conexión con la maquina.
También mediante el ttl, podemos saber que sistema operativo esta usando. En este caso el ttl es de 63, uno menos que el que usa realmente Linux (64), esto se debe a los nodos intermediarios que lo disminuyen en 1.
Realizaremos el primer escaneo de puertos con la herramienta nmap, para saber que puertos están abierto.
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.
A continuación realizamos un escaneo mas exhaustivo con los puertos encontrados.
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.
Antes de abrir el navegador lanzamos la herramienta whatweb, para saber la versión y las tecnologías que utiliza la pagina web.
Al pinchar en A dog/ A cat, podemos ver en la url una posible vía de ataque.
Tras intentar un LFI básico, vemos que nos salta el siguiente error.
Probamos varias cosas, y tenemos LFI en base64 .
Decodificamos el base64 en nuestra maquina y podemos ver el index.php.
Tras analizarlo, vemos que coloca una extensión .php si no le indicamos ninguna.
Vamos a ver si podemos ver el log de apache, para intentar realizar un log poisoning.
Gracias a analizar el código, podemos prescindir de codificar el código y mostrar por la web los archivos, donde podemos ver el log de apache.
Abrimos burpsuite para realizar un log poisoning. Una vez abierto el Burpsuite, interceptamos una petición. Y modificamos el User-Agent, introduciéndole un comando php, para poder ejecutar comandos desde la web.
Al mandar la petición y ver la respuesta del servidor vemos que podemos ejecutar comandos.
Una vez vemos que tenemos ejecución de comandos, buscamos una reverse shell one-liner, y la ejecutamos.
IMPORTANTE: URL-ENCODEAR la reverse shell one-liner
Tenemos una shell remota.
Hemos ganado acceso a un contenedor, no a la maquina.
Enumeramos un poco el sistema y vemos que tenemos un permiso sudo
Tras enumerar y buscar en el sistema vemos en la carpeta /opt una carpeta /backups, que contiene un script llamado backup.sh. Vamos ha intentar alterar el script y ver si conseguimos una reverse shell fuera del contenedor.
Nos volvemos a poner en escucha y esperamos un rato. Y somos root de la maquina principal.
Buscamos en internet algún Wrapper para ver si podemos ver algún archivo. Encontramos algo en . Probamos el Wrapper y nada, parece ser que tiene que tener la palabra dog en la url.
Buscamos en la pagina , como poder escalar privilegios y somos root del contenedor.