Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

BlackHat 2012 : JavaScript, vedette des exploits à la conférence de sécurité
Routeurs compromis et cache navigateur remplacé

Le , par tarikbenmerar

0PARTAGES

9  0 
Peut-on pirater votre réseau avec une simple application JavaScript ? La réponse serait oui à croire les résultats de recherche présentés à la conférence Black Hat 2012 par Phil Purviance et Joshua Brashars, consultants senior à AppSec Consulting. C'est une démonstration surprenante par son degré d'automatisation, et qui illustre le danger que peut représenter de nos jours une simple application JavaScript.

Techniquement parlant, cette attaque utilise du social engineering pour tromper l'utilisateur et le faire accéder à un site malicieux. Sur ce site, un code JavaScript malveillant se lance et ordonne au navigateur de scanner le réseau local, puis de lister tous les dispositifs connectés.

Dès lors, une opération de brute-force est lancée pour forcer l’accès à ces derniers. En dernière étape, une attaque du type CSRF (Cross-Site Request Forgery) est utilisée pour télécharger et installer un Firmware malicieux sur le routeur, et en obtenir le plein contrôle. Tout simplement époustouflant !

« Nous avons remplacé un système d'exploitation dans un dispositif réseau, et pris le contrôle total là-dessus », a déclaré Purviance. Précisons aussi que l'attaque cible un routeur SOHO (small office/home office) de Linksys, conçu par Cisco et largement utilisé dans les entreprises.

« Vous avez tout simplement transformé ces dispositifs SOHO en un schéma d'attaque Linux dévastateur », s'exclame Brashars. Le pire, est que l'utilisateur ne pourra jamais détecter l'attaque tant que le routeur piraté continuera de faire correctement son travail. Pour contrer cette attaque, les auteurs préconisent une plus grande restriction dans l'utilisation des ressources inter-sites, une meilleure protection anti-CSRF dans les dispositifs, ainsi que l'utilisation de mots de passe durs à prédire.

Malheureusement, on n'est pas au bout de nos frayeurs, car une deuxième attaque se basant sur JavaScript a été présentée dans cette même conférence. Une autre équipe d'experts d'Informatica64 est arrivée à utiliser un proxy pour remplacer le code JavaScript stocké dans le cache du navigateur, afin d'injecter un code malveillant que la victime aurait téléchargé en utilisant ce même proxy anonyme.

Afin de tromper un grand nombre d'utilisateurs, l'adresse du proxy PoC a été postée dans un forum public. Résultat, 4000 ordinateurs infectés en une seule journée par des fichiers JavaScript incrustés dans leurs caches. La simplicité de l'attaque a même poussé les auteurs à conclure que les gouvernements et les entreprises pourraient utiliser cette attaque pour espionner les utilisateurs, si ce n'est déjà le cas ! Les auteurs préconisent l’utilisation de serveurs-proxy de confiance, et d'effacer le cache navigateur régulièrement.

Concluons ainsi sur deux petites questions : la première, que peut-on faire en combinant ces deux attaques ? La deuxième : le web est-il si sûr aujourd'hui ?

Sources : SCM, Dark Reading

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de transgohan
Expert éminent https://www.developpez.com
Le 31/07/2012 à 13:36
Un navigateur internet qui permet à ses applications d'accéder à la carte réseau... Il n'y a que cela que ça choque ?
0  0 
Avatar de MiaowZedong
Membre extrêmement actif https://www.developpez.com
Le 31/07/2012 à 13:41
À force placer des applications dans le web, les navigateurs modernes, leurs moteurs JavaScripts et certains plugins (Flash, Java notament) sont devenus de véritables déroutes pour la sécurité. Aujourd'hui un navigateur déroge au principe le plus fondamental de la sécurité informatique: une application ne doit disposer que des privilèges qui lui sont nécessaires.

