Les rootkits navigateurs



Documents pareils
Les rootkits navigateurs

The Mozilla Art Of War. David Teller. 20 septembre Laboratoire d Informatique Fondamentale d Orléans. La sécurité des extensions.

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Architectures web/bases de données

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

ISEC. Codes malveillants

Virtualisation et sécurité Retours d expérience

Groupe Eyrolles, 2004, ISBN :

CATALOGUE DE FORMATION INTERNET BUREAUTIQUE INFORMATIQUE..::NET-INOV.COM::..

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Joomla! Création et administration d'un site web - Version numérique

Faits techniques et retour d'expérience d'une cellule d'expertise dans la lutte contre le code malveillant. EdelWeb / Groupe ON-X

Vulnérabilités et sécurisation des applications Web

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Fiche Technique. Cisco Security Agent

La mémorisation des mots de passe dans les navigateurs web modernes

L3 informatique TP n o 2 : Les applications réseau

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction aux antivirus et présentation de ClamAV

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Chapitre 1 Windows Server

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

La messagerie électronique avec La Poste

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Découvrez notre solution Alternative Citrix / TSE

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Pourquoi choisir ESET Business Solutions?

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

NETTOYER ET SECURISER SON PC

Présentation de Ocloud

Notions de sécurités en informatique

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Sage CRM. 7.2 Guide de Portail Client

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Sécurité des Postes Clients

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Sessions en ligne - QuestionPoint

Logiciel Enterprise Guide Version 1.3 Windows

les techniques d'extraction, les formulaires et intégration dans un site WEB

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Proxy et reverse proxy. Serveurs mandataires et relais inverses

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

IBM DB2 Alphablox. d administration GC

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

L accès à distance du serveur

Création d un «Web Worm»

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Retour d expérience sur Prelude

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Découvrez Kaspersky. Small Office Security TPE PME GUIDE DE LA SÉCURITÉ INFORMATIQUE

Les risques HERVE SCHAUER HSC

Symantec Endpoint Protection Fiche technique

Devenez un véritable développeur web en 3 mois!

La Clé informatique. Formation Internet Explorer Aide-mémoire

Petite définition : Présentation :

FORMATION PROFESSIONNELLE AU HACKING

Systèmes d exploitation

Windows Front-End Installation Guide HOPEX V1R1 FR

Virtualisation et Sécurité

Internet Découverte et premiers pas

Groupe Eyrolles, 2006, ISBN : X

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Comment configurer votre navigateur pour Belfius Direct Net (Business)?

DenyAll Protect. Sécurité & accélération. Parefeux pour applications et services Web. de vos applications.

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Mobilité, quand tout ordinateur peut devenir cheval de Troie

Sécurité des réseaux Les attaques

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

Présentation de la solution Open Source «Vulture» Version 2.0

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

La sécurité informatique

Sécurité des applications Retour d'expérience

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

Linux sécurité des réseaux

Création d'un site Internet dynamique avec HTML-CSS ou un CMS Formation à distance sur le réseau Pyramide

Crédits... xi. Préface...xv. Chapitre 1. Démarrer et arrêter...1. Chapitre 2. L interface utilisateur...25

Protection des protocoles

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

VMWARE VSPHERE ESXI INSTALLATION

SUPPRIMER SES COOKIES

Transcription:

Sogeti/ESEC Les rootkits navigateurs 1/52 Les rootkits navigateurs Christophe Devaux - christophe.devaux@sogeti.com Julien Lenoir - julien.lenoir@sogeti.com Sogeti ESEC

Sogeti/ESEC Les rootkits navigateurs 2/52 Agenda 1 2 3

Sogeti/ESEC Les rootkits navigateurs 3/52 Qu'est ce qu'un rootkit? Dénition Programme malveillant permettant à un attaquant de garder un contrôle partiel ou total sur un système après une intrusion Propriétés des rootkits Furtivité Persistance Résistance Exemples Windows : NtIllusion Linux : SucKIT Virtualisation : BluePill

