CSRFT
lorem ipsum
Lorem ipsum
Paul AMAR
a propos de ... ?
- Récapitulatif d'attaques CSRF
-
Présentation de l'outil
- 2 démos
-
Problèmes au sein d'applications Web
-
Comment se protéger ?
-
Petite surprise
# whoami
- Étudiant à l'Ensimag (Grenoble)
- Passionné de sécurité (Web)
- Développeur Open Source
Twitter: @PaulWebSec
Github: PaulSec
recapitulatif
Fig. Exploitation 'classique' de vulnérabilité CSRF
pourquoi csrft?
J'avais besoin de quelque chose qui soit:
- Léger
- Multi-plateforme
- Open Source
- Et qui combine les attaques CSRF!
Résultat? Rien.
comment ça marche?
Fig. Utilisation de CSRFT
Comment?
-
HTTP Server développé en Node.js
- Reproduit des requêtes GET/POST
- Crée les formulaires "à la volée"
- Client/Server codés en JavaScript
- Communication en JSON
plus, plus, plus ...
- Possibilité de créer des scénarios
- En combinant les CSRFs
-
2 méthodes d'attaque possibles pour le moment
- Attaque spéciale
Eg. Changer le mot de passe
-
Attaque par dictionnaire
Eg. Connecter l'utilisateur
et quelques outils...
- Proxy JavaScript
Altère requêtes HTTP, injecte une iframe malicieuse dans le HTML
Inspiré de Chema Alonso et de sa présentation:
Owning Bad Guys {And Mafia} With Javascript Botnets @ Defcon 20
- Outil Python
En ligne de commande et qui automatise l'exploitation de failles CSRF
quelques demos?
DEMO (1/2)
Combinaison d'attaques CSRF
-
Logguer l'utilisateur
- Lui changer son mot de passe
- Déconnecter l'utilisateur
Attaque entièrement transparente
Demo (2/2)
Démo avec l'outil en ligne de commande
- Attaque automatique qui utilise l'outil en ligne de commande.
- Génère les fichiers de configurations, formulaires pour changer le mot de passe de la (les) victime(s)
Mauvais design dans web app (1/2)
Le reste de l'application
est donc vulnérable
Mauvais design dans web app (2/2)
son mot de passe
Vulnérable si les identifiants sont "faibles'
exemple irl
- Box internet "sécurisé"
- Jeton de sécurité pour éviter les CSRF..
- Sauf une page: login.cgi
- Permet de se logguer, changer le mot de passe...
- En étant non-authentifié.
comment se protéger?
- Jeton de sécurité
- Aléatoire
- Généré/Validé côté serveur
- L'un des mécanismes les plus utilisés
- Re-Authentication
- Si le mot de passe est faible? Vulnérable.
-
Captcha, Timeout, NoScript (with) ABE
SURPRISE?
- Machine virtuelle
- Hébergée sur VulnHub
- Vous devez exploiter (entre autre) une vulnérabilité CSRF...
Bon courage!
Questions ?
Code sur GitHub: https://github.com/PaulSec/CSRFT/
ESIEA Secure Edition - 2014
By paul38
ESIEA Secure Edition - 2014
Présentation de CSRFT à ESIEA Secure Edition. (2014)
- 1,785