135, 593 - Pentesting MSRPC
Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de bugs!
Perspectivas de Hacking Involúcrate con contenido que explora la emoción y los desafíos del hacking
Noticias de Hacking en Tiempo Real Mantente actualizado con el mundo del hacking a través de noticias e información en tiempo real
Últimos Anuncios Mantente informado sobre los nuevos programas de recompensas por bugs y actualizaciones importantes de plataformas
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy!
Información Básica
El protocolo de Llamada a Procedimiento Remoto de Microsoft (MSRPC), un modelo cliente-servidor que permite a un programa solicitar un servicio de un programa ubicado en otra computadora sin entender los detalles de la red, se derivó inicialmente de software de código abierto y posteriormente fue desarrollado y con derechos de autor por Microsoft.
El mapeador de puntos finales de RPC se puede acceder a través de los puertos TCP y UDP 135, SMB en TCP 139 y 445 (con una sesión nula o autenticada), y como un servicio web en el puerto TCP 593.
¿Cómo funciona MSRPC?
Iniciado por la aplicación cliente, el proceso MSRPC implica llamar a un procedimiento de stub local que luego interactúa con la biblioteca de tiempo de ejecución del cliente para preparar y transmitir la solicitud al servidor. Esto incluye convertir parámetros en un formato estándar de Representación de Datos de Red. La elección del protocolo de transporte es determinada por la biblioteca de tiempo de ejecución si el servidor es remoto, asegurando que el RPC se entregue a través de la pila de red.
Identificación de Servicios RPC Expuestos
La exposición de servicios RPC a través de TCP, UDP, HTTP y SMB puede determinarse consultando el servicio localizador de RPC y los puntos finales individuales. Herramientas como rpcdump facilitan la identificación de servicios RPC únicos, denotados por los valores de IFID, revelando detalles del servicio y enlaces de comunicación:
El acceso al servicio de localización de RPC está habilitado a través de protocolos específicos: ncacn_ip_tcp y ncadg_ip_udp para acceder a través del puerto 135, ncacn_np para conexiones SMB, y ncacn_http para comunicación RPC basada en web. Los siguientes comandos ejemplifican la utilización de módulos de Metasploit para auditar e interactuar con servicios MSRPC, centrándose principalmente en el puerto 135:
Todas las opciones excepto tcp_dcerpc_auditor
están específicamente diseñadas para apuntar a MSRPC en el puerto 135.
Interfaces RPC destacadas
IFID: 12345778-1234-abcd-ef00-0123456789ab
Named Pipe:
\pipe\lsarpc
Descripción: Interfaz LSA, utilizada para enumerar usuarios.
IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
Named Pipe:
\pipe\lsarpc
Descripción: Interfaz de Servicios de Directorio (DS) de LSA, utilizada para enumerar dominios y relaciones de confianza.
IFID: 12345778-1234-abcd-ef00-0123456789ac
Named Pipe:
\pipe\samr
Descripción: Interfaz SAMR de LSA, utilizada para acceder a elementos públicos de la base de datos SAM (por ejemplo, nombres de usuario) y para forzar contraseñas de usuario independientemente de la política de bloqueo de cuentas.
IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
Named Pipe:
\pipe\atsvc
Descripción: Programador de tareas, utilizado para ejecutar comandos de forma remota.
IFID: 338cd001-2244-31f1-aaaa-900038001003
Named Pipe:
\pipe\winreg
Descripción: Servicio de registro remoto, utilizado para acceder y modificar el registro del sistema.
IFID: 367abb81-9844-35f1-ad32-98f038001003
Named Pipe:
\pipe\svcctl
Descripción: Administrador de control de servicios y servicios de servidor, utilizado para iniciar y detener servicios de forma remota y ejecutar comandos.
IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
Named Pipe:
\pipe\srvsvc
Descripción: Administrador de control de servicios y servicios de servidor, utilizado para iniciar y detener servicios de forma remota y ejecutar comandos.
IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
Named Pipe:
\pipe\epmapper
Descripción: Interfaz DCOM, utilizada para forzar contraseñas y recopilar información a través de WM.
Identificación de direcciones IP
Utilizando https://github.com/mubix/IOXIDResolver, proveniente de la investigación de Airbus, es posible abusar del método ServerAlive2 dentro de la interfaz IOXIDResolver.
Este método ha sido utilizado para obtener información de interfaz como la dirección IPv6 de la máquina HTB APT. Ver aquí para el análisis de APT de 0xdf, incluye un método alternativo utilizando rpcmap.py de Impacket con stringbinding (ver arriba).
Ejecutando un RCE con credenciales válidas
Es posible ejecutar código remoto en una máquina si se dispone de las credenciales de un usuario válido utilizando dcomexec.py del framework Impacket.
Recuerda probar con los diferentes objetos disponibles
ShellWindows
ShellBrowserWindow
MMC20
Puerto 593
El rpcdump.exe de rpctools puede interactuar con este puerto.
Referencias
Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de bugs!
Perspectivas de Hacking Involúcrate con contenido que explora la emoción y los desafíos del hacking
Noticias de Hacking en Tiempo Real Mantente al día con el mundo del hacking a través de noticias e información en tiempo real
Últimos Anuncios Mantente informado sobre los nuevos programas de recompensas por bugs y actualizaciones importantes de plataformas
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy!
Última actualización