Sigo publicando soluciones enviadas para su posterior procesamiento desde el sitio de HackTheBox .En este artículo, recopilamos información sobre la máquina, realizamos la pulverización de contraseñas para obtener al usuario y también aumentamos nuestros derechos de DnsAdmin a SYSTEM utilizando una DLL maliciosa.La conexión al laboratorio es a través de VPN. Se recomienda no conectarse desde una computadora de trabajo o desde un host donde los datos que son importantes para usted estén disponibles, ya que termina en una red privada con personas que saben algo en el campo de la seguridad de la información :)Información organizacional, ,
Telegram . , ,
.
. , - , .
Recon
Esta máquina tiene una dirección IP 10.10.10.169, que agrego a / etc / hosts.10.10.10.169 resolute.htb
Primero, escaneamos puertos abiertos. Como lleva mucho tiempo escanear todos los puertos con nmap, primero haré esto con masscan. Escaneamos todos los puertos TCP y UDP desde la interfaz tun0 a una velocidad de 500 paquetes por segundo.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.169 --rate=500
El host tiene muchos puertos abiertos. Ahora escanee con nmap para filtrar y seleccionar los que necesita.nmap resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915
Ahora, para obtener información más detallada sobre los servicios que operan en los puertos, realizaremos un análisis con la opción -A.nmap -A resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

De la salida de nmap encontramos el nombre de dominio megabank.local, que agregamos a / etc / hosts. Lo primero en inteligencia para Windows es una lista básica. Personalmente, cuando pruebo desde una máquina Linux, uso enum4linux.enum4linux -a megabank.local




Y entre la información sobre el dominio, los usuarios, el grupo y la política de contraseña, encontramos un comentario interesante sobre la marca de la cuenta del usuario. El comentario contiene su contraseña. Pero después de iniciar sesión con estas credenciales, fallamos en todos los servicios.USUARIO
Como ya tenemos una contraseña y una lista de usuarios resaltados en el sistema, podemos usar una de las técnicas de Movimiento Lateral: la pulverización de contraseña. Escribí sobre todo esto en detalle aquí . La conclusión es que probamos contraseñas conocidas para todos los usuarios conocidos.En primer lugar, tratamos de clasificar SMB. Puede usar el módulo smb_login para Metasploit Framework para esto.
Indicamos los parámetros necesarios.
Y encontramos con éxito al usuario para quien esta contraseña es adecuada.
Y verifique las credenciales. Prefiero smbmap, que especifica el usuario, contraseña, dominio y host.
Y obtenemos una lista de recursos disponibles. Si regresa a la lista de puertos, hay un servicio WinRM en ejecución en 5985. Para trabajar convenientemente con este servicio desde Linux, puede usar Evil-WinRM .
USUARIO2
Evil-WinRM funciona bien, pero el medidor es aún más conveniente. Afortunadamente, este programa le permite especificar un directorio con archivos PowerShell o C # al conectarse, que se cargará automáticamente en la sesión. Generaremos un archivo de PowerShell que contendrá la carga de Meterpreter.
Y cree un oyente para escuchar la conexión.
Ahora estamos conectados con Evil-WinRM y especificamos un directorio con un script.
Pero después de comenzar el archivo con la carga, vemos que el script funcionó sin errores, pero no hay conexión.
Lo más probable es que el script haya sido bloqueado. Como se trata de PowerShell, lo más probable es que use AMSI. Pero Evil-WinRM tiene sus propios módulos útiles.
Como puede suponer, necesitamos el primero. Aplicaremos este módulo y ejecutaremos nuestro archivo con la carga nuevamente.
Y observamos una conexión exitosa.
Después de ejecutar los scripts para Recon, sin pasar por la máquina, nos encontramos con un directorio interesante.
Este es el directorio que almacena el archivo de texto de las sesiones grabadas de PowerShell, después del comando "Start-Transcript". Estamos buscando un archivo.
Veamos los contenidos.
Entonces, esta es una sesión de usuario de Ryan. Y un poco más adelante encontramos el comando con el que se transmitió la contraseña.
Intentamos credenciales para el servicio WinRM.
Y al final, inicia sesión como Ryan.RAÍZ
Y antes que nada, verificando la información sobre el usuario actual, encontramos una característica interesante. Es miembro del grupo DnsAdmins.
Esto nos da la oportunidad de actualizar nuestros privilegios a SYSTEM. Es posible que le pidamos que cargue la DLL la próxima vez que se inicie el servicio. Generemos la DLL que contiene la carga meterpreter.
Y ejecuta al oyente.
Ahora active el servidor smb. Indicamos el directorio, nombre y soporte para SMB versión 2.
Ahora usando dnscmd indicaremos qué DLL cargar.
El comando se completó correctamente, ahora reinicie el servicio DNS.
Y después de un reinicio, vemos una conexión a través de SMB.
Así como una sesión abierta.
Y obtenemos los derechos del sistema.Puedes unirte a nosotros en Telegram. Allí puede encontrar materiales interesantes, cursos combinados, así como software. Formemos una comunidad en la que haya personas con conocimientos en muchas áreas de TI, para que siempre podamos ayudarnos mutuamente en cualquier problema de seguridad de la información y TI.