CVE-2021-44228: prova de conceito para vulnerabilidade crítica disponível de execução remota de código do Apache Log4j (Log4Shell)

Uma vulnerabilidade crítica na popular biblioteca de registro, Log4j 2, afeta uma série de serviços e aplicações, incluindo Minecraft, Steam e Apple iCloud. Os invasores começaram a procurar ativamente a falha e tentar explorá-la.
Atualização de 21 de dezembro: Em 17 de dezembro, fizemos uma publicação do blog de perguntas frequentes (FAQ) com informações sobre o Log4Shell e outras vulnerabilidades associadas. Para ver informações atualizadas, consulte a publicação no blog: CVE-2021-44228, CVE-2021-45046, CVE-2021-4104: Frequently Asked Questions About Log4Shell and Associated Vulnerabilities
Contexto
Em 9 de dezembro, os pesquisadores publicaram um código de exploração de prova de conceito (PoC) para uma vulnerabilidade crítica no Apache Log4j 2, uma biblioteca de criação de log Java usada por várias aplicações e serviços, incluindo, entre outros:
Chamado de Log4Shell pelos pesquisadores, a origem desta vulnerabilidade começou com relatos de que várias versões do Minecraft, o popular jogo sandbox, foram afetadas por esta vulnerabilidade.
there's a minecraft client & server exploit open right now which abuses a vulerability in log4j versions 2.0 - 2.14.1, there are proofs of concept going around already.
— ᵃᵈᵃᵐ (@twokilohertz) 9 de dezembro de 2021
Além disso, parece que os serviços em nuvem, como Steam e Apple iCloud, também foram afetados.
Esta vulnerabilidade é considerada tão grave que o CEO da Cloudflare planeja oferecer proteção para todos os clientes.
Análise
CVE-2021-44228 é uma vulnerabilidade de execução remota de código (RCE) no Apache Log4j 2. Um invasor remoto não autenticado pode explorar essa falha enviando uma solicitação especialmente criada para um servidor que executa uma versão vulnerável do log4j. A solicitação elaborada usa uma injeção de Java Naming and Directory Interface (JNDI) por meio de uma variedade de serviços, incluindo:
- Lightweight Directory Access Protocol (LDAP)
- Secure LDAP (LDAPS)
- Remote Method Invocation (RMI)
- Domain Name Service (DNS)
Se o servidor vulnerável usar o log4j para registrar as solicitações, a exploração solicitará uma carga maliciosa sobre JNDI por meio de um dos serviços acima de um servidor controlado pelo invasor. A exploração bem-sucedida pode resultar em uma RCE.
No caso do Minecraft, os usuários conseguiram explorar esta vulnerabilidade, enviando uma mensagem especialmente criada por meio do bate-papo do Minecraft.
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) 10 de dezembro de 2021
GreyNoise e Bad Packets detectaram atividade de verificação em massa em busca de servidores usando Log4j.
Mass scanning activity detected from multiple hosts checking for servers using Apache Log4j (Java logging library) vulnerable to remote code execution (https://t.co/GgksMUlf94).
— Bad Packets (@bad_packets) 10 de dezembro de 2021
Query our API for "tags=CVE-2021-44228" for source IP addresses and other IOCs. #threatintel
Agora há relatórios que indicam que essa vulnerabilidade está sendo usada para implantar mineradores de criptomoeda.
this log4shell payload is... a coin miner
— Kevin Beaumont (@GossiTheDog) 10 de dezembro de 2021
the vulnerability has arrived pic.twitter.com/XUR7I5ydpP
Prova de conceito
A primeira PoC para CVE-2021-44228 foi apresentada em 9 de dezembro antes do identificador CVE ser atribuído. No momento em que esta postagem do blog foi publicada haviam PoCs adicionais disponíveis no GitHub.
Solução
Embora o Apache tenha publicado, em 6 de dezembro, uma possível solução para abordar essa vulnerabilidade, ela estava incompleta. Em 10 de dezembro, o Apache lançou a versão 2.15.0.
O Log4j 2.15.0 requer o Java 8. Dessa forma, as organizações que usam o Java 7 precisarão fazer upgrade antes de poderem atualizar para a versão corrigida do Log4j.
O Apache informa que, se a correção não for possível imediatamente, há formas de mitigação que podem ser adotadas para impedir as tentativas de explorar esta vulnerabilidade. Conforme as informações fornecidas pelo Apache continuam a ser atualizadas, recomendamos consultar as orientações aqui.
Como o Log4j está incluído em várias aplicações Web e é usado por uma variedade de serviços na nuvem, demorará um pouco para saber o escopo completo dessa vulnerabilidade. No entanto, no momento em que esta postagem do blog foi feita, alguns produtos e serviços que foram confirmados como vulneráveis são:
Produto/Serviço | Confirmado como afetado |
---|---|
Minecraft | Sim |
Steam | Sim |
Apple iCloud | Sim |
Tencent | Sim |
Sim | |
Baidu | Sim |
Didi | Sim |
Cloudflare | Sim |
Amazon | Sim |
Tesla | Sim |
ElasticSearch | Sim |
Ghidra | Sim |
Um repositório do GitHub está sendo mantido para destacar a superfície de ataque desta vulnerabilidade.
Identificação de sistemas afetados
Uma lista de plug-ins da Tenable para identificar esta vulnerabilidade aparecerá aqui conforme eles são lançados. Além disso, gostaríamos de destacar os seguintes plug-ins (disponíveis no conjunto de plug-ins 202112112213 e posterior) :
Verificações remotas
- Plug-in ID 156014: detecção da RCE do Apache Log4Shell via correlação de retorno de chamada (Direct Check HTTP). Esta verificação remota pode ser usada para identificar a vulnerabilidade sem autenticação. Este plug-in é compatível com os verificadores na nuvem da Tenable.
- Plug-in ID 155998: RCE da substituição de pesquisa de mensagem do Apache Log4j (Log4Shell) (verificação direta). Este plug-in escuta uma conexão LDAP BIND de um host de destino. Ele não é compatível com os verificadores na nuvem do Tenable.io e pode falhar em retornar resultados em certas redes devido a regras de firewall ou interferência de outros dispositivos de segurança. Continuamos a explorar opções para detecção adicional e recomendamos que os clientes do verificador na nuvem do Tenable.io usem os quatro plug-ins a seguir.
Para obter uma visão geral dos retornos de chamada nos IDs de plug-in 156014 e 155998 acesse esta postagem na Comunidade Tenable.
Verificações de versão e detecção local (autenticação necessária)
- Plug-in ID 155999 - Apache Log4j < 2.15.0 Remote Code Execution
- Plug-in ID 156000 - Apache Log4j Installed (Unix)
- Plug-in ID 156001 - Apache Log4j JAR Detection (Windows)
- Plug-in ID 156002 - Apache Log4j < 2.15.0 Remote Code Execution
Além disso, um plug-in Tenable.io Web App Scanning (WAS) abrangente foi lançado e pode ser usado para testar campos de entrada que podem ser usados para explorar o Log4Shell.
- Plug-in ID 113075 - Apache Log4j Remote Code Execution (Log4Shell)
Para obter informações de suporte para cada um dos plug-ins acima, acesse esta postagem em nossa Comunidade Tenable.
A Tenable lançou modelos de verificações para o Tenable.io, o Tenable.sc e o Nessus Professional que são pré-configurados para permitir uma verificação rápida para esta vulnerabilidade. Além disso, os clientes do Tenable.io têm um novo painel e widgets na biblioteca de widgets. Os usuários do Tenable.sc também tem um novo painel Log4Shell. Para garantir que seu verificador tenha os plug-ins mais recentes disponíveis, a Tenable recomenda atualizar manualmente seu conjunto de plug-ins. Os usuários do Nessus, incluindo os verificadores do Tenable.io Nessus, podem usar o seguinte comando de CLI do Nessus:
nessuscli fix --secure --delete feed_auto_last
Para obter mais informações sobre como usar o nessuscli, consulte este artigo.
Os usuários do Tenable.sc podem atualizar manualmente os plug-ins usando os links [Atualizar] na IU "Plugins/Feed Configuration", conforme mostrado na captura de tela a seguir:
Organizações que atualmente não possuem um produto Tenable podem se inscrever para uma avaliação gratuita do Nessus Professional para verificar esta vulnerabilidade.
Obtenha mais informações
- Webinar: Vulnerability Alert - Responding to Log4Shell in Apache Log4j
- Apache Log4j2-3201: Limit the protocols jNDI can use and restrict LDAP
- Security Advisory: Apache Log4j2 remote code execution vulnerability (CVE-2021-44228)
- Log4Shell: RCE 0-day exploit found in log4j2, a popular Java logging package
- Apache Log4j 2 Release Page
- How Nessus Receives Plugins and Software Updates
Junte-se à equipe de resposta de segurança da Tenable na Tenable.
Saiba mais sobre a Tenable, a primeira plataforma de Cyber Exposure para o gerenciamento holístico da sua superfície de ataque moderna.
Obtenha uma avaliação gratuita por 30 dias do Vulnerability Management da Tenable.io.
Artigos relacionados
- Gerenciamento de vulnerabilidades