Configurar um Servidor SMB Local
Neste passo, você configurará um servidor SMB (Server Message Block) local usando o Samba. O SMB é um protocolo de compartilhamento de arquivos de rede que permite que aplicativos em um computador acessem arquivos e recursos em um servidor remoto. O Samba é uma reimplementação de software livre do protocolo de rede SMB. Isso fornecerá um alvo para seu ataque Hydra SMB em etapas posteriores.
Primeiro, vamos instalar o Samba. Abra seu terminal no diretório ~/project.
sudo apt update
sudo apt install samba -y
Este comando atualiza as listas de pacotes e, em seguida, instala o pacote Samba. O sinalizador -y responde automaticamente "sim" a quaisquer solicitações durante a instalação.
Em seguida, você precisa configurar o Samba. Comece fazendo um backup do arquivo de configuração original.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Agora, vamos criar um novo arquivo de configuração limpo sobrescrevendo o existente. Essa abordagem garante que não haja conflitos com as configurações padrão do Samba do Ubuntu.
Copie o comando a seguir e execute-o no terminal. Certifique-se de que o comando foi copiado corretamente.
sudo tee /etc/samba/smb.conf > /dev/null << 'EOF'
[global]
workgroup = WORKGROUP
server string = Servidor Samba
netbios name = fileserver
security = user
map to guest = never
## Desabilitar acesso anônimo
restrict anonymous = 2
## Habilitar explicitamente SMBv1 e NTLMv1 para o Hydra
server min protocol = NT1
client min protocol = NT1
ntlm auth = ntlmv1-permitted
## Ligar apenas ao localhost
interfaces = 127.0.0.1
bind interfaces only = yes
## Registros
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
debug level = 3
[share]
path = /home/labex/project/share
browsable = yes
writable = yes
guest ok = no
read only = no
valid users = labex
EOF
Este comando substituirá completamente o conteúdo de /etc/samba/smb.conf com nossa configuração limpa.
Pontos de configuração importantes:
map to guest = never - Impede o acesso anônimo de convidados
restrict anonymous = 2 - Desabilita completamente o acesso anônimo
server min protocol = NT1 e client min protocol = NT1 - Habilita SMBv1 para compatibilidade com o Hydra
ntlm auth = ntlmv1-permitted - Permite autenticação NTLMv1 para testes
interfaces = 127.0.0.1 e bind interfaces only = yes - Restrição de acesso apenas ao localhost
guest ok = no - Desabilita o acesso de convidado ao compartilhamento
valid users = labex - Restrição de acesso apenas ao usuário específico
Por que sobrescrevemos todo o arquivo:
- Evita conflitos com as configurações padrão do Samba do Ubuntu
- Garante uma configuração limpa e mínima otimizada para testes com o Hydra
- Elimina potenciais problemas com diretivas duplicadas ou conflitantes
- Fornece um ponto de partida consistente para todos os usuários
Esta configuração garante que o Hydra consiga detectar corretamente as tentativas de autenticação sem interferência do acesso anônimo.
Agora, vamos criar o diretório compartilhado.
mkdir ~/project/share
sudo chmod 777 ~/project/share
Isso cria um diretório chamado share em seu diretório ~/project e define suas permissões para 777, o que significa que todos têm permissões de leitura, escrita e execução. Observação: Em um cenário do mundo real, você desejará usar permissões mais restritivas. Para simplificar este ambiente de laboratório, estamos usando 777.
Em seguida, você precisa adicionar um usuário Samba. Este usuário será usado para autenticar no servidor SMB. Você usará o usuário labex que já existe no sistema. Primeiro, defina uma senha Samba para o usuário labex.
sudo smbpasswd -a labex
Você será solicitado a inserir uma nova senha para o usuário labex. Digite password e confirme-a.
Nova senha SMB:
Repita a nova senha SMB:
Usuário labex adicionado.
Finalmente, reinicie o serviço Samba para aplicar as alterações.
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
Você deve ver uma saída semelhante a esta:
* Parando o daemon SMB/CIFS smbd [ OK ]
* Iniciando o daemon SMB/CIFS smbd [ OK ]
* Parando o servidor de nomes NetBIOS nmbd [ OK ]
* Iniciando o servidor de nomes NetBIOS nmbd [ OK ]
Este comando verificará sua configuração do Samba quanto a erros de sintaxe e mostrará a configuração ativa. Você deve ver uma saída confirmando suas configurações sem erros.
Agora, seu servidor SMB local está configurado com as configurações de segurança apropriadas. Você criou um diretório compartilhado chamado share e adicionou o usuário labex com uma senha Samba. A configuração está otimizada para funcionar corretamente com ataques Hydra.