Nouveau billet, si ce n’est pas malheureux ! =)

mars 3rd, 2010

Non, ce n’est pas que j’avais oublié mon blog, loin de là : ce manque de billets pour une petite période venait de mon DUT, où l’on clôturait notre 3e semestre et commencions le 4e… les deux semestres les plus « violents » de la formation SRC Bordeaux. Bref, je suis bel et bien là, avec pas mal de choses à raconter et à poster.

Premièrement, j’ai un stage ! Il se fera à CEIS sur Paris pendant six mois de mi-avril à fin septembre. En gros, je suis très content d’avoir ce stage, car les missions correspondent à ce que je cherchais dans le domaine de la sécurité des systèmes d’information. Je veux remercier Nicolas Caproni (@cyber_risks) pour m’avoir éclairé sur cette offre – il sera d’ailleurs responsable de moi pendant ce stage où je ne doute pas d’apprendre un paquet de choses tout au long de ce dernier.

De plus, je voulais remercier ceux qui m’ont fait part d’offres de stages même si je les ai toutes déclinées – certaines sont arrivées récemment – car j’avais déjà mon stage à CEIS. Cependant, je vous en suis reconnaissant, cela fait toujours du bien de voir que des personnes s’intéressent à ce que l’on fait. Merci merci merci ! Il ne me manque plus qu’à enlever cette recherche de stage de mon site (grand moment d’émotion en perspective :)

En second point, je suis encore sur cet article (sorte de bilan) lié à un audit sauvage (je sais, c’est mal) que j’ai fait sur des portails web de médias français. Pourquoi ? Eh bien car je dois contacter les administrateurs, webmasters, DSI etc. pour boucher les failles qui sont bien nombreuses (et pour certaines très grosses). Cependant, ne vous attendez pas à un scoop avec les noms des médias, par respect pour leur travail, je ne divulguerait aucun nom, seule la méthodologie sera présentée. Toujours est-il qu’ils sont nombreux, et la plupart d’envergure nationale si ce n’est internationale pour certains.

