13 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 PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
HackenProof es el hogar de todas las recompensas por errores de criptografía.
Obtén recompensas sin demoras
Las recompensas de HackenProof se lanzan solo cuando sus clientes depositan el presupuesto de recompensa. Obtendrás la recompensa después de que se verifique el error.
Obtén experiencia en pentesting web3
¡Los protocolos blockchain y los contratos inteligentes son el nuevo Internet! Domina la seguridad web3 en sus días de crecimiento.
Conviértete en la leyenda del hacker web3
Gana puntos de reputación con cada error verificado y conquista la cima de la clasificación semanal.
Regístrate en HackenProof ¡comienza a ganar con tus hacks!
{% embed url="https://hackenproof.com/register" %}
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 a un programa en otra computadora sin tener que entender los detalles de la red de esa computadora. MSRPC se derivó originalmente de software de código abierto, pero ha sido desarrollado y protegido por derechos de autor por Microsoft.
Dependiendo de la configuración del host, el mapeador de puntos finales de RPC se puede acceder a través de los puertos 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 de implementar el código del procedimiento. El código de stub del cliente recupera los parámetros requeridos 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 adecuados y pasa el RPC a la pila de red para su transporte al servidor.
Desde aquí: https://www.extrahop.com/resources/protocols/msrpc/
Imagen del libro "Network Security Assesment 3rd Edition"
Identificación de servicios RPC expuestos
Sección extraída del libro "Network Security Assesment 3rd Edition"
Puede consultar el servicio de localizador 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 named pipes). 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 enumerar 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 de RPC utilizando cuatro secuencias de protocolo:
- ncacn_ip_tcp y ncadg_ip_udp (puerto TCP y UDP 135)
- ncacn_np (la tubería con nombre \pipe\epmapper a través de SMB)
- ncacn_http (RPC sobre HTTP a través de los puertos 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 se pueden ejecutar contra msrpc en el puerto 135.
Interfaces RPC destacadas
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 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 control 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 control 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
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 se ha utilizado para obtener información de la interfaz como la dirección IPv6 de la máquina HTB APT. Consulta aquí el informe de APT de 0xdf, 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.
HackenProof es el hogar de todas las recompensas por errores de criptografía.
Obtén recompensas sin demoras
Las recompensas de HackenProof se lanzan solo cuando los clientes depositan el presupuesto de recompensa. Recibirás la recompensa después de que se verifique el error.
Obtén experiencia en pentesting web3
¡Los protocolos blockchain y los contratos inteligentes son el nuevo Internet! Domina la seguridad web3 en sus días de crecimiento.
Conviértete en una leyenda del hacker web3
Gana puntos de reputación con cada error verificado y conquista la cima de la clasificación semanal.
Regístrate en HackenProof ¡comienza a ganar con tus hacks!
{% embed url="https://hackenproof.com/register" %}
☁️ 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.
- 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.