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
CVE-2024-31218-WEBHOOD-LAB — Lab basato su Docker che riproduce CVE-2024-31218, una vulnerabilità di creazione admin non autenticata in PocketBase all'interno di Webhood, con PoC, rilevamento e verifica della remediation. | Kitploit
Strumenti/GitHubGitHub/chandrimanath04-hue/cve-2024-31218-webhood-lab
Analisi delle VulnerabilitàExploitSicurezza WebPenetration TestingAutenticazioneApprendimento e FormazioneLab e Pratica
GitHubchandrimanath04-hue/cve-2024-31218-webhood-lab

CVE-2024-31218-WEBHOOD-LAB

Lab basato su Docker che riproduce CVE-2024-31218, una vulnerabilità di creazione admin non autenticata in PocketBase all'interno di Webhood, con PoC, rilevamento e verifica della remediation.

Vedi Repository
17h 12m faNon ancora revisionato

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 →
Condividi

CVE-2024-31218 — Webhood / PocketBase Authentication Bypass Lab

Panoramica

Questo progetto è un laboratorio controllato di ricerca sulla sicurezza e riproduzione di vulnerabilità per CVE-2024-31218, una vulnerabilità critica di autenticazione che interessa le versioni di Webhood precedenti alla 0.9.1.

La vulnerabilità è correlata alla creazione non autenticata di un account amministratore PocketBase quando non esiste alcun account amministratore. Un attaccante in grado di raggiungere l'API interessata potrebbe essere in grado di creare un account amministrativo senza autenticazione preventiva.

L'obiettivo di questo laboratorio è:

  • Ricercare CVE-2024-31218
  • Comprenderne la causa principale e la superficie di attacco
  • Riprodurre la vulnerabilità in un ambiente isolato
  • Dimostrare il rilevamento del comportamento vulnerabile
  • Documentare le configurazioni vulnerabili e corrette
  • Spiegare la remediation e la verifica
  • Fornire artefatti di laboratorio riproducibili basati su Docker

Sicurezza: Questo progetto è destinato esclusivamente a un ambiente di laboratorio locale isolato. L'applicazione vulnerabile non deve mai essere esposta a Internet pubblico né utilizzata contro sistemi senza autorizzazione.


1. Informazioni sulla vulnerabilità

CampoDettagli
CVECVE-2024-31218
ProgettoWebhood
Versioni interessateWebhood <= 0.9.0
Versione correttaWebhood 0.9.1
GravitàCritica
CVSS v3.19.8
CWECWE-306 — Missing Authentication for Critical Function
Vettore di attaccoRete
Complessità di attaccoBassa
Privilegi richiestiNessuno
Interazione utenteNessuna
RiservatezzaAlta
IntegritàAlta
DisponibilitàAlta

Vettore CVSS

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
2. Descrizione della vulnerabilità

CVE-2024-31218 è causata da una protezione di autenticazione insufficiente attorno alla creazione dell'amministratore nell'applicazione Webhood/PocketBase interessata.

Quando l'applicazione non ha alcun account amministratore configurato, la funzionalità di creazione dell'amministratore può essere raggiunta senza autenticazione.

Un attaccante in grado di raggiungere l'API interessata può quindi tentare di creare il primo account amministratore.

Un'exploit riuscita può comportare l'accesso amministrativo all'applicazione.

La vulnerabilità è classificata come:

CWE-306: Missing Authentication for Critical Function
3. Versioni interessate e corrette

L'intervallo vulnerabile è:

Webhood <= 0.9.0

La vulnerabilità è stata corretta in:

Webhood 0.9.1

La versione corretta dovrebbe quindi essere utilizzata per la verifica della remediation.

4. Superficie di attacco

La superficie di attacco rilevante è l'API amministrativa di PocketBase.

La funzionalità vulnerabile riguarda la creazione dell'account amministratore.

Concettualmente, il flusso di attacco è:

Attaccante
   |
   | Richiesta HTTP
   v
Webhood / PocketBase API
   |
   | Endpoint di creazione amministratore
   v
Creazione account amministratore
   |
   v
Accesso amministrativo non autorizzato

L'attacco non richiede una sessione autenticata esistente quando è presente la condizione vulnerabile dell'amministratore iniziale.

5. Causa principale

La causa principale è un fallimento del controllo di autenticazione.

La funzionalità di creazione dell'amministratore non limitava sufficientemente l'accesso quando non esisteva alcun account amministratore.

Il confine di sicurezza dovrebbe garantire che la funzionalità amministrativa privilegiata non possa essere abusata da un client remoto non autenticato.

