Fingerprinting d'applications Web



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

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

CATALOGUE DES FORMATIONS LANGUES

Le scan de vulnérabilité

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

&DVDEODQFD*18/LQX['D\V. 'pf

Table des matières. Date : Version : 29/06/ Objet : OpenVas 6.0

BIG DATA APPLIQUÉES À LA SÉCURITÉ. Emmanuel MACÉ Akamai Technologies

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Web & Libre. Outils pour être présent sur le net librement

Audits de sécurité, supervision en continu Renaud Deraison

Rapport d audit de sécurité

Configurer la supervision pour une base MS SQL Server Viadéis Services

Utiliser un CMS: Wordpress

Nos webmasters, web designers et ingénieurs de développement vous accompagnent dans vos projets afin de vous apporter entière satisfaction.

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

TEST D INTRUISION. Document Technique

CMS Open Source : état de l'art et méthodologie de choix

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Protection des protocoles

Préparation d un serveur Apache pour Zend Framework

Protocoles Applicatifs

TYPO3, le CMS de référence

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

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Configurer OCS Inventory NG comme outil d inventaire

La collecte d informations

Du point de vue des entreprises, faut-il privilégier les Frameworks PHP aux CMS Open pour la création de sites internet?

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

DenyAll Detect. Documentation technique 27/07/2015

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

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

SECURIDAY 2012 Pro Edition

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Guide Installation Serveur Extensive Testing

Développeur - Conseiller - Formateur web

Catalogue des formations

Du 23 Janvier au 3 Février2012 Tunis (Tunisie)

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

Aide à la Détection de Faiblesses d un site Web Mandataire inverse, Modsecurity

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Panorama des CMS open sources. Sylvain Ferrand, CMAP École Polytechnique Journées Mathrice, Poitiers, 19 mars 2008

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

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Compromettre son réseau en l auditant?

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

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

Pourquoi? Pourquoi externaliser? Pour être flexible et réactif Pour réduire ses coûts sans perdre en qualité

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

Tour d horizon des CMS. Content Management System

Module BD et sites WEB

Découverte d aesecure. Par Christophe Avonture, développeur d aesecure

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

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

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

Audit de sécurité avec Backtrack

Sécurité des réseaux Firewalls

R E S O T E L. Ingénierie des Systèmes Informatiques Réseaux et Télécommunications. Calendrier des Formations IT

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Hébergement de site web Damien Nouvel

Technologies du Web. Technologies côté serveur. Pierre Senellart. Page 1 / 53 Licence de droits d usage

Vanilla : Virtual Box

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

Étape 1 / CHOISIR UN HÉBERGEMENT

Le Client/Serveur avec Enterprise Miner version 4

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

SECURIDAY 2013 Cyber War

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

SECURITE. Figure 1. Incident réseau, source CERT. Nombre. Sécurité

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

PHP 5. avancé. 3 e édition. Eric Daspet. Cyril Pierre de Geyer. Préface de Damien Seguy

Application Web et J2EE

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

IPS : Corrélation de vulnérabilités et Prévention des menaces

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Découverte de réseaux IPv6

Devoir Surveillé de Sécurité des Réseaux

Mettez Linux en boîte avec ClearOS

Drupal (V7) : principes et petite expérience

L outil Nmap-Stateful. Olivier Courtay Thomson R&D / IRISA

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

Loïc Rossignol Ingénieur Consultant

Implémentation libre de Liberty Alliance. Frédéric Péters

Trend Micro Worry-Free Business Security 8.0 Première installation : trucs et astuces

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Transcription:

Fingerprinting d'applications Web Nicolas Massaviol Toucan System nicolas.massaviol@ toucan-system.com

Agenda Fingerprinting Serveur Web Fichiers statiques Frameworks Questions

Fingerprinting Fingerprinting? - Empreinte digitale - Elément d'identification : traces, caractéristiques... (nmap OS)

Fingerprinting Application Web? - Serveur Web - Serveur d'application - Framework - BDD - Code métier

Fingerprinting Scanner de vulnérabilités (classique) - Nessus - Qualys - La version est souvent suffisante pour en déduire les vulns. Fingerprinting = découvrir l'application et sa version

Agenda Comprendre les risques Serveur Web Fichiers statiques Frameworks Questions

Serveur Web - Bannière Apache 1.3.3 : HTTP/1.1 200 OK Server: Apache/1.3.3 (Unix) (Red Hat/Linux) IIS 5.0 : HTTP/1.1 200 OK Server: Microsoft-IIS/5.0

Serveur Web - Implémentation du protocole a) Ordre des champs des en-têtes Apache : HTTP/1.1 200 OK Date: Sun, 15 Jun 2003 17:10: 49 GMT Server: Apache/1.3.23 IIS : HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Content-Location: http://iis.example.com/default.htm Date: Fri, 01 Jan 1999 20:13: 52 GMT

Serveur Web b) Réponses à des requêtes invalides HTTP/3.0, TOTO/1.1,... Outils : - httprint, largement abandonné - httprecon, vb :-( mais aussi nse :-)

