"WannaCry" em sistemas Linux: como você se protege?

73

De acordo com um artigo do rapid7, existem algumas versões vulneráveis ​​do Samba que permitem a execução remota de código nos sistemas Linux:

Embora o ransomworm do WannaCry tenha impactado os sistemas Windows e seja facilmente identificável, com etapas claras de correção, a vulnerabilidade do Samba afetará os sistemas Linux e Unix e poderá apresentar obstáculos técnicos significativos para obter ou implantar correções apropriadas.

CVE-2017-7494

Todas as versões do Samba a partir do 3.5.0 são vulneráveis ​​a uma vulnerabilidade de execução remota de código, permitindo que um cliente mal-intencionado carregue uma biblioteca compartilhada em um compartilhamento gravável e faça com que o servidor carregue e execute-o.

Possível cenário de ataque:

Começando pelos dois fatores:

  • A vulnerabilidade do Samba ainda não foi corrigida em algumas distribuições do Linux.
  • Há uma vulnerabilidade de escalonamento de privilégios locais não corrigida em algumas versões do kernel do Linux (por exemplo, CVE-2017-7308 no kernel do Ubuntu 4.8.0-41 genérico).

Um invasor pode acessar uma máquina Linux e elevar privilégios usando uma vulnerabilidade de exploração local para obter acesso root e instalar um possível ramsomware futuro, semelhante a esse ransomware WannaCry para Linux .

Atualizar

Um artigo mais recente "Aviso! Os hackers começaram a usar o" SambaCry Flaw "para invadir sistemas Linux" demonstram como usar o Sambacry para infectar uma máquina Linux.

A previsão mostrou-se bastante precisa, pois os honeypots criados pela equipe de pesquisadores da Kaspersky Lab capturaram uma campanha de malware que está explorando a vulnerabilidade do SambaCry para infectar computadores Linux com software de mineração de criptomoedas.

Outro pesquisador de segurança, Omri Ben Bassat, descobriu independentemente a mesma campanha e a nomeou "EternalMiner" .

Segundo os pesquisadores, um grupo desconhecido de hackers começou a seqüestrar PCs Linux apenas uma semana depois que a falha do Samba foi divulgada publicamente e a instalar uma versão atualizada do "CPUminer", um software de mineração de criptomoeda que explora a moeda digital "Monero".

Após comprometer as máquinas vulneráveis ​​usando a vulnerabilidade SambaCry, os atacantes executam duas cargas úteis nos sistemas de destino:

INAebsGB.so - um shell reverso que fornece acesso remoto aos atacantes.

cblRWuoCc.so - Um backdoor que inclui utilitários de mineração de criptomoedas - CPUminer.

Relatório do TrendLab publicado em 18 de julho de 2017: Usuários do Linux instados a atualizar como uma nova ameaça explora o SambaCry

Como faço para proteger um sistema Linux para evitar ser atacado?

GAD3R
fonte
22
WannaCry é um malware do Windows. Um vírus unix pode ser gravado explorando esse problema não relacionado com essa implementação não relacionada do mesmo protocolo, mas isso não tem nada a ver com o malware do Windows. Esse link que você fornece ao WannaCry for Linux é uma farsa, pois ao escanear a fonte, ele se parece com a saída de algum software gráfico "faça seu próprio gui", sem nenhum programa real, mas uma GUI que não faz nada.
Ninguém
2
@ GAD3R usando meu iPhone com o Google Translate / modo de câmera, os comentários em chinês dizem que a fonte não está completa. Eu recomendaria refazer a pergunta em torno do CVE, excluindo o link do github e não sobre o ransomware que ainda não existe; ou se você ainda quer contornar essa ideia, tornando explícita a ligação github é apenas um mock-up dessa ideia
Rui F Ribeiro
8
@ GAD3R Sim, se alguém puder acessar meu sistema remotamente com altos privilégios, será muito menos trabalhoso usar utilitários nativos do Linux para criptografar meu disco rígido e escrever uma GUI QT como essa na brincadeira. Todos os recursos reais (ou seja, propagação) do WannaCry dependem das explorações do Windows. Mencionar "WannaCry" é isca de cliques, pura e simples.
Ninguém
6
@ Ninguém Para ser justo, acredito que o OP está de boa fé e não está ciente de ser apenas uma GUI; não somos nativos chineses para ler os comentários e, como ele próprio diz, ele não é muito versado na leitura de código-fonte; OMI os paralelos entre as duas vulnerabilidades, fornecendo os horários também são apropriados. Dê uma folga. No entanto, as implicações do próprio CVE são preocupantes.
Rui F Ribeiro
3
OMI Eu não recomendaria fechar a questão, se alguém tiver uma idéia diferente, vá em frente. Reescrevi o texto da pergunta para não mencionar um ransomware que ainda não foi criado. A solução alternativa que mencionei foi pelo menos útil em um sistema legado que ainda temos.
Rui F Ribeiro

Respostas:

102