Récemment, j’ai mis à jour quelques scripts sur Security Bugs Hunter au programme, des vulnérabilités que j’avais trouvées fin 2009, d’autres datant d’hier sur un simple « calendrier » dont Smashing Magazine faisait la PUB hier sur Twitter (beau #FAIL à la vue nombre de followers liés à ce compte). J’en ai encore beaucoup dans ma hotte, cependant, je ne possède pas tellement le temps de faire le tour complet de certains scripts donc je préfère attendre avant de les publier.

Pour finir, je suis en train de bosser sur la certification CISSP non pas pour la passer – si je me souviens bien, il faut avoir un minimum de cinq années d’expérience pro. en SSI et pas mal d’argent pour un indépendant – mais seulement pour apprendre de nouvelles choses dans la domaine de la sécurité. Je lis en ce moment CISSP All in one Exam guide qui possède tout le contenu lié à cette certification avec comme dans chaque livre de geek qui se respecte quelques petites blagues dans certains coins. Reste que ce petit monde de la sécurité évolue si vite que certaines notes sont déjà dépassées… mais bon, l’extrême majorité de la méthodologie, des descriptions et des sujets traités sont bons à prendre (et très bien traités !). Bref, un bouquin à avoir chez soi qui sera très bien entre Security Power Tools et Network securty hacks. L’édition poche n’existe pas, malheureusement.

Promis, je publie l’article dans quelques jours.

Micro blog : felixaime.tumblr.com

janvier 20th, 2010

En attendant un prochain article qui risque d’arriver bientôt sur un retour d’expérience d’audit « sauvage » qui se conclue actuellement par une intense phase de mailling, je tenais à vous présenter mon micro blog se situant à l’adresse : felixaime.tumblr.com.

Ce dernier me sert afin de relayer des articles, papiers, images, citations que je trouve intéressants dans le domaine de la Sécurité des Systèmes d’Information. J’essaye d’y publier quelques liens par jour suivant le temps que j’ai. De plus, il y figurera certaines anecdotes que je rencontre de temps à autres… Cette image par exemple

Un sploit en remote pour MySQL 5 ?!

janvier 8th, 2010

logomysqlLe 4 janvier surgissait sur l’internet une vidéo montrant un exploit tournant avec le framework CANVAS d’Immunity permettant l’ouverture d’un shell en remote sur MySQL 5.x selon la description de l’exploit montrée pendant cette vidéo.

Outre le fait que ce dernier est un 0day, cet exploit risque de faire très mal tant pour l’image de la firme MySQL que pour les millions de serveurs faisant tourner ce service ouvertement sur l’internet sans aucune protection particulière dans les restrictions d’accès ou le cloisonnement du processus.

Bref, qu’en est-il vraiment ? A mon avis, je pense de plus en plus à une vraie vidéo, mais je doute de plus en plus d’un vrai exploit. Quelques les éléments ci-dessous me sifflent dans l’oreille :

- Le site internet est très -trop – basique, le blog aussi pour tout vous avouer. Cependant, un whois sur ce dernier montre que le nom de domaine n’est pas récent comme on pourrait le penser. Mais un internet archive ne trouve rien.

- La société qui possède 5000 résultats de recherches sur Google prétend sur le forum d’Immunity vendre un de ses packs d’exploits 250$, cela fait très – trop – peu pour des possibles 0 Days, surtout de cette envergue. Elle a semble-il découverte la vulnérabilité en Aout, pourquoi pendant tout ce temps, elle n’a (semble-t-il – là encore) prévenu MySQL de cette brèche ?

- Nous connaissions déjà certaines possibilités de mise en place de portes dérobées sur des serveurs MySQL telles que le tool Raptor qui permettait d’ouvrir un shell sur un MySQL disposé sur Windows – ou par l’intermédiaire d’SQL injections sur un serveur web, encore fallait-il que le serveur MySQL tourne sur ce précédent serveur et que les droits UNIX soient bafoués pour que cela marche. Cependant, avec cette vidéo, on peut penser que l’exploit ne requiert pas d’authentification sur le serveur visé ou même un support/module de MySQL installé. D’ailleurs, j’aime le « Note – the exploit has been edited to be less verbose. » #WTF.

- Vous avez entendu parler un week of data base bugs prochainement ? Perso NaN. Dans les commentaires du blog ils prétendent démontrer la vulnérabilité durant cette semaine… j’aimerai bien savoir si quelqu’un à des infos, bizarrement, Google n’en a pas non plus. Normal, ce sont « eux » qui « les » organisent (sachant qu’il y a qu’un russe dernière cette société)…

Bref, je reste très septique sur cette vulnérabilité et je pense que – si elle existe – elle n’est pas effective sur une installation par défaut de MySQL. Entre 0 et 10 sur le point de la crédibilité, je mettrai 3, pas plus. Cependant, si elle existe bien et qu’elle est possible sur une installation par défaut – il y en a qui voient la vierge partout depuis que des vulnz en remote ont été découvertes sur OBSD ; il faudra faire quelques mises à jour ou appliquer quelques sécurités supplémentaires telles que :

- La définition des droits d’accès à MySQL afin que seuls certains hosts puissent s’y connecter (ce qui d’ailleurs devrait être toujours fait). Non seulement au point de vue de l’authentification de certains l’ensemble des utilisateurs dans la configuration des users de MySQL que de l’accès au serveur devant être régit par un FW.

- Chrooter de processus afin qu’une possible ouverture de shell ne puisse pas aboutir à de plus amples dégâts tels que de rooting de la Box ou la découverte de la topologie du réseau (de la DMZ) distant(e).

- Et enfin, le changement du port par défaut de MySQL (3306) afin d’éviter les bots et diverses attaques automatisées sur des comptes si ce serveur est accessible à partir de l’Internet. Cependant, cette protection ne sert à rien si le pirate a déjà sous son emprise le client se connectant sur le serveur. #FAIL

Bref, l’attente est la conclusion de cet article. Dans quelques jours nous serons fixés sur cette affaire même si à mon avis, nous aurons déjà oublié cet épisode dont la véritable finalité était de vendre quelques packs d’exploits exploitant des vulnérabilités se revendiquant critiques alors qu’il n’en est rien.

NB : Après la re-visualisation de la vidéo, je me suis aperçu d’un « req #1, req #2″ pendant l’exécution de l’exploit. Cela laisserait donc suggérer qu’il faut être authentifié auprès du serveur MySQL afin d’ouvrir un shell sur la BOX.

NetworkMiner, un (très bon) outil d’analyse de flux réseau.

janvier 2nd, 2010

C’est après avoir effectué le dernier Network Forensics Puzzle Contest (qui d’ailleurs possède un niveau très bas pour ce contest « Ann’s AppleTV »), que j’ai parcouru le site internet afin de voir les différents tools inventés par les challengers dans le but de parser les échantillons de données réseau pcap afin de répondre aux questions des challenges.

Et un binaire a attiré mon attention du fait de sa finition et des possibilités offertes par ce dernier dans l’analyse de flux réseaux qu’ils soient sauvegardés en pcap ou en live. Bref, son nom, NetworkMiner est un NFAT (Network Forensic Analysis Tool – à force d’avoir des acronymes partout, on en perd vite la signification) disponible depuis bien longtemps, mais pas très connu (m’enfin, je ne le connaissais pas faisant toujours l’analyse de paquets à l’aide de Wireshark).

Il permet de faire plusieurs choses intéressantes et d’accélérer ainsi le travail lorsqu’il faut se parser un flux réseau de milliers de paquets. Entre autre il permet d’avoir une vue globale des différentes stations (avec un embryon d’OS fingerprinting), équipements réseaux pro-actifs et serveurs externes sollicités durant la session de capture. De plus, il permet la récupération de fichiers transitant sur le réseau, d’images, de mots de passes, de query DNS etc.

Bref, il peut venir en compléments d’utilitaires incontournables comme Wireshark dans l’analyse de flux. De plus, ce dernier trouve tout son intérêt lorsqu’on sait qu’Meterpreter permet depuis quelques mois de récupérer facilement des flux réseaux à distance lors de pentests, sans parler de l’incontournable TCPdump, toujours utile lorsqu’on a un shell sur une box distante.

Seul problème pour les linuxiens, ce tool est disponible que sur Windows. Après, tout le monde possède un petit virtual box ayant Windows dessus. Un seul lien pour l’essayer et surtout l’adopter : NetworkMiner.

Petit tour des librairies de visualisation de données en JavaScript

décembre 22nd, 2009

Javascript visualization

Vous ne le saviez peut-être pas, mais un de mes passes temps en ce moment est d’étudier la visualisation de données notamment pour le web, car ce domaine est en pleine ébullition actuellement avec l’apparition de l’HTML5 et de sa balise canvas (non standardisé dans la version 4) mais aussi toutes ces libraires JavaScript permettant de faire de beaux graphiques comme on aime.

J’utilise assez rarement des outils de visualisation de données, car j’en ai pas besoin dans mon travail actuel (études ou projets perso) mais je surveille de très prêt et teste une grande partie des solutions mises en avant (sauf flash & flex qui ont d’ailleurs de très bonnes librairies de visualisation.). Voici donc un petit résumé de ce qu’il se fait en la matière actuellement :

The JavaScript InfoVis Toolkit - Librairie vraiment sympa surtout en ce qui concerne données hiérarchisées. Elle possède une très large documentation avec de nombreux exemples.

Dygraphs – Très bonne libraire pour représenter sous forme de graphiques lambda (axes abscisses et ordonnées) des données plus couramment de type temporelles. Sympa pour des activités serveur par exemple.

Processingjs – On ne présente plus la librairie Java processing, véritable leader de la visualisation en Java. Voici son « équivalent » en Javascript. Tout comme processing en Java, son utilisation s’avère complexe pour des développeurs non matheux du dimanche (moi ?) cependant, elle permet de faire bien des choses !

jquery.sparkline – Cette libraire jquery permet de faire des petits charts vraiment superbes et peut posséder de multiples utilisations telles que pour modéliser des hits de téléchargements, de visites ou des activités clients side ou server side.

Protovis – Là, nous atteignons le summum de la visualisation de données en JavaScript. Cette librairie permet de tout faire (ou presque – sauf 3D) et possède un très bon rendu des charts. Si je me rappelle bien, c’est la seule permettant de parser des données par coordonnées parallèles permettant ainsi une bonne visualisation de données complexes du type logs de connexions par exemple. (étant une visualisation notamment utilisé par FP).

En ce qui concerne la visualisation de liens entre objet, nous pouvons noter quelques librairies sympa comme :

Moowheel – Cette libraire permet simplement de modéliser des liens entre objets disposés autour d’un même cercle avec de belles couleurs (ou non). L’utilité de ce script peut prendre sa place pour modéliser des liens entre personnes sur des réseaux sociaux ou autres.

JsViz – Cette libraire est assez cool, cependant elle reste mal gérée par les navigateurs. Elle permet là aussi de faire des liens dans l’espace entre différents objets et possède plusieurs modes d’affichage. Elle est encore trop lourde pour être ergonomique sur les différents navigateurs Internet ce qui en fait son principal défaut aujourd’hui.

The JavaScript InfoVis Toolkit – Là aussi cette librairie permet de modéliser des liens entre différents objets, notamment avec son mode Hypertree.

Voilà ce que l’on peut dire de la visualisation de données en javascript aujourd’hui. Récemment, google a mis en ligne une API de visualisation permettant là aussi de faire des beaux charts, mais je préfère pas en parler, car faire sa propre cuisine est toujours plus enrichissant. De plus, plusieurs hacks CSS/HTML permettent sans javascript de faire des trucs sympa tels que des pie charts ou autres.

Si vous voulez poursuivre votre voyage et avoir une réelle overview de ce qui se fait tant au point JS que PHP/Flash, voici un petit lien qui devrait vous plaire Tools for visualizing your data. =)

[Entête]