WEBlog de Félix Aimé

{ OpenSource Intelligence, Information Security, Information Warfare }

Category: Sécurité des systèmes d'information

CDAISI – S01E02

Résumé des épisodes : En ce moment en licence CDAISI, je réalise depuis le début d’année une série d’articles sur la formation afin de mettre un peu en avant ce qu’il s’y fait, de bien ou de mal, mes impressions etc.

Voir S02E02, S02E01, S01E03, S01E02, S01E01.

Comme promis, je fais un nouvel article sur la formation CDAISI où je suis depuis maintenant pas mal de semaines dans le nord de la France. Bref, si vous n’avez pas lu le premier article, c’est mieux de commencer par le début.

Donc voilà quelques semaines que j’y suis, les cours « commencent » à être intéressants (même si comme je l’ai dit dans le premier article, tout est bon à prendre). Nous voyons de plus en plus de sécurité mais encore peu selon moi, enfin, il faut un début à tout. Au programme de ces dernières semaines : on a fait un peu de sécurité web, d’OSINT et vu les principales techniques de fingerprinting passif sans trop aborder de tricks. D’ailleurs, je vais faire un petit cours sur Maltego pour la formation. Bien que n’ayant aucune « action » dans Parterva, je pense que ce tool, lié à des transforms « perso » est le meilleur dans le domaine de l’OSINT « civil ». Les informations présentes lors de ce cours seront, évidement, présentes sur ce blog. (Je tiens par ailleurs à remercier Andrew pour m’avoir donné gracieusement une licence commerciale pour quelques temps.)

D’autres cours sont plus axés administration réseau et développement même si selon moi, les TP prennent trop de temps dans la formation. C’est un peu 2/3 du temps à installer des choses pour le tiers restant à faire de la vraie pratique dessus (pour l’administration). Je n’ai jamais aimé l’administration réseau au sens premier du terme et je pense que ce ne sont pas des TP pratiques sans aucune théorie qui vont me faire changer d’avis. Il est sûr qu’avoir des compétences en administration réseau est indéniable si l’on veut faire de la sécurité. Mais selon moi, il est inutile de perdre son temps à faire des TP alors que lorsque l’on travaille, on RTFM-man-help-googlelise beaucoup.

Quelques voies s’élèvent face aux stages (voir mon premier billet) et face à certains cours qui ne passionnent pas les masses, cependant, les formations parfaites n’existent pas. Il est donc normal qu’il y ait différents défauts même si je reste sur mes positions concernant les stages « une semaine sur deux ». Selon moi, pénaliser une vingtaine d’élèves pour des formations en alternance se comptant sur les doigts de la main dans une classe, je trouve que c’est dommage.

Notre projet, TinyRAT

Notre projet (nous sommes 4) s’appelle (en ce moment) TinyRAT. Le but est de faire un RAT/Trojan (pour une attaque de type One Shot dans un réseau d’entreprise) reprenant les grandes lignes de furtivité et de persistance de certains malwares de type SpyEye, N0peBot ou Zeus (tout en essayant difficilement d’innover…). Personnellement, je m’occupe de toute la partie documentation (recherches de rapports, malware analysis etc.) et C&C qui sera, comme pour les malwares évoqués, basée sur un serveur PHP/MySQL lambda. Je pense aussi faire un peu de code côté client.

Le projet avance tant bien que mal, même si l’on se trouve face à plusieurs choses assez complexes, notamment pour la synchronisation entre le C&C et le client ou, concernant le client, la partie furtivité et persistance du Schmilblick tout en passant au travers des AV. Mais bon, à tous problèmes existent des solutions !

Les autres projets vont de choses « standards » en sécurité (standard de veut pas dire « facile » à développer pour des non-barbus) telles que de la modification de paquet on the fly grâce à une attaque MiM suivant des patterns définis ou de la recherche d’information sur les réseaux sociaux à des choses plus « inédites » telles que de la géo-localisation de GSM.

Les certifications ?

Comme prévu, j’ai quelques nouvelles concernant les certifications. Une chance pour nous, nous allons pouvoir en passer même si j’attends de réellement commencer à étudier ces dernières pour être sûr. Apparemment, la première est gratuite pour nous (CEH) et il advient de choisir si l’on veut en passer d’autres à prix réduit. Le CEH est plutôt de l’ordre de la culture générale concernant la Sécurité des Systèmes d’Information, où l’on voit tous les domaines sans trop s’attarder violement sur la technique. Donc j’ai décidé de passer également LPT (Licensed Penetration Tester) car pour le prix, c’est toujours cela de pris.