Essa nova vulnerabilidade do Samba já está sendo chamada "Sambacry", enquanto a própria exploração menciona "Eternal Red Samba", anunciado no twitter (sensacionalmente) como:

Bug do Samba, o metaploit de uma linha para acionar é apenas: simple.create_pipe ("/ path / to / target.so")

As versões potencialmente afetadas do Samba são do Samba 3.5.0 a 4.5.4 / 4.5.10 / 4.4.14.

Se a sua instalação do Samba atender às configurações descritas abaixo, a correção / atualização deve ser feita o mais rápido possível, pois já existem explorações , outras explorações nos módulos python e metasploit por aí.

O mais interessante é que já existem complementos para um honeypot conhecido do projeto honeynet , dionaea para os plug-ins WannaCry e SambaCry .

O grito de samba parece já estar sendo (ab) usado para instalar mais mineradores de criptografia "EternalMiner" ou dobrar como um conta-gotas de malware no futuro .

honeypots criados pela equipe de pesquisadores da Kaspersky Lab capturaram uma campanha de malware que está explorando a vulnerabilidade do SambaCry para infectar computadores Linux com software de mineração de moedas criptográficas. Outro pesquisador de segurança, Omri Ben Bassat, descobriu independentemente a mesma campanha e a chamou de "EternalMiner".

A solução alternativa recomendada para sistemas com o Samba instalado (que também está presente no aviso do CVE) antes de atualizá-lo, está adicionando smb.conf:

nt pipe support = no

(e reiniciando o serviço Samba)

Isso deve desabilitar uma configuração que ativa / desativa a capacidade de fazer conexões anônimas ao serviço de pipes nomeados do IPC do Windows. De man samba:

Essa opção global é usada pelos desenvolvedores para permitir ou não aos clientes Windows NT / 2000 / XP a capacidade de fazer conexões com pipes SMC IPC $ específicos para NT. Como usuário, você nunca precisará substituir o padrão.

No entanto, a partir de nossa experiência interna, parece que a correção não é compatível com as mais antigas? Versões do Windows (pelo menos alguns clientes do Windows 7 parecem não funcionar com o nt pipe support = no) e, como tal, a rota de correção pode ir em casos extremos para instalar ou mesmo compilar o Samba.

Mais especificamente, essa correção desabilita a listagem de compartilhamentos de clientes Windows e, se aplicada, eles precisam especificar manualmente o caminho completo do compartilhamento para poder usá-lo.

Outra solução conhecida é garantir que os compartilhamentos do Samba estejam montados com a noexecopção Isso impedirá a execução de binários residentes no sistema de arquivos montado.

O patch oficial do código fonte de segurança está aqui na página de segurança do samba.org .

O Debian já lançou ontem (24/5) uma atualização e o aviso de segurança correspondente DSA-3860-1 samba

Para verificar se a vulnerabilidade foi corrigida no Centos / RHEL / Fedora e derivados, faça:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Agora existe um nmapscript de detecção: samba-vuln-cve-2017-7494.nse para detectar versões do Samba, ou um nmapscript muito melhor que verifica se o serviço está vulnerável em http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse , copie-o /usr/share/nmap/scriptse atualize o nmapbanco de dados ou execute-o da seguinte maneira:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

Sobre medidas de longo prazo para proteger o serviço SAMBA: O protocolo SMB nunca deve ser oferecido diretamente à Internet em geral.

Também não é preciso dizer que o SMB sempre foi um protocolo complicado e que esse tipo de serviço deve ser protegido por firewall e restrito às redes internas [às quais estão sendo servidos].

Quando o acesso remoto é necessário, tanto em casa quanto em redes corporativas, esses acessos devem ser melhor realizados com a tecnologia VPN.

Como sempre, nessas situações, o princípio Unix de apenas instalar e ativar os serviços mínimos necessários compensa.

Retirado da própria exploração:

Exploração eterna do samba vermelho - CVE-2017-7494.
Faz com que o servidor Samba vulnerável carregue uma biblioteca compartilhada no contexto raiz.
As credenciais não serão necessárias se o servidor tiver uma conta de convidado.
Para exploração remota, você deve ter permissões de gravação para pelo menos um compartilhamento.
O Eternal Red irá procurar no servidor Samba os compartilhamentos nos quais pode gravar. Também determinará o caminho completo do compartilhamento remoto.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

Também é conhecido que os sistemas com o SELinux ativado não são vulneráveis ​​à exploração.

Veja falha de samba de 7 anos permite que hackers acessem milhares de PCs Linux remotamente

De acordo com o mecanismo de busca de computadores Shodan, mais de 485.000 computadores habilitados para Samba expuseram a porta 445 na Internet e, de acordo com pesquisadores do Rapid7, mais de 104.000 endpoints expostos à Internet pareciam estar executando versões vulneráveis ​​do Samba, das quais 92.000 são executando versões não suportadas do Samba.

Como o Samba é o protocolo SMB implementado nos sistemas Linux e UNIX, alguns especialistas dizem que é a "versão Linux do EternalBlue", usada pelo ransomware WannaCry.

