
O objetivo é fazer a triagem de ataques conhecidos e aprender como as equipes de segurança respondem rapidamente.
Neste laboratório, o objetivo era fazer a triagem de outra vulnerabilidade real e bem conhecida, a Log4Shell, uma das vulnerabilidades mais exploradas dos últimos anos, devido à grande disseminação da biblioteca afetada em softwares empresariais.
Eu fui ao National Vulnerability Database e pesquisei o CVE:
https://nvd.nist.gov/vuln/search#/nvd/home?resultType=records
Eu pesquisei por CVE-2021-44228 e abri a página de resultados.
Depois de ler a descrição, respondi algumas perguntas básicas para entender o que está realmente em risco:
Encontrei a pontuação CVSS e a string de vetor listadas na página:

Examinei a string de vetor parte por parte para ver o que cada componente realmente significava:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Essa é praticamente a pior string de vetor possível: nenhum privilégio necessário, nenhuma interação do usuário, acessível pela rede e ainda pode afetar sistemas fora do próprio componente vulnerável (Escopo: Alterado). Essa combinação é parte do motivo pelo qual a Log4Shell foi tratada como uma questão tão urgente e generalizada quando foi divulgada.
Eu verifiquei a seção Weakness Enumeration na página do NVD para este CVE.
A CWE listada é CWE-917: Improper Neutralization of Special Elements used in an Expression Language Statement. Em termos simples, isso significa que o software recebe uma entrada e a avalia como parte de uma expressão sem verificá-la adequadamente antes, o que permitiu que atacantes inserissem consultas JNDI maliciosas por meio de mensagens de log normais.


Eu considerei se trataria isso como risco maior ou menor em dois cenários diferentes.
Cenário 1: O software vulnerável está ativo e acessível. Risco maior. Essa vulnerabilidade permite que um atacante acesse e modifique declarações EL (Expression Language), afetando diretamente a confidencialidade e a integridade.
Cenário 2: O software vulnerável está instalado em uma máquina desligada e inacessível. Risco menor. Se o software vulnerável não puder ser acessado de forma alguma, a confidencialidade e a integridade permanecem intactas, já que não há como um atacante interagir com ele.
Dentre os CVEs em que fiz a triagem até agora, este se destacou pela pouca coisa que um atacante precisa para explorá-lo: nenhum privilégio, nenhuma interação do usuário, apenas acesso à rede, somado ao fato de que a vulnerabilidade poderia afetar sistemas além do próprio componente. É um bom exemplo de por que a Log4Shell causou uma correria tão generalizada na indústria quando foi divulgada.