HackTheBox. Tutorial resuelto. Rociado de contraseña. De DnsAdmin a SYSTEM

imagen

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

imagen

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

imagen

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

imagen

imagen

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

imagen

imagen

imagen

imagen

imagen

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.

imagen

Indicamos los parámetros necesarios.

imagen

Y encontramos con éxito al usuario para quien esta contraseña es adecuada.

imagen

Y verifique las credenciales. Prefiero smbmap, que especifica el usuario, contraseña, dominio y host.

imagen

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 .

imagen

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.

imagen

Y cree un oyente para escuchar la conexión.

imagen

Ahora estamos conectados con Evil-WinRM y especificamos un directorio con un script.

imagen

Pero después de comenzar el archivo con la carga, vemos que el script funcionó sin errores, pero no hay conexión.

imagen

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.

imagen

Como puede suponer, necesitamos el primero. Aplicaremos este módulo y ejecutaremos nuestro archivo con la carga nuevamente.

imagen

Y observamos una conexión exitosa.

imagen

Después de ejecutar los scripts para Recon, sin pasar por la máquina, nos encontramos con un directorio interesante.

imagen

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.

imagen

Veamos los contenidos.

imagen

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.

imagen

Intentamos credenciales para el servicio WinRM.

imagen

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.

imagen

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.

imagen

Y ejecuta al oyente.

imagen

Ahora active el servidor smb. Indicamos el directorio, nombre y soporte para SMB versión 2.

imagen

Ahora usando dnscmd indicaremos qué DLL cargar.

imagen

imagen

El comando se completó correctamente, ahora reinicie el servicio DNS.

imagen

Y después de un reinicio, vemos una conexión a través de SMB.

imagen

Así como una sesión abierta.

imagen

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.

All Articles