Coronablue aka smbghost – Microsoft revela detalhes acidentalmente de RCE não autenticado no protocolo SMBv3.

A Microsoft vazou informações sobre uma atualização de segurança referente a uma vulnerabilidade wormable de execução remota de código (RCE) encontrada no protocolo de comunicação de rede Server Message Block 3.0 (SMBv3) que supostamente deveria ter sido divulgada como parte do Patch Tuesday deste mês (CVE-2020-0796).

 

A vulnerabilidade é causada por um erro na maneira como o SMBv3 lida com pacotes de dados compactados criados com códigos maliciosos; um invasor remoto não autenticado pode explorar a falha para executar código arbitrário no contexto do utilizador obtendo, tal como no Eternalblue, uma shell autenticada como SYSTEM.

“This indicates an attack attempt to exploit a Buffer Overflow Vulnerability in Microsoft SMB Servers. The vulnerability is due to an error when the vulnerable software handles a maliciously crafted compressed data packet. A remote, unauthenticated attacker can exploit this to execute arbitrary code within the context of the application.” reads the advisory published by Fortinet.

 

A vulnerabilidade CVE-2020-0796 afeta dispositivos a executar o Windows 10 versão 1903, Windows Server versão 1903 (instalação Server Core), Windows 10 versão 1909 e Windows Server versão 1909 (instalação Server Core). Segundo a Fortinet, outras versões da Microsoft devem também estar vulneráveis.

O conhecimento desta falha explorada in-the-wild pode causar grandes danos, tal como aconteceu com o Eternalblue. Este tipo de falhas é visto como uma arma de destruição maciça, uma vez que pode comprometer uma grande número de infraestruturas com tecnologia de ponta.

 

Mitigação

Esperando por uma atualização de segurança que resolva o problema, os especialistas da Cisco Talos recomendam desativar a compactação SMBv3 e bloquear a porta TCP 445 em computadores clientes e firewalls para atenuar o problema.

At the moment it appears the only way is to create a DWORD value under HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanManWorkstationParameters called CompressionEnabled and set its value to 0

— Niall Newman (@NiallNSec) March 10, 2020

 

De acordo com o BleepingComputer, embora uma maneira oficial de desativar a compactação SMBv3 não tenha sido partilhada pela Microsoft, Niall Newman, arquiteto de soluções da Foregenix Solutions, conseguiu descobrir após analisar o ficheiro  Srv2.sys que isso pode ser feito da seguinte forma:

1. Going to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
2. Creating a DWORD value called
3. Setting its value to 0.”

 

Update March 10, 2020

“Microsoft is aware of a remote code execution vulnerability in the way that the Microsoft Server Message Block 3.1.1 (SMBv3) protocol handles certain requests. An attacker who successfully exploited the vulnerability could gain the ability to execute code on the target SMB Server or SMB Client.” reads the advisory published by Microsoft.

“To exploit the vulnerability against an SMB Server, an unauthenticated attacker could send a specially crafted packet to a targeted SMBv3 Server. To exploit the vulnerability against an SMB Client, an unauthenticated attacker would need to configure a malicious SMBv3 Server and convince a user to connect to it.”

 

Proof-of-Concept code

Como meio de validar se determinados serviços estão vulneráveis, pode ser utilizado o seguinte PoC

#!/bin/bash
if [ $# -eq 0 ]
  then
    echo $'Usage:\n\tcheck-smb-v3.11.sh TARGET_IP_or_CIDR {Target Specification - Nmap}'
    exit 1
fi

echo "Checking if there's SMB v3.11 in" $1 "..."

nmap -p445 --script smb-protocols -Pn -n $1 | grep -P '\d+\.\d+\.\d+\.\d+|^\|.\s+3.11' | tr '\n' ' ' | tr 'Nmap scan report for' '@' | tr "@" "\n" | tr '|' ' ' | tr '_' ' ' | grep -oP '\d+\.\d+\.\d+\.\d+'

if [[ $? != 0 ]]; then
    echo "There's no SMB v3.11"
fi

 

 


One Reply to “Coronablue aka smbghost – Microsoft revela detalhes acidentalmente de RCE não autenticado no SMBv3”

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *