XML Decoder Exploit
XML Decoder
XML Decoder é uma classe Java usada para ler documentos XML que foram criados com XML Encode.
A vulnerabilidade ocorre quando a deserialização implementada na classe XML Decode é executada sem validar os dados inseridos pelo usuário da aplicação.
A classe XML Decoder pode usar diversos métodos para construir um objeto e quando não há validação dos dados, é possível fazer a execução de comandos e também estabelecer uma conexão com o servidor da aplicação vulnerável.
PoC - Prova de Conceito
Ao fazer o upload de um arquivo na aplicação, identificamos o uso da classe XML Decode na resposta.
Identificado o uso da classe XML Decoder
Para validar a vulnerabilidade, usamos a classe Runtime e o método exec para iniciar em modo listening a ferramenta Netcat na porta 9292. Em seguida, consigo acessar o servidor vulnerável ao conectar na porta em modo "de escuta".
O comando representado pelo payload abaixo é:
nc -l -p 9292 -e /bin/sh
Payload para executar a ferramenta Netcat e habilitar a porta 9292 em modo listening.
Na exploração dessa vulnerabilidade, a conexão estabelecida é do tipo Bind. Nesse tipo de conexão, o servidor-alvo fica em "listening" e o atacante estabelece a conexão.
Conexão iniciada a partir da máquina Kali com o servidor-alvo.
Comando para visualizar o UUID
blkid
Em um cenário onde não é possível estabelecer a shell com o servidor-alvo, é possível apenas executar comandos remotamente usando o método exec da classe Runtime.
Disponibilizei os payload no Github HackingBR.
[+] Referências:
[+] Pentester Lab
[+] ROOTCON
Comentários
Postar um comentário