Injection
Last updated
Last updated
Realizaremos la primera fase del reconocimiento utilizando la herramienta Nmap, con los siguientes parámetros:
sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG AllPorts
Realiza un escaneo rápido y detallado de todos los puertos abiertos en la IP 172.17.0.2 y guarda los resultados en AllPorts.
sudo nmap -sC -sV -p22,80 172.17.0.2 -oN Targeted
Usa la información del primer escaneo para ejecutar un escaneo detallado en los puertos 22 y 80, ejecutando scripts NSE y detectando versiones, guardando los resultados en un archivo de formato normal: Targeted.
El escaneo de Nmap revela que el host 172.17.0.2
tiene dos puertos abiertos:
Puerto 22 (SSH) ejecutando OpenSSH 8.9p1 en Ubuntu.
Puerto 80 (HTTP) ejecutando Apache httpd 2.4.52 en Ubuntu con una página de inicio de sesión y ciertas configuraciones de cookies no seguras.
Esta información es útil para evaluar la seguridad y configuración de los servicios expuestos por el host.
Realizaremos un análisis con WhatWeb, una herramienta de lÃnea de comandos para identificar todas las tecnologÃas que están funcionando en el servicio HTTP expuesto, que corre en el puerto 80.
Hemos encontrado un panel de inicio de sesión. Actualmente, no podemos acceder ya que no contamos con credenciales válidas. Hemos probado algunas combinaciones como admin:admin y admin:password, pero sin éxito.
Usaremos la herramienta Gobuster para hacer fuerza bruta en los directorios. De este modo, podremos encontrar posibles rutas o vectores de entrada.
Hemos encontrado una ruta /config.php que nos devuelve un código de estado 200. Al revisarla, solo encontramos una página en blanco sin nada en el código fuente.
Regresamos al panel de inicio de sesión e intentamos forzar una inyección SQL.
Al intentar ingresar con una comilla simple ('
) en el campo de nombre de usuario, recibà un error relacionado con la base de datos.
El hecho de que una comilla simple ('
) cause un error indica una posible vulnerabilidad de inyección SQL. Este tipo de vulnerabilidad ocurre cuando una aplicación web no valida correctamente la entrada del usuario, permitiendo que fragmentos de código SQL maliciosos se inserten en las consultas de la base de datos.
Cuando se introduce una comilla simple sin escapar, puede interrumpir la sintaxis de la consulta SQL, causando un error.
Vamos a ejecutar y habilitar el proxy de Burp Suite para capturar la petición. De esta manera, podremos utilizar la herramienta SQLmap para automatizar el ataque.
Capturamos la solicitud generada por el método POST en el endpoint /index.php
. Esta solicitud será utilizada con la herramienta SQLmap para automatizar el ataque.
Hemos logrado extraer las tablas que contienen un nombre de usuario: dylan
y una contraseña.
La contraseña que encontramos también funciona con el servicio SSH expuesto en el puerto 22. Esto indica una reutilización de credenciales, lo que nos ha permitido ganar acceso a la máquina como el usuario Dylan.
Al ejecutar el comando sudo -l
, nos damos cuenta de que sudo
no está disponible como comando. Por lo tanto, vamos a verificar los permisos SUID en busca de binarios que podamos aprovechar para escalar privilegios.
El binario /usr/bin/env es una herramienta en Unix y Linux que se utiliza para ejecutar un programa en un entorno modificado. Si el binario /usr/bin/env tiene el bit SUID (Set User ID) activado, se ejecuta con los privilegios del propietario del archivo (generalmente root) en lugar del usuario que lo ejecuta. Cuando se ejecuta /usr/bin/env /bin/bash, si env tiene permisos SUID de root, el comando bash se ejecutará con privilegios de root, lo que permite al usuario escalar sus privilegios.
El uso de Nmap para escanear puertos y Gobuster para la fuerza bruta de directorios ayudó en la enumeración de servicios y recursos disponibles en la máquina. Esta fase de enumeración es crucial para identificar puntos de entrada potenciales
La vulnerabilidad de inyección SQL en el panel de inicio de sesión HTTP permitió la extracción de credenciales mediante herramientas como SQLmap. Esto destaca la importancia de asegurar la entrada de datos y validar adecuadamente las consultas SQL para prevenir este tipo de ataques.
Las credenciales obtenidas mediante la inyección SQL fueron reutilizadas con éxito para autenticarse en el servicio SSH, destacando la importancia de no reutilizar contraseñas entre diferentes servicios y de tener polÃticas de gestión de credenciales robustas.
La explotación de una mala configuración en el binario SUID 'env' resalta la importancia de revisar y configurar correctamente los permisos y configuraciones de seguridad en los sistemas, especialmente en binarios SUID que pueden ejecutarse con privilegios elevados.
gobuster dir -u
-w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html,txt -t 200
Vamos a consultar nuestra fuente en , que nos indica cómo podemos escalar privilegios explotando el binario env
.