Il comportamento vulnerabile rappresenta quindi un controllo di autenticazione mancante attorno a un'operazione sensibile per la sicurezza.

6. Architettura del laboratorio controllato

Il laboratorio riproduce il comportamento dell'API amministrativa di PocketBase
alla base di CVE-2024-31218.

L'ambiente Docker utilizza direttamente il componente PocketBase anziché
pretendere di impacchettare l'applicazione completa Webhood 0.9.0.

L'architettura del laboratorio è:

+-------------------------+
|       Host Machine      |
|                         |
|  PowerShell / Python    |
+------------+------------+
             |
             | 127.0.0.1:8090
             v
+-------------------------+
|     Docker Container    |
|                         |
|  +-------------------+  |
|  |    PocketBase     |  |
|  | Administrative API|  |
|  +-------------------+  |
|                         |
+-------------------------+

Il servizio è associato solo a localhost e non è destinato ad essere esposto
a Internet pubblico.

Tutte le credenziali utilizzate durante la riproduzione sono credenziali sintetiche di laboratorio.

7. Struttura del repository
CVE-2024-31218-WEBHOOD-LAB/
│
├── README.md
│
├── vulnerable/
│   ├── Dockerfile
│   └── docker-compose.yml
│
├── exploit/
│   └── reproduce.py
│
├── detection/
│   └── detect.py
│
├── patched/
│   └── README.md
│
├── evidence/
│   └── README.md
│
└── blog/
    └── CVE-2024-31218-Technical-Blog.pdf

8. Ambiente vulnerabile

L'ambiente vulnerabile è progettato per riprodurre il comportamento dell'API amministrativa
di PocketBase associato a CVE-2024-31218 in un container Docker isolato.

Il laboratorio utilizza PocketBase direttamente come componente interessato anziché
pretendere di riprodurre l'applicazione completa Webhood 0.9.0.

La configurazione Docker:

- Costruirà l'ambiente di laboratorio.
- Avvierà PocketBase localmente.
- Assocerà il servizio a localhost.
- Manterrà il servizio isolato da sistemi esterni.
- Fornirà un ambiente riproducibile per i test.
- Consentirà allo script di riproduzione di interagire con l'API amministrativa.

Il laboratorio attuale utilizza un account amministratore sintetico e non
contiene dati utente o credenziali reali.

9. Metodologia di riproduzione

La procedura di riproduzione è progettata solo per il laboratorio locale.

Passo 1 — Avviare il container vulnerabile
docker compose up --build
Passo 2 — Verificare il servizio

Confermare che il servizio PocketBase utilizzato per il laboratorio a livello di componente risponda localmente.

Passo 3 — Eseguire lo script di riproduzione controllato

Lo script di riproduzione invierà la richiesta pertinente all'istanza vulnerabile locale.

Esempio:

python exploit/reproduce.py
Passo 4 — Osservare la risposta

La risposta dovrebbe dimostrare se l'applicazione accetta la richiesta non autenticata di creazione dell'amministratore.

Passo 5 — Verificare lo stato risultante

Il laboratorio dovrebbe verificare se è stato creato un account amministratore.

Non deve mai essere utilizzato alcun target esterno.

10. Rilevamento

Il rilevamento dovrebbe identificare gli indicatori associati ai tentativi non autorizzati di creazione dell'amministratore.

I potenziali indicatori includono:

Richieste alla funzionalità di creazione dell'amministratore
Richieste non autenticate agli endpoint amministrativi
Creazione imprevista di un primo account amministratore
Richieste HTTP provenienti da un client imprevisto
Tentativi ripetuti di creazione dell'amministratore
Creazione di account amministratore immediatamente dopo l'inizializzazione dell'applicazione

Lo script di rilevamento si trova in:

detection/detect.py

11. Remediation

La remediation principale consiste nell'aggiornare Webhood alla versione corretta:

Webhood 0.9.1

La versione vulnerabile non deve essere utilizzata in produzione.

Una soluzione alternativa documentata consiste nel limitare l'accesso alla funzionalità dell'API amministrativa interessata quando non è possibile eseguire immediatamente un aggiornamento.

Dopo la remediation:

Arrestare il container vulnerabile.
Sostituire la versione vulnerabile con la versione corretta.
Ricostruire il container.
Avviare l'ambiente corretto.
Ripetere il tentativo di riproduzione.
Confermare che il comportamento vulnerabile non sia più possibile.
Esaminare i log dell'applicazione per richieste amministrative impreviste.

12. Remediation e verifica

La correzione ufficiale di Webhood per CVE-2024-31218 è stata verificata utilizzando la release sorgente effettiva di Webhood `v0.9.1`.

