==================
== section .bss ==
==================

blog started by symbol

Falhas em ferramentas de enumeração SMB no Kali 2020.1+

Kali Samba SMB1

A Offensive Security, mantenedora e financiadora da distribuição Kali Linux, tomou a decisão acertada de basear sua distribuição na versão testing da distribuição Debian. Essa relação entre as duas distribuições faz com que os pacotes do Kali derivados do Debian Testing aproveitem de todo o esforço de atualização e segurança que os contribuidores e desenvolvedores Debian colocam no empacotamento e manutenção dos softwares do maior projeto de software livre do mundo.

Entretanto, devido ao foco do Kali como uma distribuição vocacionada principalmente para atividades de segurança ofensiva, algumas vezes essas atualizações podem causar uma mudança sutil em configurações de dependências utilizadas por uma grande quantidade de ferramentas ofensivas.

Um exemplo disso foi o lançamento do Kali 2020.1: essa versão passou a contar com o pacote Samba na versão 4.11. Uma das principais diferenças desta versão para as anteriores é que por default, o Samba não vem configurado para conectar-se a servidores que só utilizem o protocolo SMB1. Diversas ferramentas de enumeração e exploração de falhas de SMB, tal como o enum4linux ou o smbclient (da própria suíte do Samba) utilizam o Samba como dependência, logo suas configurações são efetivamente herdadas por esses utilitários.

Esse é o motivo pelo qual muitos usuários do Kali, depois de atualizar a distribuição, têm recebido a seguinte mensagem ao tentar usar essas ferramentas contra alvos utilizando o protocolo SMB1:

protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED

A solução para resolver o problema de todas as ferramentas dependentes do Samba é permitir a negociação de conexão com servidores SMB1. Para isso, basta colocar adicionar as linhas abaixo à seção [global] do arquivo /etc/samba/smb.conf:

[global]
client min protocol = CORE
client max protocol = SMB3

Essa configuração vai permitir ao cliente do Samba negociar a conexão com servidores que utilizem quaisquer versões do protocol. Caso queira limitar à uma versão mais nova do protocolo como o mínimo aceitável, basta utilizar um outro valor de protocolo na primeira linha. Exemplo: client min protocol = NT1.