12 KiB
135, 593 - Pentesting MSRPC
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Sigue a HackenProof para aprender más sobre errores web3
🐞 Lee tutoriales de errores web3
🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores
💬 Participa en discusiones comunitarias
Información básica
Microsoft Remote Procedure Call, también conocido como llamada de función o llamada de subrutina, es un protocolo que utiliza el modelo cliente-servidor para permitir que un programa solicite un servicio de un programa en otra computadora sin tener que comprender los detalles de la red de esa computadora. MSRPC se derivó originalmente de software de código abierto, pero ha sido desarrollado aún más y está protegido por derechos de autor de Microsoft.
Dependiendo de la configuración del host, el mapeador de puntos finales RPC se puede acceder a través del puerto TCP y UDP 135, a través de SMB con una sesión nula o autenticada (TCP 139 y 445) y como un servicio web que escucha en el puerto TCP 593.
135/tcp open msrpc Microsoft Windows RPC
¿Cómo funciona MSRPC?
El proceso de MSRPC comienza en el lado del cliente, con la aplicación del cliente llamando a un procedimiento de stub local en lugar del código que implementa el procedimiento. El código de stub del cliente recupera los parámetros necesarios del espacio de direcciones del cliente y los entrega a la biblioteca de tiempo de ejecución del cliente, que luego traduce los parámetros a un formato estándar de representación de datos de red para transmitirlos al servidor.
El stub del cliente luego llama a funciones en la biblioteca de tiempo de ejecución del cliente RPC para enviar la solicitud y los parámetros al servidor. Si el servidor se encuentra de forma remota, la biblioteca de tiempo de ejecución especifica un protocolo de transporte y un motor apropiados y pasa el RPC a la pila de red para su transporte al servidor.
De aquí: https://www.extrahop.com/resources/protocols/msrpc/
Imagen del libro "Evaluación de seguridad de redes 3ra edición"
Identificación de servicios RPC expuestos
Puede consultar el servicio de localización de RPC y los puntos finales de RPC individuales para catalogar servicios interesantes que se ejecutan sobre TCP, UDP, HTTP y SMB (a través de tuberías con nombre). Cada valor IFID recopilado a través de este proceso denota un servicio RPC (por ejemplo, 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc es la interfaz de Messenger).
Las utilidades de Windows rpcdump e ifids de Todd Sabin consultan tanto el localizador de RPC como los puntos finales de RPC específicos para listar los valores IFID. La sintaxis de rpcdump es la siguiente:
D:\rpctools> rpcdump [-p port] 192.168.189.1
IfId: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:192.168.189.1[1028]
Puedes acceder al servicio de localización RPC utilizando cuatro secuencias de protocolo:
- ncacn_ip_tcp y ncadg_ip_udp (puerto TCP y UDP 135)
- ncacn_np (el pipe \epmapper con nombre a través de SMB)
- ncacn_http (RPC sobre HTTP a través del puerto TCP 80, 593 y otros)
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135
Nota que de las opciones mencionadas todas excepto tcp_dcerpc_auditor
solo pueden ser ejecutadas contra msrpc en el puerto 135.
Interfaces RPC notables
Valor IFID | Named pipe | Descripción |
---|---|---|
12345778-1234-abcd-ef00-0123456789ab | \pipe\lsarpc | Interfaz LSA, utilizada para enumerar usuarios |
3919286a-b10c-11d0-9ba8-00c04fd92ef5 | \pipe\lsarpc | Interfaz de Servicios de Directorio (DS) de LSA, utilizada para enumerar dominios y relaciones de confianza |
12345778-1234-abcd-ef00-0123456789ac | \pipe\samr | 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 sin importar la política de bloqueo de cuentas Biblioteca Oreilly |
1ff70682-0a51-30e8-076d-740be8cee98b | \pipe\atsvc | Programador de tareas, utilizado para ejecutar comandos de forma remota |
338cd001-2244-31f1-aaaa-900038001003 | \pipe\winreg | Servicio de registro remoto, utilizado para acceder al registro del sistema |
367abb81-9844-35f1-ad32-98f038001003 | \pipe\svcctl | Administrador de servicios y servicios de servidor, utilizado para iniciar y detener servicios de forma remota y ejecutar comandos |
4b324fc8-1670-01d3-1278-5a47bf6ee188 | \pipe\srvsvc | Administrador de servicios y servicios de servidor, utilizado para iniciar y detener servicios de forma remota y ejecutar comandos |
4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 | \pipe\epmapper | Interfaz DCOM, compatible con WMI |
Identificación de direcciones IP
Usando https://github.com/mubix/IOXIDResolver, que proviene de la investigación de Airbus, es posible abusar del método ServerAlive2 dentro de la interfaz IOXIDResolver.
Este método se ha utilizado para obtener información de la interfaz como la dirección IPv6 de la máquina HTB APT. Ver aquí para el informe de 0xdf APT, que incluye un método alternativo utilizando rpcmap.py de Impacket con stringbinding (ver arriba).
Referencias:
- https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/
- https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/
Puerto 593
El rpcdump.exe de rpctools puede interactuar con este puerto.
Sigue a HackenProof para aprender más sobre errores web3
🐞 Lee tutoriales de errores web3
🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores
💬 Participa en discusiones comunitarias
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección de NFTs exclusivos.
- Consigue el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.