💻Protocolos de Administración Remota - Windows
Los servidores de Windows se pueden administrar localmente mediante las tareas de administración del Administrador del servidor en servidores remotos.
Introducción
La administración remota está habilitada de forma predeterminada a partir de Windows Server 2016. La administración remota es un componente de las funciones de administración de hardware de Windows que administran el hardware del servidor de forma local y remota. Estas características incluyen un servicio que implementa el protocolo WS-Management, diagnóstico y control de hardware a través de controladores de administración de placa base, y una API COM y objetos de script que nos permiten escribir aplicaciones que se comunican de forma remota a través del protocolo WS-Management.
Los principales componentes utilizados para la gestión remota de Windows y servidores Windows son los siguientes:
RDP
El Remote Desktop Protocol ( RDP) es un protocolo desarrollado por Microsoft para el acceso remoto a una computadora que ejecuta el sistema operativo Windows. Este protocolo permite que los comandos de visualización y control se transmitan a través de la GUI cifrada a través de redes IP. RDP funciona en la capa de aplicación en el modelo de referencia TCP/IP y normalmente utiliza el puerto TCP 3389 como protocolo de transporte. Sin embargo, el protocolo UDP sin conexión puede utilizar el puerto 3389 también para la administración remota.
Para que se establezca una sesión RDP, tanto el firewall de la red como el firewall del servidor deben permitir conexiones desde el exterior. Si se utiliza la Network Address Translation (NAT) en la ruta entre el cliente y el servidor, como suele ser el caso con las conexiones a Internet, la computadora remota necesita la dirección IP pública para llegar al servidor. Además, en el enrutador NAT se debe configurar el reenvío de puertos en dirección al servidor.
RDP se encarga de la seguridad de la capa de transporte ( TLS/SSL) desde Windows Vista, lo que significa que todos los datos, y especialmente el proceso de inicio de sesión, están protegidos en la red gracias a su buen cifrado. Sin embargo, muchos sistemas Windows no insisten en esto y aun así aceptan un cifrado inadecuado a través de RDP Security . Sin embargo, incluso con esto, un atacante todavía está lejos de ser bloqueado porque los certificados que proporcionan identidad están simplemente autofirmados de forma predeterminada. Esto significa que el cliente no puede distinguir un certificado genuino de uno falsificado y genera una advertencia de certificado para el usuario.
El servicio Remote Desktop se instala de forma predeterminada en servidores Windows y no requiere aplicaciones externas adicionales. Este servicio se puede activar usando Server Manager y viene con la configuración predeterminada para permitir conexiones al servicio solo a hosts con autenticación a nivel de red ( NLA).
Enumeración de RDP
Escanear el servicio RDP puede brindarnos rápidamente mucha información sobre el host. Por ejemplo, podemos determinar si NLA está habilitado en el servidor o no, la versión del producto y el nombre de host.
Nmap
Además, podemos utilizarlo --packet-trace para rastrear los paquetes individuales e inspeccionar su contenido manualmente. Podemos ver que el RDP cookies( mstshash=nmap) utilizado por Nmap para interactuar con el servidor RDP puede ser identificado por varios antivirus y servicios de seguridad como Endpoint Detection and Response (EDR), y puede bloquearnos como pentesters en redes reforzadas.
Cisco CX Security Labs también desarrolló un script Perl llamado rdp-sec-check.pl que puede identificar de forma no auténtica la configuración de seguridad de los servidores RDP en función de los handshakes.
RDP Security Check: instalación
RDP Security Check
La autenticación y la conexión a dichos servidores RDP se pueden realizar de varias maneras. Por ejemplo, podemos conectarnos a servidores RDP en Linux usando xfreerdp, rdesktop o Remmina e interactuar con la GUI del servidor en consecuencia.
Iniciar una sesión RDP
Tras una autenticación exitosa nos aparecerá una nueva ventana con acceso al escritorio del servidor al que nos hemos conectado.
WinRM
El Windows Remote Management ( WinRM) es un protocolo simple de administración remota integrado en Windows basado en la línea de comando. WinRM utiliza el Protocolo simple de acceso a objetos ( SOAP) para establecer conexiones a hosts remotos y sus aplicaciones. Por lo tanto, WinRM debe habilitarse y configurarse explícitamente a partir de Windows 10. WinRM depende de los puertos 5985y 5986 TCP para la comunicación, con el último puerto 5986 usando HTTPS, ya que anteriormente se usaban los puertos 80 y 443 para esta tarea, pero el puerto 80 fue bloqueado principalmente por razones de seguridad.
Otro componente que se adapta a WinRM para la administración es Windows Remote Shell ( WinRS), que nos permite ejecutar comandos arbitrarios en el sistema remoto. El programa incluso está incluido en Windows 7 de forma predeterminada. Así, con WinRM es posible ejecutar un comando remoto en otro servidor.
Servicios como sesiones remotas que utilizan PowerShell y combinación de registros de eventos requieren WinRM. Está habilitado de forma predeterminada a partir de la versión Windows Server 2012, pero primero debe configurarse para versiones de servidor y clientes anteriores, y crear las excepciones de firewall necesarias.
Enumeración de WinRM
Como ya sabemos, WinRM usa puertos TCP 5985( HTTP) y 5986( HTTPS) por defecto, que podemos escanear usando Nmap. Sin embargo, a menudo veremos que solo TCP 5985se utiliza HTTP ( ) en lugar de HTTPS ( TCP 5986).
Nmap WinRM
Si queremos saber si se puede acceder a uno o más servidores remotos a través de WinRM, podemos hacerlo fácilmente con la ayuda de PowerShell. El cmdlet Test-WsMan es responsable de esto y se le pasa el nombre del host en cuestión.
EvilWinrm - Linux
En entornos basados en Linux podemos utilizar la herramienta llamada evil-winrm , otra herramienta de pruebas de penetración diseñada para interactuar con WinRM.
WMI
Windows Management Instrumentation ( WMI) es la implementación de Microsoft y también una extensión del Modelo de información común ( CIM), funcionalidad central de la gestión empresarial basada en web estandarizada ( WBEM) para la plataforma Windows. WMI permite acceso de lectura y escritura a casi todas las configuraciones en los sistemas Windows. Es comprensible que esto la convierta en la interfaz más crítica en el entorno Windows para la administración y el mantenimiento remoto de computadoras con Windows, independientemente de si son PC o servidores. Normalmente se accede a WMI a través de PowerShell, VBScript o la Consola de Instrumental de administración de Windows ( WMIC). WMI no es un único programa sino que consta de varios programas y varias bases de datos, también conocidas como repositorios.
Enumeración de WMI
La inicialización de la comunicación WMI siempre se lleva a cabo en TCPel puerto 135y, después de establecer exitosamente la conexión, la comunicación se mueve a un puerto aleatorio. Para ello se puede utilizar , por ejemplo, el programa wmiexec.py del kit de herramientas Impacket.
WMIexec.py
Nuevamente es necesario mencionar que el conocimiento adquirido al instalar estos servicios y jugar con las configuraciones en nuestra propia VM Windows Server para ganar experiencia y desarrollar el principio funcional y el punto de vista del administrador no se puede reemplazar con la lectura de manuales. Por lo tanto, recomendamos encarecidamente configurar su propio servidor Windows, experimentar con la configuración y escanear estos servicios repetidamente para ver las diferencias en los resultados.
Última actualización
¿Te fue útil?