Sogeti/ESEC Les rootkits navigateurs 4/52 Pourquoi un rootkit pour navigateur? Une place centrale Installés par défaut sur tous les postes de travail Connectés à internet HTTP/HTTPS Font transiter des données sensibles (mots de passe, contenu condentiel,...) Des minis systèmes d'exploitation De plus en plus complexes Mécanismes de plug-ins Un nombre croissant de technologies supportées

Sogeti/ESEC Les rootkits navigateurs 5/52 Architecture d'un système d'exploitation Code Ring0 NOYAU PILOTES Code Ring3 Processus Processus Processus Processus socket socket socket socket

Sogeti/ESEC Les rootkits navigateurs 6/52 Architecture d'un navigateur Code natif PROCESSUS Code natif JavaScript privilégié PLUG-INS JavaScript non privilégié Onglet Onglet Onglet Onglet XML/HTTP XML/HTTP XML/HTTP XML/HTTP

Sogeti/ESEC Les rootkits navigateurs 7/52 Contraintes et limites Contraintes Droits restreints Privilégier la furtivité Le système d'exploitation hôte Détection par un programme tiers Traces sur le réseau

Sogeti/ESEC Les rootkits navigateurs 8/52 FIREFOX

Sogeti/ESEC Les rootkits navigateurs 9/52 Plan 1 2 3

Sogeti/ESEC Les rootkits navigateurs 10/52 Principes généraux Construire une extension pour Firefox comme un rootkit de type module kernel Interêts : Se charge et reste persistant Se cache elle-même (du point de vue du navigateur) Communique et répond à des ordres distants Contraintes : Doit être exploitable avec le minimum de droits Se concentrer sur la furtivité Multiplateforme

Sogeti/ESEC Les rootkits navigateurs 11/52 Qu'est ce qu'une extension? Une extension... est un simple chier compressé contenant du JavaScript/XUL/CSS/binaires/... peut être multiplateforme ajoute des surcouches sur les chiers XUL de Firefox Une surcouche fournit un mécanisme pour : ajouter de nouvelles interfaces utilisateurs remplacer des parties de code XUL pré-existant réutiliser des parties de code XUL ou d'interfaces Avec une surcouche sur browser.xul, nous pouvons contrôler la fenêtre principale de Firefox

Sogeti/ESEC Les rootkits navigateurs 12/52 Qu'est ce qu'une extension? RDF XBL XUL DOM XML FICHIERS DE L'EXTENSION MALICIEUSE /chrome.manifest /chrome/content/mozilla/core.js /chrome/content/mozilla/config.js /chrome/content/mozilla/browseroverlay.xul /chrome/content/mozilla/rsa.js /chrome/content/mozilla/id.js /chrome/content/mozilla/browser.js /chrome/content/mozilla/log.js... SURCOUCHE FICHIERS XUL DE FIREFOX /browser/content/browser.xul /browser/content/preferences.xul /browser/content/history/history-panel.xul /browser/content/aboutdialog.xul /browser/content/safemode.xul /mozapps/content/extensions/extensions/xul /mozapps/content/profile/profileselection.xul...

Sogeti/ESEC Les rootkits navigateurs 13/52 Installation Installation normale : Fichier XPI installé par ingénierie sociale, courriels, P2P,... En utilisant un infecteur : Executable qui modie les chiers du manager d'extensions de Firefox En utilisant une vulnerabilité dans Firefox : Qui permet une execution de code (MFSA 2008-34, MFSA 2008-41,...)

Sogeti/ESEC Les rootkits navigateurs 14/52 Plan 1 2 3

Sogeti/ESEC Les rootkits navigateurs 15/52 Cacher l'extension Trois méthodes : Utiliser une feuille de style (chier CSS) : - L'utilisateur ne voit plus l'extension Supprimer l'extension du composant Gestionnaire d'extensions : - Firefox ne voit plus l'extension Infecter une extension déjà installée : - Comportement traditionel d'un virus

