HTB Interpreter: Explorando Injeção em Template XML para Obter Acesso Root
Este artigo detalha um método de exploração de vulnerabilidades em templates XML para execução remota de comandos. O foco é a máquina 'Interpreter' da plataforma Hack The Box, utilizando o Mirth Connect para obter acesso root.
MundiX News·01 de junho de 2026·6 min de leitura·👁 13 views
HTB Interpreter: Explorando Injeção em Template XML para Obter Acesso Root
Se um serviço privilegiado insere dados de XML em um template sem filtragem adequada, essa falha pode ser explorada para executar comandos como outro usuário. Neste artigo, analisaremos uma injeção desse tipo, alcançando a execução remota de comandos através de um Mirth Connect vulnerável. Em seguida, nos conectaremos ao MariaDB, extrairemos o hash da senha e restauraremos o acesso via SSH.
Nosso objetivo é obter privilégios de superusuário na máquina Interpreter, parte da plataforma de aprendizado Hack The Box. O nível de dificuldade da máquina é médio e o sistema operacional é Linux.
Aviso: Recomenda-se conectar-se a máquinas do HTB utilizando ferramentas de anonimização e virtualização. Evite realizar este procedimento em computadores com dados importantes, pois você estará em uma rede compartilhada com outros participantes.
Reconhecimento
Escaneamento de Portas
Primeiro, adicionamos o endereço IP da máquina ao nosso arquivo /etc/hosts:
10.129.50.196 interpreter.htb
Em seguida, iniciamos o escaneamento de portas:
Referência: Escaneamento de Portas
O escaneamento de portas é um passo inicial padrão em qualquer ataque. Ele permite ao atacante descobrir quais serviços estão aceitando conexões no host. Com base nessas informações, o atacante escolhe o próximo passo para obter um ponto de entrada.
O instrumento mais conhecido para escaneamento é o Nmap. Você pode melhorar os resultados de seu trabalho com o auxílio do seguinte script:
Este script opera em duas etapas. Na primeira, é realizado um escaneamento rápido e comum. Na segunda, um escaneamento mais detalhado, utilizando scripts embutidos (opção -A).
Para mais detalhes sobre como trabalhar com o Nmap, leia o artigo "Nmap do zero: dominando o reconhecimento e o escaneamento de rede".
Resultado do Escaneamento:
O scanner encontrou três portas abertas:
22 - Serviço OpenSSH 9.2p1;
80 e 443 - Servidor web Eclipse Jetty.
Referência: Brute-force de Credenciais
Como não possuímos credenciais no início do processo, não faz sentido investigar serviços que sempre exigem autorização (como SSH). A única coisa que podemos fazer aqui é tentar senhas por brute-force, mas as máquinas do HTB quase sempre possuem outra forma de progressão. Na vida real, tais opções podem não existir, além disso, há chances de adivinhar a senha ou obtê-la através de engenharia social.
Ponto de Entrada
Na página principal do site, há um link para download do arquivo webstart.jnlp. Arquivos com a extensão .jnlp são descritores para o lançamento de aplicações Java através da tecnologia Java Web Start. Ao abrir o arquivo baixado em um editor de texto, é possível descobrir o endereço da aplicação a ser carregada e outras informações.
O arquivo webstart.jnlp revela que estamos lidando com o Mirth Connect, uma plataforma de integração de dados de saúde. A linha <argument>-url</argument> <argument>http://10.129.50.196:8443/api/v1/users/login</argument> indica o endpoint de login da API. A porta 8443 não estava aberta em nosso escaneamento inicial, o que sugere que o servidor web na porta 80/443 pode estar atuando como um proxy reverso ou que há um serviço adicional rodando em outra porta não escaneada inicialmente.
Ao investigar a porta 80/443, descobrimos que o servidor Eclipse Jetty está servindo a interface de administração do Mirth Connect. A vulnerabilidade aqui reside na forma como o Mirth Connect processa templates XML. Se um template XML é usado para gerar uma saída e os dados inseridos pelo usuário não são devidamente sanitizados, um atacante pode injetar código malicioso no template. No caso do Mirth Connect, é possível explorar essa falha para executar comandos no servidor.
Para explorar essa vulnerabilidade, precisamos encontrar um template XML que o Mirth Connect utilize para processar dados e que seja suscetível a injeção. Uma busca por "Mirth Connect XML injection vulnerability" pode revelar exploits conhecidos ou técnicas. Uma vez identificado o template vulnerável, podemos construir um payload XML que, ao ser processado, execute um comando arbitrário no sistema operacional. Por exemplo, poderíamos tentar executar um comando para ler arquivos sensíveis ou para criar um reverse shell.
Assumindo que encontramos um endpoint que aceita dados XML para processamento de template e que ele é vulnerável à injeção, o próximo passo seria enviar uma requisição maliciosa. Um payload típico poderia se parecer com algo que força a execução de um comando como id ou whoami para verificar a execução. Se isso for bem-sucedido, o próximo passo seria tentar obter um reverse shell para interagir mais livremente com o sistema. Isso pode ser feito enviando um comando que inicie uma conexão de rede de volta para a máquina do atacante, utilizando ferramentas como netcat ou bash com redirecionamento de rede.
Após obter um shell, mesmo que com privilégios limitados, o próximo objetivo é o Local Privilege Escalation (LPE). Isso envolve encontrar outras vulnerabilidades no sistema que permitam aumentar os privilégios de usuário. Isso pode incluir exploits de kernel, configurações inseguras de SUID/SGID, ou serviços rodando com privilégios elevados que podem ser explorados. No contexto desta máquina, a exploração do Mirth Connect pode ter nos dado acesso como um usuário de baixo privilégio. A partir daí, a busca por informações sobre o MariaDB e a extração de hashes de senha para acesso SSH se tornam os próximos passos lógicos para alcançar o acesso root.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
HTB Interpreter: Explorando Injeção em Template XML para Obter Acesso Root
Se um serviço privilegiado insere dados de XML em um template sem filtragem adequada, essa falha pode ser explorada para executar comandos como outro usuário. Neste artigo, analisaremos uma injeção desse tipo, alcançando a execução remota de comandos através de um Mirth Connect vulnerável. Em seguida, nos conectaremos ao MariaDB, extrairemos o hash da senha e restauraremos o acesso via SSH.
Nosso objetivo é obter privilégios de superusuário na máquina Interpreter, parte da plataforma de aprendizado Hack The Box. O nível de dificuldade da máquina é médio e o sistema operacional é Linux.
Aviso: Recomenda-se conectar-se a máquinas do HTB utilizando ferramentas de anonimização e virtualização. Evite realizar este procedimento em computadores com dados importantes, pois você estará em uma rede compartilhada com outros participantes.
Reconhecimento
Escaneamento de Portas
Primeiro, adicionamos o endereço IP da máquina ao nosso arquivo /etc/hosts:
10.129.50.196 interpreter.htb
Em seguida, iniciamos o escaneamento de portas:
Referência: Escaneamento de Portas
O escaneamento de portas é um passo inicial padrão em qualquer ataque. Ele permite ao atacante descobrir quais serviços estão aceitando conexões no host. Com base nessas informações, o atacante escolhe o próximo passo para obter um ponto de entrada.
O instrumento mais conhecido para escaneamento é o Nmap. Você pode melhorar os resultados de seu trabalho com o auxílio do seguinte script:
Este script opera em duas etapas. Na primeira, é realizado um escaneamento rápido e comum. Na segunda, um escaneamento mais detalhado, utilizando scripts embutidos (opção -A).
Para mais detalhes sobre como trabalhar com o Nmap, leia o artigo "Nmap do zero: dominando o reconhecimento e o escaneamento de rede".
Resultado do Escaneamento:
O scanner encontrou três portas abertas:
22 - Serviço OpenSSH 9.2p1;
80 e 443 - Servidor web Eclipse Jetty.
Referência: Brute-force de Credenciais
Como não possuímos credenciais no início do processo, não faz sentido investigar serviços que sempre exigem autorização (como SSH). A única coisa que podemos fazer aqui é tentar senhas por brute-force, mas as máquinas do HTB quase sempre possuem outra forma de progressão. Na vida real, tais opções podem não existir, além disso, há chances de adivinhar a senha ou obtê-la através de engenharia social.
Ponto de Entrada
Na página principal do site, há um link para download do arquivo webstart.jnlp. Arquivos com a extensão .jnlp são descritores para o lançamento de aplicações Java através da tecnologia Java Web Start. Ao abrir o arquivo baixado em um editor de texto, é possível descobrir o endereço da aplicação a ser carregada e outras informações.
O arquivo webstart.jnlp revela que estamos lidando com o Mirth Connect, uma plataforma de integração de dados de saúde. A linha <argument>-url</argument> <argument>http://10.129.50.196:8443/api/v1/users/login</argument> indica o endpoint de login da API. A porta 8443 não estava aberta em nosso escaneamento inicial, o que sugere que o servidor web na porta 80/443 pode estar atuando como um proxy reverso ou que há um serviço adicional rodando em outra porta não escaneada inicialmente.
Ao investigar a porta 80/443, descobrimos que o servidor Eclipse Jetty está servindo a interface de administração do Mirth Connect. A vulnerabilidade aqui reside na forma como o Mirth Connect processa templates XML. Se um template XML é usado para gerar uma saída e os dados inseridos pelo usuário não são devidamente sanitizados, um atacante pode injetar código malicioso no template. No caso do Mirth Connect, é possível explorar essa falha para executar comandos no servidor.
Para explorar essa vulnerabilidade, precisamos encontrar um template XML que o Mirth Connect utilize para processar dados e que seja suscetível a injeção. Uma busca por "Mirth Connect XML injection vulnerability" pode revelar exploits conhecidos ou técnicas. Uma vez identificado o template vulnerável, podemos construir um payload XML que, ao ser processado, execute um comando arbitrário no sistema operacional. Por exemplo, poderíamos tentar executar um comando para ler arquivos sensíveis ou para criar um reverse shell.
Assumindo que encontramos um endpoint que aceita dados XML para processamento de template e que ele é vulnerável à injeção, o próximo passo seria enviar uma requisição maliciosa. Um payload típico poderia se parecer com algo que força a execução de um comando como id ou whoami para verificar a execução. Se isso for bem-sucedido, o próximo passo seria tentar obter um reverse shell para interagir mais livremente com o sistema. Isso pode ser feito enviando um comando que inicie uma conexão de rede de volta para a máquina do atacante, utilizando ferramentas como netcat ou bash com redirecionamento de rede.
Após obter um shell, mesmo que com privilégios limitados, o próximo objetivo é o Local Privilege Escalation (LPE). Isso envolve encontrar outras vulnerabilidades no sistema que permitam aumentar os privilégios de usuário. Isso pode incluir exploits de kernel, configurações inseguras de SUID/SGID, ou serviços rodando com privilégios elevados que podem ser explorados. No contexto desta máquina, a exploração do Mirth Connect pode ter nos dado acesso como um usuário de baixo privilégio. A partir daí, a busca por informações sobre o MariaDB e a extração de hashes de senha para acesso SSH se tornam os próximos passos lógicos para alcançar o acesso root.
📤 Compartilhar & Baixar
📩 Newsletter MundiX
Receba novidades de cibersegurança + um checklist de pentest grátis. Sem spam.
Ao assinar você concorda em receber e-mails. Cancele quando quiser.