Skip to main content

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 arquivos
  • cd <dir> → entra em diretório remoto
  • lcd <dir> → muda diretório local
  • get <arquivo> → download de arquivo
  • mget * → download múltiplo
  • put <arquivo> → upload de arquivo
  • mkdir <dir> → cria diretório
  • rmdir <dir> → remove diretório
  • rm <arquivo> → remove arquivo
  • rename <old> <new> → renomeia arquivo
  • recurse ON → ativa modo recursivo
  • prompt OFF → desativa confirmação no mget/mput
  • exit → 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**"