Posts Tagged ‘sécurité’

Recherche de stage dans le domaine de la Sécurité des Systèmes d’Information

Vendredi, octobre 2nd, 2009

recherche_de_stage_en_securite_des_systemes_dinformation
Un nouvel article pour envoyer une petite bouteille dans cet océan virtuel. Je cherche actuellement un stage de trois mois à partir d’avril 2010 afin de clore mes deux années de DUT SRC à Bordeaux et rentrer dans la vie active.

Ce stage, je souhaite le réaliser dans le domaine de la Sécurité des Systèmes d’Information et plus spécifiquement dans le domaine des audits & tests d’intrusion (réseaux, bastions & web) ainsi que dans la veille liée à la sécurité informatique.

Je cherche – grâce à ce stage – à approfondir mes connaissances dans les méthodes d’audit et normes (ISO 27001, OSSTMM, PCI DSS, OWASP), ainsi que dans la sécurité de certains protocoles. Aujourd’hui, je possède de bonnes connaissances en audit d’applications web & bastions, en Information Gathering ainsi que dans différents domaines liés à la sécurité des systèmes d’information.

  • Attaques sur réseaux & bastions
  • Malware analysis
  • Sécurité des clients
  • Sécurité Linux
  • Veille

J’espère découvrir, de par ce stage, la sphère professionnelle de cette passion que je possède depuis cinq ans maintenant et partager ainsi mes connaissances tout en apprenant de nouvelles techniques dans ce domaine.

De plus, je suis ouvert à toute proposition de stage dans d’autres domaines liées par exemple au développement web/administration de serveurs, au webdesign ou à la veille informationnelle. Vous pouvez dès aujourd’hui prendre contact avec moi par l’intermédiaire de mon site Internet et voir mon CV en cliquant sur l’icône ci-dessous :

Voir le CV de Félix Aimé, étudiant en DUT SRC à Bordeaux.

Petit site bien sympa sur le SE ! :)

Samedi, septembre 19th, 2009

Il est déjà rare que je fasse un article sur mon blog, mais lorsque c’est pour parler d’un site internet, c’est une révolution ! Aujourd’hui je voulais simplement vous présenter un tout jeune site qui traite d’un sujet très connu, mais assez mal documenté dans le domaine de la sécurité des systèmes d’informations. Ce sujet ; à la fois compliqué et simple à mettre en place mais compliqué à sécuriser (vous me suivez encore ?) étant l’ingénierie sociale (ou SE pour les intimes.)

L’ingénierie sociale un procédé d’attaques très utilisée contre les systèmes d’information permettant de récolter des informations en vue d’une attaque ou même de saboter certaines parties des SI avec – ce que j’appelle personnellement – des bombes informationnelles (j’ferai p’être un article dessus…).

Afin d’arriver à son objectif, l’attaquant pourra utiliser toutes sortes de méthodes plus ou moins axées sur les émotions, la naïveté de la personne, la falsification d’identité ou l’envoi de fausses informations en liaison le plus souvent avec des variables d’environnement propres à l’entité visée. (présentation minimaliste)

Ce domaine n’a pas tellement évolué au point de vue des procédés de récolte, de tri de l’information et des stratégies d’attaques (Qui a dit stratégie militaire ?). Cependant, avec l’ébullition actuelle des réseaux sociaux tant au plan personnel que professionnel véritables fers de lances de cette société d’information où l’on veut « tout montrer » ce domaine est en pleine révolution et n’est pas prêt de disparaitre… tout comme la connerie humaine.

Bref, c’était juste trois paragraphes pour vous mettre dans l’ambiance et vous présenter les nouvelles solutions (et non problématiques) liées à l’ingénierie sociale. En ce qui concerne le site, il s’appelle social-engineer.org.

Ce dernier est aujourd’hui bien documenté et possède différents articles de wiki, vidéos et présentations de programmes tels que le (très connu, et très cher) Maltego ou le tookit « Social Engineer Toolkit » pour le fameux Metasploit ! Je vous invite vivement à lire le wiki car il est intéressant (même si certains sujets sont très basiques.)

Seul petit point, en ce qui concerne les vidéos, il auraient pu mieux faire… mais bon, ce n’est qu’un détail =)

