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
Strumenti/GitHubGitHub/laliea/cve-2021-46398
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPhishingApprendimento e FormazioneLab e PraticaArchived
GitHublaliea/cve-2021-46398

CVE-2021-46398

Una prova di concetto per lo sfruttamento della vulnerabilità CVE-2021-46398.

Vedi Repository
492 anni 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-2021-46398 - Lalie ARNOUD, Gaspard ANDRIEU

In questo repository troverai una prova di concerto dello sfruttamento della vulnerabilità CVE-2021-46398 tramite docker compose, oltre a un'analisi degli impatti di questa vulnerabilità sui sistemi informativi.

root@kitploit:~
# Exploit Title: FileBrowser 2.17.2 - Cross Site Request Forgery (CSRF) to Remote Code Execution (RCE)
# Date: 05/02/2022
# Exploit Author: FEBIN MON SAJI
# Vendor Homepage: https://filebrowser.org/
# Software Link: https://github.com/filebrowser/filebrowser
# Version:
    FileBrowser <= 2.17.2
# Tested on: Ubuntu 20.04
# CVE : CVE-2021-46398

Cos'è FileBrowser?

Secondo il sito web di FileBrowser, FileBrowser è un popolare software del tipo crea-il-tuo-cloud che puoi installare su un server, puntarlo a un percorso e quindi accedere ai tuoi file tramite una piacevole interfaccia web sviluppata in linguaggio Go, con molte funzionalità. È un po' come Google Drive, tranne per il fatto che chiunque può possedere e ospitare la propria istanza.

Descrizione della vulnerabilità

Gli amministratori di FileBrowser possono creare più utenti, anche un altro utente con privilegi di amministratore, e dare accesso a qualsiasi directory desiderino. La creazione degli utenti è gestita da un endpoint . L'endpoint accetta input in formato per creare utenti, ma non verifica l'header il cui valore dovrebbe essere , e accetta invece ; ed è qui che nasce la vulnerabilità. Inoltre, l' non viene validata e non sono implementati token anti-. Pertanto un attaccante può facilmente sfruttare questa vulnerabilità per creare un utente backdoor con privilegi di amministratore e accesso alla home directory o a qualunque directory l'attaccante voglia, semplicemente inviando l'URL di una pagina web dannosa all'amministratore legittimo e accedendo all'intero filesystem del server (ulteriori spiegazioni di questo processo nella sezione dimostrazione).

/api/users
JSON
Content-Type
HTTP
application/json
text/plain
Origin
CSRF

Inoltre, un amministratore può eseguire comandi sul sistema, quindi questa vulnerabilità porta a una RCE.

