samedi, juillet 12, 2008

PenTest2.0 : le pourquoi avant le comment !

Il suffit de faire un peu le tour des magasines, listes de diffusion, conférences/symposiums et autres blogs pour se rendre compte que la scène française (de la profession ou pas) est fortement concentrée sur les failles systèmes et tout ce qui tourne autour du Ring 0. Il semble bien que la Patrie des Lumières snobe ouvertement tout ce qui ne fournit pas un accès direct au Saint Graal du siècle dernier, à savoir le compte administrateur/root.
Fort de cette constatation, je ne suis pas étonné que l'OWASP soit si peu représentée dans notre cher pays et que ces membres en soient réduits à prêcher dans le désert numérique...
Lorsque j'ai l'occasion de lire d'anciens rapports d'audit (lors de mon arrivée chez un nouvel employeur ou bien chez des clients qui me les fournissent sous couvert du classique : "Essayez de nous trouver quelque chose de nouveau"), je remarque assez souvent que le Pentester Frenchy, après quelques copies d'écran de pop-up "XSS", concentre tout son talent à décrire le magnifique OpCode qu'il a pu "coller" au service SNMP du serveur Web afin d'obtenir son "Saint Graal". Reste que ce type de technique est improductive, voire contre-productive, dans les Pentests d'architectures Web2.0...
Après cette intro' ayant presque rien à voir avec notre sujet (digne d'un pisseur de copie à la Hackin9), j'en reviens à ce qui nous interesse : les Pentests2.0 et les différentes méthodes d'exploitation des techno' Ajax; Flash, SOAP, REST, XML-RPC et autres utilisations bizaroïdes des feed RSS/Atom...Non, je ne vais pas vous faire ce soir un cours magistral sur ce sujet à l'étendu conséquent, mais simplement discourir sur le fait que ces techno' demandent autre chose qu'un wget -r www.hackme.com | grep "executeQuery"...
Le fait est qu'il est pratiquement impossible de réaliser un Pentest d'appli' Web bâtie sur ces techno à partir de la procédure de crawling habituelle (exploration de l'appli avec son proxy préféré : Burp ou WebScarab, puis analyse de l'arborescence obtenue).
Quelle soit bâtie sur de l'AJAX ou du Flash, une page 2.0 peut être l'unique page de votre belle arborescence apparaissant dans votre proxy, mais pourtant elle sera le support d'une bonne vingtaine d'applications métiers (les appels DOM à ne pas louper) reliées à autant de serveurs d'application et de bases de données, souvent sur des systèmes n'appartenant pas à votre client (du moins à son service).
C'est ce que nos chers architectes nomment les architectures SOA ou les applications mashups (une application d'applications) dans lesquelles une page web lancée dans notre navigateur se transforme en client léger virtuel pour toutes les appli du client et ses partenaires/filiales/clients/fournisseurs.
Si votre système de facturation de Pentest est bâti sur le nombre de pages à traiter, vous allez y être de votre poche... Amis Pentester, ne rigolaient pas avec ce type d'archi', nos copains les développeurs (les petits jeunes qui sortent d'école) en pondent une dizaine chaque mois pour nos chers clients...
Les appli web2.0 s'échangent toutes sortes de formats d'information de manière asynchrone, tels que XML, du JSON (JavaScript Object Notation), du JS-array (une sorte de tableau en JavaScript) et des flux d'informations temps réel en RSS (cotations...) en provenance de différents domaines. Réaliser un diagramme simple de toutes les interactions possibles de cette appli web (la modélisation des menaces comme on aime à appeler le bô schéma visio de nos rapport d'audit) peut prendre des heures, surtout avec l'outillage dont nous disposons actuellement (Firebug...).
La clé du PenTest web2.0 réside en fait dans ces communications Cross-Domain au sein de cette page unique, ouverte à ces sources diverses et plus ou moins sûres. La boite de Pandore des XSS et autres XSRF est ouverte. Il nous reste à pouvoir analyser toutes ces données asynchrones écrites en XML, le langage le moins user-friendly de la planète.
Si cela intéresse mes quatre lecteurs, je vais essayer d'écrire quelques bafouilles la-dessus dans les prochains jours. S'ils s'en foutent, cela me servira de pense-bête, comme le reste...

4 commentaires:

  1. Heureusement que les pentesteurs prévoyants ont ajouté le Web 2.0 à leur panel de compétences il y a longtemps ... aujourd'hui ils se mettent à jour sur WCF/WPF :)

    Ceci étant je n'ai pas été captivé par la forme de la présentation OWASP à l'OSSIR ... S'ils veulent arrêter de prêcher dans le désert, il va falloir rendre leurs supports un peu plus sexys !

    RépondreSupprimer
  2. C'est bizarre, mais des pentesteurs prévoyants j'en rencontre très peu en ce moment... Il faudrait que je sorte plus souvent ;-)

    Quant à l'OWASP, j'ai bien l'impression que toutes les têtes pensantes sont de l'autre côté de l'atlantique, notamment l'un de ces fondateurs qui n'est autre que le gourou du développement sécurité Microsoft.

    Je n'ai pas trop voulu polémiquer durant la prés', mais la version 3 du guide de développement OWASP s'inspire largement de la prose et la philosophie Microsoft. Etrange, nan ??

    RépondreSupprimer
  3. En effet il y avait eu une belle présentation de l'owasp aux techdays Microsoft.

    Un peu tout le même blabla bien vague qui n'apprend rien aux auditeurs (avant-gardiste ?).

    Ca aurait dû se finir par une démonstration d'attaques, mais le gars qui sait faire il était malade... un anglais en plus.

    Donc notre bon ami parisien... L'évangéliste... il semble plus essayer de faire monter la mayonnaise pour avoir quelques contrats free-lance (ou alors pour être payé par l'OWASP ?).

    J'ai l'impression que passer à côté du web2.0 c'est passer à côté d'une grosse porte d'entrée distante alors que les failles système c'est plus du ressort de l'audit interne.

    Après de mon point de vue c'est dur de maîtriser les deux approches pour obtenir un premier accès "applicatif" sur la machine puis d'exploiter une faille système pour en prendre totalement le contrôle et rebondir.

    Aucune des deux approches n'est à négliger :)

    RépondreSupprimer
  4. Ca bash comme il faut par ici, je vois que newsoft est dans le coin :)
    Dommage que j'ai pas pu venir le jour où il était à l'OSSIR, j'étais trop occuper ce jour à amuser la galerie dans le sud du côté d'Aix.
    J'ai invité l'OWASP français pour un event mi-août où à priori il ne gagnera pas de missions mais sera face à quelques "auteurs" d'hackin9 du futur numéro de septembre (d'ailleurs, pas la peine de l'acheter, j'en ferais une bache gratuite si j'arrive à le trouver dans un kiosque à canards boîteux) ... Anyway, wait&see :)

    RépondreSupprimer