File - DockerLabs
| OS | Dificultad | Creator |
|---|---|---|
| Linux | Fácil | Scuffito y Jul3n-dot |
Reconocimiento
Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.
sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG ports
-p-: Escanea todos los puertos (1-65535).--open: Solo muestra los puertos abiertos.-sS: Realiza un escaneo SYN, que es rápido y discreto.--min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.-n: No realiza resolución DNS.-Pn: No realiza ping previo para determinar si el host está activo.-vvv: Muestra resultados detallados y en tiempo real.
Durante el escaneo, descubrimos que los siguientes puertos están activos:
80(HTTP)21(FTP) A continuación, evaluamos si los puertos abiertos presentan alguna vulnerabilidad, además de obtener más información sobre los servicios asociados a esos puertos.
nmap -p80,21 -sCV 172.17.0.2 -oG targeted
Exploración Web
Al navegar al puerto 80, descubrimos la pagina por defectod de Apache.
Utilizamos Gobuster para realizar un reconocimiento web y explorar los directorios disponibles en el sitio.
gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
gobuster dir- Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.-u http://172.17.0.2/Especifica la URL objetivo que deseas escanear en busca de directorios.-wEspecifica que diccionario queremos usar-xPara indicar que tipo de extension queremos que nos encuentre
Encontramos dos rutas importantes /uploads, por lo que supones que lo que metamos de guardara ahi, y file_upload.php la cual es un sistema de subida de archivos.
Reverse Shell
Creamos el archivo shell.php para que sea una reverse shell utilizando la herramienta Reverseshell de Pentest Monkey para crear una shell en PHP.
Parece que hubo un problema al subirlo con la extension .php.
Vamos a porbar con .phary parece que si hubo exito.
Ahora si entramos en /uploads veremos el archivo creado solo quedaria abrirlo.
Simultáneamente, iniciamos netcat en nuestro sistema para escuchar conexiones entrantes:
nc -lvnp 4444
Logramos acceso como www-data.
TTY ReverseShell
Iniciar una sesión de shell interactiva
En nuestra shell básica, ejecutamos el siguiente comando para forzar la creación de una sesión de bash interactiva:
script /dev/null -c bash
Suspender la shell
Una vez que el comando anterior está en ejecución, utilizamos
Control+Z
para suspender temporalmente nuestra shell.
Preparar nuestro terminal local:
Antes de volver a nuestra shell, configuramos nuestro terminal local:
stty raw -echo; fg
Resetear la configuración del terminal
Ahora que tenemos el control de la shell, la reseteamos para asegurar que se comporta correctamente:
reset
Configura el tipo de terminal:
xterm
export TERM=xterm
export SHELL=bash
Haciendo un poco de enumeracion vemos que estos son todos los usuarios que tenemos dentro.
cat /etc/passwd
Para hacer todo esto mucho mas rapido usaremos linpeas.
No vemos nada interesante a primera vista, por lo que usaremos el servidor de ftp que tenia usuario anonymous (explica porque es vulnerable ese usuario).
Accedemos al servidor ftp con el usuario Anonymous.
ftp 172.17.0.2
Vemos que hay un archivo llamado anon.txt , lo descargamos y vemos su contenido.
A simple vista no sabemos que es, pero si lo metemos en la pagina de CrackStation, podemos ver que es un hash de una contraseña la cual es: justin.