Ecco un diagramma di sequenza che riassume il processo di attacco (Alice è l'attaccante e Bob l'amministratore e host dell'istanza FileBrowser):

root@kitploit:~
sequenceDiagram
Alice (hacker) ->> Alice (hacker): *Maliciously creates the malicious HTML page*
Alice (hacker) ->> Bob (admin): Here is a cool page! You must check that bro!
Bob (admin) ->> Alice (hacker): Thanks dude, let's open that!
Bob (admin) ->> Bob (admin): *Opens the page thinking it's something cool*
Bob (admin) -->> FileBrowser: *Sends a request to create a user without knowing it*
FileBrowser -->> FileBrowser: *Creates a new admin privileged user as requested*
Alice (hacker) ->> FileBrowser: Eheheh Bob is so dumb! *Connect to FileBrowser with the backdoor user*
FileBrowser ->> Alice (hacker): *Accept Alice connection with the new user created*
Alice (hacker) ->> FileBrowser: *Request shell access to FileBrowser with the appropriate button then makes sytem calls on Bob's computer*

Dimostrazione della vulnerabilità di sicurezza

L'obiettivo di questa dimostrazione è allestire una mini-architettura composta da due/tre macchine:

  • il tuo computer personale come computer dell'amministratore di FileBrowser da un lato, e come attaccante dall'altro.
  • un container Docker vulnerabile che simula un server FileBrowser remoto.

È un'architettura davvero semplificata il cui scopo è evidenziare l'aspetto tecnico della vulnerabilità.

Avvio dell'immagine della macchina vulnerabile

Per questo esperimento ti servirà solo docker.

In questa configurazione, la macchina target è basata su un'immagine FileBrowser v2.17.2 (che è vulnerabile a questo difetto), in cui l'unico account FileBrowser è l'account amministratore che ha admin/admin come login/password.

Avvio della macchina target:

root@kitploit:~
mkdir srv && docker compose up

Exploit

Creare la pagina web dannosa

Dal lato dell'attaccante, la pagina web dannosa ci permetterà di eseguire la chiamata API di FileBrowser e creare il nostro utente backdoor dal computer dell'amministratore.

Un esempio di tale pagina è fornito in questo repository con il nome index.html. È una semplice pagina HTML con un modulo nascosto che esegue una richiesta POST all'endpoint /api/users di FileBrowser con il payload nel nome dell'input. Questo payload crea un utente con privilegi di amministratore il cui login è "oui" e la password "oui", e viene attivato quando si fa clic sul pulsante.

Ovviamente avremmo potuto creare una pagina più carina e accattivante di questa e nascondere l'invio della richiesta HTTP in un altro elemento del sito; è solo per farti vedere l'aspetto tecnico dello sfruttamento della vulnerabilità. Ricorda che l'obiettivo di questa pagina web dannosa è essere aperta dall'amministratore di FileBrowser senza che questi sospetti nulla!

Eseguire l'exploit della pagina web inviando il modulo HTML

Dal lato dell'amministratore, stiamo tranquillamente svolgendo attività di amministrazione su FileBrowser. Vai su 127.0.0.1:8080 e accedi con le credenziali dell'amministratore admin/admin.

Poi, riceviamo la pagina web dannosa con qualsiasi mezzo, come in una email di phishing, ed eseguiamo l'azione che attiva l'exploit. Apri la pagina index.html e fai clic sul pulsante; questo lancia il payload.

Accedere all'utente backdoor di FileBrowser

Ora, tornando dal lato dell'attaccante, abbiamo un utente backdoor con privilegi di amministratore sul server FileBrowser.

Apri il tuo browser web preferito in modalità di navigazione privata per assicurarti di non utilizzare alcun mezzo di autenticazione dell'amministratore. Vai su localhost:8080 e accedi con le credenziali dell'utente backdoor oui/oui.

Congratulazioni! Ora hai accesso al filesystem del server FileBrowser e quindi a tutti i file degli utenti del server!

E poiché FileBrowser è una grande piattaforma con molte funzionalità, puoi avviare un'istanza del terminale premendo il pulsante "toggle shell"... prova a digitare whoami e fai quello che vuoi come root :)

Per consentire all'utente backdoor di usare i comandi shell, questi devono essere dichiarati esplicitamente nel payload. Vedi index.html per aggiungere i tuoi!

Correzione

La vulnerabilità è stata corretta a partire dalla versione v2.18.0. Le informazioni al riguardo sono disponibili sul loro GitHub. La patch non è stata molto costosa da implementare poiché ha richiesto solo 6 righe di codice modificate in un singolo file di programma. Poiché la vulnerabilità derivava dal fallimento del parsing (cfr. descrizione della vulnerabilità), è bastato garantire che ogni richiesta fosse analizzata nel formato application/json prima di essere elaborata per qualsiasi altra cosa.

Glossario

  • CSRF: Cross-Site Request Forgery
  • CVE: Common Vulnerabilities and Exposures
  • POST: HTTP method
  • RCE: Remote Code Execution

Riferimenti

  • CVE-2021-46398
  • ExploitDB
  • Esempio di exploit
  • Patch di sicurezza dal GitHub di FileBrowser
  • Thread dell'issue dal GitHub di FileBrowser

Questo lavoro è stato svolto nell'ambito del corso di Sicurezza dei Sistemi Informativi tenuto nell'ultimo anno della specializzazione in Ingegneria dei Sistemi Informativi presso Grenoble INP - Ensimag, UGA.

Scarica lo strumento