Petit point sur la sécurité des applications AIR et de leurs utilisateurs

Jeudi, septembre 17th, 2009

AIR, c’est cool. La phrase est lancée et depuis que le jour s’est levé sur le SDK d’Adobe, beaucoup de personnes se sont mises à faire leurs petits widgets personnels et autres RIA liées avec différentes API web mises à disposition par des réseaux sociaux. Cependant, la sécurité des applications AIR est encore mise de côté par une partie des développeurs, ayant pour la majeure partie aucune véritable base dans le développement d’RIA sécurisées.

Il m’arrive parfois, entre deux pages Internet de télécharger une application AIR – développée en amateur ou par une firme – afin de tester la sécurité de cette dernière se divisant en trois axes majeurs à mes yeux :

  • La sécurité client (sécurité du poste de travail)
  • La sécurité utilisateur (sécurité des données utilisateurs)
  • La sécurité serveur (sécurité du serveur auquel est rattaché l’application)

De ces trois côtés, le constat de mes audits furtifs est lourd de conséquences, faisons donc un petit tour au pays de la sécurité des applications air et des possibilités qu’offrent ces dernières en vecteur d’intrusion.

0×01 Sécurité Client :

Le premier problème du côté client résulte dans la capacité pour une application AIR de manipuler des fichiers présent sur le disque dur, de les enregistrer, de les envoyer à travers le web, et ce, avec quelques lignes de code (une vingtaine tout au plus) et sans n’avoir aucune réelle expérience de la part du développeur.

Imaginez le problème si une personne utilise des programmes présentant des fichiers de connexions contenant des logins et mots de passes en clair (tels que FireFox – n’ayant pas la fonction « mot de passe principal d’activé », FileZilla avec son fichier star filezilla.xml ou même des fichiers de Cookies) et bien, une trappe réalisée dans une application AIR légitime pourrait envoyer le contenu de ces fichiers vers une base de donnée distante permettant ainsi au développeur de réaliser au fil du temps un petit trésor de guerre.

Évidemment, Adobe a tout prévu et avertit l’utilisateur pendant l’installation de l’application que cette dernière peut accéder à des données sur son ordinateur. Cependant, connaissant les utilisateurs et me connaissant moi-même (si-si, j’vous jure), il est assez rare pour un utilisateur de refuser l’installation d’une application venant d’être téléchargée sachant qu’elle peut accéder à des fichiers présents sur notre disque dur afin de réaliser certaines opérations. (Il est aussi assez rare de regarder l’intégralité des messages pendant une installation…)

Voyant de plus le nombre d’applications utilisées possédant ces messages à l’installation, il est sûr que l’extrême majorité des utilisateurs ne les regardent pas avant d’installer la moindre application AIR. J’ai pu vérifier cela simplement en recherchant un « top 50 » des applications AIR et en les testant une par une afin de savoir si lors de l’installation, il y avait le fameux message (et aussi un autre message avertissant que cette application n’était pas certifiée.)

Il ressort de cette mini-étude que pas moins de 20% des applications présentent les deux messages d’erreurs cités plus haut. Parmi lesquelles, des applications largement utilisées telles que TweetDeck, Spaz ou même Twhirl. Voici la liste complète :