Bref, voilà où j’en suis. Concernant Maubeuge même, je ne m’y fais pas. Il y a quelque chose qui ne va pas mais je ne sais pas quoi, et cela me pourrie littéralement la vie depuis que j’y suis, mais ça, on y peut rien. Je vais tester de changer de studio pour un truc plus calme, c’est p’être cela. (et aller sur Paris plus souvent !)

Petite dose de CSS et de JS pour une grande dose de SE.

Dans la série : « Les codes à la con que que je n’ai jamais publié » voici un petit bout de code pouvant pousser un internaute à installer une extension malveillante ou un malware quelconque. Ce code, fait uniquement de JS et de CSS, permet d’imiter les bannières d’alerte de Firefox : pouvant donc être intégré dans n’importe quelle page vulnérable aux XSS. Une attaque de masse est ainsi possible si l’on couple ce petit code à des trucs funs tels que BeEF ou tout autre framework d’exploitation XSS.

Fonctionnement du chmilblick :

Le code est assez simple, il réalise juste la suppression de la totalité du corps de la page
visée et remplace ce dernier par notre fausse bannière et une iframe contenant cette même page.

Modifications à réaliser :

Le code n’est pas – du tout – évolué, car je le livre « tel quel ». Il manque plusieurs choses, tout d’abord, la détection de la version navigateur, du système d’exploitation et de la résolution. Les fonts (et le design) changent de Linux, Mac à Windows, mais aussi, suivant les versions de l’OS et du navigateur. – Celui présenté est optimisé pour Windows Vista/7 avec Firefox 3.6.*.

Plusieurs optimisations doivent également être mises en place telles que le chargement « lourd » de l’iframe (facile), la détection de jQ avec un simple if(jQuery) pour une attaque de type Return to jQ. Mais je pense que ce type de code peut être sympa en étant couplé à une attaque de type Tab-jacking. Enfin pour plus de réalisme, il peut être couplé à un petit code remplaçant les sources de divers objets Flash/Java/Silver(lol) etc. pour inciter l’internaute à installer une mise à jour de faux plugin (voir source).

Un exemple ?


[Cliquez simplement ici.]

Extensions malveillantes ?

Les « véritables » extensions Firefox malveillantes ne sont pas encore diffusées en masse sur le web. Seul des POCs – à ma connaissance – ont été réalisés (voir le très bon article d’XMCO). Cependant, elles peuvent faire mal, très mal. Contrairement à Chrome, elles peuvent accéder au système, « foutre la merde » dans le navigateur car elles ont accès à la zone chrome (bypass SOP etc.). De plus, comme les antivirus sont à la traîne (je ne referai pas le débat ici), il ne fait nul doute qu’une extension malicieuse sera bien planquée dans le système cible, que ce soit un Linux, Mac ou Windows (et oui, c’est cross-plateforme ces petites choses là et c’est tout l’intérêt d’en développer ! =)

En y pensant, j’avais énuméré diverses possibilités qu’offraient une extension Firefox malveillante parmi lesquelles (liste non exhaustive) :

Bypass SOP ; Network Sniffing ; Remote binaries installation & execution ; Remote network HTTP Proxy ; Cloud Cracking ; Remote Files Stealing ; Banking (w/ live HTTP Headers Spoofing or Source code edition on the fly) ; DOS option (DDos w/ C&C) ; RCE ; Remote Passwords Stealing ; Remote Cookies Stealing; Firewall Bypass (w/ HTTP/HTTPs)…

Je pense faire d’ailleurs quelques articles – si j’ai le temps – sur le développement d’une telle extension « basique » du genre un banker ou une extension contournant SOP et envoyant les divers informations à un serveur distant.

Conclusion

Comme je l’ai dit dans l’article, c’est juste un draft à améliorer et à coupler à d’autres tricks. De plus, pour ne pas vous faire avoir, pensez qu’une extension ne propose pas une mise à jour par ce type de bannière, mais par une info-bulle en bas à droite de l’écran. De plus, quelques détails tels que la sélection du texte du bandeau devrait vous mettre la puce à l’oreille.

Cyberwarfare – Petit documentaire de Fault Lines, Al jazeera US

L’autre jour, je suis tombé sur ce documentaire présentant les cyber-guerres d’un point de vue US que je trouve très bien réalisé. Rien de tel comme introduction ou pour revoir les grandes lignes des principes américains en matière de guerre informationnelle. De très bonnes problématiques liées à ce domaine sont posées : coopération public/privé, confilts asymétriques/étatiques, recrutement de « cyber-soldats » portée des mots, origine des attaques, complexité des attaques, portée d’une telle guerre, guerre « froide » ? etc. le tout, avec des intervenants de véritable qualité.

Je vous invite à voir les autres documentaires de Fault Lines – d’Al jazeera US, car ils sont vraiment très pertinents pour comprendre le point de vue US de plusieurs autres faits d’actualité.