Quand j'ouvre un site web, mon navigateur peut effectuer des dizaines d'opérations non-nécessaires pour une navigation sur Internet—si le site contient un code malicieux, il peut potentiellement faire presque autant de choses que s'il avait accès directement à l'OS.
0  0 
Avatar de camus3
Membre éprouvé https://www.developpez.com
Le 31/07/2012 à 14:37
While the pair of researchers declined to give details of the technique, their attack will allow fully automated infection of devices on the network, they claim. Because the attack makes use of HTML 5 and other new browser technologies, more modern browsers are more susceptible to the attack, Purviance says.
Je n'ai pas réussi à trouver une description exacte de l'attaque, ni quels navigateurs étaient affectés , mais apparemment ils ont utilisés des technos HTML5 pour exécuter leurs attaques, accéder au router ( via l'url du routeur, ce qui est relativement simple ) , par contre comment font ils pour installer un malware sur le routeur lui même ?
0  0 
Avatar de MarieKisSlaJoue
Membre émérite https://www.developpez.com
Le 02/08/2012 à 4:32
: le web est-il si sûr aujourd'hui ?
Le web à t'il déjà été sur à un moment ? je continue de penser que internet doit être l'endroit le plus dangereux de la terre pour des utilisateurs qui bien souvent n'ont aucune idée de ce qu'ils font. On ne peux même pas dire qu'ils fassent preuve d'instinct naturel de protection ou de bon sens.

On pourrait comparer ça à donner une voiture à quelqu'un qui n'a pas le permis. Certain vont assurément faire des dégâts. Pour moi la sécurité du web viens par l'information, il faudrait de vraies sensibilisations et des vrais cours dans les écoles (de mon souvenir le cours de techno qui est le plus informatisé on a du juste nous expliquer comment créer une adresse mail.)

J'espère qu'un jours des vraies décisions seront prises pour rendre les surfeurs plus avertis et conscients.

Bon après pour finir sur une note plus positive, heureusement des gens compétents tentent de rendre le net plus sûr et plus simple mais ils ne peuvent y arriver seul.

après je prends peut être les choses d'une façon un peu trop paranoïaque. Mais par exemple le jour où je payerai en ligne avec une carte de crédit il est pas encore arrivé.
0  0 
Avatar de SpaceFrog
Rédacteur/Modérateur https://www.developpez.com
Le 02/08/2012 à 9:32
Pour ce qui est de l'accès de javascript à des données locales, je serais curieux de savoir de quel OS et de quel navigateur ils parlent. Manifestement les failles se situent au niveau des activeX, de flash ou de java qui sont de vraies passerelles entre le bac à sable de javascript et le système local.

Pour le paiement en ligne, tant que se sont les banques qui endossent la responsabilité au niveau de la sécurité. Ce serait dommage de se priver de certaines opportunités de faire de vraies affaires.
0  0 
Avatar de akinfermo
Nouveau Candidat au Club https://www.developpez.com
Le 03/08/2012 à 6:14
Je pense pour ma part que l'utilisateur est lui meme responsable sa securité sur Internet. Quand vous cliquez sur les offres trop belles pour etre vraies ou quand vous suivez toujours strictement ce que le site vous dit, vous vous exposez d'une maniere ou d'une autre a un probleme de securite. Pour nous developpeurs, on sait comment s'y prendre, mais pour l'utilisateur basique il faut sensibiliser et surtout il faut que les logiciels et navigateurs aient juste les permissions dont ils ont vraiment besoin.
0  0 
Avatar de eskatos
Nouveau membre du Club https://www.developpez.com
Le 03/08/2012 à 13:02
M'enfin, une CSRF pour atteindre les ressources HTTP d'un routeur sur le réseau local ne nécessitent aucun accés privilégié sur le poste vecteur (celui ou le navigateur tourne).

Le problème ici est plutôt dans le "browser model" qui permet l'utilisation d'un navigateur comme vecteur puis dans les ressources HTTP sur le routeur qui sont mal sécurisées.
0  0 
Avatar de TVA2M1
Nouveau Candidat au Club https://www.developpez.com
Le 11/08/2012 à 8:19
Bonjour les gens
.BlackHat 2012 : JavaScript, vedette c est beau d"être une vedette mais aucune source aucune démo rien nada
Bizarre moi j ai toujours cru que le savoir devrait être partagé mais?
0  0 
Avatar de Pelote2012
Membre chevronné https://www.developpez.com
Le 13/08/2012 à 9:23
Le premier cours de sécu (il y a 8 ans) le prof à commencer son cours par : il n'y a pas de sécurité absolue, on aura toujours plusieurs tours de retard sur les pirates ...

Faut croire que cela se vérifie toujours...

On paie le prix fort, des trous de sécurité ouvert pour que M. ToutLeMonde navigue sur Internet sans se poser trop de question... Problème maintenant comment faire marche arrière? On leur à donner trop de mauvaises habitudes ...
0  0 
Avatar de Willpower
Membre expérimenté https://www.developpez.com
Le 13/08/2012 à 10:40
Perso, j'ai juste lu le post (ici) et non les sources (pas le courage, d'autant que mon anglais n'est pas génial.) mais je ne suis pas du tout convaincu du "danger javascript".

Pour moi javascript est juste un outil utilisé pour récupérer des infos une fois la faille ouverte par un autre moyen. Avec la même état d'esprit (que le sujet ici) on pourrait dire que TOUS les langages sont dangereux, vu que si je met un trojan écrit dans n'importe quel langage sur une machine il me donnera accès à la machine ....

Le premier cas, du social engenering redirigant vers un "faux" site.... ok, si t'utilisateur se fait avoir par ça, il suffit de mettre un bête formulaire html en lui demandant ses identifiants.

Le deuxième exemple est d'intercepter la connexion (proxy) pour injecter du javascript à l'utilisateur... à partir du moment où sa connexion est intercepté, on peut récupérer ses identifiants directement, et dans le cas de connexion sécurisée, on injecte un faux site de nouveau.

Personnellement, y'a qqes années, sur le forum étudiant (créé par des étudiants) de mon université (>4000 utilisateurs), je l'ai "piraté" sans que ce ne soit vraiment mon but initial.

J'avais remarqué une faille HTML, dans le champs "jabber" ajouté (sans le sécuriser) par le webmaster du forum(une vieille version d'IPB), j'avais remarqué qu'en tapant : \"/> ça fermait l'input html et que je pouvais ajouter une balise javascript derrière et faire des "alert". (qui ne fonctionnait que sur mon profil en mode édition, avec des inputs)

