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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pentest_teamcity — Pentest TeamCity usando Metasploit | Kitploit
Ferramentas/GitHubGitHub/kacperszurek/pentest_teamcity
Frameworks de ExploraçãoGeração de PayloadsExploração de Aplicações WebPós-ExploraçãoTestes de PenetraçãoRed Teaming
GitHubkacperszurek/pentest_teamcity

pentest_teamcity

Pentest TeamCity usando Metasploit

Ver Repositório
45819há 8 anosRevisado pelo Kitploit

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

Pentest TeamCity usando Metasploit

TL;DR: Obtenha senhas do JetBrains IDE (como IntelliJ ou PyCharm) e use essas credenciais dentro do TeamCity Continuous Integration Server para obter uma sessão meterpreter no servidor e em agentes de build usando metasploit por Kacper Szurek.

Módulo Jetbrains.rb

Shell no servidor

Shell nos agentes

Shell em agentes Windows

Comentário da JetBrains

Este é um comentário do fornecedor (equipe TeamCity da JetBrains) por Yegor Yarko:

A maior parte do conteúdo do artigo descreve como usuários maliciosos podem abusar do TeamCity se tiverem permissões devidamente concedidas para tal. Por exemplo, um usuário com função de Administrador do Sistema (concede controle total sobre o servidor) pode instalar um plugin malicioso do TeamCity ou obter um token para acesso de "super usuário" ao servidor. Além disso, um usuário com função de Administrador de Projeto pode executar código arbitrário no agente ou recuperar senhas de acesso a repositórios configuradas. Esse comportamento faz parte da funcionalidade fornecida pelo TeamCity como produto. Essas considerações estão descritas na seção relacionada da documentação do TeamCity.

Os problemas descritos indicam o quão perigoso pode ser fornecer privilégios elevados a um agente malicioso. Os mantenedores do servidor TeamCity devem revisar regularmente as permissões dos usuários para não conceder a usuários potencialmente maliciosos permissões que possam ser mal utilizadas; revisar as permissões de usuário convidado, se ativado. Outro ponto é não deixar terminais desatendidos enquanto estiver logado em qualquer lugar com permissões não triviais.

Duas preocupações reais de segurança são observadas no artigo, no entanto: uma está relacionada à publicação de um artefato de build malicioso e fazer com que um administrador o visualize no navegador; a outra é a escalação de permissão para executar um build personalizado para execução de código arbitrário em um agente do TeamCity. Esta última tem apenas efeitos menores na maioria das instalações do TeamCity, pois aqueles com essa permissão já têm regularmente a capacidade de executar qualquer código no agente.

No entanto, vamos abordar as preocupações acima em um dos próximos lançamentos do TeamCity e agradecemos por trazê-las ao nosso conhecimento.

Introdução

Vamos supor que você está realizando testes de penetração dentro de uma empresa de software que usa o stack da JetBrains. Você está usando o metasploit e obtém uma sessão meterpreter no computador do desenvolvedor.

O que você pode fazer em seguida? Há um artigo sobre pentest no TeamCity por Nikhil SamratAshok Mittal de 2015.

Neste post, combino diversas técnicas das Notas de Segurança e do BugTrack e as coloco em um módulo do Metasploit.

Nota: Não uso nenhum 0 day aqui. Para cada ação, você precisa de credenciais válidas do TeamCity. Veja Comentário da JetBrains.

Não sou responsável por nenhum dano causado por este script. Para segurança dos dados, use com set CLEANUP false.

Testado no TeamCity 2017.2.1 (build 50732).

Índice

  • Comentário da JetBrains
  • Instalação
  • Obter senhas do JetBrains IDE
    • Módulo metasploit JetBrains
  • Pentest no Servidor TeamCity
    • Shell no servidor
    • Shell nos agentes de build
    • Shell em agentes de build Windows
    • Super usuário
    • Credenciais salvas
    • Conta de administrador usando XSS
    • Usuário convidado
    • Módulo metasploit TeamCity
  • Solução de problemas

Instalação

Para decodificar o banco de dados KeePass, precisamos da biblioteca Ruby kdbx.

  1. Encontre o arquivo gem: find / -name "metasploit-framework.gemspec"
  2. Edite, para Kali Linux é: vim /usr/share/metasploit-framework/metasploit-framework.gemspec
  3. Adicione: spec.add_runtime_dependency 'kdbx', '0.2.0'
  4. cd /usr/share/metasploit-framework/ && bundle install

Agora você pode:

  1. mkdir ~/.msf4/modules/exploits && mkdir ~/.msf4/modules/post
  2. Copie teamcity.rb e serverplugin.zip para ~/.msf4/modules/exploits
  3. Copie jetbrains.rb para ~/.msf4/modules/post
  4. Execute o console do Metasploit msfconsole
  5. Recarregue os plugins reload_all

Obter senhas do JetBrains IDE

O TeamCity pode ser facilmente integrado com todos os IDEs JetBrains usando plugin.

Integração TeamCity - janela de login

Se a opção Lembrar-me for usada, as senhas são armazenadas usando a IntelliJ Platform Credentials Store API. Você pode encontrar o código fonte aqui.

A rotina de descriptografia no Windows se parece com isso:

Esquema de senhas

  1. O arquivo pdb.pw é descriptografado usando o Windows CryptUnprotectData. Isso significa que apenas o usuário que criptografou os dados pode decodificá-los.
  2. O blob é descriptografado usando AES-128-CBC com senha estática. Esta senha não muda e é a mesma para todos os produtos e instalações.
  3. O banco de dados KeePass c.kdbx pode agora ser descriptografado usando a Master Password do ponto 2
  4. As senhas são xored usando 0xDFAA

Por padrão, a Master Password é aleatória. Ela pode ser alterada nas opções:

Alterar Master Password

Mas isso não muda nada.

Significa apenas que o banco de dados KeePass c.kdbx será criptografado com uma senha diferente. O usuário local ainda pode obter facilmente essa senha do arquivo pdb.pw.

Módulo metasploit JetBrains

Baixar ferramenta