SMB(Server Message Block), RPC | Enumeração de SMB(Server Message Block), RPC | Solyd One
- SMB(Server Message Block), RPC | Enumeração de SMB, RPC | Solyd One
info
Em sistemas Windows, SMB e RPC frequentemente trabalham juntos:
SMB → usado para transporte de arquivos e autenticação.
RPC → usado para chamadas remotas de serviços administrativos (por exemplo, gerenciamento de usuários, impressoras, etc.).
Muitos serviços de administração remota do Windows exigem que SMB e RPC estejam habilitados.
SMB (Server Message Block)
info
- TCP/445 → usada pelas versões modernas (SMBv2 e SMBv3) - nome do serviço
microsoft-ds. - TCP/139 → usada pelo SMB sobre NetBIOS (antigo, SMBv1).
- UDP/137 e UDP/138 → usados para descoberta e comunicação via NetBIOS
Sintaxe básica
smbclient [opções] //<alvo>/<share> -U usuario
Para apenas listar os compartilhamentos:
smbclient -L //<alvo> -U usuario
Modos de conexão / autenticação
-U <usuario>→ especifica usuário-N→ sem senha (anonimamente)-A <arquivo>→ usa arquivo com credenciais-W <workgroup>→ especifica domínio/workgroup-k→ autenticação Kerberos--pw-nt-hash→ usa hash NTLM em vez de senha
Listagem e enumeração
-L //<alvo>→ lista compartilhamentos disponíveis-g→ saída em formato parseável-R <nome>→ define tipo de resolução de nome (bcast, host, wins)-I <IP>→ força conexão via IP específico
Controle de protocolo
-m <versão>→ define versão SMB (ex: SMB1, SMB2, SMB3)-p <porta>→ define porta manualmente (ex: 139 ou 445)--option='client min protocol=SMB2'→ força protocolo mínimo--option='client max protocol=SMB3'→ força protocolo máximo
Execução de comandos automáticos
-c "comando"→ executa comando direto e sai
Exemplo:
smbclient //192.168.1.10/backup -U admin -c "ls"
Comandos dentro do smbclient (modo interativo)
Depois de conectar ao share:
ls→ lista arquivoscd <dir>→ entra em diretório remotolcd <dir>→ muda diretório localget <arquivo>→ download de arquivomget *→ download múltiploput <arquivo>→ upload de arquivomkdir <dir>→ cria diretóriormdir <dir>→ remove diretóriorm <arquivo>→ remove arquivorename <old> <new>→ renomeia arquivorecurse ON→ ativa modo recursivoprompt OFF→ desativa confirmação no mget/mputexit→ sair
Opções úteis para pentest
-N→ testar acesso anônimo--pw-nt-hash→ passar hash NTLM-m SMB1→ testar se SMBv1 está habilitado-c "recurse ON; prompt OFF; mget *"→ baixar tudo automaticamente
RPC
info
- RPC (Remote Procedure Call) é um protocolo que permite que um programa em um computador execute funções/procedimentos em outro computador de forma transparente, como se fosse local.
- É base de várias funcionalidades no Windows, incluindo:
- Gerenciamento remoto
- Serviços de Active Directory
- Comunicação entre processos distribuídos
- Também pode ser explorado em ataques quando exposto sem proteção adequada.
Comandos
Realizando a conexão
rpcclient 44.202.209.251 -U "SQLService" --password "Ch4ng3ME**"