... ou devo dizer SambaCry?

Tendo em mente o número de sistemas vulneráveis ​​e a facilidade de explorar essa vulnerabilidade, a falha do Samba pode ser explorada em larga escala com recursos utilizáveis.

As redes domésticas com dispositivos NAS (Network-Attached Storage) [que também executam o Linux] também podem estar vulneráveis ​​a essa falha.

Veja também Um bug de execução de código que se esconde no Samba há 7 anos. Patch agora!

A falha de sete anos, indexada como CVE-2017-7494, pode ser explorada de maneira confiável com apenas uma linha de código para executar código malicioso, desde que sejam cumpridas algumas condições. Esses requisitos incluem computadores vulneráveis ​​que:

(a) torne a porta 445 de compartilhamento de arquivos e impressoras acessível na Internet,
(b) configure os arquivos compartilhados para terem privilégios de gravação e
(c) use caminhos de servidor conhecidos ou imagináveis ​​para esses arquivos.

Quando essas condições são satisfeitas, os atacantes remotos podem fazer upload de qualquer código de sua escolha e fazer com que o servidor o execute, possivelmente com privilégios de root sem restrições, dependendo da plataforma vulnerável.

Dada a facilidade e a confiabilidade das explorações, vale a pena conectar esse buraco o mais rápido possível. Provavelmente é apenas uma questão de tempo até que os atacantes comecem a alvejar ativamente.

Também Rapid 7 - Patching CVE-2017-7494 no Samba: É o Círculo da Vida

E mais SambaCry: o Linux Sequel to WannaCry .

Fatos Necessários

CVE-2017-7494 possui uma pontuação CVSS de 7,5 (CVSS: 3,0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Escopo da ameaça

Uma consulta shodan.io de "port: 445! Os: windows" mostra aproximadamente um milhão de hosts não Windows que possuem o tcp / 445 aberto na Internet, mais da metade dos quais existe nos Emirados Árabes Unidos (36%) e no EUA (16%). Embora muitos deles estejam executando versões corrigidas, tenham proteções SELinux ou não correspondam aos critérios necessários para executar a exploração, a superfície de ataque possível para esta vulnerabilidade é grande.

PS A correção de confirmação no projeto do github SAMBA parece estar em execução 02a76d86db0cbe79fcaf1a500630e24d961fa149

Rui F Ribeiro
fonte
2
Você é bem vindo. Eu acrescentaria que no meu fuso horário, atuei no aviso de segurança do Debian ontem por volta das 9h
Rui F Ribeiro
6
Ao contrário do Windows, porém, o Samba não está ativado por padrão na maioria das distribuições Linux, certo?
Raphael #
11
@raphael De fato, mas se eu recebesse um centavo por cada servidor que encontrei com o conjunto completo de DVDs principais instalados ... editei um pouco a resposta para abordar essa ideia.
Rui F Ribeiro
9
Até onde eu sei, o script nmap apenas verifica a versão do samba, não se você está vulnerável. AFAICT, para explorar a vulnerabilidade, é preciso poder fazer upload de arquivos para o servidor. Portanto, a vulnerabilidade não é tão séria quanto a do Eternalblue Windows. Se você permitir o upload de arquivos pela Internet sem autenticação, há um problema se o samba é vulnerável ou não.
Stéphane Chazelas
11
@ StéphaneChazelas obrigado, ainda não tive tempo de conferir o script #
Rui F Ribeiro
21

A maioria de nós executando servidores Samba por aí provavelmente o está executando dentro de LANs, atrás de firewalls e não expõe suas portas diretamente para o mundo externo.

Seria uma prática terrível se você o fizesse e indesculpável quando houver soluções VPN simples, eficazes e gratuitas (como na cerveja e na fala) como o OpenVPN. O SMB não foi projetado com a Internet aberta em mente (diabos, o TCP / IP chegou como uma reflexão tardia nesse protocolo) e deve ser tratado como tal. Sugestão adicional está sendo executado regras de firewall no host de compartilhamento de arquivos real que whitelist endereços de rede única locais (e, eventualmente, VPN) em todas as portas SMB ( 139/TCP, 445/TCP, 137/UDPe 138/UDP).

Além disso, se o seu caso de uso permitir, considere executar o Samba sem privilégios (como, digamos, sambausuário que não seja o apelido de root). Entendo que não é tão fácil casar limitações de ACLs NT com ACLs POSIX com essa configuração, mas se for possível fazer isso em sua configuração específica, é o caminho a seguir.

Finalmente, mesmo com esse "bloqueio", ainda é aconselhável aplicar um patch, se possível (porque existem caixas NAS por aí onde isso pode não ser possível) e testar se o seu caso de uso específico funciona como nt pipe supportdefinido no.

Bojan Markovic
fonte
4
“É acessível apenas na intranet” é provavelmente o que alguns administradores de empresas onde o WannaCry difundiu.
Carsten S