Serveur Web : exemple # nmap -p80 --script httprecon.nse www.owasp.org Starting Nmap 5.21 ( http://nmap.org ) at 2011-03-10 16:13 CET NSE: Script Scanning completed. Nmap scan report for www.owasp.org (216.48.3.18) Host is up (0.12s latency). PORT STATE SERVICE 80/tcp open http httprecon: Pos Implementation Score Hits 1 Apache 2.2.2 98 42 2 Apache 2.2.6 90 40 3 Apache 2.0.54 88 38 4 Apache 2.2.3 86 38 5 Apache 2.2.4 85 39 6 Apache 2.0.52 84 36 7 Apache 2.0.46 80 34 8 Apache 1.3.33 76 36 9 Apache 2.0.50 76 32 _10 AOLserver 3.4.2 74 33 Nmap done: 1 IP address (1 host up) scanned in 2.70 seconds

Agenda Comprendre les risques Serveur Web Fichiers statiques Frameworks Questions

Fichiers statiques Méthodes de fingerprinting existantes : regexp - Maintenance difficile - Pas résistant au hardening - Facile à leurrer Outils : Sedusa, Wappalyser, BackendInfo

Fichiers statiques Idée générale du fingerprinting par fichiers statiques - établir une liste de tous les fichiers statiques (*.js, *.css,...) ainsi que leur hash (md5, sha1, ) de toutes les versions d'une application web - Comparer suffisamment de fichiers sur l'application cible avec les hash de la liste précédente pour en déduire une application et une version

Fichiers statiques Joomla-1.5.15./language/index.html./language/pdf_fonts/index.html./language/en-GB/index.html./language/en-GB/en-GB.xml./templates/index.html./templates/rhuk_milkyway/index.html./templates/rhuk_milkyway/templateDetails.xml./templates/rhuk_milkyway/html/index.html./templates/rhuk_milkyway/favicon.ico./templates/rhuk_milkyway/css/index.html (...) dd5d02cc750d2855cf6f6c5bf5bea587 1c7b413c3fa39d0fed40556d2658ac73 1c7b413c3fa39d0fed40556d2658ac73 b014471a7dd7abcb9480fc1d149b96ef 1c7b413c3fa39d0fed40556d2658ac73 1c7b413c3fa39d0fed40556d2658ac73 56fb6df9bbdea9efcbc93d638cd070ba 1c7b413c3fa39d0fed40556d2658ac73 63b982eddd64d44233baa25066db6bc1 1c7b413c3fa39d0fed40556d2658ac73

Fichiers statiques

Fichiers statiques Outils : BlindElephant, WAFP, - Pas résistant au changement de racine - Fichiers statiques sur un autre domaine

Fichiers statiques Deuxième approche : spider + comparaison 1) Récupération d'un mirroir (partiel) 2) Calcul des hash et comparaison 3) Récupération de l'application et de la version Outils : WhatWeb,

Agenda Comprendre les risques Serveur Web Fichiers statiques Frameworks Questions

Frameworks 3 manières de faire une application Web : - Tout à la main : old school - Frameworks outils : symfony, cakephp, struts,.. - Frameworks clés en main (CMS) : Joomla, Drupal,...

Frameworks $ python BlindElephant.py -l Currently configured web apps: 15 confluence with 0 plugins drupal with 16 plugins joomla with 0 plugins liferay with 0 plugins mediawiki with 0 plugins moodle with 0 plugins movabletype with 0 plugins oscommerce with 0 plugins phpbb with 0 plugins phpmyadmin with 0 plugins phpnuke with 0 plugins spip with 0 plugins tikiwiki with 0 plugins twiki with 0 plugins wordpress with 26 plugins./wafp.rb -P drupal fluxbb joomla phpbb phpmyadmin punbb serendipity smf typo3 wordpress

Frameworks Objectif : - Gérer les 2 approches - Maintenance très simplifiée - Détecter les frameworks outils 1) From scratch 2) BlindElephant : - Rapide - Efficace - Choix d'implémentations contraignants (BDD, checksums,...) - Intervention manuelle dans la maintenance 3) WAFP : - Pas de gestion des plugins - Moins efficace que BE mais maintenance très simplifiée - SQLite 4) WhatWeb : - Maintenance très complexe

Frameworks Frameworks outils : La plupart de temps, il existe des fichiers statiques! Quel chemin final? Symfony : $ find./release_1_4_9/ -name *.js./release_1_4_9/data/web/sf/sf_admin/js/collapse.js./release_1_4_9/data/web/sf/sf_admin/js/double_list.js Struts : $ find./struts-2.2.1.1/ -name *.js./struts-2.2.1.1/src/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/dojo.js (...)