Quelques temps plus tard, en m'amusant de nouveau à taper tous les caractères possible dans ce champs "jabber", j'ai remarqué qu'en tapant \'ça provoquait une erreur de la page (l'admin l'avait laissé en mode debug donc ça affiché une partie de la requête sql). A cette époque, je ne savais même pas ce qu'était sql et php, mais j'avais des bases de codes (basic, c++ et html), j'ai donc tenté de rajouter le commentaire /*pour voir ce qui se passerait.... à là, mieux que le rêve du hackeur le plus fou, avec ces 4 seuls caractères \'/* mon profil s'est enregistré sur TOUS les membres du forum. (tous les champs input du profil, donc msn, pays, age, faculté, section, etc...). Y'avait 4000 moi sur le forum.

Bref, j'ai paniqué, j'ai donc immédiatement contacté l'admin (un vrai connard qui avait repris le flambeau depuis 1 an et qui me détestait) pour le prévenir du bug et lui expliquer comment ça s'était produit pour qu'il le répare...

Il m'a banni ...

Sur le coup de la colère, j'ai donc laissé mes pulsions prendre le dessus et j'ai injecté du javascript dans le profil des tous les membres ... et là tout était possible, les messages d'alert, les changement de style du forum... mais plus dangereux aussi comme la récupération des cookies avec un simple document.cookie..... mais bon, encore une fois encore, de prime à bord, on pourrait penser que c'est "javascript" qui permet trop de chose.... pourtant les deux failles utilisées étaient HTML et SQL.

Deuxième conclusion de cet anecdote: il est donc possible de pirater un gros site sans faire "vraiment" exprès (la première injection sql où tout le monde s'est retrouvé avec mon profil) et sans RIEN connaitre DU TOUT des langages ayant servi à exploiter la faille. (je ne connaissais pas UNE SEULE instruction sql).


Et comme BROWNY, je pense que TOUS les systèmes comportent des failles, mais que par contre javascript est loin d'en être la source principale. (le social étant probablement la première, et l'interception du réseau la seconde.... les injections en base de données il y a qqes années étaient aussi une catastrophe, mais ça semble bien s'améliorer depuis).
0  0