Il commit di correzione è:

`735e7fa2814edeec9a2c07778ed51b3c018609f9`

La correzione aggiunge la migrazione:

`src/backend/migrations/1712252550_generate_random_admin.js`

La migrazione verifica se esiste già un amministratore. Se non esiste alcun amministratore, crea un account amministratore con una password generata casualmente. Ciò impedisce a un richiedente non autenticato di rivendicare il primo amministratore tramite l'endpoint esposto `/api/admins`.

#### Procedura di verifica

1. È stato effettuato il checkout del tag sorgente ufficiale di Webhood `v0.9.1`.
2. Il backend è stato compilato localmente dal sorgente ufficiale utilizzando il suo Dockerfile.
3. L'immagine risultante è stata eseguita su localhost alla porta `8091`.
4. La stessa richiesta non autenticata di creazione dell'amministratore utilizzata contro il laboratorio vulnerabile è stata riprodotta contro il backend corretto.
5. L'ambiente vulnerabile aveva precedentemente accettato la richiesta con HTTP `200`.
6. Il backend corretto `v0.9.1` ha rifiutato la stessa richiesta con HTTP `401`.

Risposta osservata nell'ambiente corretto:

```text
HTTP status: 401
{"code":401,"message":"The request requires valid admin authorization token to be set.","data":{}}

Ciò conferma che il percorso di attacco precedentemente dimostrato di creazione non autenticata dell'amministratore è stato bloccato nel backend Webhood v0.9.1 compilato localmente.

REMEDIATION VERIFIED: YES

Evidenza:

evidence/05-remediation-verified.png

13. Impatto sulla sicurezza

Un'exploit riuscita può fornire privilegi amministrativi a una parte non autorizzata.

Le potenziali conseguenze includono:

Accesso amministrativo non autorizzato
Modifica dei dati dell'applicazione
Esposizione delle informazioni dell'applicazione
Modifica o cancellazione di record
Ulteriore abuso amministrativo dell'applicazione

La gravità è quindi classificata come Critica secondo la valutazione CVSS pubblicata.

14. Evidenza

La directory evidence/ è destinata a contenere screenshot che dimostrano:

Avvio dell'applicazione vulnerabile
Stato del container Docker
Versione vulnerabile
Richiesta di riproduzione
Comportamento vulnerabile riuscito
Output del rilevamento
Versione corretta
Riproduzione fallita/bloccata dopo la remediation

Gli screenshot non devono contenere credenziali reali, informazioni personali, chiavi API o altri dati sensibili.

15. Limitazioni

Durante la preparazione di questo laboratorio, l'ambiente Windows locale ha riscontrato problemi nell'avvio del backend Docker Linux.

Windows ha restituito:

Error: 14098
The component store has been corrupted.

Anche le funzionalità Windows richieste erano inizialmente disabilitate:

VirtualMachinePlatform
Microsoft-Windows-Subsystem-Linux

Pertanto, qualsiasi risultato di riproduzione o screenshot deve distinguere accuratamente tra:

Ricerca sulla vulnerabilità
Configurazione del laboratorio
Procedura di riproduzione prevista
Riproduzione eseguita con successo

Nessuna esecuzione riuscita dell'exploit deve essere dichiarata a meno che non sia stata effettivamente eseguita nel laboratorio isolato.

16. Considerazioni sulla sicurezza

Questo progetto è destinato esclusivamente alla ricerca sulla sicurezza autorizzata.

Il laboratorio dovrebbe:

Essere eseguito localmente.
Evitare l'esposizione pubblica.
Evitare credenziali reali.
Evitare dati utente reali.
Evitare test contro sistemi di terze parti.
Utilizzare account di test usa e getta.
Utilizzare una rete Docker isolata.
Distruggere l'ambiente vulnerabile dopo i test.

Esempio di pulizia:

docker compose down
17. Riferimenti
National Vulnerability Database — CVE-2024-31218
Webhood security advisory
Webhood/PocketBase source repository
Fixing commit associated with CVE-2024-31218
CWE-306 — Missing Authentication for Critical Function
FIRST CVSS v3.1 specification
18. Disclaimer

Questo repository è un progetto di educazione alla cybersecurity e ricerca sulle vulnerabilità.

La configurazione vulnerabile è intenzionalmente riprodotta per test controllati. Non deve essere distribuita come servizio accessibile pubblicamente.

L'autore non si assume alcuna responsabilità per l'uso non autorizzato delle tecniche o degli artefatti contenuti in questo repository.
Scarica lo strumento