Frameworks $./wafp.rb http://www.articlegold.com Collecting and fetching the files we need to identify the product... Identified Product: symfony (110.00 %) found the following matches (limited to 10): +-------------------------------------------------------------+ symfony-1.4.1 52 / 52 (100.00%) symfony-1.4.8 52 / 52 (100.00%) symfony-1.4.7 52 / 52 (100.00%) symfony-1.4.9 52 / 52 (100.00%) symfony-1.4.6 52 / 52 (100.00%) symfony-1.4.2 52 / 52 (100.00%) symfony-1.4.5 52 / 52 (100.00%) symfony-1.4.3 52 / 52 (100.00%) symfony-1.4.0 52 / 52 (100.00%) symfony-1.4.4 52 / 52 (100.00%) +-------------------------------------------------------------+ WAFP 0.01-26c3 - - - - - - - - - http://mytty.org/wafp/

Frameworks $./wafp.rb http://www.merchantpilot.com/ Collecting and fetching the files we need to identify the product... found the following matches (limited to 10): +-------------------------------------------------------------+ symfony-1.2.1 99 / 101 (98.02%) symfony-1.2.12 99 / 101 (98.02%) symfony-1.2.6 99 / 101 (98.02%) symfony-1.2.4 99 / 101 (98.02%) symfony-1.2.9 99 / 101 (98.02%) symfony-1.2.11 99 / 101 (98.02%) symfony-1.2.3 99 / 101 (98.02%) symfony-1.2.0 99 / 101 (98.02%) symfony-1.2.7 99 / 101 (98.02%) symfony-1.2.2 99 / 101 (98.02%) +-------------------------------------------------------------+ WAFP 0.01-26c3 - - - - - - - - - http://mytty.org/wafp/

Frameworks $./wafp.rb http://www.thedailysave.com/ Collecting and fetching the files we need to identify the product... Identified Product: cakephp (20.00 %) Collecting the files we need to fetch found the following matches (limited to 10): +-------------------------------------------------------------+ cakephp-1.3.4 2 / 4 (50.00%) cakephp-1.3.0 2 / 4 (50.00%) cakephp-1.3.7 2 / 4 (50.00%) cakephp-1.3.1 2 / 4 (50.00%) cakephp-1.3.6 2 / 4 (50.00%) cakephp-1.3.2 2 / 4 (50.00%) cakephp-1.3.5 2 / 4 (50.00%) cakephp-1.3.3 2 / 4 (50.00%) cakephp-1.2.0 1 / 4 (25.00%) cakephp-1.2.4 1 / 4 (25.00%) +-------------------------------------------------------------+ WAFP 0.01-26c3 - - - - - - - - - http://mytty.org/wafp/

Frameworks $./wafp.rb http://scratch.mit.edu Collecting and fetching the files we need to identify the product... Identified Product: cakephp (20.00 %) Collecting the files we need to fetch... found the following matches (limited to 10): +-------------------------------------------------------------+ cakephp-1.2.0 2 / 4 (50.00%) cakephp-1.2.8 2 / 4 (50.00%) cakephp-1.2.1 2 / 4 (50.00%) cakephp-1.2.7 2 / 4 (50.00%) cakephp-1.2.2 2 / 4 (50.00%) cakephp-1.2.6 2 / 4 (50.00%) cakephp-1.2.3 2 / 4 (50.00%) cakephp-1.2.5 2 / 4 (50.00%) cakephp-1.2.4 2 / 4 (50.00%) cakephp-1.2.9 2 / 4 (50.00%) +-------------------------------------------------------------+

Frameworks Et sinon? Les «plugins»! ou tout package de code communautaire développé pour pallier les «manques» du framework : $ ls -l svn.symfony-project.com/plugins/ wc -l 1028 sqlite> select * from tbl_product where name='symfony_plugins'; 753 symfony_plugins XXX 1299519173 not used, yet. sqlite> select count(*) from tbl_fprint where product_id = 753; 52221

Frameworks En fait, peu intéressant tel quel : - Nombre de fichiers, - Pas/très peu de corrélation entre les plugins Mais très intéressant avec le spidering!

Frameworks Spidering avec HTTrack mais possible avec wget Mirroir partiel créé en local puis comparaison avec les produits et versions stockés dans la base de données. Détection du changement de racine éventuel

Frameworks./wafp.rb --spider http://hackitoergosum.org Collecting and fetching the files we need to identify the product... Fetching mirror... [...] Found files in unusual location for wordpress-2.9-rc1 :./wp-includes/images/crystal/document.png.pagespeed.ce.5ter9w_jzt.png should be at./wp-includes/images/crystal/document.png Found files in unusual location for wordpress-2.9-beta-1 :./wp-includes/images/crystal/document.png.pagespeed.ce.5ter9w_jzt.png should be at./wp-includes/images/crystal/document.png Found files in unusual location for wordpress-2.9-beta-2 :./wp-includes/images/crystal/document.png.pagespeed.ce.5ter9w_jzt.png should be at./wp-includes/images/crystal/document.png Found files in unusual location for wordpress-2.9.1-beta1 :./wp-includes/images/crystal/document.png.pagespeed.ce.5ter9w_jzt.png should be at./wp-includes/images/crystal/document.png

Limites Zend Mises à jour incomplètes Hardening trivial : peut être intégré au déploiement par défaut des frameworks

Questions?