Jira & Confluence
Se sei interessato a una carriera nel hacking e a hackare l'inhackabile - stiamo assumendo! (richiesta di polacco fluente scritto e parlato).
Controlla i privilegi
In Jira, i privilegi possono essere controllati da qualsiasi utente, autenticato o meno, attraverso gli endpoint /rest/api/2/mypermissions
o /rest/api/3/mypermissions
. Questi endpoint rivelano i privilegi attuali dell'utente. Una preoccupazione notevole sorge quando gli utenti non autenticati detengono privilegi, indicando una vulnerabilità di sicurezza che potrebbe potenzialmente essere idonea per un bounty. Allo stesso modo, privilegi inaspettati per gli utenti autenticati evidenziano anche una vulnerabilità.
Un'importante aggiornamento è stato effettuato il 1° febbraio 2019, richiedendo all'endpoint 'mypermissions' di includere un parametro 'permission'. Questo requisito mira a migliorare la sicurezza specificando i privilegi richiesti: controllalo qui
ADD_COMMENTS
ADMINISTRARE
ADMINISTRARE_PROGETTI
UTENTE_ASSEGNA
ASSEGNA_ISSUE
BROWSE_PROGETTI
CAMBIO_MASSIVO
CHIUDI_ISSUE
CREA_ALLEGATI
CREA_ISSUE
CREA_PROGETTO
CREA_OGGETTI_CONDIVISI
ELIMINA_TUTTI_GLI_ALLEGATI
ELIMINA_TUTTI_I_COMMENTI
ELIMINA_TUTTI_I_WORKLOG
ELIMINA_ISSUE
ELIMINA_PROPRI_ALLEGATI
ELIMINA_PROPRI_COMMENTI
ELIMINA_PROPRI_WORKLOG
MODIFICA_TUTTI_I_COMMENTI
MODIFICA_TUTTI_I_WORKLOG
MODIFICA_ISSUE
MODIFICA_PROPRI_COMMENTI
MODIFICA_PROPRI_WORKLOG
COLLEGA_ISSUE
GESTISCI_ISCRIZIONI_FILTRI_GRUPPO
GESTISCI_PERMESSO_SPRINT
GESTISCI_GUARDIANI
MODIFICA_RAPPRESENTANTE
MUOVI_ISSUE
RISOLVI_ISSUE
PROGRAMMA_ISSUE
IMPOSTA_SICUREZZA_ISSUE
AMMINISTRATORE_DI_SYSTEM
TRANSIZIONE_ISSUE
SELETTORE_UTENTE
VISUALIZZA_DATI_AGGREGATI
VISUALIZZA_STRUMENTI_DEV
VISUALIZZA_WORKFLOW_DI_SOLI_LETTURA
VISUALIZZA_VOTANTI_E_GUARDIANI
LAVORA_SU_ISSUE
Esempio: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS
Enumerazione automatizzata
Plugin Atlassian
Come indicato in questo blog, nella documentazione sui moduli plugin ↗ è possibile controllare i diversi tipi di plugin, come:
Modulo Plugin REST ↗: Esporre endpoint API RESTful
Modulo Plugin Servlet ↗: Distribuire servlet Java come parte di un plugin
Modulo Plugin Macro ↗: Implementare Macro di Confluence, cioè modelli HTML parametrizzati
Questo è un esempio del tipo di plugin macro:
È possibile osservare che questi plugin potrebbero essere vulnerabili a vulnerabilità web comuni come XSS. Ad esempio, l'esempio precedente è vulnerabile perché riflette i dati forniti dall'utente.
Una volta trovato un XSS, in questo repo github puoi trovare alcuni payload per aumentare l'impatto dell'XSS.
Plugin Backdoor
Questo post descrive diverse azioni (maligne) che potrebbe eseguire un plugin Jira malevolo. Puoi trovare un esempio di codice in questo repo.
Queste sono alcune delle azioni che un plugin malevolo potrebbe eseguire:
Nascondere i Plugin dagli Amministratori: È possibile nascondere il plugin malevolo iniettando del javascript front-end.
Esfiltrare Allegati e Pagine: Permettere di accedere e esfiltrare tutti i dati.
Furto di Token di Sessione: Aggiungere un endpoint che restituirà gli header nella risposta (con il cookie) e del javascript che lo contatterà e esfiltrerà i cookie.
Esecuzione di Comandi: Ovviamente è possibile creare un plugin che eseguirà codice.
Reverse Shell: O ottenere una reverse shell.
Proxying DOM: Se Confluence è all'interno di una rete privata, sarebbe possibile stabilire una connessione attraverso il browser di un utente con accesso e, ad esempio, contattare il server eseguendo comandi attraverso di esso.
Se sei interessato a una carriera nel hacking e a hackare l'inhackabile - stiamo assumendo! (richiesta di polacco fluente scritto e parlato).
Last updated