hacktricks/network-services-pentesting/135-pentesting-msrpc.md

9.6 KiB

135, 593 - Pentesting MSRPC

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!

Insights de Hacking
Engaje-se com conteúdo que explora a emoção e os desafios do hacking

Notícias de Hacking em Tempo Real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real

Últimos Anúncios
Fique informado sobre os novos programas de recompensas por bugs lançados e atualizações cruciais da plataforma

Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!

Informações Básicas

O protocolo Microsoft Remote Procedure Call (MSRPC), um modelo cliente-servidor que permite que um programa solicite um serviço de um programa localizado em outro computador sem entender os detalhes da rede, foi inicialmente derivado de software de código aberto e posteriormente desenvolvido e protegido por direitos autorais pela Microsoft.

O mapeador de endpoint RPC pode ser acessado via porta TCP e UDP 135, SMB na TCP 139 e 445 (com uma sessão nula ou autenticada), e como um serviço web na porta TCP 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Como o MSRPC funciona?

Iniciado pela aplicação cliente, o processo MSRPC envolve a chamada de um procedimento stub local que interage com a biblioteca de tempo de execução do cliente para preparar e transmitir a solicitação ao servidor. Isso inclui a conversão de parâmetros em um formato padrão de Representação de Dados de Rede. A escolha do protocolo de transporte é determinada pela biblioteca de tempo de execução se o servidor for remoto, garantindo que o RPC seja entregue através da pilha de rede.

https://0xffsec.com/handbook/images/msrpc.png

Identificando Serviços RPC Expostos

A exposição de serviços RPC através de TCP, UDP, HTTP e SMB pode ser determinada consultando o serviço localizador de RPC e endpoints individuais. Ferramentas como rpcdump facilitam a identificação de serviços RPC únicos, denotados por valores IFID, revelando detalhes do serviço e vinculações de comunicação:

D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]

O acesso ao serviço de localizador RPC é habilitado através de protocolos específicos: ncacn_ip_tcp e ncadg_ip_udp para acesso via porta 135, ncacn_np para conexões SMB e ncacn_http para comunicação RPC baseada na web. Os seguintes comandos exemplificam a utilização de módulos do Metasploit para auditar e interagir com serviços MSRPC, focando principalmente na porta 135:

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

Todas as opções, exceto tcp_dcerpc_auditor, são especificamente projetadas para direcionar o MSRPC na porta 135.

Interfaces RPC Notáveis

  • IFID: 12345778-1234-abcd-ef00-0123456789ab
  • Named Pipe: \pipe\lsarpc
  • Descrição: Interface LSA, usada para enumerar usuários.
  • IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
  • Named Pipe: \pipe\lsarpc
  • Descrição: Interface de Serviços de Diretório LSA (DS), usada para enumerar domínios e relações de confiança.
  • IFID: 12345778-1234-abcd-ef00-0123456789ac
  • Named Pipe: \pipe\samr
  • Descrição: Interface LSA SAMR, usada para acessar elementos públicos do banco de dados SAM (por exemplo, nomes de usuário) e realizar força bruta em senhas de usuários, independentemente da política de bloqueio de conta.
  • IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
  • Named Pipe: \pipe\atsvc
  • Descrição: Agendador de tarefas, usado para executar comandos remotamente.
  • IFID: 338cd001-2244-31f1-aaaa-900038001003
  • Named Pipe: \pipe\winreg
  • Descrição: Serviço de registro remoto, usado para acessar e modificar o registro do sistema.
  • IFID: 367abb81-9844-35f1-ad32-98f038001003
  • Named Pipe: \pipe\svcctl
  • Descrição: Gerenciador de controle de serviços e serviços de servidor, usado para iniciar e parar serviços remotamente e executar comandos.
  • IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
  • Named Pipe: \pipe\srvsvc
  • Descrição: Gerenciador de controle de serviços e serviços de servidor, usado para iniciar e parar serviços remotamente e executar comandos.
  • IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
  • Named Pipe: \pipe\epmapper
  • Descrição: Interface DCOM, usada para força bruta em senhas e coleta de informações via WM.

Identificando endereços IP

Usando https://github.com/mubix/IOXIDResolver, que vem da pesquisa da Airbus, é possível abusar do método ServerAlive2 dentro da interface IOXIDResolver.

Esse método tem sido usado para obter informações da interface, como o endereço IPv6 da caixa HTB APT. Veja aqui para o relatório APT de 0xdf, que inclui um método alternativo usando rpcmap.py do Impacket com stringbinding (veja acima).

Executando um RCE com credenciais válidas

É possível executar código remoto em uma máquina, se as credenciais de um usuário válido estiverem disponíveis usando dcomexec.py do framework impacket.

Lembre-se de tentar com os diferentes objetos disponíveis

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Porta 593

O rpcdump.exe do rpctools pode interagir com esta porta.

Referências

Junte-se ao servidor HackenProof Discord para se comunicar com hackers experientes e caçadores de recompensas!

Insights de Hacking
Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking

Notícias de Hack em Tempo Real
Mantenha-se atualizado com o mundo do hacking em ritmo acelerado através de notícias e insights em tempo real

Últimos Anúncios
Fique informado sobre as novas recompensas de bugs que estão sendo lançadas e atualizações cruciais da plataforma

Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}