writeups/Lookback.md
- Primero realizamos un escaneo de puertos para comprobar que puertos pueden estar abiertos. El comando seria
nmap -p- --open -sS --min-rate 5000 -n -Pn <ip.de.la.maq>, deberíamos de obtener como resultados que los puertos 80,443 y 3389 están abiertos por ende podemos proceder a trabajar con ellos. - Probamos con el 80 pero veremos que no nos termina de conectar ya que manda el código 403 (Prohibido), en el 443 si nos da un resultado que es un panel de inicio de sesión de Outlook y en el 3389 no nos indica ningún código pero nos dice “The connection was reset” terminando en que no nos cargue ningún contenido de la pagina.
- Como se dijo, lo único que parece dar resultados es el puerto 443 por ende procederemos con ello. En el panel de inicio de sesión que se nos presenta podemos llegar a colocar credenciales de prueba para ver el comportamiento pero en realidad el sitio mantiene las credenciales por defecto por ende si llegamos a colocar admin:admin obtendremos accesos al Outlook… Pero nuevamente hay un error, literal nos indica que algo a salido mal por ende no podemos hacer mucha cosa.

- Quizás a este punto pueda parecer un sitio sin salida pero aun tenemos herramientas como por ejemplo hacer fuzzing. Procederemos con el uso de Gobuster para realizar la búsqueda de posibles directorios, el comando seria
gobuster dir -u <ip.de.la.maq:443> -w /ruta/del/wordlist.txt -t 40 -k --exclude-length 0. Lo diferente de este comando es el parametro -k el cual indica a Gobuster a ignorar el certificado de la pagina y –exclude-length 0 ignora respuestas cuya longitud de bytes sea 0, todo esto son cosas que nos permiten realizar un fuzzing con mejor resultado (aun que de por si el gobuster te va indicando que debes de ir haciendo ya que detecta estas características). Una vez ejecutado deberíamos de obtener como resultado la ruta /test.
- Una vez que tengamos esta ruta podemos pasar a probarla y veremos que nos indica que debemos colocar un usuario y su clave, podemos utilizar nuevamente las que vimos que funcionaron anteriormente que era admin:admin y veremos que logramos entrar sin problema. Ahora, en si lo que estamos viendo es algo distinto a lo anterior, parece un panel de pruebas para analizar logs y en especifico en Powershell ya que si jugamos con el parámetro a evaluar y hacemos algo mal nos devolverá un error indicando “Get-Content” lo cual es propio de Powershell. Lo que debemos de hacer es ir jugando con esta posibilidad ya que todo apunta a que es susceptible a Command Injection.
- Luego de ya haber probado se puede llegar a una forma de vulnerar y es haciendo
BitlockerActiveMonitoringLogs') ; COMANDO VALOR #('en donde lo destacable seria primero el')ya que con ello cerramos el formato que presenta el analizador de logs en si, luego seria elCOMANDO VALORen donde COMANDO equivale a el comando a ejecutar (dir por ejemplo) y VALOR equivale a ese algo que puede evaluar el comando (como una ruta especifica para dir) y por ultimo el # el cual comenta todo lo próximo que venga. Con ello podíamos pasar a hacer la inyección de comando usandoBitlockerActiveMonitoringLogs') ; dir C:\ #('y de ahí seria irnos hasta encontrar algo que nos interese, para no hacerlos buscar en cada parte, la ruta importante seria C:\Users\dev\Desktop en donde encontraremos 2 archivos, uno es el user.txt que es donde se encuentra la flag y TODO.txt (para ver la flag solo hace falta cambiar el dir anterior por un type y colocar el nombre del archivo al final de la ruta). - Bien, ahora solo nos queda llegar a tener acceso a una shell en si, el paso a seguir seria hacer un type pero esta vez a el archivo TODO.txt en donde veremos información sobre el entorno en si que iban realizando los desarrolladores. Lo importante es el dato de que estamos en Microsoft Exchage y de que las actualizaciones de seguridad no fueron aun colocadas por ende el entorno puede ser mas vulnerable de lo que creemos y si llegamos a buscar sobre ello veremos que hay una posible manera de obtener una shell aprovechando Microsoft Exchange ProxyShell RCE el cual es una vulnerabilidad compuesta por varios CVEs (CVE-2021–34473, CVE-2021–34523, CVE-2021–31207).

- Para hacer el proceso llevadero haremos uso de Metasploit, por ende comenzamos a acceder a la consola con
msfconsoley una vez que cargue realizamossearch exchagepara poder encontrar el exploit que nos interesa (debe ser exploit/windows/http/exchange_proxyshell_rce el que vamos a usar) y una vez que lo tenemos lo colocamos conusey procedemos a colocar los datos que debemos de establecer que serian el RHOSTS, LHOST y EMAIL en donde email debe ser igual a algunos de los emails que encontramos en el archivo TODO.txt anteriormente (el bueno es el de dev), todo ello se establece conset VARIABLE VALORen dondeVARIABLEseria la variable a trabajar yVALORseria el valor que se le dará a esa variable, y ya, solo quedaría hacerruny esperar a que el exploit haga su magia.
- Una vez ya completado obtendremos la shell de meterpreter pero a mi siempre me gusta mas interactuar con la shell normal por ende hacemos
shelly ya deberíamos de recibir una shell común y corriente de Windows. Aquí ya solo quedaría navegar y encontrar la ultima flag que nos hace falta, para ello el método mas sencillo es realizar el comandodir /s /b root.txtpara poder hallar el archivo en todo el equipo pero veremos que no nos dará ningún resultado este comando ya que el documento no se llama root.txt como usualmente suele llamarse sino que es flag.txt así que hacemos ese ligero cambio y listo, deberíamos de haber obtenido la ruta completa en donde esta el archivo (aclarar que esta manera de búsqueda fue por pura intuición de como podría llegar a llamarse el archivo donde estaba la flag, en un caso real o en algun otro laboratorio puede que no se de esto). Ahora solo queda hacertypey habremos obtenido la ultima flag de esta maquina y terminado.

Referencias: