SRS Day – Conférence 17 novembre 2010 Par : Cyril Amar – amar_c Rémi Chaintron – chaint_r...
-
Upload
berdine-le-roy -
Category
Documents
-
view
109 -
download
1
Transcript of SRS Day – Conférence 17 novembre 2010 Par : Cyril Amar – amar_c Rémi Chaintron – chaint_r...
SRS Day – Conférence17 novembre 2010
Par :Cyril Amar – amar_cRémi Chaintron – chaint_rRomain Léonard – leonar_rArthur Obriot – obriot_aTom Pineau – pineau_tNicolas Stefanski
Sommaire
Introduction Présentation Typologie des attaques Outils Externes Recommandations Conclusion
2SRS Day @ EPITA - 17 novembre 2010
Introduction
Sites web de plus en plus complexes et dynamiques
De plus en plus d’implication des visiteurs (web 2.0)
De plus en plus de vulnérabilités… … dont le Cross Site Scripting
3SRS Day @ EPITA - 17 novembre 2010
Introduction
« Le fait d'accéder ou de se maintenir, frauduleusement, dans tout ou partie d'un système de traitement automatisé de données est puni de deux ans d'emprisonnement et de 30000 euros d'amende.
Lorsqu'il en est résulté soit la suppression ou la modification de données contenues dans le système, soit une altération du fonctionnement de ce système, la peine est de trois ans d'emprisonnement et de 45000 euros d'amende. »
Article 323-1 du Code Pénal
4SRS Day @ EPITA - 17 novembre 2010
Présentation
XSS, ou “Cross Site Scripting”: Vulnérabilité Web la plus (mal) connue. 2ème au Top 10 OWASP en 2007 et 2010. Concerne 80% des sites Web. Permet d’injecter et exécuter du code non
prévu sur un navigateur Web.
« XSS is the new buffer overflow, JavaScript malware is the new shellcode »
Jeremiah Grossman (XSS Attacks, 2007)
SRS Day @ EPITA - 17 novembre 2010 5
Exemples: 4 Juillet 2010: Attaques par le biais de
XSS permanent sur les commentaires de Youtube
21 Septembre 2010: Onmouseover Twitter Worm
4 Novembre 2010: Découverte d’une faille xss sur le site de la CIA
Présentation
SRS Day @ EPITA - 17 novembre 2010 6
Typologies des attaques
3 catégories d’attaques XSS XSS réflectif XSS persistant XSS hybride
3 modes d’attaques, et de propagation
SRS Day @ EPITA - 17 novembre 2010 7
Typologie des attaques> XSS réflectif
L’attaquant forge une URL, et la transmet à sa cible
http://www.domain.tld/p.php?p=<script>alert(1);</script>
Traitée par le serveur visé, cette URL retourne du Javascript malveillant
Exploitation simple, mais diffusion restreinteSRS Day @ EPITA - 17 novembre 2010 8
Typologie des attaques> XSS persistant
Détection des failles moins aisée Diffusion large
SRS Day @ EPITA - 17 novembre 2010 9
L’attaquant stocke du code malveillant sur le serveur
Les victimes sont infectées lorsqu’elles visionnent la ou les pages compromises
Typologie des attaques> XSS hybride
SRS Day @ EPITA - 17 novembre 2010 10
L’attaquant forge une URL et la transmet à une cible, qui infecte le serveur
Fonctionnalité « Qui est en ligne ? »
Outils externes
BeEF XSS Shell et XSS Tunnel Xeek
SRS Day @ EPITA - 17 novembre 2010 11
Outils externes
SRS Day @ EPITA - 17 novembre 2010 12
Fonctionnement
BeEF – Browser Exploitation Framework
Framework d’exploitation de navigateur web
But: démontrer l’impact des failles XSS sur les navigateurs
Se présente sous la forme d’une interface web
Prérequis: Un serveur principal hébergeant BeEF Un site compromis avec une faille XSS Une machine client envoyant les
commandes au serveurSRS Day @ EPITA - 17 novembre 2010 13
BeEF – Browser Exploitation Framework
Fonctionne sous forme de modules (AlertDialog, RawJavascript, Detection de plugins …)
Possibilité de créer ses propres modules (javascript)
Gestionnaire de zombies journalisé Connexion possible avec Metasploit
SRS Day @ EPITA - 17 novembre 2010 14
BeEF – Browser Exploitation Framework
Avantages Inconvénients
Simplicité d’installation Mauvaise gestion des botnets de plus de 100 zombies (principalement dû à l’utilisation du Javascript)
Intégration avec Metasploit Pas de sauvegarde en base de données
Fusion avec XSS Shell et XSS Tunnel en prévision
Nécessité de mettre en place un serveur web distant accessible depuis internet
Interface graphique Les victimes ne restent pas infectées si elles changent de page
Installation Multiplateforme: Windows, Linux et Mac OS
Portable grâce à l’utilisation de PHP
Possibilité de customisation (création de modules)
SRS Day @ EPITA - 17 novembre 2010 15
XSS Shell et XSS Tunnel
XSS Shell Alternative à BeEF Application en 3 parties
Le serveur (IIS) L’interface d’administration (IHM) Le clients (ou zombies)
XSS Tunnel Utilisation d’un zombie du shell comme
proxy
SRS Day @ EPITA - 17 novembre 2010 16
XSS Shell - Fonctionnement
Le serveur Il centralise les connections des victimes et leur
transfert les commandes Il s’appuie sur un serveur IIS et une base de données
Ms Access
L’interface d’administration Elle permet l’envoie de commandes
Côté client Un fichier javascript exécuter par le navigateur de la
victime
SRS Day @ EPITA - 17 novembre 2010 17
Avantages Inconvénients
Interface graphique Serveur IIS (=> pas portable)
Base de données
XeeK - XSS Easy Exploitation Kernel
Framework d’exploitation de failles XSS (alternative a BeEF ou XSS Shell)
Projet récent (débuté en 2008), en cours de développement.
Développé par un français A été créé dans le but de rajeunir les outils
existants et vieillissants en cumulant leurs avantages
Développé en PHP/Python
SRS Day @ EPITA - 17 novembre 2010 18
XeeK - XSS Easy Exploitation Kernel
SRS Day @ EPITA - 17 novembre 2010 19
Avantages Inconvénients
Portable Projet non terminé, développement lent (on doit se contenter de quelques exploits basics et d’une interface console).
Base de données
Architecture client/serveur
Projet modulaire tant au niveau de l’interface client/serveur (ajout d’une interface graphique possible) que de l’ajout de nouveaux exploits.
Exploits à jour, pour navigateurs récents.
Recommandations
Côté serveur Ne jamais faire confiance aux utilisateurs Ne pas oublier de filtrer les listes
déroulantes Filtrage
Htmlentities, verification des entiers Filtrage par liste blanche
Maintenir les frameworks utilisés à jour Pour des applications non maitrisées utiliser
un relais inverse avec du filtrage applicatif (mod_security pour Apache par exemple)
SRS Day @ EPITA - 17 novembre 2010 20
Recommandations
Côté client Pour une utilisation normale
Vérifier la correspondance entre le site et son url Vérifier les liens qui nous sont envoyés
Pour aller plus loin Vérifier les connexions qu’effectuent les scripts
avec d’autres sites (avec firebug par exemple) Utiliser des plugins bloquant les scripts (NoScript
par exemple pour Firefox) Désactiver le javascript!
SRS Day @ EPITA - 17 novembre 2010 21
Conclusion
Vulnérabilités XSS sous-estimées car exécution côté client
Exploitation entièrement automatisée
Impacts importants (vol d’informations au réseau de botnet)…
… et croissants, avec l’arrivée de l’HTML 5
SRS Day @ EPITA - 17 novembre 2010 22