Sogeti/ESEC Les rootkits navigateurs 16/52 Cacher l'extension Firefox Extension Surcouche sur extensions.xul ExtensionOverlay.css richlistitem[addonid="backdoor"] { display: none!important; }

Sogeti/ESEC Les rootkits navigateurs 16/52 Cacher l'extension Firefox Extension Supprimer l'extension du gestionnaire d'extensions function Hide() { var extensionds = Components.classes["@mozilla.org/extensions/mana... var RDFService = Components.classes["@mozilla.org/rdf/rdf-service;1"]... Surcouche sur browser.xul var root = RDFService.GetResource("urn:mozilla:item:root"); var Container = Components.classes["@mozilla.org/rdf/container;1"].Cr... Container.Init(extensionDS, root); var elements = Container.GetElements(); } while (elements.hasmoreelements()) { var element = elements.getnext(); var elementrsc = element.queryinterface(components... var id = elementrsc.value.replace("urn:mozilla:item:", ""); if (id == "backdoor") { Container.RemoveElement(element, true); } }

Sogeti/ESEC Les rootkits navigateurs 17/52 Plan 1 2 3

Sogeti/ESEC Les rootkits navigateurs 18/52 Communication Processus de communication : Communication avec un serveurs HTTP(S) externe : passer les pare-feux XMLHttpRequest Interroge, execute, renvoie le résultat au maître Protocole chiré utilisant RSA et RC4

Sogeti/ESEC Les rootkits navigateurs 19/52 Communication : contrôle des cibles Pourquoi utiliser un serveur Web pour contrôler le rootkit? Les navigateurs communiquent naturellement avec des serveurs Web L'envoie, la réception et le traitement de requêtes HTTP/XML sont supportés nativement par les navigateurs Web Remarque Le serveur Web peut être caché en utilisant une méthode fast ux

Sogeti/ESEC Les rootkits navigateurs 20/52 ordres Architecture globale Utilisateur Internet Explorer ordres Serveur HTTP requêtes charges utiles réponses réponses requêtes Attaquant réponses Serveur SQL Utilisateur Firefox

Sogeti/ESEC Les rootkits navigateurs 21/52 Propagation Mécanismes de propagation : Voies traditionelles : courriels, P2P, autres vers,... Surveiller les webmails : intercepter les emails et ajouter un infecteur en chier joint Récolter les courriels dans les pages Web visitées Firefox peut envoyer des courriels de lui-même

Sogeti/ESEC Les rootkits navigateurs 22/52 Plan 1 2 3

Sogeti/ESEC Les rootkits navigateurs 23/52 XPCOM XPCOM (Cross Platform Component Object Model) XPCONNECT permet l'utilisation de nombreux langages inclut des interfaces pour : la gestion des composants l'abstraction des chiers la gestion de la mémoire Composant Interface Méthode Mots de passe login-manager nsiloginmanager getalllogins() Cookies cookiemanager nsicookiemanager enumerator Favoris nav-bookmarks-service nsinavbookmarksservice executequery() Historique nav-history-service nsinavhistoryservice executequery() Executer process/utils nsiprocess run() Utiliser une socket network/socket-transport-service nsisockettransportservice CreateTransport()

Sogeti/ESEC Les rootkits navigateurs 24/52 AddEventListener AddEventListener Associer une fonction à un événement particulier Idéal pour surveiller l'activité d'un utilisateur Action Événement à écouter un onglet est ouvert un onglet est fermé DOMContentLoaded TabClose, unload enregistrer la navigation enregistrer la navigation une touche est pressée keypress enregistrer le clavier L'enregistrement est completé par un enregistrement des entêtes HTTP Les chiers de logs sont chirés dans le cache du navigateur