1. Doomi (doominow.com)
2. Klok (http://klok.mcgraphix.com/klok/downloads.html)
3. TimeLoc (www.rad3.com/timeloc/default.html)
4. AirTube (theflashblog.com/?p=363)
5. RandomWin
6. twhirl (http://www.twhirl.com)
7. Spaz (http://funkatron.com/spaz)
8. TweetDeck (tweetdeck.com)
9. DiggTop (http://gskinner.com/DiggTop/)
10. Snackr (http://snackr.net)
11. ReadAir (http://code.google.com/p/readair/)
12. WebKut (http://toki-woki.net/p/WebKut/)

Une autre vulnérabilité que je n’ai pas vérifié mais qui est plus que probable (n’ayant pas trouvé de dossier traitant de cela sur le site d’adobe) est la possibilité pour une application AIR de télécharger un binaire sur un serveur distant et ensuite de l’exécuter. Cependant, comme je l’ai dit plus haut, je n’ai fait aucune tentative sur le chargement du binaire.

Pour son exécution, AIR a appliqué certaines restrictions liées à cela mais des recherches et logiciels ont abouti à la possibilité d’exécution de binaires. Vous pouvez trouver plus d’informations sur ce topic de MediaBox. Mais aussi sur ce billet parlant notamment de programme SHU.

0×02 Sécurité Utilisateur :

Ce qui est le plus criant côté client, c’est qu’une grande partie des développeurs stockent dans des fichiers des informations sensibles sans aucun chiffrement ou même hashage de ces dernières. Ainsi, il n’est pas rare de voir ce genre de problème pour des RIA utilisant les API de certains réseaux sociaux. Nous nous retrouvons ainsi avec des bases SQLite, des fichiers XML ou d’autres types de fichiers possédant des informations en connexion à des services tiers en clair.

Pour ceux qui ne savent pas, petit rappel. Adobe à implémenté un « système de chiffrement » stockant des données chiffrées en AES-CBC 128-bit grâce aux différentes API de chiffrement liées aux systèmes d’exploitation (DPAPI pour windows, Keychain pour Mac). Cette solution, utilisée par différentes applications (notamment certains clients Twitters).

Bref, vous avez une description de cette protection à mettre en place sur la documentation officielle d’AIR élaborée par Abobe [DOC_ADOBE]. De plus, un petit tutoriel simple, mettant en place un couple login/passwd et une fonction « remember this » est également présent sur le site d’Adobe [TUTO_ADOBE] afin de mettre en place cette solution (avec les sources à télécharger). Les fichiers chiffrés sont disponibles (par exemple) sur Windows dans le répertoire ELS (Encrypted Local Store) siégeant fièrement dans le dossier AppData : \Adobe\AIR\ELS\[dossier de l'application]

(UPDATE : Un très bon diapo est dispo [ICI] =)

0×03 Sécurité serveur :

Ensuite, nous pouvons voir d’importantes vulnérabilités côté serveur pour certaines applications utilisant AIR. Il n’est pas rare, là aussi d’entrevoir des possibilités d’SQL injection dans le SGBD distant de l’application, car certains développeurs ne vérifient pas les données envoyées à partir du serveur mais à partir de l’application. (Des fois, ils ne les vérifient pas du tout…), je n’ai pas testé des Xpath injections mais il est fortement probable que cela puisse fonctionner là aussi (tout du moins au point de vue théorique.)

La vulnérabilité XSS de David Naylor – même si mon petit doigt me dit que certaines personnes l’avaient déjà :) – sur le service Twitter est aussi imputable à une mauvaise vérification de chaine de caractère envoyée à l’API de Twitter pour le nom de l’application. Il ne pas oublier de filtrer les données entrantes dans les bases de données distantes contre les injections de code exécutables en client-side – et non lors de leur récupération par un frontend, car le frontend peut, lui, être mis à jour laissant ainsi exécuter certains codes contenus dans la base de donnée. C’est la célèbre phrase : « Upgrade : to take out old bugs and put in new ones ».

Twitter n’avait pas pensé à filtrer l’intégralité des données envoyées par l’intermédiaire de l’API… ce qui se traduisit donc par un énième EPICFAIL

0×04 Conclusion :

L’internaute est toujours avide de nouveaux gadgets pouvant ouvrir certaines vulnérabilités sur le système sans même se préoccuper de certains messages d’alerte lors de l’installation des applications AIR. Ceci, comme nous avons pu le voir, pouvant laisser une certaine porte d’entrée à des informations contenues sur l’ordinateur. De plus, des recherches sont faites actuellement sur la possibilité d’exécution de binaires en AIR et j’ai une petite idée derrière la tête à ce propos.

Les développeurs de leurs côtés, laissent certaines vulnérabilités en client-side (mots de passes en clair) ou en server-side (failles web connues et re-connues) pouvant ainsi ouvrir certaines brèches, tant pour l’utilisateur (piratages de comptes) que pour le backend de l’application RIA (sans parler du site internet auquel souvent cette dernière est rattachée en vue de son téléchargement).

Les RIA sont aujourd’hui en plein développement. Beaucoup de développeurs, du fait de la facilité à mettre en œuvre ces solutions réalisent souvent sans se préoccuper de la sécurité des ces petits widgets à l’apparence inoffensifs. Il est aujourd’hui préoccupant pour les utilisateurs de prendre conscience que n’importe quelle application/widget, quelque soit sa renommée peut être un danger pour l’intégrité de ses données s’il ne fait pas attention et n’analyse pas en détails le fonctionnement de cette dernière.

Security bugs hunter =)

Mardi, août 25th, 2009

Depuis quelques semaines à raison d’une à deux heures par jour, je me suis lancé dans un petit projet histoire de me faire un peu la main avec jQuery et la programmation objet en PHP5. J’ai donc décidé, dans le cadre d’un audit (un script troué de partout dont je dévoilerai le nom dans quelques temps) de réaliser un script permettant l’indexation des failles trouvées lors d’audit d’applications WEB.

Ce script s’appelle Security Bugs Hunter et permet donc l’indexation de vulnérabilités suivant des scripts, avec la possibilité d’enregistrer le code vulnérable, le Proof of Concept de la vulnérabilité, des combos de vulnérabilités etc. Il possède par ailleurs un système de membres ayant plusieurs permissions, permettant ainsi au super administrateur de les régler suivant la confiance qu’il possède envers les abonnés.

Bref, le script aujourd’hui est beau certes, mais très pauvre en fonctionnalités (au pire, c’était juste pour me faire la main sur jQuery pour passer ensuite à autre chose…). Bref, je pense rajouter différentes petites choses telles que la possibilité d’Uploader l’application à auditer (et d’indexer ensuite par versions), de rechercher dans son code des vulnérabilités potentielles à grand coup de Regex (ce qui va ralentir un max.) et différentes choses.

Si vous voulez voir ce que cela donne, c’est par ici. Je mettrai le code source à télécharger dans quelques jours, histoire de bien le commenter et de l’alléger avec un peu de docs. (en y allant, vous gagnerez des 0dayz sur un script =)

Twitter et un point sur la sécurité du « tout-ouvert »

Vendredi, août 21st, 2009

Suite au piratage de la firme Twitter ayant eu lieu il y a quelques mois et faisant encore maintes et maintes rebondissements aujourd’hui, il est primordial de faire un point sur la sécurité de ce que je qualifie de « tout-ouvert » mais que l’on pourrait par ailleurs appeler le « tout-API ».

Aujourd’hui, de plus en plus de services et de réseaux sociaux misent sur les API pour permettre aux utilisateurs une réelle appropriation de leur service et ainsi, récolter un maximum de membres. Le piratage de Twitter n’est en aucun cas lié au « tout-API », mais aux vulnérabilités du could-computing et surtout à la capacité des administrateurs de Twitter de faire confiance à un système vulnérable en soi. D’ailleurs, je ne comprend pas encore pourquoi ils laissent aux yeux de Google (un de leurs concurents) par l’intermédiaire de GoogleDocs des documents confidentiels et extrêmement préjudiciables pour leur entreprise…

Cependant, ce piratage amène à s’intéresser aux services professionnels et amateurs développés en parallèle des sites web 2.0 grâce aux différentes API mises à disposition par les développeurs. Ces derniers présentent de nombreuses vulnérabilités, pas uniquement liées aux vulnérabilités lambda du type XSS permettant le vol de compte des membres. Elles peuvent se transformer être de véritables risques, tant pour les utilisateurs, que pour d’autres sites Internet pouvant par l’intermédiaire du piratage de ces services subir de véritables DDos ou être le relai d’attaques plus pointues.

1. Vulnérabilités

Bref, voilà ce que l’on peut dire sur les types d’attaques dont peuvent être victimes les différents services et ce que cela peut engendrer pour les victimes :

  • Vol de session permettant, selon le type de configuration du service, de poster certaines informations à la place de l’internaute. Et peut-être, de pouvoir de fil en aiguille s’identifier totalement sur le site source produisant l’API à la place de l’internaute.
  • Attaque MIM, récupération des identifiants. Une large partie des services utilisant les API de certains réseaux sociaux demandent à l’internaute de s’identifier sur leur site – pour pouvoir, par exemple, poster un message à la place de l’internaute automatiquement -. Cependant, ces identifications sur certains services (une majorité) n’utilisent pas un protocole sécurisé -SSL- pour transmettre les identifiants du client vers leur serveur, permettant ainsi l’interception de ces derniers dans un réseau local. Ainsi, cela permet de contourner pour un pirate le https mis en place par certains réseaux sociaux pendant l’identification de leur membre.
  • Vulnérabilités lambda des services web Entre SQLi, XXS, CSRF, failles « d’upload », includes locales, injections dans des fichiers etc. Nous pouvons trouver de tout sur les services rattachés aux APIs de certains réseaux sociaux. Ceci permettant de faire un peu ce que l’on veut (ouverture d’un shell, mise en place d’une backdoor sur les différents serveurs, piratage des bases de données etc.). Cependant, les pirates auront – je pense – une attention toute particulière pour backdoorer les mécanismes d’identification des membres afin de récupérer les identifiants de ces derniers. Ils attaqueront – suivant leurs envies – ensuite les sessions des membres sur le réseau social promulguant les API, mais également testeront les mots de passes récoltés sur différents sites où les membres se sont sans doute inscrits ainsi que sur les webmails. D’autres s’amuseront peut-être avec la récupération des identifiants à inonder les services de micro-blogging de messages…
  • Hijacking des URLs Cette vulnérabilité pèse surtout sur les shorteners d’URL du type bit.ly ou tinyurl.com. Imaginez ce que peut ressentir un site internet étant pointé par des millions d’URLs potentiellement cliquables plusieurs fois par des utilisateurs. Le problème est à relever et la sécurité des shorteners d’URL est aujourd’hui un point critique auquel il faut faire très attention. D’ailleurs, ce problème est déjà arrivé au service Cligs, re-dirigeant deux millions d’URL vers un seul site… qui n’a pas tardé à tomber. Voir un article à ce sujet ici ou .

2. Contre-mesures

Les contre-mesures à appliquer sont assez simples pour les utilisateurs de réseaux sociaux, utilisez au minimum des services bâtis sur les API de certains services web, surtout quand ces derniers demandent une identification n’étant pas sécurisée. Il faut aussi essayer de deviner quels services sont susceptibles de garder dans leurs bases de données vos mots de passes en clair (cela est déductible assez facilement, si vous vous inscrivez à un service qui agit régulièrement sur votre Twitter sans votre intervention (transposition de flux RSS etc.)).

Pour ce qui est des développeurs de services reposant sur des API, engager un hacker/pirate/spécialiste (rayez la mention inutile) reste la meilleure solution afin de tester les différentes vulnérabilités qui peuvent siéger dans le système. Après libre à eux de le faire ou non, cependant la qualité de service risque à tout moment de passer à la trappe si des audits de sécurité ne sont pas faits régulièrement sur les différentes sphères du système d’information régissant le webservice. (acteurs, physique, application).

3. Conclusion

Tout comme les plugins pour les CMS, les services utilisant des API de certains sites communautaires répandent leurs vulnérabilités au grès de leurs créations augmentant ainsi les risques de rendre tout un système vulnérable. Cependant, ces vulnérabilités (et c’est là toute la chose) ne se concentrent pas au seul site internet du service utilisant l’API d’un énième site communautaire, mais peuvent être utilisés contre les utilisateurs des sites communautaires et contre d’autres sites internet.

Je pense que Twitter – même si la sécurité n’est pas leur fort – (ou d’autres sites communautaires) devraient avoir le droit de jeter un coup d’oeil sur les sources des scripts et des serveurs sur lesquels reposent les services utilisant leur API. C’est tout de même les utilisateurs du site internet diffusant les API les premiers attaqués. Bref, j’espère que cette petite parenthèse vous à un peu informé sur les risques du « tout-API » même si je n’ai pas énuméré l’intégralité des failles (ce qui est en soit impossible). Je prédis cependant une hausse significative des piratages de comptes utilisateurs par l’intermédiaire de ces services dans les prochains mois. D’ici là, prenez garde à vous ! NIARK :D