13 KiB
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!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
HackenProof é o lar de todas as recompensas por bugs de criptografia.
Seja recompensado sem atrasos
As recompensas do HackenProof são lançadas apenas quando os clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug.
Adquira experiência em pentesting web3
Protocolos de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.
Torne-se a lenda do hacker web3
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.
Cadastre-se no HackenProof comece a ganhar com seus hacks!
{% embed url="https://hackenproof.com/register" %}
Informações Básicas
Microsoft Remote Procedure Call, também conhecido como chamada de função ou chamada de sub-rotina, é um protocolo que usa o modelo cliente-servidor para permitir que um programa solicite serviço 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 e protegido por direitos autorais pela Microsoft.
Dependendo da configuração do host, o mapeador de ponto de extremidade RPC pode ser acessado através 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 do MSRPC começa no lado do cliente, com a aplicação do cliente chamando um procedimento de stub local em vez de código que implementa o procedimento. O código de 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 ao servidor.
A partir daqui: https://www.extrahop.com/resources/protocols/msrpc/
Imagem do livro "Network Security Assesment 3rd Edition"
Identificando Serviços RPC Expostos
Seção extraída do livro "Network Security Assesment 3rd Edition"
Você pode consultar o serviço de localizador RPC e os pontos de extremidade RPC individuais para catalogar serviços interessantes em execução sobre TCP, UDP, HTTP e SMB (por meio de named pipes). Cada valor IFID coletado por meio desse processo denota um serviço RPC (por exemplo, 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc é a interface Messenger).
As ferramentas rpcdump e ifids do Windows de Todd Sabin consultam tanto o localizador RPC quanto os pontos de extremidade 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 \epmapper nomeado via SMB)
- ncacn_http (RPC sobre HTTP via porta TCP 80, 593 e outros)
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 das 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ários) e forçar a senha de usuários por força bruta, independentemente da política de bloqueio de contas Biblioteca Oreilly |
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 controle de serviço 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 controle de serviço 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, proveniente 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 de interface como endereço IPv6 do HTB box APT. Veja aqui o writeup do APT 0xdf, que inclui um método alternativo usando rpcmap.py do 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-2-accessing-a-remote-object-inside-dcom/
Porta 593
O rpcdump.exe do rpctools pode interagir com essa porta.
HackenProof é o lar de todas as recompensas por bugs de criptografia.
Seja recompensado sem atrasos
As recompensas do HackenProof são lançadas apenas quando os clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug.
Adquira experiência em pentesting web3
Protocolos de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.
Torne-se a lenda do hacker web3
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.
Cadastre-se no HackenProof comece a ganhar com seus hacks!
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Gostaria de ver sua empresa anunciada no HackTricks? ou gostaria de ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Verifique os PLANOS DE ASSINATURA!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Adquira o swag oficial PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.