Sogeti/ESEC Les rootkits navigateurs 25/52 À partir de là, tout est possible Voleur de mots de passe/cookies/favoris/historique Keyloggeur Prise de controle a distance de la machine(shell "`ConnnectBack"') Snier (requêtes HTTP) Botnet Plate-forme de SPAM Interaction avec le système d'exploitation...

Sogeti/ESEC Les rootkits navigateurs 26/52 Démonstration

Sogeti/ESEC Les rootkits navigateurs 27/52 Plan 1 2 3

Sogeti/ESEC Les rootkits navigateurs 28/52 Un réel problème de conception et pas de solution simple à mettre en place Une extension Firefox malicieuse est facile à développer Il y a AUCUNE securité à propos des extensions dans Firefox Nous ne serions pas surpris de voir ce type de spyware se développer dans le futur

Sogeti/ESEC Les rootkits navigateurs 29/52 INTERNET EXPLORER 7

Sogeti/ESEC Les rootkits navigateurs 30/52 Un rootkit pour Internet Explorer Contraintes Etre utilisable avec les droits de l'utilisateur courant Architecture tout-en-memoire Utiliser les fonctionnalités d'internet Explorer

Sogeti/ESEC Les rootkits navigateurs 31/52 Plan 1 2 3 Architecture générale Présentation des zones de sécurité Injecteur Module de création d'onglets Module d'interception Module de communication Architecture générale

Sogeti/ESEC Les rootkits navigateurs 32/52 Coeur du navigateur (processus) Moteur de rendu Gestionnaire de sécurité Plug-ins (BHO, contrôles ActiveX) Onglet Onglet Onglet Onglet

Sogeti/ESEC Les rootkits navigateurs 33/52 Les Browser Helper Objects : la menace la plus répandue Avantage Prévus pour acceder au moteur de rendu Inconvénients Les BHOs demandent des privilèges pour être installés Les BHOs laissent des traces dans la base de registre Windows Un composant du navigateur permet de les lister Incompatibles avec nos contraintes On ne les utilisera pas

Sogeti/ESEC Les rootkits navigateurs 34/52 Les zones de sécurité Cinq zones de sécurité Ordinateur local : pages Web sur les disques locaux Intranet : pages Web sur un Intranet Sites de conance : liste blanche de sites de conance Internet : pages Web qui ne rentrent pas dans les autres catégories Sites sensibles : liste noire de sites restreints

Sogeti/ESEC Les rootkits navigateurs 35/52 Paramètrage des zones de sécurité Paramètrage Execution de code JavaScript Instanciation de composants ActiveX du système Sécurité de la machine Java Utilisation des cookies Communication intra-domaines Réglages par l'administrateur ou l'utilisateur Stockés dans la base de registre

Sogeti/ESEC Les rootkits navigateurs 36/52 Paramètrage n ACTION_FLAGs Représentent toutes les actions qui peuvent être entreprises dans une zone de sécurité POLICY_FLAGs Représentent comment le navigateur va réagir en fonction d'un ACTION_FLAG Politique de sécurité Chaque zone a sa propre liste d'action_flags et de POLICY_FLAGs qui dénissent sa sécurité

Sogeti/ESEC Les rootkits navigateurs 37/52 La sécurité appliquée a une page Web PAGE WEB Traitement et affichage Composants de traitement et d'affichage d'internet Explorer URL de la page ID de la Zone ACTION_FLAGs de l'id de la Zone POLICY_FLAGs GESTIONNAIRE DE SÉCURITÉ

Sogeti/ESEC Les rootkits navigateurs 38/52 Le gestionnaire de sécurité Composants d'affichage d'internet Explorer API MapURLToZone API ProcessURLAction GESTIONNAIRE DE SÉCURITÉ CACHE URL-Zone CACHE Zone-Action Correspondance URL Zone Base de Registre Windows

Sogeti/ESEC Les rootkits navigateurs 39/52 Plan 1 2 3 Architecture générale Présentation des zones de sécurité Injecteur Module de création d'onglets Module d'interception Module de communication Architecture générale

Sogeti/ESEC Les rootkits navigateurs 40/52 Injecteur Méthodes qui peuvent être employées Injecter le code depuis le système hôte Injecter le code à distance en utilisant une faille du navigateur Injecter le code en utilisant un plug-in malicieux

Sogeti/ESEC Les rootkits navigateurs 41/52 Module de création d'onglets : Élevation des privilèges Le cache URL-Zone Corruption du cache URL-Zone pour associer http ://evilsite à la zone que nous souhaitons Le cache Zone-Action Corruption du cache Zone-Action pour obtenir le plus haut niveau de privilèges sur la zone associée à notre site Résultats Le site aura les plus hauts privilèges possibles Problème La création d'un nouvel onglet n'est pas furtive!

Sogeti/ESEC Les rootkits navigateurs 42/52 Charger et executer des pages : l'onglet invisible New_tab = CTabWindow:CreateInstance() Créer un nouvel onglet CTabWindowManager:AddTab(New_tab) Référencer le nouvel onglet dans le gestionnaire New_tab.LaunchTabThread(url) Lancer l'exécution du nouvel onglet

Sogeti/ESEC Les rootkits navigateurs 43/52 Module de création d'onglets Possibilités Lire/Ecrire des chiers Lire/Ecrire dans le registre Créer des processus Avantages Aucune modication du registre Invisible pour l'utilisateur Inconvénients Cloisonnement des onglets

Sogeti/ESEC Les rootkits navigateurs 44/52 Module d'interception : données sensibles Quelles données? Contenu des pages Mots de passe Données envoyées Problème Ne sont pas accessibles depuis un onglet

Sogeti/ESEC Les rootkits navigateurs 45/52 Module d'interception : les données à leur source Construction des données à envoyer Création des données Données à envoyer en mémoire Copie des données Module d'interception des données Récupération des données Composant de transaction Envoi (HTTP/HTTPS) Site Web visité par l'utilsateur

Sogeti/ESEC Les rootkits navigateurs 46/52 Module de communication : XmlHttpRequest Objet XmlHttpRequest Permet de garder une connexion avec un serveur web distant Mode connecté à l'image d'un socket Fonctionne sur HTTP/HTTPS Actions Recevoir les ordres en attente depuis le serveur de l'attaquant Rapatrier et executer la charge utile Renvoyer les résultats sur le serveur de l'attaquant Avantages Fonctionnalités déjà integrées au navigateur Passe à travers les proxys

Sogeti/ESEC Les rootkits navigateurs 47/52 Possibilités Pages HTML malicieuses Code natif Programmes (format PE) Integrées comme module ou non Fonctionnalités Exltrations d'informations de connexion Exltration de conguration du système hôte Execution de code sur le système hôte

Sogeti/ESEC Les rootkits navigateurs 48/52 Module de création d'onglets : l'onglet invisible Système hôte Coeur du navigateur (processus) attaquant Moteur de rendu Gestionnaire de sécurité XmlHttpRequest Plug-ins (BHO, contrôles ActiveX) ROOTKIT Onglet Onglet Onglet Onglet invisible

Sogeti/ESEC Les rootkits navigateurs 49/52 Démonstration

Sogeti/ESEC Les rootkits navigateurs 50/52 Plan 1 2 3 Architecture générale Présentation des zones de sécurité Injecteur Module de création d'onglets Module d'interception Module de communication Architecture générale

Sogeti/ESEC Les rootkits navigateurs 51/52 à propos du rootkit pour Internet Explorer 7 Les rootkits pour navigateurs Web sont analogues aux rootkits kernel Création de nouveaux objets du navigateur (onglets, zones) Utilisation des fonctions internes du navigateur Furtivité Approche entièrement en mémoire : allocation de mémoire ou modication de données existantes À faire Regarder le mécanisme d'extensions d'internet Explorer 8

Sogeti/ESEC Les rootkits navigateurs 52/52 Avez-vous des questions?? Merci de votre attention