# 135, 593 - Pentesting MSRPC
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
[**Siga HackenProof**](https://bit.ly/3xrrDrL) **para aprender mais sobre bugs web3**
🐞 Leia tutoriais de bugs web3
🔔 Receba notificações sobre novos programas de recompensas por bugs
💬 Participe de discussões na comunidade
## Informações Básicas
Microsoft Remote Procedure Call, também conhecido como chamada de função ou chamada de sub-rotina, é [um protocolo](http://searchmicroservices.techtarget.com/definition/Remote-Procedure-Call-RPC) que usa o modelo cliente-servidor para permitir que um programa solicite serviços de um programa em outro computador sem precisar entender os detalhes da rede desse computador. O MSRPC foi originalmente derivado de software de código aberto, mas foi desenvolvido ainda mais e protegido por direitos autorais pela Microsoft.
Dependendo da configuração do host, o mapeador de ponto de extremidade RPC pode ser acessado por meio das portas TCP e UDP 135, via SMB com uma sessão nula ou autenticada (TCP 139 e 445) e como um serviço da web ouvindo na porta TCP 593.
```
135/tcp open msrpc Microsoft Windows RPC
```
## Como funciona o MSRPC?
O processo MSRPC começa no lado do cliente, com a aplicação cliente chamando um procedimento stub local em vez de código que implementa o procedimento. O código stub do cliente recupera os parâmetros necessários do espaço de endereço do cliente e os entrega à biblioteca de tempo de execução do cliente, que então traduz os parâmetros em um formato padrão de representação de dados de rede para transmitir ao servidor.
O stub do cliente então chama funções na biblioteca de tempo de execução do cliente RPC para enviar a solicitação e os parâmetros para o servidor. Se o servidor estiver localizado remotamente, a biblioteca de tempo de execução especifica um protocolo de transporte apropriado e um mecanismo e passa o RPC para a pilha de rede para transporte para o servidor.\
A partir daqui: [https://www.extrahop.com/resources/protocols/msrpc/](https://www.extrahop.com/resources/protocols/msrpc/)
![](<../.gitbook/assets/image (133).png>)
**Imagem do livro "**_**Avaliação de Segurança de Rede 3ª Edição**_**"**
## Identificando Serviços RPC Expostos
Você pode consultar o serviço de localizador RPC e os pontos finais RPC individuais para catalogar serviços interessantes em execução em TCP, UDP, HTTP e SMB (por meio de pipes nomeados). Cada valor IFID coletado por meio desse processo denota um serviço RPC (por exemplo, 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc é a interface do Messenger).
As ferramentas rpcdump e ifids do Windows de Todd Sabin consultam tanto o localizador RPC quanto os pontos finais RPC específicos para listar os valores IFID. A sintaxe do rpcdump é a seguinte:
```
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]
```
Você pode acessar o serviço de localização RPC usando quatro sequências de protocolo:
* ncacn\_ip\_tcp e ncadg\_ip\_udp (porta TCP e UDP 135)
* ncacn\_np (o pipe \pipe\epmapper nomeado via SMB)
* ncacn\_http (RPC sobre HTTP via porta TCP 80, 593 e outras)
```bash
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 -p 135
```
_Nota que de todas as opções mencionadas, todas exceto **`tcp_dcerpc_auditor`** podem ser executadas **apenas** contra **msrpc** na **porta 135**._
#### Interfaces RPC notáveis
| **Valor IFID** | **Named pipe** | **Descrição** |
| ------------------------------------ | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 12345778-1234-abcd-ef00-0123456789ab | \pipe\lsarpc | Interface LSA, usada para enumerar usuários |
| 3919286a-b10c-11d0-9ba8-00c04fd92ef5 | \pipe\lsarpc | Interface LSA Directory Services (DS), usada para enumerar domínios e relacionamentos de confiança |
| 12345778-1234-abcd-ef00-0123456789ac | \pipe\samr | Interface LSA SAMR, usada para acessar elementos públicos do banco de dados SAM (por exemplo, nomes de usuário) e forçar a senha do usuário por meio de brute-force, independentemente da política de bloqueio de conta [Biblioteca Oreilly](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#idm139659172852688) |
| 1ff70682-0a51-30e8-076d-740be8cee98b | \pipe\atsvc | Agendador de tarefas, usado para executar comandos remotamente |
| 338cd001-2244-31f1-aaaa-900038001003 | \pipe\winreg | Serviço de registro remoto, usado para acessar o registro do sistema |
| 367abb81-9844-35f1-ad32-98f038001003 | \pipe\svcctl | Gerenciador de serviços e serviços do servidor, usado para iniciar e parar serviços remotamente e executar comandos |
| 4b324fc8-1670-01d3-1278-5a47bf6ee188 | \pipe\srvsvc | Gerenciador de serviços e serviços do servidor, usado para iniciar e parar serviços remotamente e executar comandos |
| 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 | \pipe\epmapper | Interface DCOM, suportando WMI |
### Identificando endereços IP
Usando [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), que vem da pesquisa da [Airbus](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), é possível abusar do método _**ServerAlive2**_ dentro da interface _**IOXIDResolver**_.
Esse método foi usado para obter informações de interface como endereço **IPv6** do box HTB _APT_. Veja [aqui](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) o relato do 0xdf APT, que inclui um método alternativo usando rpcmap.py do [Impacket](https://github.com/SecureAuthCorp/impacket/) com _stringbinding_ (veja acima).
Referências:
* [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-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/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
## Porta 593
O **rpcdump.exe** do [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) pode interagir com esta porta.
[**Siga HackenProof**](https://bit.ly/3xrrDrL) **para aprender mais sobre bugs web3**
🐞 Leia tutoriais de bugs web3
🔔 Receba notificações sobre novos programas de recompensas por bugs
💬 Participe de discussões na comunidade
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* Você trabalha em uma **empresa de segurança cibernética**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga** me no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).